basic world text
[fishladder.git] / fishladder_resources.h
index 4cdd8943018ab2b2c33c8dc662e2a9d36a914508..431c8d83611c9b1e21277060d86e3e6ee22bd4ac 100644 (file)
@@ -198,7 +198,8 @@ sound/y4.ogg\0\
 sound/y5.ogg\0\
 sound/y6.ogg\0\
 sound/y7.ogg\0\
-sound/y8.ogg\0"
+sound/y8.ogg\0\
+sound/win.ogg\0"
 };
 
 // One two or three layers of rolling noise
@@ -572,6 +573,40 @@ SHADER_DEFINE( shader_buttons,
        UNIFORMS({ "uPv", "uOffset", "uTexMain", "uColour" })
 )
 
+SHADER_DEFINE( shader_sdf,
+
+       // VERTEX
+       "layout (location=0) in vec2 a_co;"
+       "layout (location=1) in vec2 a_uv;"
+       "layout (location=2) in vec4 a_colour;"
+       "uniform mat3 uPv;"
+       ""
+       "out vec2 aTexCoords;"
+       "out vec4 aColour;"
+       ""
+       "void main()"
+       "{"
+               "gl_Position = vec4( uPv * vec3( a_co, 1.0 ), 1.0 );"
+               "aTexCoords = a_uv;"
+               "aColour = a_colour;"
+       "}",
+       
+       // FRAGMENT
+       "uniform sampler2D uTexGlyphs;"
+       "out vec4 FragColor;"
+       ""
+       "in vec2 aTexCoords;"
+       "in vec4 aColour;"
+       ""
+       "void main()"
+       "{"
+               "vec4 glyph = texture( uTexGlyphs, aTexCoords );"
+               "FragColor = vec4( aColour.rgb, smoothstep( 0.48, 0.52, glyph.r ) * aColour.a );"
+               //"FragColor = glyph;"
+       "}"
+       ,
+       UNIFORMS({ "uPv", "uTexGlyphs" })
+)
 
 void vg_register(void)
 {
@@ -581,6 +616,7 @@ void vg_register(void)
        SHADER_INIT( shader_background );
        SHADER_INIT( shader_wire );
        SHADER_INIT( shader_buttons );
+       SHADER_INIT( shader_sdf );
 }
 
 /*