diff options
Diffstat (limited to 'src/main/resources/assets/goodgenerator/shaders/antimatter.vert.glsl')
-rw-r--r-- | src/main/resources/assets/goodgenerator/shaders/antimatter.vert.glsl | 44 |
1 files changed, 8 insertions, 36 deletions
diff --git a/src/main/resources/assets/goodgenerator/shaders/antimatter.vert.glsl b/src/main/resources/assets/goodgenerator/shaders/antimatter.vert.glsl index 8286a26a4f..066225eddb 100644 --- a/src/main/resources/assets/goodgenerator/shaders/antimatter.vert.glsl +++ b/src/main/resources/assets/goodgenerator/shaders/antimatter.vert.glsl @@ -1,7 +1,6 @@ #version 120 -uniform float u_SpikeMult; uniform float u_Scale; uniform float u_ScaleSnapshot; uniform vec3 u_ColorCore; @@ -24,23 +23,6 @@ float lazyHash(vec3 input){ return fract(v.y + v.x*(v.z+1)); } - -float wave ( vec3 input){ - float val = lazyHash(input); - float pulse = cos(val*2*PI + u_Time)*cos(u_Time*(1+val)); // Slow save - return pulse; -} - -float trim (float val){ - return clamp(val - .1,0,1)/.9; -} - -float amp(float x){ - float b = smoothstep(0.,1.,x); - float c = pow(b,.3); - return c; -} - float triangle(float x){ return 1.0 - abs(2.0 * (x - 0.5)); } @@ -48,32 +30,22 @@ float triangle(float x){ void main() { //grab local position vec3 pos = gl_Vertex.xyz; - //Grabs how far the vertex is for center //Antimatter.model has spikes that are 2 unit away, and the 'core' is 1 unit away float len = length(pos); - //Grabs distance that remains as spike - float spike = len-1; - - //Spike - float extension = wave(pos); - extension = abs(extension); - float spikeSize = extension * u_SpikeMult; - - //Scale - float timelerp = clamp(1,0,(u_Time-u_TimeSnapshot)/2.5); - float scale = mix(u_ScaleSnapshot,u_Scale,timelerp)*(1 + 0.5*spike*(spikeSize - 1)); - vec3 currentCoreColor = mix(u_ColorCore,u_ColorSpike,triangle(mod((u_Time/4.0 + lazyHash(pos)/2),1.0))); vec3 currentSpikeColor = mix(u_ColorCore,u_ColorSpike,triangle(mod((u_Time/2.0 + lazyHash(pos)),1.0))); //v_Color = mix(u_ColorCore,u_ColorSpike,extension*spike); - v_Color = mix(currentCoreColor,currentSpikeColor,extension*spike); + //v_Color = mix(currentCoreColor,currentSpikeColor,extension*spike); + v_Color = currentCoreColor; + float timelerp = clamp(1,0,(u_Time-u_TimeSnapshot)/2.5); + float scale = mix(u_ScaleSnapshot,u_Scale,timelerp); mat4 mScale = mat4( - scale,0,0,0, - 0,scale,0,0, - 0,0,scale,0, - 0,0,0,1); + scale,0,0,0, + 0,scale,0,0, + 0,0,scale,0, + 0,0,0,1); gl_Position = gl_ModelViewProjectionMatrix * mScale * gl_Vertex; |