graphics api abstraction
[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 extern void (*gfx_clear)(float r, float g, float b);
15 extern void (*gfx_viewport)(int x, int y, int width, int height);
16
17 bool gfx_init(Gfx_API api);
18 void gfx_cleanup();
19
20 Mesh *gfx_create_mesh();
21 Texture *gfx_create_texture();
22 ShaderProgram *gfx_create_shader_program();
23 Shader *gfx_create_shader();
24 char *gfx_get_shader_path();
25
26 #endif // GFXAPI_H_