Skip to content

Solid angle vis#961

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

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
github-actions bot and others added 30 commits April 1, 2026 08:12
Restore the clamp on cosAngleAlongBC_s before the BC slerp. This removes the remaining narrow numeric drift seen in EX37 after the VariablePointers toolchain fix and brings the sampler branch workload back to a full pass in PACKAGE mode.
…_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
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