Skip to content

Solid angle vis#961

Closed
karimsayedre wants to merge 1042 commits intohlsl_path_tracer_examplefrom
solid-angle-vis
Closed

Solid angle vis#961
karimsayedre wants to merge 1042 commits intohlsl_path_tracer_examplefrom
solid-angle-vis

Conversation

@karimsayedre
Copy link
Copy Markdown
Contributor

No description provided.

devshgraphicsprogramming and others added 30 commits March 12, 2026 23:24
# Conflicts:
#	examples_tests
AnastaZIuk and others added 28 commits April 1, 2026 12:34
…_assert_2026_04_01

Update DXC for EX40 lexed inline method assert fix
- `getSumOfArccosMinusPi()` and `getClampedSumOfArccosMinusPi()` a good way to prevent catastrophic cancellation and NaNs
- `sincos()` now uses sin and cos, no tricks, faster and more accurate
- linear and bilinear are simpler and faster
- spherical triangle templated version that is bijective (will probably remove all this boilerplate cus it doesn't make a perf difference)
…ing/Nabla into sampler-concepts

# Conflicts:
#	include/nbl/builtin/hlsl/sampling/spherical_triangle.hlsl
# Conflicts:
#	tools/nsc/manifests/nsc-windows-x64-release.tag
#	tools/nsc/manifests/nsc-windows-x64-release/exe/tools/nsc/bin/build-info.json.dvc
#	tools/nsc/manifests/nsc-windows-x64-release/exe/tools/nsc/bin/nsc.exe.dvc
#	tools/nsc/manifests/nsc-windows-x64-release/runtime/nbl/3rdparty/dxc/dxcompiler.dll.dvc
#	tools/nsc/manifests/nsc-windows-x64-release/runtime/nbl/Nabla.dll.dvc
# Conflicts:
#	examples_tests
#	include/nbl/ext/FullScreenTriangle/FullScreenTriangle.h
#	src/nbl/ext/FullScreenTriangle/CFullScreenTriangle.cpp
The shared preprocess renderer rebuilt spacing from Wave tokens and also inserted synthetic newlines whenever the next token came from a later logical line or a different file.

That heuristic is not required for valid output. Wave already gives us explicit whitespace tokens and insert_whitespace_detection tells us when a separator is needed to keep adjacent tokens distinct. Reconstructing extra physical line breaks from token source positions adds formatting that was not present in the emitted token stream.

Macro expansion makes those source positions unsafe for layout reconstruction. Tokens from one expanded construct can report later logical lines or different source files even though they must stay on the same physical output line. The renderer then drifts the preprocessed text and diagnostics point at lines later than the real source location.

Drop the synthetic newline inference and keep only the required space insertion between non-whitespace tokens. This preserves valid output while keeping diagnostics aligned with the original source lines.
The current examples submodule pointer fails the Windows Debug examples build in EX31 because RenderPushConstants::setLightMatrix asserts through a nonexistent lightMatrix() member.

Point the submodule to the official companion fix so this branch can validate against green CI.
# Conflicts:
#	examples_tests
#	include/nbl/builtin/hlsl/path_tracing/gaussian_filter.hlsl
#	include/nbl/builtin/hlsl/sampling/basic.hlsl
#	include/nbl/builtin/hlsl/sampling/box_muller_transform.hlsl
@devshgraphicsprogramming devshgraphicsprogramming deleted the branch hlsl_path_tracer_example April 17, 2026 14:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants