foo
[nexus3d] / src / gfx.h
index 61eac33..fc9816a 100644 (file)
--- a/src/gfx.h
+++ b/src/gfx.h
@@ -30,10 +30,24 @@ enum nex_sdr_type {
        NEX_SDR_PIXEL
 };
 
+enum nex_tex_type {
+       NEX_TEX1D,
+       NEX_TEX2D,
+       NEX_TEX3D,
+       NEX_TEXCUBE
+};
+
+enum nex_cube_face {
+       NEX_CUBE_PX, NEX_CUBE_NX,
+       NEX_CUBE_PY, NEX_CUBE_NY,
+       NEX_CUBE_PZ, NEX_CUBE_NZ
+};
+
 typedef struct nex_buffer nex_buffer;
 typedef struct nex_geometry nex_geometry;
 typedef struct nex_shader nex_shader;
 typedef struct nex_sdrprog nex_sdrprog;
+typedef struct nex_texture nex_texture;
 
 void nex_clear(void);
 void nex_clearcolor(float r, float g, float b);
@@ -86,4 +100,8 @@ void nex_uniform_mat4_name(nex_sdrprog *prog, const char *name, const float *mat
 nex_shader *nex_load_shader(const char *path, enum nex_sdr_type type);
 nex_sdrprog *nex_load_sdrprog(const char *vpath, const char *ppath);
 
+/* --- textures --- */
+nex_texture *nex_alloc_texture(enum nex_tex_type type);
+void nex_free_texture(nex_texture *tex);
+
 #endif /* NEXUS3D_GFX_H_ */