Resampled Importance Sampling bxdfs#1027
Open
devshgraphicsprogramming wants to merge 68 commits intosampler-conceptsfrom
Open
Resampled Importance Sampling bxdfs#1027devshgraphicsprogramming wants to merge 68 commits intosampler-conceptsfrom
devshgraphicsprogramming wants to merge 68 commits intosampler-conceptsfrom
Conversation
…ession reciprocation (swapping of interface order) Unfortunately I realized our THINDIELECTRIC correction is badly designed
…a, won't implement right now
… mitsuba_xml_2_material_frontend
Point Boost to the exact Wave one-line backport for emitted pragma newlines, remove the temporary local pragma workaround, and keep the remaining include-path fixes in Nabla. This leaves the Wave pragma issue fixed at the dependency level while preserving the Nabla-side fixes for Windows backslash includes and single-leading-slash virtual includes. Thanks to @Themperror for the additional pragma and include repros. Those made it straightforward to verify the dependency-level fix and drop the local workaround cleanly.
…dates Fix remaining preprocess bugs and backport Wave pragma fix
…te-nsc-windows-x64-release-master CI: Promote NSC channel to 66da590
| ((NBL_CONCEPT_REQ_TYPE)(T::isotropic_interaction_type)) | ||
| ((NBL_CONCEPT_REQ_TYPE)(T::isocache_type)) | ||
| ((NBL_CONCEPT_REQ_EXPR_RET_TYPE)((bxdf.eval_and_weight(_sample, iso, isocache)), ::nbl::hlsl::is_same_v, typename T::quotient_pdf_type)) | ||
| ((NBL_CONCEPT_REQ_EXPR_RET_TYPE)((bxdf.evalAndWeight(_sample, iso, evalcache)), ::nbl::hlsl::is_same_v, typename T::quotient_pdf_type)) |
Member
Author
There was a problem hiding this comment.
evalAndWeight taking the anisocache or isocache should be an extra overload in the imcrofacet BxDF concepts
Member
Author
There was a problem hiding this comment.
Comment on lines
+412
to
+413
| if (_pdf == scalar_type(0.0) || hlsl::isinf(_pdf)) | ||
| return quotient_weight_type::create(scalar_type(0.0), scalar_type(0.0)); |
Member
Author
There was a problem hiding this comment.
nope, this is the quotient function, so if you have ifn pdf you just don't apply the G2_over_G1 (fastest will be to hlsl::select between 1 and value computed by ndf
| ((NBL_CONCEPT_REQ_TYPE_ALIAS_CONCEPT)(bxdf_common, T)) | ||
| ((NBL_CONCEPT_REQ_TYPE_ALIAS_CONCEPT)(AnisotropicMicrofacetCache, typename T::anisocache_type)) | ||
| ((NBL_CONCEPT_REQ_EXPR_RET_TYPE)((bxdf.evalAndWeight(_sample, aniso, evalcache)), ::nbl::hlsl::is_same_v, typename T::value_weight_type)) | ||
| ((NBL_CONCEPT_REQ_EXPR_RET_TYPE)((bxdf.evalAndWeight(_sample, aniso)), ::nbl::hlsl::is_same_v, typename T::value_weight_type)) |
Member
Author
There was a problem hiding this comment.
BxDF_common should already check for that once
Member
Author
There was a problem hiding this comment.
same for isotropic
| ((NBL_CONCEPT_REQ_TYPE)(T::isotropic_interaction_type)) | ||
| ((NBL_CONCEPT_REQ_TYPE)(T::isocache_type)) | ||
| ((NBL_CONCEPT_REQ_EXPR_RET_TYPE)((bxdf.evalAndWeight(_sample, iso, isocache)), ::nbl::hlsl::is_same_v, typename T::value_weight_type)) | ||
| ((NBL_CONCEPT_REQ_EXPR_RET_TYPE)((bxdf.quotientAndWeight(_sample, iso, isocache)), ::nbl::hlsl::is_same_v, typename T::quotient_weight_type)) |
Member
Author
There was a problem hiding this comment.
checking for the wrong signature
Member
Author
There was a problem hiding this comment.
same for anisotropic
| g2g1_query_type gq = ndf.template createG2G1Query<sample_type, Interaction>(_sample, interaction); | ||
| scalar_type G2_over_G1 = ndf.template G2_over_G1<sample_type, Interaction, MicrofacetCache>(gq, _sample, interaction, cache); | ||
| scalar_type G2_over_G1 = scalar_type(1.0); | ||
| if (_pdf < bit_cast<scalar_type>(numeric_limits<scalar_type>::infinity)) |
Member
Author
There was a problem hiding this comment.
can you not use hlsl::isinf()
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Testing
TODO list: