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

BRDF improvements #5

Open
vorg opened this issue Aug 7, 2019 · 1 comment
Open

BRDF improvements #5

vorg opened this issue Aug 7, 2019 · 1 comment

Comments

@vorg
Copy link
Member

vorg commented Aug 7, 2019

Clarify use of D_GGX and F_Schlick

@vorg vorg transferred this issue from pex-gl/pex-renderer Sep 1, 2023
@dmnsgn
Copy link
Member

dmnsgn commented Jun 6, 2024

Our current BRDF model:

Layer Distribution (D) Visibility (V) Fresnel (F)
Specular isotropic D_GGX V_Smith_GGX_Correlated F_Schlick (f90 = 1)
Specular anisotropic (TODO) D_GGX_ANISOTROPIC V_GGX_ANISOTROPIC F_Schlick (f90 = 1)
Clearcoat D_GGX V_Neubelt F_Schlick (f0 = 0.04, f90 = 1)
Sheen D_Charlie V_Charlie F = 1

But we have duplicates and here are my improvement suggestions:

Specular isotropic layer:

  • F:
    Currently using HdotV (is that implementation from MaterialX?).
    It is the same as F_Schlick.
    => Use improved F_Schlick from filament instead

  • D:
    Currently using MicrofacetDistribution function GGX, Trowbridge-Reitz.
    It is the same as D_GGX (used by clearcoat).
    => Use D_GGX

Specular anisotropic layer: implement

Iridescence: find out model

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants