37 lines
789 B
GLSL
37 lines
789 B
GLSL
!!permu FOG
|
|
!!cvarf r_wateralpha=1
|
|
!!cvarb r_fog_exp2=true
|
|
!!argf alpha=0
|
|
!!samps diffuse
|
|
|
|
#include "sys/defs.h"
|
|
|
|
//this is the shader that's responsible for drawing default q1 turbulant water surfaces
|
|
//this is expected to be moderately fast.
|
|
|
|
#include "sys/fog.h"
|
|
layout(location=0) varying vec2 tc;
|
|
|
|
#ifdef VERTEX_SHADER
|
|
void main ()
|
|
{
|
|
tc = v_texcoord.st;
|
|
#ifdef FLOW
|
|
tc.s += e_time * -0.5;
|
|
#endif
|
|
gl_Position = ftetransform();
|
|
}
|
|
#endif
|
|
#ifdef FRAGMENT_SHADER
|
|
void main ()
|
|
{
|
|
vec2 ntc;
|
|
ntc.s = tc.s + sin(tc.t+e_time)*0.125;
|
|
ntc.t = tc.t + sin(tc.s+e_time)*0.125;
|
|
vec3 ts = vec3(texture2D(s_diffuse, ntc));
|
|
if (arg_alpha != 0.0)
|
|
gl_FragColor = fog4(vec4(ts, arg_alpha));
|
|
else
|
|
gl_FragColor = fog4(vec4(ts, cvar_r_wateralpha));
|
|
}
|
|
#endif
|