Skip to content

MaterialX: fix bug in thin-walled subsurface#251

Merged
jstone-lucasfilm merged 13 commits intoAcademySoftwareFoundation:dev_1.2from
portsmouth:thinwall_sss_bugfix
Jun 5, 2025
Merged

MaterialX: fix bug in thin-walled subsurface#251
jstone-lucasfilm merged 13 commits intoAcademySoftwareFoundation:dev_1.2from
portsmouth:thinwall_sss_bugfix

Conversation

@portsmouth
Copy link
Copy Markdown
Contributor

As pointed out by Brian Sharpe of SideFX, there is a bug in the thin-walled subsurface, since specular_color is accounted for in both the BSDF weights and as an explicit multiplier.

Also, the graph can be simplified a bit using the mix operation with a more carefully chosen weight.

jstone-lucasfilm and others added 9 commits June 8, 2024 11:25
This changelist updates the OpenPBR default example, matching its values to the latest default values of the shading model.
From 1.5 to 1.4.  

As this won't make much difference to the look in implementations that ignore the adjacent IORs of the film.

But for those that take it into account, this will make the film visible rather than invisible by default (since `specular_ior` is 1.5 by default, and `coat_ior` 1.6).
This changelist enables Zeltner sheen in the reference implementation of OpenPBR, leveraging the new functionality in MaterialX 1.39.

Additionally, the open_pbr_velvet.mtlx example has been updated to account for the visual differences between Conty-Kulla and Zeltner sheen.
…n#215)

With links to
  - MaterialX web viewer running OpenPBR default material
  - OpenPBR-viewer project and web app
This changelist updates the types associated with physical color values for subsurface scattering in OpenPBR, aligning with the conclusions of recent threads on ASWF Slack channels.

- Change `subsurface_radius_scale` from a `vector3` to a `color3` in the specification, aligning with the MaterialX implementation of OpenPBR.
- Change the `radius` input of `subsurface_bsdf` from a `vector3` to a `color3` in the MaterialX implementation, aligning with the current definition of the `subsurface_bsdf` node in MaterialX 1.39.
@portsmouth portsmouth changed the base branch from main to dev_1.2 March 7, 2025 19:21
@jstone-lucasfilm jstone-lucasfilm changed the base branch from dev_1.2 to dev_1.1.1 May 27, 2025 18:03
Signed-off-by: Jonathan Stone <jstone@lucasfilm.com>
@jstone-lucasfilm jstone-lucasfilm changed the base branch from dev_1.1.1 to dev_1.2 May 27, 2025 18:11
Signed-off-by: Jonathan Stone <jstone@lucasfilm.com>
Signed-off-by: Jonathan Stone <jstone@lucasfilm.com>
@jstone-lucasfilm
Copy link
Copy Markdown
Member

Sorry for the spam above, @portsmouth, which was my attempt to rebase the change to dev_1.1.1. For now I'll leave this as a change in dev_1.2, and feel free to update it if you'd like to target a different branch.

Copy link
Copy Markdown
Member

@jstone-lucasfilm jstone-lucasfilm left a comment

Choose a reason for hiding this comment

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

This looks good to me, thanks @portsmouth!

Just to double-check, do we want to include this in dev_1.2 or in dev_1.1.1?

@jstone-lucasfilm
Copy link
Copy Markdown
Member

For now, let's merge this to its targeted 1.2 branch, and we can integrate it back to 1.1.1 if needed.

@jstone-lucasfilm jstone-lucasfilm merged commit 3845bc1 into AcademySoftwareFoundation:dev_1.2 Jun 5, 2025
1 check passed
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