I’ve posted a series called 8 Steps to AdWords Optimization at my personal site. In it, I share how we increased the effectiveness of our online ad campaigns without spending a ton of money in the process. Just by tweaking our Google AdWords campaigns, we effectively doubled our business at no additional advertising cost.
A big thank you to all of our new customers in 2012, and we’re excited about the developments 2013 will bring! Happy holidays to all.
Thanks to our friends at NVidia, our Triton Ocean SDK is now being featured in the NVidia Developer Zone. It’s being used as an example of what’s possible with CUDA, the technology we use to power the Fast-Fourier Transforms that drive Triton’s 3D wave simulation in real time. By using GPGPU technologies such as CUDA, Triton can hit framerates of about 270 using a GTX690, compared to about 70 when using CPU-based FFT techniques (even highly optimized ones that take advantage of multi-core CPU’s.) Triton automatically detects the GPGPU capabilities of the system it is on, and takes advantage of any parallel processing capabilities it can to achieve its high performance.
Orlando, Fla. (November 19, 2012) - Sundog Software has updated its SilverLining Sky and 3D Cloud and Triton Ocean and 3D Water packages for the newly released Unity 4.0 game engine. Sundog’s technology makes simulation-quality skies and water visuals available to the 1.3 million registered developers using the Unity engine.
“Our environmental graphics technology fills a need for creating outdoor scenes suitable for training purposes with the Unity platform,” said Frank Kane, founder of Sundog Software LLC. “The combination of our products with the low-cost Unity engine makes for a very economical alternative for creating simulation and training environments with accurate skies, volumetric clouds, lighting, and oceans for any given time, location, and weather conditions. Game developers also appreciate the realism our products can bring to their titles while maintaining fast performance. No other water asset for Unity offers GPGPU-accelerated 3D ocean waves, and SilverLining leverages Unity’s particle systems to keep its 3D clouds fast on any target platform.”
If you’ll be attending the 2012 I/ITSEC conference in Orlando Dec 3-6, send us a note! Sundog’s founder and CEO, Frank Kane, will again be roaming the exhibit hall with a tablet for on-demand demos of our latest technologies for real-time sky and water rendering. Arrange a meeting at your convenience, and he’ll be available to answer your questions, help tune your usage of our products, or discuss partnership opportunities.
We also want to know if you’ll be exhibiting technology that features Sundog’s technology! We saw SilverLining at quite a few booths last year, and expect to see Triton start popping up this time around. It’s always fun to see our stuff integrated into real applications, and it’s also a chance for us to offer feedback on tweaking your usage of our SDK’s to achieve even faster and more realistic results.
Triton Ocean & 3D Water for Unity Pro has hit the number one top-grossing spot in the Unity Asset Store for its category! We’ve been really pleased with its reception in the Unity development community, and we continue to keep making it better – version 1.2 of Triton for Unity Pro was just submitted this morning. If you’re using Unity Pro to develop a game or simulation that features ocean scenes, be sure to check it out.
Military Training Technology Magazine has recognized Sundog Software as a Top Simulation and Training Company for 2012! We have received this award every year since 2009, and we’re grateful to our ever-growing customer base for keeping us on this list. This past year has seen us investing a lot more back into our business, including product development of the Triton Ocean SDK and support for the Unity game engine. We’ve also been steadily improving our flagship SilverLining SDK, offering faster performance, better visuals, and better platform support all the time. We look forward to continued innovation as we work toward a 2013 award!
ORLANDO, Fla. (September 19, 2012) – Simulation-quality wave and water simulation has come to the Unity game engine today with Sundog Software’s launch of Triton for Unity Pro. Triton enhances the realism of water-based games and simulations, such as ship simulators, by simulating thousands of waves at once on infinitely large oceans.
“Triton for Unity Pro is unique in that it uses the latest technologies, such as CUDA, OpenCL and DirectX 11 Compute Shaders to power its wave simulations,” said Frank Kane, founder of Sundog Software. “The user’s graphics card processes the wave simulation in parallel using Fast-Fourier Transforms, while our shaders compute accurate lighting on the water with proper reflections and refractions.”
Triton for Unity Pro also includes particle-based spray effects when the simulated wind conditions increase, and ship wakes with 3D wave displacements and propeller backwash effects. “All of Triton’s water waves and wakes are based on a real physical simulation,” continued Kane. “Customers such as the US Navy are using Triton to provide realistic water conditions for specific wind speeds and Beaufort scales.” Triton also provides the ability to retrieve the height of the water at any point, making it useful for accurately simulating ships floating on the water.
Triton for Unity Pro supports standalone Windows applications developed with Unity. Triton is also available for other engines, including OpenSceneGraph, Ogre and custom engines developed with OpenGL or DirectX. Free trials of Triton for Unity Pro are available at www.sundog-soft.com/triton-unity, as well as screenshots, a demo and a tutorial video.
We’ve been having some fun with an NVidia GTX690 card in Sundog’s office lately – its dual Kepler GPU’s can really do wonders for the FFT calculations that power Triton’s simulation of thousands of waves at once. Developing with it allowed us to see that a big bottleneck we never knew about was copying data from the GPU back to the CPU, to power our spray effects and height queries. By simply adjusting the timing of those copies, we improved performance 185% when using CUDA on this card. We also found some other optimizations, such as avoiding some copies up to the GPU entirely in most cases – and those optimizations also help our OpenCL and DirectX11 code paths.
At left is a screenshot of Triton’s FFT-fueled infinite ocean rendering at over 300 frames per second, as measured by FRAPS. That works out to just over 3 milliseconds per frame – leaving quite a few left over for everything else your game or simulation needs to do.
These performance gains are available to you now with the release of Triton 1.51. It’s available now at our download page.
While we were in performance tuning mode, we came up with some interesting benchmarks using the GTX690:
|DirectX11 Compute Shaders||270|
Since Triton uses CUDA on NVidia systems and OpenCL on ATI systems, we couldn’t do an apples-to-apples comparison of OpenCL and CUDA on the same card. But, we do see performance of 170 FPS on an ATI HD5850 card with Triton 1.51, which is a mid-range single-GPU card – I think this means OpenCL performance is at least on par with CUDA at this point.
Triton 1.51 also improves our calculation of spray and foam effects, and fixes a bug. Between those enhancements and the performance improvements, we recommend this update for everyone.
SilverLining 2.5 adds multi-threaded rendering, Visual Studio 2012 support, cumulonimbus improvements
Right on the heels of the Triton 1.5 release, the SilverLining Sky, Cloud, and Weather SDK 2.5 is now available from our download page, together with updated integration packs for Havok Vision and Lightspeed 3.2. As always, licensed users with current support plans may get the latest full source distribution.
SilverLining 2.5 splits out physics updates, culling, and rendering for better integration with engines that perform these operations asynchronously. Have a look at the new Atmosphere::UpdateSkyAndClouds() and Atmosphere::CullObjects() methods – these may be called outside the main rendering thread. Using them is optional; if you don’t call them, they will be called implicitly by Atmosphere::DrawSky(). We’ve dramatically simplified our OpenSceneGraph integration sample using these methods – gone is the clunky projection matrix callback it used to rely on, and now time of day updates may happen asynchronously from rendering.
Version 2.5 also includes improvements to cumulonimbus clouds (thunderheads.) Animated rain effects underneath these clouds and virga are now present, and cumulonimbus clouds now interact better with SilverLining’s imposters for distant clouds.
We’ve also included libraries and sample projects for Visual Studio 2012 / Windows 8 SDK. We’re only supporting Windows 8 desktop applications for now, but watch for Metro support soon.
There are many other smaller fixes and enhancements in SilverLining 2.5, making this a worthwhile update for everyone. Check out the full release notes for the complete details.
The latest version of our Triton Ocean SDK is now available from our download page. Version 1.5 has some exciting new capabilities that you’ll want to take advantage of, including shading of user-drawn geometry patches, multi-threaded rendering, C# support, and Visual Studio 2012 support.
- Triton now has the ability to shade user-drawn patches of geometry, making for a new way to use Triton for smaller bodies of water. The new Ocean::SetPatchShader() and Ocean::UnsetPatchShader() methods allow you to apply Triton’s wave simulation, foam, and wakes to any set of meshes in your scene you want. You’ll find a new set of sample projects illustrating this new technique, as well as documentation. We listened to your feedback and provided this way to only render Triton’s water exactly where you need it. Ocean::Draw() is still available for an easy way to draw infinite oceans, that can still interact with the terrain in your scene through the depth and stencil buffer.
- Physics updates are now split out from rendering, and may be done from another thread. See the new Ocean::UpdateSimulation() method. We’ve updated our OpenSceneGraph sample code to take advantage of this capability.
- We added a C# wrapper, and now include the DLL’s and class libraries necessary to use Triton from a C# project in the CSharpSample included with the SDK. We also include an example of using Triton within an XNA Game Framework 4.0 project.
- We’ve added libraries and project files for Visual Studio 2012 and made the necessary changes to build Triton with the Windows 8 SDK. For now we’re only supporting desktop apps under Windows 8, but watch for “Metro” style app support soon. Please note that NVidia’s CUDA Toolkit doesn’t yet support Visual Studio 2012, so we’re unable to provide CUDA support in our VC11 libraries just yet.
- We fixed the annoying aliasing problem in DirectX in the distance when the camera moved close to the surface.
This is Triton’s biggest update ever, and I’m really excited to get it in your hands. As always, the binary SDK is free to try and licensed users with current support plans may get the full source SDK right now.