Fixed Vector3.GetNormalised!!!!!!! #211
|
@ -483,6 +483,16 @@ namespace SHADE
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SHMatrix SHMatrix::Transform(const SHVec3& pos, const SHVec3& eulerAngles, const SHVec3& scale) noexcept
|
||||||
|
{
|
||||||
|
return Scale(scale) * Rotate(eulerAngles) * Translate(pos);
|
||||||
|
}
|
||||||
|
|
||||||
|
SHMatrix SHMatrix::Transform(const SHVec3& pos, const SHQuaternion& rot, const SHVec3& scale) noexcept
|
||||||
|
{
|
||||||
|
return Scale(scale) * Rotate(rot) * Translate(pos);
|
||||||
|
}
|
||||||
|
|
||||||
SHMatrix SHMatrix::LookAtRH(const SHVec3& eye, const SHVec3& target, const SHVec3& up) noexcept
|
SHMatrix SHMatrix::LookAtRH(const SHVec3& eye, const SHVec3& target, const SHVec3& up) noexcept
|
||||||
{
|
{
|
||||||
SHMatrix result;
|
SHMatrix result;
|
||||||
|
|
|
@ -131,34 +131,37 @@ namespace SHADE
|
||||||
/* Static Function Members */
|
/* Static Function Members */
|
||||||
/*---------------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
[[nodiscard]] static SHMatrix Transpose (const SHMatrix& matrix) noexcept;
|
[[nodiscard]] static SHMatrix Transpose (const SHMatrix& matrix) noexcept;
|
||||||
[[nodiscard]] static SHMatrix Inverse (const SHMatrix& matrix) noexcept;
|
[[nodiscard]] static SHMatrix Inverse (const SHMatrix& matrix) noexcept;
|
||||||
|
|
||||||
[[nodiscard]] static SHMatrix Translate (float x, float y, float z) noexcept;
|
[[nodiscard]] static SHMatrix Translate (float x, float y, float z) noexcept;
|
||||||
[[nodiscard]] static SHMatrix Translate (const SHVec3& pos) noexcept;
|
[[nodiscard]] static SHMatrix Translate (const SHVec3& pos) noexcept;
|
||||||
|
|
||||||
[[nodiscard]] static SHMatrix Rotate (const SHVec3& axis, float angleInRad) noexcept;
|
[[nodiscard]] static SHMatrix Rotate (const SHVec3& axis, float angleInRad) noexcept;
|
||||||
[[nodiscard]] static SHMatrix Rotate (float yaw, float pitch, float roll) noexcept;
|
[[nodiscard]] static SHMatrix Rotate (float yaw, float pitch, float roll) noexcept;
|
||||||
[[nodiscard]] static SHMatrix Rotate (const SHVec3& eulerAngles) noexcept;
|
[[nodiscard]] static SHMatrix Rotate (const SHVec3& eulerAngles) noexcept;
|
||||||
[[nodiscard]] static SHMatrix Rotate (const SHQuaternion& q) noexcept;
|
[[nodiscard]] static SHMatrix Rotate (const SHQuaternion& q) noexcept;
|
||||||
[[nodiscard]] static SHMatrix RotateX (float angleInRad) noexcept;
|
[[nodiscard]] static SHMatrix RotateX (float angleInRad) noexcept;
|
||||||
[[nodiscard]] static SHMatrix RotateY (float angleInRad) noexcept;
|
[[nodiscard]] static SHMatrix RotateY (float angleInRad) noexcept;
|
||||||
[[nodiscard]] static SHMatrix RotateZ (float angleInRad) noexcept;
|
[[nodiscard]] static SHMatrix RotateZ (float angleInRad) noexcept;
|
||||||
|
|
||||||
[[nodiscard]] static SHMatrix Scale (float uniformScaleFactor) noexcept;
|
[[nodiscard]] static SHMatrix Scale (float uniformScaleFactor) noexcept;
|
||||||
[[nodiscard]] static SHMatrix Scale (float x, float y, float z) noexcept;
|
[[nodiscard]] static SHMatrix Scale (float x, float y, float z) noexcept;
|
||||||
[[nodiscard]] static SHMatrix Scale (const SHVec3& scale) noexcept;
|
[[nodiscard]] static SHMatrix Scale (const SHVec3& scale) noexcept;
|
||||||
|
|
||||||
[[nodiscard]] static SHMatrix LookAtRH (const SHVec3& eye, const SHVec3& target, const SHVec3& up) noexcept;
|
[[nodiscard]] static SHMatrix Transform (const SHVec3& pos, const SHVec3& eulerAngles, const SHVec3& scale) noexcept;
|
||||||
[[nodiscard]] static SHMatrix LookAtLH (const SHVec3& eye, const SHVec3& target, const SHVec3& up) noexcept;
|
[[nodiscard]] static SHMatrix Transform (const SHVec3& pos, const SHQuaternion& rot, const SHVec3& scale) noexcept;
|
||||||
[[nodiscard]] static SHMatrix CamToWorldRH (const SHVec3& pos, const SHVec3& forward, const SHVec3& up) noexcept;
|
|
||||||
[[nodiscard]] static SHMatrix CamToWorldLH (const SHVec3& pos, const SHVec3& forward, const SHVec3& up) noexcept;
|
[[nodiscard]] static SHMatrix LookAtRH (const SHVec3& eye, const SHVec3& target, const SHVec3& up) noexcept;
|
||||||
[[nodiscard]] static SHMatrix PerspectiveFovRH (float fov, float aspectRatio, float nearPlane, float farPlane) noexcept;
|
[[nodiscard]] static SHMatrix LookAtLH (const SHVec3& eye, const SHVec3& target, const SHVec3& up) noexcept;
|
||||||
[[nodiscard]] static SHMatrix PerspectiveFovLH (float fov, float aspectRatio, float nearPlane, float farPlane) noexcept;
|
[[nodiscard]] static SHMatrix CamToWorldRH (const SHVec3& pos, const SHVec3& forward, const SHVec3& up) noexcept;
|
||||||
[[nodiscard]] static SHMatrix PerspectiveRH (float width, float height, float nearPlane, float farPlane) noexcept;
|
[[nodiscard]] static SHMatrix CamToWorldLH (const SHVec3& pos, const SHVec3& forward, const SHVec3& up) noexcept;
|
||||||
[[nodiscard]] static SHMatrix PerspectiveLH (float width, float height, float nearPlane, float farPlane) noexcept;
|
[[nodiscard]] static SHMatrix PerspectiveFovRH (float fov, float aspectRatio, float nearPlane, float farPlane) noexcept;
|
||||||
[[nodiscard]] static SHMatrix OrthographicRH (float width, float height, float nearPlane, float farPlane) noexcept;
|
[[nodiscard]] static SHMatrix PerspectiveFovLH (float fov, float aspectRatio, float nearPlane, float farPlane) noexcept;
|
||||||
[[nodiscard]] static SHMatrix OrthographicLH (float width, float height, float nearPlane, float farPlane) noexcept;
|
[[nodiscard]] static SHMatrix PerspectiveRH (float width, float height, float nearPlane, float farPlane) noexcept;
|
||||||
|
[[nodiscard]] static SHMatrix PerspectiveLH (float width, float height, float nearPlane, float farPlane) noexcept;
|
||||||
|
[[nodiscard]] static SHMatrix OrthographicRH (float width, float height, float nearPlane, float farPlane) noexcept;
|
||||||
|
[[nodiscard]] static SHMatrix OrthographicLH (float width, float height, float nearPlane, float farPlane) noexcept;
|
||||||
|
|
||||||
// TODO(Diren): Billboard, Shadow, Projection & Reflection
|
// TODO(Diren): Billboard, Shadow, Projection & Reflection
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue