Description We've just released version 1.0 of the Triton Ocean SDK at www.sundog-soft.com. Triton integrates with OpenGL, DirectX9, or DirectX11 based engines to provide real-time simulations of oceans and large bodies of water. It maintains high framerates - hundreds per second on modern hardware - by automatically detecting the GPGPU capabilities of the system and adapting to it. Triton ships with the ability to take advantage of CUDA, OpenCL, DirectX11 Compute Shaders (DirectCompute,) as well as multi-core CPU technologies such as the Intel Integrated Performance Primitives and OpenMP. By integrating GPGPU API's with Triton's vertex and fragment shaders, the entire simulation of thousands of waves at once can take place on the GPU from setting up the waves in the frequency domain, conducting the inverse fast Fourier transforms, and applying this data to a projected grid and applying a full Fresnel refraction and reflection shader to the final output, with foam effects.
In addition to the FFT-based ocean simulation, Triton also offers a simpler sum-of-Gerstner-waves mode that's appropriate for shallower water simulations. It also allows the user to pass in an environmental cube map for more accurate water reflections.
Triton's tailored for serious game applications as well, and is able to take any given wind conditions or Beaufort scale and produce matching water visuals automatically.
Maintaining system compatibility was one of the biggest challenges during the development of Triton; GPGPU API's are still young, and much care had to be taken when selecting the API best suited to the user's system. Integrations between the GPGPU and OpenGL / DirectX API's were particularly challenging. We avoided runtime DLL errors by encapsulating our GPGPU code within DLL's of their own, and dynamically loading them only after verifying that their DLL dependencies are present on the system.
This is Triton's initial release, and we're definitely interested in constructive feedback! A demo, free evaluation SDK, and licensing information are available from our website.