#define GFXAPI_H_
class Mesh;
-class Texture;
class ShaderProgram;
class Shader;
+class Texture;
+class UniformBuffer;
enum Gfx_API {
GFX_GL,
GFX_VK
};
+enum Gfx_cull_face {
+ GFX_CULL_NONE,
+ GFX_CULL_FRONT,
+ GFX_CULL_BACK
+};
+
extern void (*gfx_clear)(float r, float g, float b);
extern void (*gfx_viewport)(int x, int y, int width, int height);
+extern void (*gfx_zbuffer)(bool enable);
+extern void (*gfx_cull_face)(Gfx_cull_face cf);
+extern void (*gfx_reshape)(int width, int height);
+extern void (*gfx_wireframe)(bool enable);
+extern void (*gfx_swapbuffers)();
+extern void (*gfx_begin_drawing)();
+extern void (*gfx_end_drawing)();
bool gfx_init(Gfx_API api);
void gfx_cleanup();
Texture *gfx_create_texture();
ShaderProgram *gfx_create_shader_program();
Shader *gfx_create_shader();
+UniformBuffer *gfx_create_uniform_buffer();
+
char *gfx_get_shader_path();
-#endif // GFXAPI_H_
\ No newline at end of file
+#endif // GFXAPI_H_