graphics api abstraction
[demo] / src / gfxapi.h
diff --git a/src/gfxapi.h b/src/gfxapi.h
new file mode 100644 (file)
index 0000000..d3dcd4d
--- /dev/null
@@ -0,0 +1,26 @@
+#ifndef GFXAPI_H_
+#define GFXAPI_H_
+
+class Mesh;
+class Texture;
+class ShaderProgram;
+class Shader;
+
+enum Gfx_API {
+       GFX_GL,
+       GFX_VK
+};
+
+extern void (*gfx_clear)(float r, float g, float b);
+extern void (*gfx_viewport)(int x, int y, int width, int height);
+
+bool gfx_init(Gfx_API api);
+void gfx_cleanup();
+
+Mesh *gfx_create_mesh();
+Texture *gfx_create_texture();
+ShaderProgram *gfx_create_shader_program();
+Shader *gfx_create_shader();
+char *gfx_get_shader_path();
+
+#endif // GFXAPI_H_
\ No newline at end of file