2D Wave Equation - ThreeJS

This app simulates the 2D wave equation and renders the resulting height field as a 3D mesh. Additionally, it simulates realtime caustics formed by light shining through the 3D surface and renders the result as a texture (method described in more detail by Evan Wallace). All computations are performed in gpu-io and the results are passed to threejs without ever leaving the GPU. Written by Amanda Ghassaei.

Instructions: Drag to rotate, Pinch/Scroll to zoom. Adjust the wave propagation speed and the distance between the 3D surface and the caustics projection using the menu on the right. Press "v" to record a video.

This page is part of a series of examples using gpu-io, a GPU-accelerated computing library for physics simulations and other mathematical calculations. Find the source code on Github.