no clue :) just to push it
[demo] / src / gfxapi.cc
index 3bda079..f50a317 100644 (file)
@@ -6,15 +6,24 @@
 #include "opengl/mesh-gl.h"
 #include "opengl/texture-gl.h"
 #include "opengl/shader-gl.h"
+#include "opengl/uniforms-gl.h"
 
+#include "vulkan/shader-vk.h"
 #include "vulkan/mesh-vk.h"
 #include "vulkan/texture-vk.h"
+#include "vulkan/uniforms-vk.h"
 
 static Gfx_API api;
 
 void (*gfx_clear)(float r, float g, float b);
 void (*gfx_viewport)(int x, int y, int width, int height);
-
+void (*gfx_zbuffer)(bool enable);
+void (*gfx_cull_face)(Gfx_cull_face cf);
+void (*gfx_reshape)(int width, int height);
+void (*gfx_wireframe)(bool enable);
+void (*gfx_swapbuffers)();
+void (*gfx_begin_drawing)();
+void (*gfx_end_drawing)();
 
 bool gfx_init(Gfx_API api)
 {
@@ -74,8 +83,7 @@ ShaderProgram *gfx_create_shader_program()
        case GFX_GL:
                return new ShaderProgramGL;
        case GFX_VK:
-               // return new ShaderProgramVK;
-               return 0;
+               return new ShaderProgramVK;
        }
        return 0;
 }
@@ -86,8 +94,18 @@ Shader *gfx_create_shader()
        case GFX_GL:
                return new ShaderGL;
        case GFX_VK:
-               // return new ShaderVK;
-               return 0;
+               return new ShaderVK;
+       }
+       return 0;
+}
+
+UniformBuffer *gfx_create_uniform_buffer()
+{
+       switch(api) {
+       case GFX_GL:
+               return new UniformBufferGL;
+       case GFX_VK:
+               return new UniformBufferVK;
        }
        return 0;
 }
@@ -96,9 +114,9 @@ char *gfx_get_shader_path()
 {
        switch(api) {
        case GFX_GL:
-               return (char *)"gl_shaders";
+               return (char *)"shaders";
        case GFX_VK:
-               return (char *)"vk_shaders";
+               return (char *)"shaders/spirv";
        }
        return (char *)"";
-}
\ No newline at end of file
+}