attribute vec3 aVertexPosition; attribute vec3 aVertexNormal; attribute vec2 aTextureCoord; uniform mat4 uMVMatrix; uniform mat4 uPMatrix; uniform mat3 uNMatrix; uniform bool uCistern; uniform float uWaterHeight; varying vec2 vTextureCoord; varying vec3 vTransformedNormal; varying vec4 vPosition; varying float colorBlue; void main(void) { if (aVertexPosition.z < uWaterHeight && !uCistern) colorBlue = -1.0; else colorBlue = 1.0; vPosition = uMVMatrix * vec4(aVertexPosition, 1.0); gl_Position = uPMatrix * vPosition; vTextureCoord = aTextureCoord; vTransformedNormal = uNMatrix * aVertexNormal; }