|
|
|
@ -131,34 +131,37 @@ namespace SHADE
|
|
|
|
|
/* Static Function Members */
|
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
|
|
[[nodiscard]] static SHMatrix Transpose (const SHMatrix& matrix) noexcept;
|
|
|
|
|
[[nodiscard]] static SHMatrix Inverse (const SHMatrix& matrix) noexcept;
|
|
|
|
|
[[nodiscard]] static SHMatrix Transpose (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 (const SHVec3& pos) noexcept;
|
|
|
|
|
[[nodiscard]] static SHMatrix Translate (float x, float y, float z) noexcept;
|
|
|
|
|
[[nodiscard]] static SHMatrix Translate (const SHVec3& pos) 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 (const SHVec3& eulerAngles) noexcept;
|
|
|
|
|
[[nodiscard]] static SHMatrix Rotate (const SHQuaternion& q) noexcept;
|
|
|
|
|
[[nodiscard]] static SHMatrix RotateX (float angleInRad) noexcept;
|
|
|
|
|
[[nodiscard]] static SHMatrix RotateY (float angleInRad) noexcept;
|
|
|
|
|
[[nodiscard]] static SHMatrix RotateZ (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 (const SHVec3& eulerAngles) noexcept;
|
|
|
|
|
[[nodiscard]] static SHMatrix Rotate (const SHQuaternion& q) noexcept;
|
|
|
|
|
[[nodiscard]] static SHMatrix RotateX (float angleInRad) noexcept;
|
|
|
|
|
[[nodiscard]] static SHMatrix RotateY (float angleInRad) noexcept;
|
|
|
|
|
[[nodiscard]] static SHMatrix RotateZ (float angleInRad) noexcept;
|
|
|
|
|
|
|
|
|
|
[[nodiscard]] static SHMatrix Scale (float uniformScaleFactor) noexcept;
|
|
|
|
|
[[nodiscard]] static SHMatrix Scale (float x, float y, float z) noexcept;
|
|
|
|
|
[[nodiscard]] static SHMatrix Scale (const SHVec3& scale) noexcept;
|
|
|
|
|
[[nodiscard]] static SHMatrix Scale (float uniformScaleFactor) noexcept;
|
|
|
|
|
[[nodiscard]] static SHMatrix Scale (float x, float y, float z) 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 LookAtLH (const SHVec3& eye, const SHVec3& target, const SHVec3& up) 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 PerspectiveFovRH (float fov, float aspectRatio, float nearPlane, float farPlane) noexcept;
|
|
|
|
|
[[nodiscard]] static SHMatrix PerspectiveFovLH (float fov, float aspectRatio, 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;
|
|
|
|
|
[[nodiscard]] static SHMatrix Transform (const SHVec3& pos, const SHVec3& eulerAngles, const SHVec3& scale) noexcept;
|
|
|
|
|
[[nodiscard]] static SHMatrix Transform (const SHVec3& pos, const SHQuaternion& rot, const SHVec3& scale) noexcept;
|
|
|
|
|
|
|
|
|
|
[[nodiscard]] static SHMatrix LookAtRH (const SHVec3& eye, const SHVec3& target, const SHVec3& up) noexcept;
|
|
|
|
|
[[nodiscard]] static SHMatrix LookAtLH (const SHVec3& eye, const SHVec3& target, const SHVec3& up) 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 PerspectiveFovRH (float fov, float aspectRatio, float nearPlane, float farPlane) noexcept;
|
|
|
|
|
[[nodiscard]] static SHMatrix PerspectiveFovLH (float fov, float aspectRatio, 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
|
|
|
|
|
};
|
|
|
|
|