X-Git-Url: http://git.mutantstargoat.com?a=blobdiff_plain;f=src%2Fgfxapi.cc;h=e9f0f7324b10581f51378e5b769126226b413a1c;hb=05d269a194496bcef85da78652b947f5bf1c9bcf;hp=2987a59c12f129bcec8fc059ac1bcfb2353be0ec;hpb=d1a2cf93cf54898bb4ad442da94fc61f2617cf9f;p=demo diff --git a/src/gfxapi.cc b/src/gfxapi.cc index 2987a59..e9f0f73 100644 --- a/src/gfxapi.cc +++ b/src/gfxapi.cc @@ -6,9 +6,12 @@ #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; @@ -16,7 +19,11 @@ 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) { @@ -76,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; } @@ -88,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; } @@ -100,7 +116,7 @@ char *gfx_get_shader_path() case GFX_GL: return (char *)"gl_shaders"; case GFX_VK: - return (char *)"vk_shaders"; + return (char *)"vk_shaders/spirv"; } return (char *)""; -} \ No newline at end of file +}