Table of Contents

Class WaterRippleVideoEffect

Namespace
VisioForge.Core.Types.X.VideoEffects
Assembly
VisioForge.Core.dll

Represents a water ripple effect that simulates light refraction through water waves with precise control over wave properties.

public class WaterRippleVideoEffect : BaseVideoEffect, IBaseVideoEffect, IVideoEditXVideoEffect

Inheritance

Implements

Inherited Members

Remarks

SDK Availability: VideoCaptureCoreX, MediaPlayerCoreX, VideoEditCoreX, Media Blocks SDK

Platforms: Windows, Linux, macOS, Android, iOS

This effect simulates the visual distortions seen when viewing objects through water with wave motion on the surface. Unlike VisioForge.Core.Types.X.VideoEffects.RippleVideoEffect which creates dynamic ripples from motion or rain, this effect generates continuous, configurable sine-wave-based water distortions across the entire frame.

The water ripple effect provides precise control over three wave parameters:

  • Amplitude: Height/strength of the water waves (distortion intensity)
  • Wavelength: Distance between wave peaks (pattern size)
  • Phase: Wave offset/position (creates motion when animated)

The water ripple effect is commonly used for:

  • Underwater Scenes: Simulate viewing through water surface
  • Reflections: Create water reflection effects
  • Dream Sequences: Surreal, fluid visual effects
  • Transitions: Liquid-like scene transitions
  • Music Videos: Flowing, wave-like visual dynamics
  • Artistic Effects: Abstract, water-themed visuals

To create animated water motion, adjust the VisioForge.Core.Types.X.VideoEffects.WaterRippleVideoEffect.Phase parameter over time. The phase controls where in the wave cycle the distortion begins, so incrementing phase creates the appearance of waves moving across the frame.

This is a cross-platform effect using the waterripple element. The effect is GPU-accelerated where available for real-time performance.

Performance: Real-time capable on most modern hardware. GPU-accelerated sinusoidal distortion rendering. Performance is consistent regardless of parameter values.

Constructors

WaterRippleVideoEffect(string)

Initializes a new instance of the VisioForge.Core.Types.X.VideoEffects.WaterRippleVideoEffect class with specified name.

public WaterRippleVideoEffect(string name = "water-ripple")

Parameters

name string

The unique name for this effect instance. Defaults to "water-ripple".

Fields

DefaultName

The default name for water ripple effects.

public static string DefaultName

Field Value

string

Properties

Amplitude

Gets or sets the amplitude (height/strength) of the water waves.

public double Amplitude { get; set; }

Property Value

double

Remarks

Amplitude controls how far pixels are displaced by the water wave effect. Higher values create stronger distortion. Very high values (40+) can create extreme warping that may be disorienting.

Phase

Gets or sets the phase offset of the water waves in radians.

public double Phase { get; set; }

Property Value

double

Remarks

Phase controls the starting position within the wave cycle. Incrementing phase over time creates the appearance of waves moving across the frame. For example, increasing phase by 0.1 per frame creates smooth wave animation. Use modulo 2π to keep values in a reasonable range.

StartTime

Gets or sets the start time for the water ripple effect (VideoEditCoreX only).

public TimeSpan StartTime { get; set; }

Property Value

TimeSpan

Remarks

This property is only used in VideoEditCoreX for time-based effect control.

StopTime

Gets or sets the stop time for the water ripple effect (VideoEditCoreX only).

public TimeSpan StopTime { get; set; }

Property Value

TimeSpan

Remarks

This property is only used in VideoEditCoreX for time-based effect control.

WaveLength

Gets or sets the wavelength (distance between wave peaks) of the water ripples.

public double WaveLength { get; set; }

Property Value

double

Remarks

Wavelength determines the spatial frequency of the water waves. Smaller values create tighter, more frequent ripples. Larger values create broader, slower-moving wave patterns. Very small wavelengths (below 8.0) may create aliasing artifacts.

Methods

GenerateDescription()

Generates the description.

public string GenerateDescription()

Returns

string

System.String.

Exceptions

NotImplementedException