mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-04-24 13:47:46 +00:00
31 lines
589 B
C
31 lines
589 B
C
![]() |
#ifndef _VEC3_H
|
||
|
#define _VEC3_H
|
||
|
|
||
|
#include <cstdint>
|
||
|
#include "matrix4.h"
|
||
|
|
||
|
struct vec3
|
||
|
{
|
||
|
float x, y, z;
|
||
|
vec3()
|
||
|
{
|
||
|
x = 0.0f;
|
||
|
y = 0.0f;
|
||
|
z = 0.0f;
|
||
|
}
|
||
|
vec3(float x, float y, float z)
|
||
|
{
|
||
|
this->x = x;
|
||
|
this->y = y;
|
||
|
this->z = z;
|
||
|
};
|
||
|
};
|
||
|
static vec3 operator *(const vec3& lhs, const matrix4& rhs)
|
||
|
{
|
||
|
vec3 ret;
|
||
|
ret.x = rhs(0, 0) * lhs.x + rhs(0, 1) * lhs.y + rhs(0, 2) * lhs.z;
|
||
|
ret.y = rhs(1, 0) * lhs.x + rhs(1, 1) * lhs.y + rhs(1, 2) * lhs.z;
|
||
|
ret.z = rhs(2, 0) * lhs.x + rhs(2, 1) * lhs.y + rhs(2, 2) * lhs.z;
|
||
|
return ret;
|
||
|
};
|
||
|
#endif
|