X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=shaders%2Frouteui.h;h=9be8ddccd6438281eb86316a2e60113e42443caf;hb=5f6a4f9df6c8accc89f1920bfe9ace3cbac4c4b6;hp=9e571aba42ede7dcb32a8a6c7d06dc8bbf45d9e9;hpb=a109f126d8adab622e38fbcc2d4281e75255246a;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/shaders/routeui.h b/shaders/routeui.h index 9e571ab..9be8ddc 100644 --- a/shaders/routeui.h +++ b/shaders/routeui.h @@ -1,53 +1,18 @@ -#ifndef SHADER_routeui_H -#define SHADER_routeui_H -static void shader_routeui_link(void); -static void shader_routeui_register(void); -static struct vg_shader _shader_routeui = { - .name = "routeui", - .link = shader_routeui_link, - .vs = +#pragma once +#include "vg/vg_engine.h" +extern struct vg_shader _shader_routeui; +extern GLuint _uniform_routeui_uOffset; +extern GLuint _uniform_routeui_uColour; +static inline void shader_routeui_uOffset(v4f v) { -.orig_file = "shaders/routeui.vs", -.static_src = -"layout (location=0) in vec2 a_co;\n" -"\n" -"uniform vec4 uOffset;\n" -"\n" -"void main()\n" -"{\n" -" vec2 vpos = a_co * uOffset.zw + uOffset.xy;\n" -" gl_Position = vec4(vpos,0.0,1.0);\n" -"}\n" -""}, - .fs = -{ -.orig_file = "shaders/routeui.fs", -.static_src = -"out vec4 FragColor;\n" -"\n" -"uniform vec4 uColour;\n" -"\n" -"void main()\n" -"{\n" -" FragColor = uColour;\n" -"}\n" -""}, -}; - -static GLuint _uniform_routeui_uOffset; -static GLuint _uniform_routeui_uColour; -static void shader_routeui_uOffset(v4f v){ glUniform4fv(_uniform_routeui_uOffset,1,v); } -static void shader_routeui_uColour(v4f v){ +static inline void shader_routeui_uColour(v4f v) +{ glUniform4fv(_uniform_routeui_uColour,1,v); } -static void shader_routeui_register(void){ - vg_shader_register( &_shader_routeui ); -} -static void shader_routeui_use(void){ glUseProgram(_shader_routeui.id); } -static void shader_routeui_link(void){ - _uniform_routeui_uOffset = glGetUniformLocation( _shader_routeui.id, "uOffset" ); - _uniform_routeui_uColour = glGetUniformLocation( _shader_routeui.id, "uColour" ); +static inline void shader_routeui_use(void); +static inline void shader_routeui_use(void) +{ + glUseProgram(_shader_routeui.id); } -#endif /* SHADER_routeui_H */