X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;ds=sidebyside;f=shaders%2Fscoretext.vs;fp=shaders%2Fscoretext.vs;h=bc7db92104b2582d4b3d1d0f04b0e77c272425ad;hb=4c49b11c317034277be4d117c5d2847ef2f3492b;hp=0000000000000000000000000000000000000000;hpb=1030b1e134d422a3cbc1e06102053447da59ceba;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/shaders/scoretext.vs b/shaders/scoretext.vs new file mode 100644 index 0000000..bc7db92 --- /dev/null +++ b/shaders/scoretext.vs @@ -0,0 +1,40 @@ +#include "vertex_standard.glsl" + +uniform mat4 uPv; +uniform mat4x3 uMdl; + +uniform vec3 uInfo; + +out vec4 aColour; +out vec2 aUv; +out vec3 aNorm; +out vec3 aCo; +out vec3 aWorldCo; + +void main() +{ + float w = a_colour.g + fract(uInfo.z+0.5)-0.75; + float c = -cos(w*0.2); + float s = -sin(w*0.2); + float r = 0.2; + + float w1 = clamp( w*4.0 - a_co.y*10.0, -1.0, 1.0 ) *(3.14159265*0.5); + float c1 = cos(w1); + float s1 = sin(w1); + + float yoff = step(0.01,fract(uInfo.z))*-0.5; + + mat4x3 mlocal; + mlocal[0] = vec3(c1, s1,0.0); + mlocal[1] = vec3(-s1,c1,0.0); + mlocal[2] = vec3(0.0,0.0,1.0); + mlocal[3] = vec3(c*r,uInfo.y*0.875 + s*r,uInfo.x*0.5); + + vec3 world_pos = uMdl * vec4(mlocal * vec4(a_co,1.0),1.0); + gl_Position = uPv * vec4( world_pos, 1.0 ); + aColour = a_colour; + aUv = a_uv + vec2( floor(uInfo.z+0.5)*(1.0/64.0), yoff ); + aNorm = mat3(uMdl) * mat3(mlocal) * a_norm; + aCo = a_co; + aWorldCo = world_pos; +}