- // Vertex Shader
- void main(void)
- {
- gl_TexCoord[0] = gl_MultiTexCoord0 ;
- gl_TexCoord[1] = gl_MultiTexCoord1 ;
- gl_Position = ftransform();
- gl_FrontColor = gl_Color;
- }
- // Fragment Shader
- uniform float syg_Render_Time_TotalTime; // die aktuelle Zeit in Sekunden
- uniform sampler2D syg_Object_Texture_1; // das ist die Normal-Textur
- uniform sampler2D syg_Object_Texture_1_Reflect; // und das die Reflektionstextur
- void main(void)
- {
- vec3 noiseVec;
- vec2 displacement;
- float scaledTimer;
- displacement = gl_TexCoord[0].st;
- scaledTimer = syg_Render_Time_TotalTime*0.1;
- displacement.x += scaledTimer;
- displacement.y -= scaledTimer;
- noiseVec = normalize(texture2D(syg_Object_Texture_1, displacement.xy).xyz);
- noiseVec = (noiseVec * 2.0 - 1.0) * 0.035;
- vec4 FragColorA;
- float Alpha;
- Alpha = gl_Color.a;
- FragColorA = texture2D(syg_Object_Texture_1_Reflect, gl_TexCoord[0].st + noiseVec.xy);
- FragColorA.w = Alpha;
- gl_FragColor = FragColorA;
- }