Kai-46 / IRON

Inverse rendering by optimizing neural SDF and materials from photometric images

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Is this a bug in the GGX renderer?

Jarvisss opened this issue · 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