/* <copyright> This file contains proprietary software owned by Motorola Mobility, Inc.<br/> No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.<br/> (c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved. </copyright> */ #ifdef GL_ES precision highp float; #endif // attributes attribute vec3 a_pos; attribute vec2 texcoord; // scalar uniforms uniform float u_time; uniform float u_speed; uniform float u_waveWidth; uniform float u_waveHeight; // matrix uniforms uniform mat4 u_mvMatrix; uniform mat4 u_projMatrix; uniform mat4 u_worldMatrix; // varying variables varying vec2 v_uv; void main() { float time = u_time * u_speed; const float pi = 3.14159; float angle = time; v_uv = texcoord; float x = 2.0*pi*texcoord.x/u_waveWidth; float y = 2.0*pi*texcoord.y; vec3 v = a_pos; v.z = sin( x + angle ); v.z += sin( 0.2*y + angle); v.z *= u_waveHeight; v.z -= 2.0*u_waveHeight; v.z *= x * 0.09; gl_Position = u_projMatrix * u_mvMatrix * vec4(v,1.0) ; }