Skip to content

Commit 68432e0

Browse files
committed
Merge branch 'master' of github.com:Devsh-Graphics-Programming/Nabla
2 parents 9179d1e + fcb891a commit 68432e0

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

75 files changed

+3439
-1998
lines changed

.gitmodules

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,3 +93,9 @@
9393
[submodule "3rdparty/nlohmann_json"]
9494
path = 3rdparty/nlohmann_json
9595
url = https://github.com/Devsh-Graphics-Programming/json
96+
[submodule "3rdparty/blake"]
97+
path = 3rdparty/blake
98+
url = [email protected]:Devsh-Graphics-Programming/BLAKE3.git
99+
[submodule "3rdparty/imguizmo"]
100+
path = 3rdparty/imguizmo
101+
url = [email protected]:Devsh-Graphics-Programming/ImGuizmo.git

3rdparty/CMakeLists.txt

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,8 @@ add_subdirectory(libjpeg-turbo libjpeg-turbo EXCLUDE_FROM_ALL)
160160
unset(CMAKE_INSTALL_DOCDIR)
161161
unset(CMAKE_INSTALL_MANDIR)
162162

163+
# blake3
164+
add_subdirectory(blake/c EXCLUDE_FROM_ALL)
163165

164166
#manipulating libpng cmake options from within cmake script
165167
set(PNG_BUILD_ZLIB ON CACHE INTERNAL "" FORCE) # get ZLIB from our /3rdparty
@@ -290,6 +292,9 @@ if(NBL_BUILD_IMGUI)
290292
else()
291293
target_compile_options(implot PRIVATE -Wall -Wextra -pedantic -Werror -mavx2 -Ofast)
292294
endif()
295+
296+
set(IMGUIZMO_BUILD_EXAMPLE OFF)
297+
add_subdirectory(imguizmo EXCLUDE_FROM_ALL)
293298
endif()
294299

