Fix Reflection calculation error.
This commit is contained in:
parent
e894b55748
commit
668a01491a
@ -684,7 +684,7 @@ namespace Phanes::Core::Math {
|
|||||||
template<RealType T>
|
template<RealType T>
|
||||||
TVector2<T, false> ReflectV(TVector2<T, false>& v1, const TVector2<T, false>& normal)
|
TVector2<T, false> ReflectV(TVector2<T, false>& v1, const TVector2<T, false>& normal)
|
||||||
{
|
{
|
||||||
Set(v1, v1 - (2 * (v1 * normal) * normal));
|
Set(v1, v1 - (2 * DotP(v1, normal) * normal));
|
||||||
|
|
||||||
return v1;
|
return v1;
|
||||||
}
|
}
|
||||||
@ -855,7 +855,7 @@ namespace Phanes::Core::Math {
|
|||||||
|
|
||||||
|
|
||||||
// ============================================================== //
|
// ============================================================== //
|
||||||
// TVector2 static function implementation with return values //
|
// TVector2 static function implementation with return values //
|
||||||
// ============================================================== //
|
// ============================================================== //
|
||||||
|
|
||||||
|
|
||||||
@ -871,7 +871,7 @@ namespace Phanes::Core::Math {
|
|||||||
template<RealType T>
|
template<RealType T>
|
||||||
TVector2<T, false> Reflect(const TVector2<T, false>& v1, const TVector2<T, false>& normal)
|
TVector2<T, false> Reflect(const TVector2<T, false>& v1, const TVector2<T, false>& normal)
|
||||||
{
|
{
|
||||||
return TVector2<T, false>(v1 - (2 * (v1 * normal) * normal));
|
return TVector2<T, false>(v1 - (2 * DotP(v1, normal) * normal));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -375,7 +375,7 @@ namespace Phanes::Core::Math {
|
|||||||
template<RealType T>
|
template<RealType T>
|
||||||
TVector3<T, false> ReflectV(TVector3<T, false>& v1, const TVector3<T, false>& normal)
|
TVector3<T, false> ReflectV(TVector3<T, false>& v1, const TVector3<T, false>& normal)
|
||||||
{
|
{
|
||||||
Set(v1, v1 - (2 * (v1 * normal) * normal));
|
Set(v1, v1 - (2 * DotP(v1, normal) * normal));
|
||||||
|
|
||||||
return v1;
|
return v1;
|
||||||
}
|
}
|
||||||
@ -962,7 +962,7 @@ namespace Phanes::Core::Math {
|
|||||||
template<RealType T>
|
template<RealType T>
|
||||||
TVector3<T, false> Reflect(const TVector3<T, false>& v1, const TVector3<T, false>& normal)
|
TVector3<T, false> Reflect(const TVector3<T, false>& v1, const TVector3<T, false>& normal)
|
||||||
{
|
{
|
||||||
return v1 - (2 * (v1 * normal) * normal);
|
return v1 - (2 * DotP(v1, normal) * normal);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -745,7 +745,7 @@ namespace Phanes::Core::Math
|
|||||||
template<RealType T>
|
template<RealType T>
|
||||||
TVector4<T, false> Reflect(const TVector4<T, false>& v1, const TVector4<T, false> normal)
|
TVector4<T, false> Reflect(const TVector4<T, false>& v1, const TVector4<T, false> normal)
|
||||||
{
|
{
|
||||||
return v1 - (2 * (v1 * normal) * normal);
|
return v1 - (2 * DotP(v1, normal) * normal);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -759,7 +759,7 @@ namespace Phanes::Core::Math
|
|||||||
template<RealType T>
|
template<RealType T>
|
||||||
TVector4<T, false> ReflectV(TVector4<T, false>& v1, const TVector4<T, false> normal)
|
TVector4<T, false> ReflectV(TVector4<T, false>& v1, const TVector4<T, false> normal)
|
||||||
{
|
{
|
||||||
Set(v1, v1 - (2 * (v1 * normal) * normal));
|
Set(v1, v1 - (2 * DotP(v1, normal) * normal));
|
||||||
return v1;
|
return v1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user