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, IVideoEditXVideoEffectInheritance
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
namestring-
The unique name for this effect instance. Defaults to "kaleidoscope".
Fields
DefaultName
The default name for kaleidoscope effects.
public static string DefaultNameField Value
Properties
Angle
Gets or sets the primary rotation angle in radians of the kaleidoscope pattern.
public double Angle { get; set; }Property Value
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
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
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
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
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.