Files
Gryphn-Utils/utils/math/gryphn_vec3.h
2025-08-03 14:39:56 -04:00

39 lines
845 B
C

#pragma once
#include "stdint.h"
typedef struct gnVec3 {
union {
struct { float a, b, c; };
struct { float x, y, z; };
};
} gnVec3;
gnVec3 gnVec3Subtract(gnVec3 a, gnVec3 b);
gnVec3 gnVec3Add(gnVec3 a, gnVec3 b);
gnVec3 gnVec3Normalize(gnVec3 in);
gnVec3 gnVec3Cross(gnVec3 a, gnVec3 b);
float gnVec3Dot(gnVec3 a, gnVec3 b);
gnVec3 gnVec3Multiply(gnVec3 a, gnVec3 b);
gnVec3 gnVec3MultiplyBy(gnVec3 a, float b);
typedef gnVec3 gnFVec3;
typedef gnVec3 gnFloat3;
typedef struct gnUInt3 {
union {
struct { uint32_t a, b, c; };
struct { uint32_t x, y, z; };
struct { uint32_t width, height, depth; };
};
} gnUInt3;
typedef gnUInt3 gnUVec3;
typedef gnUInt3 gnExtent3D;
typedef struct gnInt3 {
union {
struct { int a, b, c; };
struct { int x, y, z; };
};
} gnInt3;