LightTreeBucket
with fixed size
LightTreeBucket
with fixed size
Commited changes, the behavior should be the same before, except for CLOSURE_BSDF_GLOSSY_TOON_ID
, as I don't really know what ATTR_FALLTHROUGH
is doing.
It should be taken care by the early out case, but if N == Ng
the function should do nothing so maybe we could have an even-earlier-out case? I thought this function is not called when N == Ng
, but maybe my memory is broken
I totally forgot to add you, how did you find out my pull request 😮
Both CLOSURE_IS_BSDF_GLOSSY(CLOSURE_BSDF_PRINCIPLED_ID)
and CLOSURE_IS_BSDF_TRANSMISSION(CLOSURE_BSDF_PRINCIPLED_ID)
is false, so the function would only be called once in the case below.
There are discussions regarding whether ensure_valid_reflection()
should be called for transmissive materials or only purely reflective glossy materials. The current microfacet implementation…
The above mentioned paper compensates the tilted normal with an additional tangent facet, it requires random walk between facets to compute…
Actually I do not know if this condition always holds, but seems to be so in the test scenes.