Table of Contents

Class KaleidoscopeVideoEffect

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

Represents a kaleidoscope effect that creates symmetrical, mirrored patterns from video content.

public class KaleidoscopeVideoEffect : 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 a kaleidoscope optical instrument by reflecting and rotating portions of the video to create complex, symmetrical patterns. The effect divides the frame into multiple segments (sides) and mirrors them around rotation axes defined by two angles.

The kaleidoscope effect creates mesmerizing, abstract visuals suitable for:

  • Music Videos: Psychedelic and abstract visual effects
  • VJ Performances: Live video mixing and club visuals
  • Artistic Projects: Abstract video art and installations
  • Transitions: Creative scene transitions
  • Background Elements: Dynamic animated backgrounds

The effect is highly customizable through three main parameters: the number of sides (segments), and two rotation angles that control the mirroring axes. Adjusting these parameters creates vastly different patterns and visual styles.

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

Performance: Real-time capable on most modern hardware. GPU-accelerated geometric transformations. Performance scales with resolution and number of sides.

Constructors

KaleidoscopeVideoEffect(string)

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

public KaleidoscopeVideoEffect(string name = "kaleidoscope")

Parameters

name string

The unique name for this effect instance. Defaults to "kaleidoscope".

Fields

DefaultName

The default name for kaleidoscope effects.

public static string DefaultName

Field Value

string

Properties

Angle

Gets or sets the primary rotation angle in radians of the kaleidoscope pattern.

public double Angle { get; set; }

Property Value

double

Remarks

The primary angle controls the rotation of the mirroring axis. Combine with VisioForge.Core.Types.X.VideoEffects.KaleidoscopeVideoEffect.Angle2 and VisioForge.Core.Types.X.VideoEffects.KaleidoscopeVideoEffect.Sides to create different symmetrical patterns. Negative values rotate counter-clockwise, positive values rotate clockwise.

Angle2

Gets or sets the secondary rotation angle in radians of the kaleidoscope pattern.

public double Angle2 { get; set; }

Property Value

double

Remarks

The secondary angle adds an additional rotation axis, creating more intricate and complex symmetrical patterns. Experiment with different combinations of VisioForge.Core.Types.X.VideoEffects.KaleidoscopeVideoEffect.Angle and VisioForge.Core.Types.X.VideoEffects.KaleidoscopeVideoEffect.Angle2 to achieve various visual effects.

Sides

Gets or sets the number of segments (sides) in the kaleidoscope pattern.

public int Sides { get; set; }

Property Value

int

Remarks

Higher values create more complex patterns with more segments. Very high values (16+) may impact performance and can create extremely dense patterns. Values below 2 are not valid for kaleidoscope patterns.

StartTime

Gets or sets the start time for the kaleidoscope 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 kaleidoscope 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 kaleidoscope effect.