Skip to content

Initial VDF support in hardware shading - #2809

Merged
jstone-lucasfilm merged 1 commit into
AcademySoftwareFoundation:mainfrom
jstone-lucasfilm:dev_vdf_hardware
Mar 13, 2026
Merged

Initial VDF support in hardware shading#2809
jstone-lucasfilm merged 1 commit into
AcademySoftwareFoundation:mainfrom
jstone-lucasfilm:dev_vdf_hardware

Conversation

@jstone-lucasfilm

Copy link
Copy Markdown
Member

This changelist adds initial support for Volume Distribution Functions (VDFs) in hardware shader generation, giving the VDF type its own struct, and approximating volumetric light absorption for the transmissive term. The following specific changes are included:

  • Add a dedicated VDF struct to GLSL, MSL, and Slang, replacing the previous use of the BSDF struct as an alias for the VDF type.
  • Add a simple approximation of volumetric absorption to mx_anisotropic_vdf, computing throughput using Beer's law in the transmissive lighting term.
  • Fix mx_layer_vdf to multiply the surface response and throughput by the volume throughput, replacing the previous placeholder math.

This changelist adds initial support for Volume Distribution Functions (VDFs) in hardware shader generation, giving the VDF type its own struct, and approximating volumetric light absorption for the transmissive term.  The following specific changes are included:

- Add a dedicated VDF struct to GLSL, MSL, and Slang, replacing the previous use of the BSDF struct as an alias for the VDF type.
- Add a simple approximation of volumetric absorption to `mx_anisotropic_vdf`, computing throughput using Beer's law in the transmissive lighting term.
- Fix `mx_layer_vdf` to multiply the surface response and throughput by the volume throughput, replacing the previous placeholder math.
@jstone-lucasfilm

Copy link
Copy Markdown
Member Author

To provide visual intuition for the impact of this change, here are before and after renders for a simple OpenPBR Tinted Glass material in the MaterialX Viewer:

OpenPBR Tinted Glass (Before):
OpenPBR_GlassTinted_Old

OpenPBR Tinted Glass (After):
OpenPBR_GlassTinted_New

@shill-lucasfilm shill-lucasfilm left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM!

@jstone-lucasfilm
jstone-lucasfilm merged commit 14b9c7c into AcademySoftwareFoundation:main Mar 13, 2026
36 checks passed
@jstone-lucasfilm
jstone-lucasfilm deleted the dev_vdf_hardware branch March 13, 2026 23:01
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