aboutsummaryrefslogtreecommitdiff
path: root/src/main/resources/assets/goodgenerator/shaders/antimatter.vert.glsl
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/resources/assets/goodgenerator/shaders/antimatter.vert.glsl')
-rw-r--r--src/main/resources/assets/goodgenerator/shaders/antimatter.vert.glsl44
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;