From b3220cf53ee3fdff1cc59bbfd0e7f89f2a9a1fbe Mon Sep 17 00:00:00 2001 From: twinaphex Date: Sun, 17 Apr 2016 02:35:52 +0200 Subject: [PATCH] Move zahnrad shaders to separate files --- .../gl_shaders/pipeline_zahnrad.glsl.frag.h | 10 ++++++ .../gl_shaders/pipeline_zahnrad.glsl.vert.h | 13 ++++++++ menu/drivers/zr_common.c | 32 ++++--------------- 3 files changed, 29 insertions(+), 26 deletions(-) create mode 100644 gfx/drivers/gl_shaders/pipeline_zahnrad.glsl.frag.h create mode 100644 gfx/drivers/gl_shaders/pipeline_zahnrad.glsl.vert.h diff --git a/gfx/drivers/gl_shaders/pipeline_zahnrad.glsl.frag.h b/gfx/drivers/gl_shaders/pipeline_zahnrad.glsl.frag.h new file mode 100644 index 0000000000..cb2f44167f --- /dev/null +++ b/gfx/drivers/gl_shaders/pipeline_zahnrad.glsl.frag.h @@ -0,0 +1,10 @@ +static const char *zahnrad_fragment_shader = +"#version 300 es\n" +"precision mediump float;\n" +"uniform sampler2D Texture;\n" +"in vec2 Frag_UV;\n" +"in vec4 Frag_Color;\n" +"out vec4 Out_Color;\n" +"void main(){\n" +" Out_Color = Frag_Color * texture(Texture, Frag_UV.st);\n" +"}\n"; diff --git a/gfx/drivers/gl_shaders/pipeline_zahnrad.glsl.vert.h b/gfx/drivers/gl_shaders/pipeline_zahnrad.glsl.vert.h new file mode 100644 index 0000000000..235a266ab0 --- /dev/null +++ b/gfx/drivers/gl_shaders/pipeline_zahnrad.glsl.vert.h @@ -0,0 +1,13 @@ +static const char *zahnrad_vertex_shader = +"#version 300 es\n" +"uniform mat4 ProjMtx;\n" +"in vec2 Position;\n" +"in vec2 TexCoord;\n" +"in vec4 Color;\n" +"out vec2 Frag_UV;\n" +"out vec4 Frag_Color;\n" +"void main() {\n" +" Frag_UV = TexCoord;\n" +" Frag_Color = Color;\n" +" gl_Position = ProjMtx * vec4(Position.xy, 0, 1);\n" +"}\n"; diff --git a/menu/drivers/zr_common.c b/menu/drivers/zr_common.c index 4b34484e28..3fa121f360 100644 --- a/menu/drivers/zr_common.c +++ b/menu/drivers/zr_common.c @@ -22,6 +22,9 @@ #include "../menu_display.h" #include "../../gfx/video_shader_driver.h" +#include "../../gfx/drivers/gl_shaders/pipeline_zahnrad.glsl.vert.h" +#include "../../gfx/drivers/gl_shaders/pipeline_zahnrad.glsl.frag.h" + struct zr_image zr_common_image_load(const char *filename) { int x,y,n; @@ -56,35 +59,12 @@ void zr_common_device_init(struct zr_device *dev) { #if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) GLint status; - static const GLchar *vertex_shader = - "#version 300 es\n" - "uniform mat4 ProjMtx;\n" - "in vec2 Position;\n" - "in vec2 TexCoord;\n" - "in vec4 Color;\n" - "out vec2 Frag_UV;\n" - "out vec4 Frag_Color;\n" - "void main() {\n" - " Frag_UV = TexCoord;\n" - " Frag_Color = Color;\n" - " gl_Position = ProjMtx * vec4(Position.xy, 0, 1);\n" - "}\n"; - static const GLchar *fragment_shader = - "#version 300 es\n" - "precision mediump float;\n" - "uniform sampler2D Texture;\n" - "in vec2 Frag_UV;\n" - "in vec4 Frag_Color;\n" - "out vec4 Out_Color;\n" - "void main(){\n" - " Out_Color = Frag_Color * texture(Texture, Frag_UV.st);\n" - "}\n"; - dev->prog = glCreateProgram(); + dev->prog = glCreateProgram(); dev->vert_shdr = glCreateShader(GL_VERTEX_SHADER); dev->frag_shdr = glCreateShader(GL_FRAGMENT_SHADER); - glShaderSource(dev->vert_shdr, 1, &vertex_shader, 0); - glShaderSource(dev->frag_shdr, 1, &fragment_shader, 0); + glShaderSource(dev->vert_shdr, 1, &zahnrad_vertex_shader, 0); + glShaderSource(dev->frag_shdr, 1, &zahnrad_fragment_shader, 0); glCompileShader(dev->vert_shdr); glCompileShader(dev->frag_shdr); glGetShaderiv(dev->vert_shdr, GL_COMPILE_STATUS, &status);