Fixe bug in pbr
This commit is contained in:
@@ -127,7 +127,12 @@ void ggx_ms_init_lut_once(void)
|
||||
|
||||
// For F=1, importance sampling with VNDF yields a simple estimator:
|
||||
// rho_ss(v) = E[ G1(NoL) ].
|
||||
sum += ggx_g1(NoL, roughness);
|
||||
float alpha_lut = roughness * roughness;
|
||||
float alpha2_lut = alpha_lut * alpha_lut;
|
||||
float lambda_v = sqrtf(alpha2_lut + (1.0f - alpha2_lut) * NoV * NoV);
|
||||
float lambda_l = sqrtf(alpha2_lut + (1.0f - alpha2_lut) * NoL * NoL);
|
||||
sum += NoL * (NoV + lambda_v) / fmaxf(NoL * lambda_v + NoV * lambda_l, 1e-7f);
|
||||
|
||||
valid++;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user