39 lines
845 B
C
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;
|