diff options
author | pk33 <pk33@pk33.space> | 2024-11-14 15:06:07 +0100 |
---|---|---|
committer | pk33 <pk33@pk33.space> | 2024-11-14 15:06:07 +0100 |
commit | ed2a4bc4400c38ecd11baccac5db328b797b5d68 (patch) | |
tree | b703749d0639f933edca4c3a78209159aa735c25 /include/graphics33.h | |
parent | 5a54774474f43ae29716751d6415563a59b92c7d (diff) | |
download | engine33-ed2a4bc4400c38ecd11baccac5db328b797b5d68.tar.gz |
Diffstat (limited to 'include/graphics33.h')
-rw-r--r-- | include/graphics33.h | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/include/graphics33.h b/include/graphics33.h new file mode 100644 index 0000000..af7de8e --- /dev/null +++ b/include/graphics33.h @@ -0,0 +1,67 @@ +#ifndef __GRAPHICS33_H__ +#define __GRAPHICS33_H__ + + +#include "math33.h" + + +typedef struct Surface33 { + u32 *data; + Size w, h; +} Surface33; + +typedef struct ModelEdge33 { + Size vertices[2]; + Size cacheOffset; +} ModelEdge33; + +typedef struct Model33 { + Vec4 *vertices; + ModelEdge33 *medges; + Size *sedges; + + Vec3 t; + Vec3 r; + Vec3 s; + + Size vertexCount; + Size edgeCount; + Size surfaceCount; +} Model33; + + +Error graphics33_init( void ); +Error graphics33_term( void ); +void graphics33_update( void ); + + + +#define GFX33_QUAD_VERTEX_COUNT 4 + +#define GFX33_QUAD_VERTICES {\ + { -1.0, -1.0, 0.0, 1.0 },\ + { -1.0, 1.0, 0.0, 1.0 },\ + { 1.0, 1.0, 0.0, 1.0 },\ + { 1.0, -1.0, 0.0, 1.0 }\ +} + + +#define GFX33_QUAD_EDGE_COUNT 5 + +#define GFX33_QUAD_MEDGES {\ + { {0,1}, 0 },\ + { {1,2}, 0 },\ + { {2,3}, 0 },\ + { {0,3}, 0 },\ + { {1,3}, 0 }\ +} + +#define GFX33_QUAD_SFACE_COUNT 2 +#define GFX33_QUAD_SEDGE_COUNT (GFX33_QUAD_SFACE_COUNT * 3) + +#define GFX33_QUAD_SEDGES {\ + 0, 4, 3, 1, 2, 4\ +} + + +#endif /** GFX33_H **/ |