295300
add_library(aesGladman OBJECT
@@ -368,6 +373,7 @@ set(NBL_3RDPARTY_TARGETS
368373
Iex
369374
IlmThread
370375
Imath
376+
blake3
371377
${NBL_BOOST_TARGETS}
372378
)
373379
if (_NBL_COMPILE_WITH_OPEN_EXR_)
@@ -381,7 +387,7 @@ if (NBL_BUILD_MITSUBA_LOADER)
381387
list(APPEND NBL_3RDPARTY_TARGETS expat)
382388
endif()
383389
if (NBL_BUILD_IMGUI)
384-
list(APPEND NBL_3RDPARTY_TARGETS imgui)
390+
list(APPEND NBL_3RDPARTY_TARGETS imgui implot imguizmo)
385391
endif()
386392
if(ENABLE_HLSL)
387393
list(APPEND NBL_3RDPARTY_TARGETS HLSL)
@@ -408,8 +414,13 @@ foreach(trgt IN LISTS NBL_3RDPARTY_TARGETS)
408414
else()
409415
nbl_adjust_flags(TARGET ${trgt} MAP_RELEASE Release MAP_RELWITHDEBINFO RelWithDebInfo MAP_DEBUG Debug)
410416
endif()
417+
418+
if(MSVC)
419+
target_compile_definitions(${trgt} PUBLIC _DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR) # temporary till nbl_adjust_definitions has nbl_adjust_flags's modes
420+
endif()
411421
endif()
412422
endforeach()
423+
nbl_adjust_definitions()
413424

414425
add_custom_target(3rdparty)
415426
add_dependencies(3rdparty ${NBL_3RDPARTY_TARGETS})

3rdparty/blake

Submodule blake added at 79d84e6

3rdparty/dxc/dxc

Submodule dxc updated 257 files

3rdparty/imguizmo

Submodule imguizmo added at 6f4b219

CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
cmake_minimum_required(VERSION 3.29)
66
cmake_policy(SET CMP0112 NEW)
77
cmake_policy(SET CMP0141 NEW) # https://cmake.org/cmake/help/latest/policy/CMP0141.html#policy:CMP0141
8+
cmake_policy(SET CMP0118 NEW) # https://cmake.org/cmake/help/latest/policy/CMP0118.html#policy:CMP0118
89

910
set(NBL_BUILD_ANDROID OFF)
1011

CONTRIBUTING.md

Lines changed: 79 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,85 @@
1-
_I would really love to write a nice proper CONTRIBUTING.md, so excuse me for what you are about to see._
1+
# Contributing to Nabla Engine
22

3+
Thank you for your interest in contributing to the Nabla Engine! Nabla is a high-performance rendering framework that leverages Vulkan, OptiX, and CUDA. This document provides guidelines to help you contribute effectively.
34

4-
We would really love for you to tackle one of our burning issues, which you can view by clicking this link:
5+
## Table of Contents
56

6-
https://github.com/buildaworldnet/IrrlichtBAW/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc
7+
- [How Can I Contribute?](#how-can-i-contribute)
8+
- [Reporting Bugs](#reporting-bugs)
9+
- [Suggesting Enhancements](#suggesting-enhancements)
10+
- [Implementing Features](#implementing-features)
11+
- [Free Tasks to Take](#free-tasks-to-take)
12+
- [Pull Request Process](#pull-request-process)
13+
- [Connect with Other Project Contributors](#connect-with-other-project-contributors)
14+
- [License](#license)
715

8-
(sorted by the most recently updated)
16+
## How Can I Contribute?
17+
18+
### Reporting Bugs
19+
20+
If you find a bug, please report it by opening an issue [here](https://github.com/Devsh-Graphics-Programming/Nabla/issues). Include details such as:
21+
22+
- A clear and descriptive title
23+
- Steps to reproduce the issue
24+
- Expected and actual results
25+
- Any relevant logs or screenshots
26+
27+
### Suggesting Enhancements
28+
29+
If you have ideas for enhancements, please submit them as issues [here](https://github.com/Devsh-Graphics-Programming/Nabla/issues). Describe:
30+
31+
- The feature you would like to see
32+
- Why it would be beneficial
33+
- Any relevant examples or mockups
34+
35+
### Implementing Features
36+
37+
We welcome pull requests for new features! See the [Free Tasks to Take](#free-tasks-to-take) section for a list of ideas. When submitting a pull request:
38+
39+
- Ensure your code compiles
40+
- Ensure it runs without issues at runtime
41+
- Update documentation as necessary
42+
43+
### Free Tasks to Take, DO ANY - WE CAN HIRE YOU :)
44+
45+
Below are some tasks that are open for contribution. If you start working on a task, please open an issue to let us know. *We can hire contributors if a pull request for the task is opened and merged by us*. Follow [Pull Request Process](#pull-request-process) if you decide to contribute. The list may get updated, new tasks may be added and already completed deleted, so before you start working on any please make sure it's still free.
46+
47+
- Extend `nbl::system` to download textures and meshes over HTTP/URL
48+
- Mesh Shader Pipeline implementation and demo
49+
- Raytracing Pipeline implementation and demo
50+
- Perfect Hashing implementation
51+
- Compute Frustum Culling in HLSL with Nabla Chad Append
52+
- Merge Sort (Vulkan Compute)
53+
- Radix Sort (Vulkan Compute)
54+
- Bitonic Sort (Vulkan Compute)
55+
- Merge Path (Vulkan Compute)
56+
- [GPU flip fluid simulation task idea](https://www.youtube.com/watch?v=okQzAJM7LcE) -> discord [thread](https://discord.com/channels/318590007881236480/374061825454768129/1257988553112027186) for more info
57+
- [Exact Distance Transform on a GPU](https://docs.google.com/document/d/1iUF0ilFbWVWr5JfPtR8D8z7OdmbhUJXK-eoR_7u4-50/edit)
58+
- [Light Scattering Effects Using Epipolar Sampling and 1D Min/Max Binary Trees](https://ubm-twvideo01.s3.amazonaws.com/o1/vault/gdc2013/slides/822368Yusov_Egor_Practical_Implementation_of_Light.pdf)
59+
- [Cone Map Generation](https://github.com/Bundas102/falcor-conemap/)
60+
61+
**[Issues](https://github.com/Devsh-Graphics-Programming/Nabla/issues) also count as free tasks.** We also have old issues from previous generation **[here](https://github.com/buildaworldnet/IrrlichtBAW/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc)**.
62+
63+
If you have questions about the list, you can ask directly on our [Discord server](https://discord.gg/SsJzqS23) or open an issue [here](https://github.com/Devsh-Graphics-Programming/Nabla/issues).
64+
65+
## Pull Request Process
966

10-
In order to contribute:
1167
1. **Do not** open pull requests which "fix" code formatting, the use of `NULL`, C-style casts, C++11, exceptions, or directory structure. This is a "DO NOT WANT"(TM) ESPECIALLY for your first pull requests. If your need to do this is so burning, then provide us with a pull request containing a script to do this instead.
12-
2. Split your larger contributions into as many separate independent features as practical.
13-
3. Fork from the master branch or the last stable tag (with exceptions for some features)
14-
4. Develop your contribution in your fork or a separate branch.
15-
5. Comment your code, even just a tiny bit.
16-
6. Supply an example which also serves as a test to the examples_test folder so that we can see how to use your contribution and that it works.
17-
7. Open a pull request with just the code relevant to that one feature.
18-
8. Engage in discussion in the pull request and polish your submission while taking some really minor and mild constructive criticism
19-
9. Get your pull request merged
20-
10. If in doubt, look at point 1
21-
22-
Happy coding!
68+
2. Ensure you follow our [Implementing Features](#implementing-features) standards.
69+
3. Split your larger contributions into as many separate independent features as practical.
70+
4. Fork from the `master` branch or the last stable tag (with exceptions for some features).
71+
5. Develop your contribution in your fork or a separate branch.
72+
6. Comment your code, even just a tiny bit.
73+
7. Supply an example which also serves as a test to the `examples_test` folder so that we can see how to use your contribution and that it works.
74+
8. Open a pull request with just the code relevant to that one feature.
75+
9. Engage in discussion in the pull request and polish your submission while taking some really minor and mild constructive criticism.
76+
10. Get your pull request merged.
77+
11. If in doubt, look at point 1.
78+
79+
## Connect with Other Project Contributors
80+
81+
Join our [Discord server](https://discord.gg/SsJzqS23) to connect with other contributors. It's the first place to go for questions and discussions about the project.
82+
83+
## License
84+
85+
By contributing, you agree that your contributions will be licensed under the [Apache 2.0 License](LICENSE).

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ If you are a programmer with a passion for High Performance Computing, Mathemati
1414

1515
If you can be in charge of your own time managment and work 4-day work weeks 100% remotely
1616

17-
Then make something impressive using **Nabla**, open a PR and contact us (`[email protected]` or **[discord](https://discord.gg/4MTCVaN)**) with your CV.
17+
Then make something impressive using **Nabla**, open a PR and contact us (`[email protected]` or **[discord](https://discord.gg/4MTCVaN)**) with your CV. *Check our [Free Task List](https://github.com/Devsh-Graphics-Programming/Nabla/blob/master/CONTRIBUTING.md#free-tasks-to-take-do-any---we-can-hire-you-) for contribution ideas!*
1818

1919
We would also be happy to sponsor your master or bachelor thesis as long as:
2020
- You are an above average student with an interest in Graphics

cmake/adjust/definitions.cmake

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,12 @@ function(nbl_adjust_definitions)
1010
BOOST_ALL_NO_LIB
1111
)
1212

13+
if(MSVC)
14+
add_compile_definitions(
15+
_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR
16+
)
17+
endif()
18+
1319
if(ANDROID)
1420
add_compile_definitions(
1521
NBL_ANDROID_TOOLCHAIN

docs/footer.html

Lines changed: 0 additions & 28 deletions
This file was deleted.

0 commit comments

Comments
 (0)