X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=shaders%2Frouteui.h;h=a909d17c3e148c5b2927a4019fbac20ae6fdad00;hb=5ecf9cca8b5b9bf876d7e7c7fde03d5b187bb42b;hp=659c040f2932670a89704c62a6747fb32c75fd7f;hpb=60b0d8af679396c857f8c5f9a7a518b092a2f416;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/shaders/routeui.h b/shaders/routeui.h index 659c040..a909d17 100644 --- a/shaders/routeui.h +++ b/shaders/routeui.h @@ -11,9 +11,12 @@ static struct vg_shader _shader_routeui = { .static_src = "layout (location=0) in vec2 a_co;\n" "\n" +"uniform vec4 uOffset;\n" +"\n" "void main()\n" "{\n" -" gl_Position = vec4(a_co*0.01,0.0,1.0);\n" +" vec2 vpos = a_co * uOffset.zw + uOffset.xy;\n" +" gl_Position = vec4(vpos,0.0,1.0);\n" "}\n" ""}, .fs = @@ -22,17 +25,29 @@ static struct vg_shader _shader_routeui = { .static_src = "out vec4 FragColor;\n" "\n" +"uniform vec4 uColour;\n" +"\n" "void main()\n" "{\n" -" FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );\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){ + 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" ); } #endif /* SHADER_routeui_H */