Class MarbleVideoEffect
- Namespace
- VisioForge.Core.Types.X.VideoEffects
- Assembly
- VisioForge.Core.dll
Represents a marble texture distortion effect that applies procedural marble-like patterns to video.
public class MarbleVideoEffect : BaseVideoEffect, IBaseVideoEffect, IVideoEditXVideoEffectInheritance
Implements
Inherited Members
Remarks
SDK Availability: VideoCaptureCoreX, MediaPlayerCoreX, VideoEditCoreX, Media Blocks SDK
Platforms: Windows, Linux, macOS, Android, iOS
This effect applies a procedurally-generated marble texture distortion to the video, creating swirling, organic patterns similar to natural marble stone. The effect uses Perlin noise algorithms to generate smooth, flowing distortions that can range from subtle warping to dramatic liquefaction.
The marble effect is highly customizable through four parameters:
- Amount: Overall distortion intensity
- Turbulence: Noise complexity and detail
- X/Y Scale: Pattern size and frequency
The marble effect is commonly used for:
- Artistic Videos: Abstract, liquid-like visual effects
- Music Videos: Psychedelic, flowing visual styling
- Transitions: Smooth, organic scene transitions
- Background Elements: Dynamic textured backgrounds
- VJ Performances: Live video manipulation and mixing
This is a cross-platform effect using the marble element with procedural noise generation.
The effect is GPU-accelerated where available for real-time performance.
Performance: Real-time capable on modern hardware. GPU-accelerated procedural generation. Performance scales with resolution and turbulence complexity.
Constructors
MarbleVideoEffect(string)
Initializes a new instance of the VisioForge.Core.Types.X.VideoEffects.MarbleVideoEffect class with specified name.
public MarbleVideoEffect(string name = "marble")Parameters
namestring-
The unique name for this effect instance. Defaults to "marble".
Fields
DefaultName
The default name for marble effects.
public static string DefaultNameField Value
Properties
Amount
Gets or sets the distortion intensity/amount of the marble effect.
public double Amount { get; set; }Property Value
Remarks
Higher values create stronger distortion. Very high values (5.0+) can create extreme warping that may make the original video unrecognizable.
StartTime
Gets or sets the start time for the marble 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 marble effect (VideoEditCoreX only).
public TimeSpan StopTime { get; set; }Property Value
Remarks
This property is only used in VideoEditCoreX for time-based effect control.
Turbulence
Gets or sets the turbulence/complexity of the noise pattern.
public double Turbulence { get; set; }Property Value
Remarks
Turbulence controls the complexity of the Perlin noise used for distortion. Higher values add more octaves of noise, creating finer details and more organic-looking patterns. Higher turbulence may impact performance.
XScale
Gets or sets the horizontal scale/frequency of the marble texture pattern.
public double XScale { get; set; }Property Value
Remarks
Lower values create tighter, more frequent patterns horizontally. Higher values create larger, slower-moving patterns. Combine with VisioForge.Core.Types.X.VideoEffects.MarbleVideoEffect.YScale to control pattern shape.
YScale
Gets or sets the vertical scale/frequency of the marble texture pattern.
public double YScale { get; set; }Property Value
Remarks
Lower values create tighter, more frequent patterns vertically. Higher values create larger, slower-moving patterns. Use different X and Y scales to create directional effects (e.g., horizontal streaks: high X, low Y).
Methods
GenerateDescription()
Generates the description.
public string GenerateDescription()Returns
- string
-
A string containing the GStreamer element description for the marble effect.