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, IVideoEditXVideoEffectInheritance
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
namestring-
The unique name for this effect instance. Defaults to "water-ripple".
Fields
DefaultName
The default name for water ripple effects.
public static string DefaultNameField Value
Properties
Amplitude
Gets or sets the amplitude (height/strength) of the water waves.
public double Amplitude { get; set; }Property Value
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
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
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
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
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.