2011-02-16 27 views
10

Estoy buscando algunos consejos sobre cómo implementar efectos de superficie de agua simples en OpenGL ES 2.0. Nada de fantasía como la reflexión o la refracción, solo un efecto de ondulación/onda básico que se modula con el tiempo. El rendimiento es crítico. Supongo que esto se hará mejor en un sombreador.GLSL para efectos de superficie de agua simples

¿Alguna sugerencia sobre cómo manejar mejor esto?

Respuesta

10

Existe un viejo truco para simular las ondas de agua & con un mínimo esfuerzo en términos de ecuaciones. Se usa en muchos lugares, y no puedo encontrar el original, pero puedes tomarlo, por ejemplo, desde here.

Necesitará 2 texturas, cada una con solo la altura. La simulación se realiza haciendo ping-ponging entre ellos (usando uno como fuente y el segundo como destino cada vez).

Durante el procesamiento, es posible que deba derivar una superficie normal desde las alturas vecinas.

10

Adrian Boeing's blog tiene el código GL de ejemplo, acompañado de explicaciones claras, para una serie de efectos que incluyen la ondulación.