Triton
Visual simulation library for ocean rendering.
Redistributing Triton with your application

Windows developers must ensure that the DirectX end-user runtimes are installed on your target systems, from the June 2010 DirectX SDK or newer.

If you are using DirectX, you will also need to install the run-time shader compiler DLL's alongside your application's executable file. You'll find these files as d3dcompiler_47.dll and d3dcsx_47.dll inside the resources/dll and resources/dll64 directories; choose the DLL's for the architecture you're building for.

If you have a full source license and are targeting OpenGL exclusively, it is possible to compile Triton such that all DirectX dependencies are removed. If you define DIRECTX9_FOUND=0 and DIRECTX11_FOUND=0 in your preprocessor settings, you may then remove the DirectX libraries from the project safely. Our more recent Triton solution files have -NO-DX targets that have these settings in place for you already.

Triton's runtime dependencies are contained within the "resources" directory of the SDK, which you are free to redistribute with your application. You're also free to roll the contents of this directory into your own resource manager if you wish; see Integrating with your own resource manager for more information. Linux users must also ensure that the IPP, clFft, and cufft shared objects that we installed into your /usr/local/lib/triton directory are installed on your target systems in locations that are part of the library search path.

If Windows developers want to trim down the size of the resources directory, it's safe to remove any of the DLL's in the resources/vcX directories that you're not using. If you built your solution with Visual Studio 2010, it's safe to delete the entire vc11, vc12, and vc14 directories. If your application's built for win32 instead of x64, the x64 subdirectory can go. Then, within your surviving directory, any DLL's for runtime libraries you aren't using are safe to remove as well. You'll also find two directories containing runtime dependencies for triton: resources/dll and resources/dll64. If your application is built for x64, it's safe to remove the dll folder. If it's built for Win32, it's safe to remove dll64.

You may also remove shaders from the resources directory that you aren't using. If you're application is for DirectX only, all the .glsl files can go, for example - or, OpenGL users may safely remove the .fx files.

As with any Windows applications, if you link against the DLL runtime libraries, you'll also need to ensure that the Visual C++ runtimes for your compiler and architecture are installed on your target systems as well. Make sure you install the latest available service pack runtimes for the version of Visual Studio you're using, and take care to install the 32 or 64 bit versions of them as appropriate.

If you are using Visual Studio 2015, 2017, 2019, or 2022 for 32-bit targets, you will need to distribute both Visual Studio 2013 and Visual Studio 2015/2017/2019/2022 runtime libraries with your application, due a dependency of NVidia's CUDA Toolkit on Visual Studio 2013.