X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=shaders%2Fblitcolour.h;h=1bd3349497bd7b75f7ce986892e024e6e1fecda9;hb=5f6a4f9df6c8accc89f1920bfe9ace3cbac4c4b6;hp=91a2e618dadde87618690ad999af6a2899947e00;hpb=a109f126d8adab622e38fbcc2d4281e75255246a;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/shaders/blitcolour.h b/shaders/blitcolour.h index 91a2e61..1bd3349 100644 --- a/shaders/blitcolour.h +++ b/shaders/blitcolour.h @@ -1,55 +1,18 @@ -#ifndef SHADER_blitcolour_H -#define SHADER_blitcolour_H -static void shader_blitcolour_link(void); -static void shader_blitcolour_register(void); -static struct vg_shader _shader_blitcolour = { - .name = "blitcolour", - .link = shader_blitcolour_link, - .vs = +#pragma once +#include "vg/vg_engine.h" +extern struct vg_shader _shader_blitcolour; +extern GLuint _uniform_blitcolour_uInverseRatio; +extern GLuint _uniform_blitcolour_uColour; +static inline void shader_blitcolour_uInverseRatio(v2f v) { -.orig_file = "shaders/blit.vs", -.static_src = -"layout (location=0) in vec2 a_co;\n" -"out vec2 aUv;\n" -"\n" -"uniform vec2 uInverseRatio;\n" -"\n" -"void main()\n" -"{\n" -" gl_Position = vec4(a_co*2.0-1.0,0.0,1.0);\n" -" aUv = a_co * uInverseRatio;\n" -"}\n" -""}, - .fs = -{ -.orig_file = "shaders/colour.fs", -.static_src = -"out vec4 FragColor;\n" -"uniform vec4 uColour;\n" -"\n" -"in vec2 aUv;\n" -"\n" -"void main()\n" -"{\n" -" FragColor = uColour;\n" -"}\n" -""}, -}; - -static GLuint _uniform_blitcolour_uInverseRatio; -static GLuint _uniform_blitcolour_uColour; -static void shader_blitcolour_uInverseRatio(v2f v){ glUniform2fv(_uniform_blitcolour_uInverseRatio,1,v); } -static void shader_blitcolour_uColour(v4f v){ +static inline void shader_blitcolour_uColour(v4f v) +{ glUniform4fv(_uniform_blitcolour_uColour,1,v); } -static void shader_blitcolour_register(void){ - vg_shader_register( &_shader_blitcolour ); -} -static void shader_blitcolour_use(void){ glUseProgram(_shader_blitcolour.id); } -static void shader_blitcolour_link(void){ - _uniform_blitcolour_uInverseRatio = glGetUniformLocation( _shader_blitcolour.id, "uInverseRatio" ); - _uniform_blitcolour_uColour = glGetUniformLocation( _shader_blitcolour.id, "uColour" ); +static inline void shader_blitcolour_use(void); +static inline void shader_blitcolour_use(void) +{ + glUseProgram(_shader_blitcolour.id); } -#endif /* SHADER_blitcolour_H */