quick backup
[demo] / src / gfxapi.h
1 #ifndef GFXAPI_H_
2 #define GFXAPI_H_
3
4 class Mesh;
5 class Texture;
6 class ShaderProgram;
7 class Shader;
8
9 enum Gfx_API {
10         GFX_GL,
11         GFX_VK
12 };
13
14 enum Gfx_cull_face {
15         GFX_CULL_NONE,
16         GFX_CULL_FRONT,
17         GFX_CULL_BACK
18 };
19
20 extern void (*gfx_clear)(float r, float g, float b);
21 extern void (*gfx_viewport)(int x, int y, int width, int height);
22 extern void (*gfx_zbuffer)(bool enable);
23 extern void (*gfx_cull_face)(Gfx_cull_face cf);
24 extern void (*gfx_reshape)(int width, int height);
25 extern void (*gfx_wireframe)(bool enable);
26
27 bool gfx_init(Gfx_API api);
28 void gfx_cleanup();
29
30 Mesh *gfx_create_mesh();
31 Texture *gfx_create_texture();
32 ShaderProgram *gfx_create_shader_program();
33 Shader *gfx_create_shader();
34 char *gfx_get_shader_path();
35
36 #endif // GFXAPI_H_