Kai-46/IRON

Is this a bug in the GGX renderer?

Jarvisss opened this issue · 0 comments

In the Cook-Torrance BRDF
f_specular = D * F * G / (4 * (n dot v) * (n dot l)),
In the co-located setting, you assume v==l,
so the equation should be
f_specular = D * F * G / (4 * (n dot v) ** 2), right?
but in your code implementation,

specular_rgb = light_intensity * specular_albedo * F * D * G / (4.0 * dot + 1e-10)

it is
f_specular = D * F * G / (4 * (n dot v),
not f_specular = D * F * G / (4 * (n dot v) ** 2)
Could you have a look at this? @Kai-46