Visual simulation library for ocean rendering.
Rotor wash effects

Triton will also simulate the effects of wind from rotary-wing downwash (or any localized wind source) on the water surface.

The Triton::RotorWash class makes this easy. Simply instantiate a RotorWash object representing your rotor blades. The constructor takes the diameter of the rotor blades, a flag for enabling spray effects, and a flag indicating if you want to use decal texture effects. Each frame, call Triton::RotorWash::Update() to update the position and orientation of the rotor blades.

Rotor effects will diminish with distance from the rotor, and are designed to fall off after two rotor diameters. Spray effects on the water surface will be generated within three rotor diameters, and the spray particles will be emitted along the reflection vector from the rotors.

The falloff with distance, radius of the effects, and frequency of particle and wave generation may be configured in the Rotor Wash section of the resources/triton.config file.

rotorWash = new Triton::RotorWash(ocean, rotorDiameter, true, true);
rotorWash->Update(rotorPosition, rotorDirection, rotorWindVelocity, currentTime);

Take care that the direction passed into Triton::RotorWash::Update() represents the direction pointing from the water toward the ground - opposite the direction of motion. The velocity is in world units per second, so be sure to convert your velocity units as needed.

The final parameter on the RotorWash constructor indicates whether you want to use decal textures with the rotor wash effect. This can be used to add additional visual detail, with more circular waves and streaks emanating from the rotor wash intersection point. Decal textures come with a moderate performance cost however, so this effect should be used judiciously.