projects
/
demo
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Changed the OpenGL part and the GLSL shaders to use UBO and
[demo]
/
src
/
gfxapi.cc
diff --git
a/src/gfxapi.cc
b/src/gfxapi.cc
index
f17055f
..
e9f0f73
100644
(file)
--- a/
src/gfxapi.cc
+++ b/
src/gfxapi.cc
@@
-6,10
+6,12
@@
#include "opengl/mesh-gl.h"
#include "opengl/texture-gl.h"
#include "opengl/shader-gl.h"
#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/shader-vk.h"
#include "vulkan/mesh-vk.h"
#include "vulkan/texture-vk.h"
+#include "vulkan/uniforms-vk.h"
static Gfx_API api;
static Gfx_API api;
@@
-19,6
+21,9
@@
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_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)
{
bool gfx_init(Gfx_API api)
{
@@
-94,13
+99,24
@@
Shader *gfx_create_shader()
return 0;
}
return 0;
}
+UniformBuffer *gfx_create_uniform_buffer()
+{
+ switch(api) {
+ case GFX_GL:
+ return new UniformBufferGL;
+ case GFX_VK:
+ return new UniformBufferVK;
+ }
+ return 0;
+}
+
char *gfx_get_shader_path()
{
switch(api) {
case GFX_GL:
return (char *)"gl_shaders";
case GFX_VK:
char *gfx_get_shader_path()
{
switch(api) {
case GFX_GL:
return (char *)"gl_shaders";
case GFX_VK:
- return (char *)"vk_shaders";
+ return (char *)"vk_shaders/spirv";
}
return (char *)"";
}
}
return (char *)"";
}