You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi, I couldn't wrap my head around about the order of eta arguments being passed to computeNormalizedRefractionHalfVector in BsdfTransmissionCookTorrance.cc
// Compute microfacet / half vector, pointing towards the surface side
// with the lowest ior
Vec3f m;
if (!computeNormalizedRefractionHalfVector(mEtaI,
slice.getWo(),
etaT,
wi,
m)) {
return sBlack;
}
but the method is expecting the order etaT, wo, etaI, wi, m as shown below as well as in the paper:
// H is always pointing towards medium with lowest IOR, but only if wo and wi
// are pointing on opposite side of the surface (wrt. N).
finline bool
computeNormalizedRefractionHalfVector(const float iorWo, const scene_rdl2::math::Vec3f &wo,
const float iorWi, const scene_rdl2::math::Vec3f &wi, scene_rdl2::math::Vec3f &H)
{
static const float halfVectorLengthMinSqr = 0.001f * 0.001f;
H = -(iorWo * wo + iorWi * wi);
float lengthHSqr = lengthSqr(H);
if (lengthHSqr > halfVectorLengthMinSqr) {
H *= scene_rdl2::math::rsqrt(lengthHSqr);
return true;
} else {
return false;
}
}
Thanks,
The text was updated successfully, but these errors were encountered:
If we search the usage of these ETAs, there appear to be other usages with similar issues.
eval does not produce any result as it always returns at this check:
// Exclude cases where microfacet m is pointing to the opposite side of
// the surface (wrt. N). This corresponds to the X+(m.n) term of the normal
// distribution function D(m); see eq. (25), (30) or (33)
const float cosThetaM = dot(m, mFrame.getN());
if (cosThetaM <= sEpsilon) return sBlack;
Hi, I couldn't wrap my head around about the order of eta arguments being passed to
computeNormalizedRefractionHalfVector
in BsdfTransmissionCookTorrance.ccbut the method is expecting the order
etaT, wo, etaI, wi, m
as shown below as well as in the paper:Thanks,
The text was updated successfully, but these errors were encountered: