Skip to content

Consider anisotropy in multi-scatter to single-scatter albedo conversion#42

Open
bsdorra wants to merge 2 commits into
masterfrom
volume_albedo_consider_SSS_ansiotropy
Open

Consider anisotropy in multi-scatter to single-scatter albedo conversion#42
bsdorra wants to merge 2 commits into
masterfrom
volume_albedo_consider_SSS_ansiotropy

Conversation

@bsdorra

@bsdorra bsdorra commented Jun 15, 2026

Copy link
Copy Markdown
Member

PR on behalf of @JMeseth:

The formulas for the volumetric layer in DSPBR from the DSPBR spec seem flawed. In particular, I think formula 80 for computing \rho_{ss} is not correct enough.

Formula 80 is taken from the referenced talk (https://blog.selfshadow.com/publications/s2017-shading-course/imageworks/s2017_pbs_imageworks_slides_v2.pdf), slide 44. But the formula in the spec is a simplification of the formulas on slide 44, assuming that g = 0. I believe this simplification was valid for DSPBR 2019x, where g could not be changed and was instead fixed to 0. But since DSPBR 2021x, this assumption is not valid anymore - and it seems that the Stellar implementation actually complies with the proposed correction.

Therefore I propose this extension which corrects the over-simplification

…em flawed. In particular, I think formula 80 for computing \rho_{ss} is not correct enough.

Formula 80 is taken from the referenced talk (https://blog.selfshadow.com/publications/s2017-shading-course/imageworks/s2017_pbs_imageworks_slides_v2.pdf), slide 44. But the formula in the spec is a simplification of the formulas on slide 44, assuming that g = 0. I believe this simplification was valid for DSPBR 2019x, where g could not be changed and was instead fixed to 0. But since DSPBR 2021x, this assumption is not valid anymore - and it seems that the Stellar implementation actually complies with the proposed correction.

Therefore I propose this extension which corrects the over-simplification
@bsdorra
bsdorra requested a review from proog128 June 15, 2026 07:18

@proog128 proog128 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice catch. Looks like the spec update slipped through the cracks. Minor suggestion: The parameter g isn't introduced until much later. Since we are now using it at the beginning of the section, its introduction should move up too.

Introduce anisotropy parameter g before its use in the single-scattering albedo conversion. Consolidate its explanation near the phase function and remove the duplicate isotropic conversion from the 2022x spec.
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.

3 participants