Skip to content

Created concepts for samplers, added quotient_and_pdf variants to satisfy the concepts#1001

Open
karimsayedre wants to merge 116 commits intomasterfrom
sampler-concepts
Open

Created concepts for samplers, added quotient_and_pdf variants to satisfy the concepts#1001
karimsayedre wants to merge 116 commits intomasterfrom
sampler-concepts

Conversation

@karimsayedre
Copy link
Contributor

@karimsayedre karimsayedre commented Feb 18, 2026

Examples PR

Notes:

  • The quotient_and_pdf() methods in UniformHemisphere, UniformSphere, ProjectedHemisphere, and ProjectedSphere shadow the struct type sampling::quotient_and_pdf<Q, P> from quotient_and_pdf.hlsl. DXC can't resolve the return type because the method name takes precedence over the struct name during lookup. Fixed by fully qualifying with ::nbl::hlsl::sampling::quotient_and_pdf<U, T>.
  • Obv. there's some refactoring to be done to satisfy all the concepts, so for not Basic (Level1) samplers are concept tested

keptsecret and others added 30 commits December 1, 2025 16:15
…mek's remove_core_matrix branch, added create from mat3x3
keptsecret and others added 28 commits March 2, 2026 14:51
…s to match concept (inverse is sketchy), invert concentric mapping
…ncepts, prevent NaN in spherical rectangle, few refactors
# Conflicts:
#	examples_tests
…eftover_cleanup

Address path tracer merge leftover comments
# Conflicts:
#	examples_tests
#	include/nbl/builtin/hlsl/sampling/bilinear.hlsl
#	include/nbl/builtin/hlsl/sampling/box_muller_transform.hlsl
#	include/nbl/builtin/hlsl/sampling/linear.hlsl
#	include/nbl/builtin/hlsl/sampling/projected_spherical_triangle.hlsl
#	include/nbl/builtin/hlsl/sampling/spherical_rectangle.hlsl
#	include/nbl/builtin/hlsl/sampling/spherical_triangle.hlsl
…ampler-concepts

# Conflicts:
#	include/nbl/builtin/hlsl/sampling/bilinear.hlsl
#	include/nbl/builtin/hlsl/sampling/box_muller_transform.hlsl
#	include/nbl/builtin/hlsl/sampling/linear.hlsl
#	include/nbl/builtin/hlsl/sampling/projected_spherical_triangle.hlsl
#	include/nbl/builtin/hlsl/sampling/spherical_rectangle.hlsl
#	include/nbl/builtin/hlsl/sampling/spherical_triangle.hlsl
#	include/nbl/builtin/hlsl/shapes/spherical_rectangle.hlsl
#	include/nbl/builtin/hlsl/shapes/spherical_triangle.hlsl
kevyuu pushed a commit that referenced this pull request Mar 10, 2026
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