Skip to content

explicitly clamp subsurface_color to 0->1 range (#270)#271

Closed
BrianSharpe wants to merge 0 commit intoAcademySoftwareFoundation:dev_1.2from
BrianSharpe:dev_1.2
Closed

explicitly clamp subsurface_color to 0->1 range (#270)#271
BrianSharpe wants to merge 0 commit intoAcademySoftwareFoundation:dev_1.2from
BrianSharpe:dev_1.2

Conversation

@BrianSharpe
Copy link
Copy Markdown

The OpenPBR spec says that subsurface_color should be in a strict 0->1 range, but the current nodegraph only clamps it to being above zero (ie, allowing values above 1). This creates a difference in look depending if a renderer allows for albedo to go above 1 or not.

This issue has come up with the (newly released) OpenPBR Shader Playground scene, where the paper surface that the airplane sits on sets the subsurface_color input to a ~3.0->4.0 range (wire input).

Better to explicitly clamp the subsurface_color to its intended 0->1 range, which will preserve look across renderers, regardless of what value is fed into it.

@portsmouth
Copy link
Copy Markdown
Contributor

Just to note, we should also add language to the spec making it clear that this clamping has to be done by the shader. (In this case, and all other relevant cases).

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.

2 participants