Table of Contents

Class OpticalAnimationBWVideoEffect

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

Represents a black and white optical animation effect that creates dynamic, pulsating monochrome patterns triggered by luminance thresholds.

public class OpticalAnimationBWVideoEffect : BaseVideoEffect, IBaseVideoEffect, IVideoEditXVideoEffect

Inheritance

Implements

Inherited Members

Remarks

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

Platforms: Windows, Linux, macOS, Android, iOS

This effect creates mesmerizing optical illusions by converting video to high-contrast black and white patterns that shift and animate based on image luminance (brightness). The effect analyzes brightness values and applies threshold-based pattern generation to create psychedelic, op-art style animations.

The optical animation effect operates by:

  • Luminance Analysis: Examines brightness values in the video
  • Threshold Application: Converts pixels to black/white based on luma threshold
  • Pattern Generation: Creates geometric patterns (spirals, maelstroms, ripples, etc.)
  • Speed Control: Animates patterns at configurable rates
  • Motion Response: Patterns react to brightness changes in the video

The effect supports multiple animation modes through VisioForge.Core.Types.X.VideoEffects.OpticalAnimationBWMode:

  • Maelstrom: Swirling vortex patterns (default)
  • Spiral: Rotating spiral patterns radiating from center
  • Horizontal Stripes: Animated horizontal line patterns
  • Vertical Stripes: Animated vertical line patterns

The optical animation effect is commonly used for:

  • Music Videos: Psychedelic visuals synchronized with music
  • VJ Performances: Live visual mixing for clubs and concerts
  • Artistic Projects: Op-art and kinetic art video installations
  • Retro Aesthetics: 1960s/70s psychedelic visual style
  • Trippy Effects: Hypnotic, mind-bending visual effects
  • Motion Graphics: Dynamic background elements and transitions

The VisioForge.Core.Types.X.VideoEffects.OpticalAnimationBWVideoEffect.LumaThreshold parameter controls sensitivity - lower values create patterns from darker areas, higher values require brighter pixels to trigger patterns. The VisioForge.Core.Types.X.VideoEffects.OpticalAnimationBWVideoEffect.Speed parameter controls animation rate - higher values create faster, more energetic animations.

This is a cross-platform effect using the optv element. The effect converts video to high-contrast black and white with animated patterns overlaid.

Performance: Real-time capable on most hardware. Luminance analysis and pattern generation are computationally efficient. Performance is consistent across different modes and speeds. Suitable for live performance and real-time processing.

Constructors

OpticalAnimationBWVideoEffect()

Initializes a new instance of the VisioForge.Core.Types.X.VideoEffects.OpticalAnimationBWVideoEffect class with default settings.

public OpticalAnimationBWVideoEffect()

Fields

DefaultName

The default name for optical animation effects.

public static string DefaultName

Field Value

string

Properties

LumaThreshold

Gets or sets the luminance threshold for pattern generation.

public uint LumaThreshold { get; set; }

Property Value

uint

Remarks

The luma threshold determines which brightness levels trigger pattern generation. Lower thresholds make the effect more sensitive to dark video content, creating patterns from shadows. Higher thresholds require brighter areas to trigger patterns, affecting highlights and bright regions. Adjust based on the average brightness of your video content - use lower values for dark videos, higher values for bright videos.

Mode

Gets or sets the optical animation pattern mode.

public OpticalAnimationBWMode Mode { get; set; }

Property Value

OpticalAnimationBWMode

Remarks

The mode determines the geometric pattern used for the optical animation. Each mode creates distinctive visual styles - maelstrom creates chaotic swirls, spiral creates orderly rotations, and stripes create linear animations. Experiment with different modes to achieve desired effects.

Speed

Gets or sets the animation speed factor.

public int Speed { get; set; }

Property Value

int

Remarks

Higher speed values create faster pattern rotation, movement, or pulsation depending on the selected mode. Very high speeds (40+) can create strobing effects that may be uncomfortable to watch. Adjust speed to match music tempo or desired visual energy level.

StartTime

Gets or sets the start time for the optical animation 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 optical animation effect (VideoEditCoreX only).

public TimeSpan StopTime { get; set; }

Property Value

TimeSpan

Remarks

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

Methods

GenerateDescription()

Generates the description.

public string GenerateDescription()

Returns

string

A string containing the GStreamer element description for the optv effect.