Sundog Blog

Posted by Frank Kane on 23rd April 2014

65,000 Waves at 500 FPS in Triton 2.83

Triton Ocean SDK exceeding 500 FPS on consumer hardwareThe Triton Ocean SDK has hit a new milestone in version 2.83 – in our benchmarks, Triton is now capable of running at over 500 frames per second while simulating 65,535 individual ocean waves. This is on a modest dual-core Pentium 3GHx E5700 CPU with an NVidia GTX690 graphics card – so it’s not like we’re measuring this on a supercomputer. Most gaming PC’s today have more impressive specs, and we have seen Triton exceed 700 FPS at some customer sites.

This means having  a physically realistic 3D ocean wave system in your simulator or game no longer needs to come with a huge performance cost. A budget of 2 milliseconds per frame is all it takes.

Grab an evaluation of the Triton Ocean SDK and see for yourself!


Posted by Frank Kane on 14th April 2014

Better swells, spray & whitecaps in Triton 2.78

New swells, spray, and whitecaps in Triton 2.78Our latest version of the Triton Ocean SDK features some big improvements in swells, choppy waves, and the effects associated with them. We even considered calling this Triton 3.0 – but we’ve got some other big features planned before we take that leap. Triton 2.78 is available now and well worth upgrading to.

Improved swell wave accuracy and phase offsets

Triton is being integrated into a high-profile US Navy training program. Their rigorous testing revealed that swell waves added through the Triton::Environment::AddSwell() API weren’t always quite the right size, and we’ve fixed this in Triton 2.78. If you ask for a swell of a given wavelength and wave height – that’s now precisely what you’ll get. Remember swell waves are added into the thousands of wind waves generated by Triton. so at some points the ocean surface may be higher or lower than your swells – but this is how it should be.

We’ve also added a phase parameter to AddSwell(), which opens up the possibility of blending Triton’s JONSWAP wave model with your own. For example, you might choose to simulate light wind waves in Triton to get realistic high-frequency waves, but use the AddSwell() API to inject your own lower-frequency waves at specific wavelengths, directions, wave heights, and phase offsets. What’s even better is that there is no performance overhead to using AddSwell(), so you can add as many of your own waves as you would like. Triton will use the same GPGPU-accelerated inverse FFT transforms used for its own waves on your user-provided swell waves, all at the same time.

If you are using the Triton::Environment::SetDouglasSeaScale() API, you may notice that specific swell conditions may look different now that we’ve corrected our swell wave heights. Some users prefer to tune the look of specific swell conditions with the use of a subject-matter expert (SME.) To enable this, we’ve created a new configuration section in the resources/Triton.config file for Douglas Sea Scale parameters, so you can specify your own wavelengths and wave heights for given swell states. These states are only officially defined as broad ranges, so there is room for interpretation to be had there.

Better spray, foam, and whitecap effects

Triton 2.78 also offers a much-improved simulation of spray, foam, and whitecaps on large waves. As a swell wave comes in, you’ll see a line of foam and spray at its crest blowing in the direction of the wind. Foam effects will be concentrated in places where the water is actually churning according to our physical simulation of water motion. The result is much more convincing effects at higher sea states, as well as additional visual cues of the wind conditions and incoming waves.

You can see the improvements in action in our latest demo video for Triton below. Since the number of new spray particles per frame is capped, you can expect it to look even better in your application than it is in this frame-limited video capture:

Triton has never looked this good, run this fast, or been this extensible before. Get the upgrade!


Posted by Frank Kane on 12th February 2014

SilverLining in Action: Videos from X-Plane

One integration of the SilverLining Sky, 3D Cloud, and Weather SDK that we’re particularly proud of is the SkyMaxx Pro add-on for the X-Plane 10 consumer flight simulator. As a mass-market product, it’s generated a lot of end users posting screenshots and videos of SilverLining’s 3D volumetric clouds in their flights, and they’re great to see.

Here are some of our favorite videos of SilverLining in action, used with permission from redpiper1:

This last video is one of our favorites, showcasing our new MaxxFX add-on for X-Plane. But, it also features SilverLining’s 3D clouds as well:


Posted by Frank Kane on 5th February 2014

New White Paper on Environmental Effect SDK’s

Triton water blended with a shoreline using height maps

We’ve uploaded a 5-page technical white paper: Immersive, Low-Cost Training with Environmental Effect SDK’s. In this paper, we explore the capabilities of today’s sky, cloud, ocean, and weather simulation technology, and how it is empowering the creation of high-fidelity, high-quality simulation and training applications within tight budgets.

If you’re looking for ways to enhance the realism of your flight or maritime trainer, this is essential reading to know what today’s technology has to offer in providing real-time, physically accurate simulations of the sky, weather, and ocean. Technology that was once limited to high-end, expensive visual systems is now available for use with free and low-cost game engines and scene graphs.


Posted by Frank Kane on 22nd January 2014

Sundog Blogs on GamaSutra

