uniform vec3 osgOcean_Origin; uniform vec3 osgOcean_Extinction_c; uniform vec3 osgOcean_Eye; uniform float osgOcean_Spacing; varying vec3 vIntensity; void main(void) { gl_TexCoord[0] = gl_MultiTexCoord0; vec3 worldPos = gl_Vertex.xyz * vec3(osgOcean_Spacing,osgOcean_Spacing,1.0); worldPos += osgOcean_Origin; vec3 extinct = vec3(0.2,0.2,0.2); float totalDist = length(worldPos-osgOcean_Eye)/3.0; vIntensity = exp(-totalDist*osgOcean_Extinction_c); vIntensity = clamp(vIntensity, 0.0, 1.0); gl_Position = gl_ModelViewProjectionMatrix * vec4(worldPos,1.0); }