According to the provided code snippet:
float lod = getMipLevelFromRoughness(roughness);
vec3 prefilteredColor = textureCubeLod(PrefilteredEnvMap, refVec, lod);
vec2 envBRDF = texture2D(BRDFIntegrationMap, vec2(NdotV, roughness)).xy;
vec3 indirectSpecular = prefilteredColor * (F * envBRDF.x + envBRDF.y);
and Epic Games' report, the horizontal texture coordinate of the LUT should be NdotV (i.e., n·wo). However, the original article states:
"We generate the lookup texture by treating the horizontal texture coordinate (ranged between 0.0 and 1.0) of a plane as the BRDF's input n⋅ωi."
Why does the article use n·ωi instead of n·wo? Is this a discrepancy, or is there a misunderstanding?
According to the provided code snippet:
and Epic Games' report, the horizontal texture coordinate of the LUT should be
NdotV(i.e.,n·wo). However, the original article states:Why does the article use
n·ωiinstead ofn·wo? Is this a discrepancy, or is there a misunderstanding?