X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=shaders%2Frouteui.h;h=eeb351a7d9f5fc6e9b2c7465c1c3e3ee25727d14;hb=4f4458d229e40a852708319861224b7cc48ad0b9;hp=659c040f2932670a89704c62a6747fb32c75fd7f;hpb=60b0d8af679396c857f8c5f9a7a518b092a2f416;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/shaders/routeui.h b/shaders/routeui.h index 659c040..eeb351a 100644 --- a/shaders/routeui.h +++ b/shaders/routeui.h @@ -11,9 +11,15 @@ 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" +" float fbarx = (a_co.x+uOffset.x) * uOffset.z;\n" +" float fbary = a_co.y*uOffset.w + uOffset.y;\n" +"\n" +" vec2 vpos = vec2( fbarx, fbary );\n" +" gl_Position = vec4(vpos,0.0,1.0);\n" "}\n" ""}, .fs = @@ -22,17 +28,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 */