Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Color to float conversion for directional albedo in generalized_schlick_bsdf #714

Closed
niklasharrysson opened this issue Oct 7, 2021 · 1 comment

Comments

@niklasharrysson
Copy link
Contributor

We use the color component average to convert directional albedo to a monochromatic value in generalized_schlick_bsdf.

Conversion is done to avoid getting complementary colors on the base layer. But the use of average may in some cases result in issues with energy conservation for separate color components, as noted in this PR: KhronosGroup#1

A possible strategy to avoid this is to use the max value of the color components instead of the average.

We should here discuss the pros and cons of these strategies (or others?).

@jstone-lucasfilm
Copy link
Member

For now, I believe the averaging of directional albedo in layering computations is our best available option for generalized_schlick_bsdf, so I'll close out this original issue.

Feel free to reopen this, though, if a new proposal appears to have a significant advantage over our current one.

As a reference for future readers, here is the GLSL code where the averaging of directional albedo is currently used in layering for generalized_schlick_bsdf:

https://github.com/AcademySoftwareFoundation/MaterialX/blob/main/libraries/pbrlib/genglsl/mx_generalized_schlick_bsdf.glsl#L42

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

No branches or pull requests

2 participants