60 lines
1.2 KiB
C++
60 lines
1.2 KiB
C++
#include "VxTypes.hpp"
|
|
|
|
namespace LibCmo::VxMath {
|
|
|
|
#pragma region Patched
|
|
|
|
namespace NSVxVector {
|
|
|
|
float DotProduct(const VxVector2& lhs, const VxVector2& rhs) {
|
|
return lhs * rhs;
|
|
}
|
|
|
|
float DotProduct(const VxVector3& lhs, const VxVector3& rhs) {
|
|
return lhs * rhs;
|
|
}
|
|
|
|
float DotProduct(const VxVector4& lhs, const VxVector4& rhs) {
|
|
return lhs * rhs;
|
|
}
|
|
|
|
VxVector3 CrossProduct(const VxVector3& lhs, const VxVector3& rhs) {
|
|
return VxVector3(
|
|
lhs.y * rhs.z - lhs.z * rhs.y,
|
|
lhs.z * rhs.x - lhs.x * rhs.z,
|
|
lhs.x * rhs.y - lhs.y * rhs.x
|
|
);
|
|
}
|
|
|
|
void Abs(VxVector3& lhs) {
|
|
lhs.x = std::fabs(lhs.x);
|
|
lhs.y = std::fabs(lhs.y);
|
|
lhs.z = std::fabs(lhs.z);
|
|
}
|
|
|
|
}
|
|
|
|
namespace NSVxMatrix {
|
|
|
|
void Perspective(VxMatrix& mat, float Fov, float Aspect, float Near_plane, float Far_plane) {
|
|
|
|
}
|
|
|
|
void PerspectiveRect(VxMatrix& mat, float Left, float Right, float Top, float Bottom, float Near_plane, float Far_plane) {
|
|
|
|
}
|
|
|
|
void Orthographic(VxMatrix& mat, float Zoom, float Aspect, float Near_plane, float Far_plane) {
|
|
|
|
}
|
|
|
|
void OrthographicRect(VxMatrix& mat, float Left, float Right, float Top, float Bottom, float Near_plane, float Far_plane) {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#pragma endregion
|
|
|
|
}
|