Render target water
This commit is contained in:
@@ -31,6 +31,7 @@ uniform vec2 bumpSpeed;
|
||||
uniform highp float time;
|
||||
uniform float waveFreq;
|
||||
uniform float waveAmp;
|
||||
uniform mat4 world;
|
||||
uniform mat4 worldViewProj;
|
||||
uniform mat4 textureProjMatrix;
|
||||
uniform mat3 normalMatrix;
|
||||
@@ -51,17 +52,17 @@ IN(vec4 vertex, POSITION)
|
||||
IN(vec3 normal, NORMAL)
|
||||
// IN(vec3 tangent, TANGENT)
|
||||
IN(vec3 uv0, TEXCOORD0)
|
||||
OUT(mat3 rotMatrix, 17)
|
||||
OUT(vec2 bumpCoord0, 18)
|
||||
OUT(vec2 bumpCoord1, 19)
|
||||
OUT(vec2 bumpCoord2, 20)
|
||||
OUT(vec3 eyeVector, 21)
|
||||
OUT(vec3 noiseCoord, 22)
|
||||
OUT(highp vec4 projectionCoord, 23)
|
||||
OUT(vec3 eyeDir, 24)
|
||||
OUT(vec3 oNormal, 25)
|
||||
OUT(mat3 rotMatrix, TEXCOORD0)
|
||||
OUT(vec4 bumpCoordA, TEXCOORD1)
|
||||
OUT(vec4 bumpCoordB, TEXCOORD2)
|
||||
OUT(vec3 noiseCoord, TEXCOORD3)
|
||||
OUT(highp vec4 projectionCoord, TEXCOORD4)
|
||||
OUT(vec3 eyeDir, TEXCOORD5)
|
||||
OUT(vec3 oNormal, TEXCOORD6)
|
||||
OUT(f32vec3 positionWS, TEXCOORD7)
|
||||
MAIN_DECLARATION
|
||||
{
|
||||
#if 1
|
||||
#define NWAVES 4
|
||||
Wave wave[NWAVES];
|
||||
wave[0] = Wave( waveFreq, waveAmp, 0.5, vec2(-1.0, 0.0) );
|
||||
@@ -98,11 +99,16 @@ MAIN_DECLARATION
|
||||
rotMatrix = mat3(T, B, N);
|
||||
gl_Position = P;
|
||||
// calculate texture coordinates for normal map lookup
|
||||
bumpCoord0.xy = uv0.xy * textureScale + time * bumpSpeed;
|
||||
bumpCoord1.xy = uv0.xy * textureScale * 2.0 + time * bumpSpeed * 4.0;
|
||||
bumpCoord2.xy = uv0.xy * textureScale * 4.0 + time * bumpSpeed * 8.0;
|
||||
bumpCoordA.xy = uv0.xy * textureScale + time * bumpSpeed;
|
||||
bumpCoordA.zw = uv0.xy * textureScale * 2.0 + time * bumpSpeed * 4.0;
|
||||
bumpCoordB.xy = uv0.xy * textureScale * 4.0 + time * bumpSpeed * 8.0;
|
||||
|
||||
eyeVector = R.xyz - eyePosition; // eye position in vertex space
|
||||
eyeDir = normalize(R.xyz - eyePosition);
|
||||
oNormal = normal;
|
||||
oNormal = normalize(normal + N);
|
||||
positionWS = mul(world, vertex).xyz;
|
||||
#else
|
||||
gl_Position = worldViewProj * vertex;
|
||||
projectionCoord = mul(textureProjMatrix, vertex);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user