Skip to main content
added code formatting to code portions of answer
Source Link

G1 = N.L + sqrt( 1.0 + a^2 *( ( 1.0 - N.L^2 ) / ( N.L^2 ) ) ) ; G2 = N.V + sqrt( 1.0 + a^2 *( ( 1.0 - N.V^2 ) / ( N.V^2 ) ) ) ;

G1 = N.L + sqrt( 1.0 + a^2 * (( 1.0 - N.L^2 ) / ( N.L^2 )) );
G2 = N.V + sqrt( 1.0 + a^2 * (( 1.0 - N.V^2 ) / ( N.V^2 )) );

Full BDRF should be for Smith GGX:

nSpecular = D * F / (G1 * G2)

nSpecular = D * F / (G1 * G2)

G1 = N.L + sqrt( 1.0 + a^2 *( ( 1.0 - N.L^2 ) / ( N.L^2 ) ) ) ; G2 = N.V + sqrt( 1.0 + a^2 *( ( 1.0 - N.V^2 ) / ( N.V^2 ) ) ) ;

Full BDRF should be for Smith GGX:

nSpecular = D * F / (G1 * G2)

G1 = N.L + sqrt( 1.0 + a^2 * (( 1.0 - N.L^2 ) / ( N.L^2 )) );
G2 = N.V + sqrt( 1.0 + a^2 * (( 1.0 - N.V^2 ) / ( N.V^2 )) );

Full BDRF should be for Smith GGX:

nSpecular = D * F / (G1 * G2)
Source Link

G1 = N.L + sqrt( 1.0 + a^2 *( ( 1.0 - N.L^2 ) / ( N.L^2 ) ) ) ; G2 = N.V + sqrt( 1.0 + a^2 *( ( 1.0 - N.V^2 ) / ( N.V^2 ) ) ) ;

Full BDRF should be for Smith GGX:

nSpecular = D * F / (G1 * G2)