2018-11-27 16:48:19 +00:00
|
|
|
!!samps 2
|
2012-05-09 15:30:53 +00:00
|
|
|
//pretty much a regular sky shader
|
|
|
|
//though in reality we should render a sun circle in the middle.
|
|
|
|
//still, its kinda cool to have scrolling clouds masking out parts of the sun.
|
|
|
|
|
|
|
|
#ifdef VERTEX_SHADER
|
|
|
|
varying vec3 pos;
|
|
|
|
void main ()
|
|
|
|
{
|
|
|
|
pos = v_position.xyz;
|
|
|
|
gl_Position = ftetransform();
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
#ifdef FRAGMENT_SHADER
|
|
|
|
uniform float e_time;
|
|
|
|
uniform vec3 e_eyepos;
|
|
|
|
varying vec3 pos;
|
|
|
|
void main ()
|
|
|
|
{
|
|
|
|
vec2 tccoord;
|
|
|
|
vec3 dir = pos - e_eyepos;
|
|
|
|
dir.z *= 3.0;
|
|
|
|
dir.xy /= 0.5*length(dir);
|
|
|
|
tccoord = (dir.xy + e_time*0.03125);
|
|
|
|
vec3 solid = vec3(texture2D(s_t0, tccoord));
|
|
|
|
tccoord = (dir.xy + e_time*0.0625);
|
|
|
|
vec4 clouds = texture2D(s_t1, tccoord);
|
|
|
|
gl_FragColor.rgb = (solid.rgb*(1.0-clouds.a)) + (clouds.a*clouds.rgb);
|
|
|
|
}
|
|
|
|
#endif
|