35 m_isPartialPsNonZero = isVectorNonZero(dPdX) || isVectorNonZero(dPdY);
43 m_isPartialDsNonZero = isVectorNonZero(dDdX) || isVectorNonZero(dDdY);
51 inline bool isNonZero()
const {
return m_isPartialPsNonZero || m_isPartialDsNonZero; }
64 bool m_isPartialPsNonZero;
65 bool m_isPartialDsNonZero;
69 return vec.
lengthSquared() > std::numeric_limits<real>::epsilon();
Definition RayDifferential.h:11
const math::Vector3R & getdDdY() const
Definition RayDifferential.h:49
const math::Vector3R & getdPdY() const
Definition RayDifferential.h:47
const math::Vector3R & getdDdX() const
Definition RayDifferential.h:48
void setPartialDs(const math::Vector3R &dDdX, const math::Vector3R &dDdY)
Definition RayDifferential.h:38
const math::Vector3R & getdPdX() const
Definition RayDifferential.h:46
void transferToSurface(const math::Vector3R &surfaceP, const math::Vector3R &surfaceN)
Definition RayDifferential.cpp:21
void reverse()
Definition RayDifferential.h:24
bool isNonZero() const
Definition RayDifferential.h:51
void setPartialPs(const math::Vector3R &dPdX, const math::Vector3R &dPdY)
Definition RayDifferential.h:30
RayDifferential()
Definition RayDifferential.cpp:10
Derived & mulLocal(const Derived &rhs)
Definition TArithmeticArrayBase.ipp:112
T lengthSquared() const
Definition TVectorNBase.ipp:44
The root for all renderer implementations.
Definition EEngineProject.h:6