X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=shaders%2Fscoretext.h;fp=shaders%2Fscoretext.h;h=304715c39223e3f395e7719381b23b4989932317;hb=4c49b11c317034277be4d117c5d2847ef2f3492b;hp=0000000000000000000000000000000000000000;hpb=1030b1e134d422a3cbc1e06102053447da59ceba;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/shaders/scoretext.h b/shaders/scoretext.h new file mode 100644 index 0000000..304715c --- /dev/null +++ b/shaders/scoretext.h @@ -0,0 +1,260 @@ +#ifndef SHADER_scoretext_H +#define SHADER_scoretext_H +static void shader_scoretext_link(void); +static void shader_scoretext_register(void); +static struct vg_shader _shader_scoretext = { + .name = "scoretext", + .link = shader_scoretext_link, + .vs = +{ +.orig_file = "../shaders/scoretext.vs", +.static_src = +"layout (location=0) in vec3 a_co;\n" +"layout (location=1) in vec3 a_norm;\n" +"layout (location=2) in vec4 a_colour;\n" +"layout (location=3) in vec2 a_uv;\n" +"\n" +"#line 2 0 \n" +"\n" +"uniform mat4 uPv;\n" +"uniform mat4x3 uMdl;\n" +"\n" +"uniform vec3 uInfo;\n" +"\n" +"out vec4 aColour;\n" +"out vec2 aUv;\n" +"out vec3 aNorm;\n" +"out vec3 aCo;\n" +"out vec3 aWorldCo;\n" +"\n" +"void main()\n" +"{\n" +" float w = a_colour.g + fract(uInfo.z+0.5)-0.75;\n" +" float c = -cos(w*0.2);\n" +" float s = -sin(w*0.2);\n" +" float r = 0.2;\n" +"\n" +" float w1 = clamp( w*4.0 - a_co.y*10.0, -1.0, 1.0 ) *(3.14159265*0.5);\n" +" float c1 = cos(w1);\n" +" float s1 = sin(w1);\n" +"\n" +" float yoff = step(0.01,fract(uInfo.z))*-0.5;\n" +"\n" +" mat4x3 mlocal;\n" +" mlocal[0] = vec3(c1, s1,0.0);\n" +" mlocal[1] = vec3(-s1,c1,0.0);\n" +" mlocal[2] = vec3(0.0,0.0,1.0);\n" +" mlocal[3] = vec3(c*r,uInfo.y*0.875 + s*r,uInfo.x*0.5);\n" +"\n" +" vec3 world_pos = uMdl * vec4(mlocal * vec4(a_co,1.0),1.0);\n" +" gl_Position = uPv * vec4( world_pos, 1.0 );\n" +" aColour = a_colour;\n" +" aUv = a_uv + vec2( floor(uInfo.z+0.5)*(1.0/64.0), yoff );\n" +" aNorm = mat3(uMdl) * mat3(mlocal) * a_norm;\n" +" aCo = a_co;\n" +" aWorldCo = world_pos;\n" +"}\n" +""}, + .fs = +{ +.orig_file = "../shaders/vblend.fs", +.static_src = +"out vec4 FragColor;\n" +"\n" +"uniform sampler2D uTexGarbage;\n" +"uniform sampler2D uTexGradients;\n" +"uniform vec3 uCamera;\n" +"\n" +"in vec4 aColour;\n" +"in vec2 aUv;\n" +"in vec3 aNorm;\n" +"in vec3 aCo;\n" +"in vec3 aWorldCo;\n" +"\n" +"#line 1 1 \n" +"layout (std140) uniform ub_world_lighting\n" +"{\n" +" vec4 g_light_colours[3];\n" +" vec4 g_light_directions[3];\n" +" vec4 g_ambient_colour;\n" +"\n" +" vec4 g_water_plane;\n" +" vec4 g_depth_bounds;\n" +" float g_water_fog;\n" +" int g_light_count;\n" +" int g_light_preview;\n" +"};\n" +"\n" +"uniform sampler2D g_world_depth;\n" +"\n" +"// Standard diffuse + spec models\n" +"// ==============================\n" +"\n" +"vec3 do_light_diffuse( vec3 vfrag, vec3 wnormal )\n" +"{\n" +" vec3 vtotal = g_ambient_colour.rgb;\n" +"\n" +" for( int i=0; i