GamaSutra logoCheck out our blog entry at “3D Water Effects: What’s Involved“! It presents an overview of the challenges one faces when developing a 3D water system like our Triton Ocean SDK, and aims to help with evaluating in-house or third-party water solutions in games.

What’s more, this article was selected to be featured on GamaSutra’s home page!

GamaSutra is the leading website for game developers.


Posted by Frank Kane on 21st January 2014

Check out our new game demo video!

Working with Albino Chicken Studios, we’ve produced a new demo video showcasing the Triton Ocean SDK and SilverLining Sky & 3D Cloud SDK. It’s a game-oriented pirate battle scene, that really shows what’s possible when using Sundog Software’s technology in a game title. Here’s the one-minute version if you’re tight on time:

And, the full-length “director’s cut”:

This demo was created entirely using the Unity game engine, using our integration assets for Unity. SilverLining and Triton can integrate into any engine using OpenGL or DirectX however, including OpenSceneGraph, Ogre, Havok Vision, Torque3D, and many more.


Posted by Frank Kane on 20th January 2014

New Rotor Wash and Decal Texture Effects

Helicopter Rotor wash over Water with TritonTriton 2.63 now includes a volumetric deferred decal system – this means you can now place arbitrary textures over the moving water surface at any given location. Whether it’s beds of kelp, debris, oil slicks, or whatever else you can dream up, your texture will conform precisely to the water surface, no matter how rough the conditions.

Applying decal textures to dynamic geometry like our ocean waves is a tough problem, but after a good amount of perseverance we’ve rolled out an easy to use system with minimal performance overhead.

Using decals is easy. Just use the new Triton::Ocean::AddDecal() method to place your texture on the ocean at a given location with a given size. For simple animation effects, the Ocean::ScaleDecal() and Ocean::SetDecalAlpha() methods may be used to adjust the size and transparency of the decal at runtime. When you’re done, clean it up with Ocean::RemoveDecal().

Volumetric decals in the Triton Ocean SDKWe’re already putting this new technology to use with an improved rotor wash effect. Helicopter rotor wash over water now includes animated decal textures to provide more visual detail to the effect, in addition to the 3D waves, spray, and foam the effect used before. You’ll find a new parameter on the Triton::RotorWash constructor for “useDecals” – set this to true to enable the decal texture effect on rotor wash. It is false by default, so you will need to update your integrations to take advantage of this new effect.


Posted by Frank Kane on 10th January 2014

Triton Ocean SDK up to 40% faster

Ship Scene with Triton Ocean SDKOur Triton Ocean and 3D Water SDK is already known for its speed, using GPGPU technologies to accelerate the simulation of thousands of waves at once. But we’ve made it even faster. Now, you can include high-quality 3D water in your game or simulation without taking a big performance hit in the process – in our tests, an infinite ocean can be drawn in just 1-4 milliseconds depending on your graphics card.

We’ve sped up our use of CUDA for FFT acceleration, removed pipeline stalls in our OpenGL renderer, and improved the performance of intersection tests against the water.

A free evaluation of the latest Triton release is available from our download page, and licensed customers with an up to date support and maintenance plan may access the new release here. We will be rolling these improvements into our Unity asset soon as well.

Also available: Triton SDK for Linux | Triton SDK for MacOS | Triton for Unity Pro

Posted by Frank Kane on 7th January 2014

Thank you for an amazing 2013.

Up and To The RightWe’ve closed the books on 2013, and our sales are up 90% relative to 2012. Net income before taxes is up over 100%. Those figures exclude revenue from consulting services and contract work (which is also up).

Thank you to all of our new customers in 2013, and to our old customers who helped spread the word about our products and customer service. We will continue our incessant focus on product development and customer support in 2014.

Looking back on 2013, some things that drove this and future growth were:

  • Sales of the Triton Ocean SDK overtook already healthy sales of the SilverLining Sky, 3D Cloud, and Weather SDK. Triton has seen a lot of maturation in the past year, and customers are taking notice.
  • We’ve seen steady growth in our asset packages for the Unity Pro engine. Unity’s user base continues to grow, and word is spreading about the quality of our water and clouds. In general, Sundog Software has diversified from being mostly a simulation and training company to one that has gained acceptance in the game development world as well.
  • We launched our first consumer product, SkyMaxx Pro for the X-Plane 10 flight simulator, in partnership with Maxx-XP. It has proven amazingly popular with X-Plane users and has quickly become a significant source of revenue for Sundog Software.
  • We expanded into new engines and platforms, including Unity on MacOS, Torque 3D, and iOS.

We look forward to what 2014 brings!

Posted by Frank Kane on 3rd December 2013

Sundog is All Over I/ITSEC 2013

Every year, we spot our SilverLining Sky, 3D Cloud, and Weather SDK and our Triton Ocean SDK in new products – and we’ve had several sightings of our customers showing them off at the I/ITSEC conference in Orlando this week! Below are some photos we snapped (all with permission) of some customer products featuring our technology at the show.