diff options
Diffstat (limited to 'client/textures/progress.gdshader')
| -rw-r--r-- | client/textures/progress.gdshader | 28 | 
1 files changed, 28 insertions, 0 deletions
| diff --git a/client/textures/progress.gdshader b/client/textures/progress.gdshader new file mode 100644 index 00000000..0bf3e04a --- /dev/null +++ b/client/textures/progress.gdshader @@ -0,0 +1,28 @@ +shader_type spatial; + +uniform float progress = 0.; +uniform bool bad = false; + +void fragment() { +	vec3 color = vec3(0., 1., 0.); +	float alpha_fac = 1.; +	if (bad) { +		color = vec3(1., 0., 0.); +		alpha_fac = sin(TIME * 15.) * .5 + 1.; +	} +	if (UV.x > progress) { +		ALPHA = 0.1; +	} +	ALPHA *= alpha_fac; +	ALBEDO = color; +} + +void vertex() { +    mat4 modified_model_view = VIEW_MATRIX * mat4( +        INV_VIEW_MATRIX[0], +        INV_VIEW_MATRIX[1], +        INV_VIEW_MATRIX[2], +        MODEL_MATRIX[3] +    ); +    MODELVIEW_MATRIX = modified_model_view; +} | 
