Triton Release History Version 1.39 May 4, 2012 Update to CUDA 4.2 and latest APP ML Fix shader compilation errors under OpenGL 3.2 Fix 64-bit builds for CUDA/Windows and OpenCL/Linux Shut down CUDA cleanly Version 1.38 April 29, 2012 Added RandomNumberGenerator interface to allow apps to provide their own (useful for synchronizing channels) CPU usage reduced when spray is active CPU usage reduced when wind conditions change Added fft-lod-bias config setting to combat aliasing / motion artifacts Version 1.37 April 15, 2012 Ensure the ocean extends all the way to the horizon Include CMake files with Windows full installer (in addition to Visual Studio solution files) Version 1.36 April 4, 2012 Fix horizon line underwater Fix computation of wave height Eliminate runtime calls to OpenGL extension tests Work around driver bugs related to auto-mipmap generation Put grid resolution back at 512 Version 1.35 March 30, 2012 Optimize performance when wind conditions change Align projected grid with the horizon line Reduce projected grid default dimensions (thanks to the above change) - gains performance WakeGenerator::Update now takes an explicit direction vector. Trying to guess at it automatically wasn't sufficient. Version 1.34 February 10, 2012 Added visualCorrelation parameter to Ocean::GetHeight() to match heights with visuals in the distance Ensure WakeGenerator::Update() doesn't actually do any drawing, as it could be called from a different thread or context from Ocean::Draw(). Better conservation of wake waves (to reduce anomalies from hitting the max number of wake waves in the shaders) Version 1.33 February 5, 2012 Fix above/below water test Fix dark line at horizon in geocentric mode near surface Fix clipping of ocean when near surface in geocentric mode Fix undefined foam values in Gerstner mode Fix precision issues in DirectX geocentric mode Version 1.32 February 2, 2012 Fix wakes in OSG reflection demo when --geocentric is on Improve foam appearance Fix various precision issues in OpenGL geocentric mode Version 1.31 January 31, 2012 Tuned grid resolution and maximum wake height Added wake-kelvin-wakes config setting to disable 3D ship Kelvin wakes independently from turbulent wakes (see wake-propeller-backwash) Decreased default setting for max wake waves Version 1.3 January 30, 2012 Ship wake improvements: added propeller wash effects, separate spray and wake generation points, and ability to simualte the beam width and ship length. See new WakeGenerator constructor for more details. Enabled flow control in HLSL - big speedups for DX9 and DX11! Split up projected grid into 32K chunks under DirectX9 to support low end systems Improve accuracy of height queries (takes choppiness into account now.) Fix potential buffer overflow in OpenGL particle systems Max number of wake waves visible at once now configurable by renderer, and increased for DX11 and OpenGL Fix orientation of projected grid when camera is inverted Updated to CUDA Toolkit 4.1, AMD APP SDK 2.6, and AMD APPML 1.6 Fix OpenSceneGraph samples so they run with arbitrary working directories and do not require fftss.lib in Windows Fix precision issues in geocentric mode when close to the surface Fix translation of the ocean surface in geocentric mode Fix default ocean slope if unspecified in geocentric mode Version 1.23 January 9, 2012 Fail if DX9 vertex shader model 2.0 is all that's supported. Vertex shader model 3.0 or newer is required. Support combination of DX9 PS 2.0 / VS 3.0 for older hardware Fix jitter on spray particles in geocentric coordinate systems Fix spray and wave orientation if Ocean::SetDepth is not called Version 1.22 January 4, 2012 Enable shallow water translucency for DX9 and DX11 Direct3D9Ex support added CMake works under Windows now, with option to not include DirectX when building. Fix fallback case to IPP if FFT setup fails Version 1.21 December 18, 2011 Added Ocean::SetRefractionColor to allow changing of the ocean color at runtime Fix warnings from Allocator Added Gamebryo Lightspeed 3.2 sample code Fix crash if OpenGL renderer is specified with a DirectX environment Added Visual Studio 2005 support (except for DirectX11) Version 1.2 November 12, 2011 Breaking waves and spray effects - toggle with Ocean::EnableSpray() Ocean::SetDepth now takes a surface normal as well as a depth at the camera position, allowing for sloping shorelines Water is transparent when refracted in shallow water. The underwater visibility simulated, and the values passed into Ocean::SetDepth, will influence this effect. Try the "beach" button in our demo to see it in action. Fix surface normal calculation in intersection tests Fix intersection tests when coordinates are negative Fix intersection tests in OpenCL Make waves change smoothly when wind conditions change Fix SimulateSeaState when using non-standard world units Improved the fit of the projected grid with the visible scene, increasing resolution. Version 1.14 October 27, 2011 Beta Linux support introduced - contact support@sundog-soft.com Fix artifacts when rolling the camera Explicitly declare calling conventions and byte alignment for better project compatibility No longer uses ARB extensions; uses OpenGL 2.0 functions directly. Fix directional light in DX11 Fix crash when using a ResourceLoader with an invalid path Fix scaling of projected grid when corners project to infinity Full source project fixes: uses DXSDK_DIR to locate the DirectX SDK; renames debug library build to Tritond.lib Version 1.13 October 15, 2011 Removes dependency on GLEW entirely. Fix build settings for x64 Version 1.12 October 12, 2011 Use GLEW as a DLL to avoid multiply defined symbol link errors in other projects Include missing HLSL file for DirectX 11 compute shader Version 1.11 September 19, 2011 Made waves more directional with the wind Include diffuse light when refracting into the ocean Added optional depthWrite parameter to Ocean::Draw Added surface normal to Ocean::GetHeight() Link DX11 Effects framework into 64-bit libraries Version 1.1 (revision 348) September 8, 2011 Fixed Beaufort to wind speed calculation Added ship wake effects (see the new WakeGenerator class) Tweaked noise to reduce tiling at altitude New planar reflection support (see Environment::SetPlanarReflectionMap and OpenSceneGraphReflection sample) Added Ocean::GetHeight() method to read back the ocean surface height at any point Negative reflection vectors now handled better Fixed CUDA with Direct3D11 Fixed computation of grid size with non-zero sea levels Disposes of all OpenCL resources at shutdown Fixed application of noise when using custom world units Version 1.01 (revison 280) August 6, 2011 Make shaders compilable with latest Intel GPU drivers Fix x64 support Pre-allocate temporary FFT buffer for OpenCL Updated to AMD APP SDK 2.5 and clAmdFFT 1.4.135 Version 1.0 (revision 274) August 3, 2011 Added Ocean::GetShaderObject to allow apps to pass in their own uniforms to modified Triton shaders (enables integration with custom reflections, shadows, etc.) Version 1.0b1 (revision 272) July 23, 2011 Initial release! Please report any issues or feature requests to support@sundog-soft.com