Class GPUVideoEffectOldMovie
- Namespace
- VisioForge.Core.Types.VideoEffects
- Assembly
- VisioForge.Core.dll
Represents a GPU-accelerated old movie effect that simulates the appearance of vintage film footage from the early cinema era.
public class GPUVideoEffectOldMovie : GPUVideoEffect, IGPUVideoEffectOldMovie, IGPUVideoEffectInheritance
Implements
Inherited Members
Remarks
The VisioForge.Core.Types.VideoEffects.GPUVideoEffectOldMovie effect recreates the characteristic look of early 20th century film by applying multiple visual artifacts and degradation effects. This includes sepia toning, film grain, dust and scratches, frame jitter, vignetting, and occasional light leaks. The effect captures the authentic appearance of aged celluloid film, complete with the imperfections and aesthetic qualities that define vintage cinematography from the silent film era through early talkies.
SDK Availability
- Video Capture SDK .Net: Yes
- Video Edit SDK .Net: Yes
- Media Player SDK .Net: Yes
- Media Blocks SDK .Net: Yes
GPU Acceleration
This complex multi-component effect is entirely GPU-accelerated through custom shader programs that combine multiple image processing operations in a single rendering pass. The shader applies color transformation, noise generation, scratch simulation, vignetting, and other vintage film characteristics simultaneously. Real-time performance is maintained even at high resolutions (1080p, 4K) due to efficient parallel processing on graphics hardware.
Technical Details
- Applies sepia tone or desaturated color palette for period authenticity
- Adds procedural film grain with adjustable intensity and pattern
- Simulates dust particles, scratches, and other film damage artifacts
- Includes subtle frame jitter to replicate hand-cranked camera motion
- Applies vignetting effect to darken frame edges (lens limitations)
- May include random brightness flickering typical of old projectors
- Simulates gate weave and frame instability
- Adds occasional light leaks and exposure variations
Common Use Cases
- Creating period-authentic content for historical documentaries
- Adding vintage aesthetics to music videos and artistic projects
- Simulating flashback sequences in narrative films and TV shows
- Producing retro-styled title sequences and transitions
- Creating authentic-looking archival footage for educational content
- Adding nostalgic visual style to home videos and memories
- Enhancing steampunk or period-specific game cinematics
Performance Characteristics
Despite the complexity of combining multiple visual effects, GPU acceleration ensures real-time processing. The shader-based implementation processes all effect components in parallel for each pixel, maintaining consistent frame rates at high resolutions. Memory overhead is minimal as procedural noise generation eliminates the need for pre-computed texture maps. The effect can be applied to multiple streams simultaneously without performance degradation.
Visual Characteristics
- Warm sepia tone or muted color palette (pre-Technicolor era)
- Heavy film grain with varying intensity across the frame
- Vertical scratches and horizontal hair lines from film damage
- Dust spots and particle artifacts on the "film surface"
- Dark vignetting around frame edges (lens characteristics)
- Subtle frame-to-frame brightness variations (projection artifacts)
- Gate weave causing slight image position shifts
Historical Accuracy
The effect is designed to replicate the appearance of film from approximately 1890s through 1930s, including characteristics of nitrate film stock, hand-cranked cameras, and early projection equipment. The visual artifacts are based on actual film degradation patterns observed in archived footage. For maximum authenticity, consider adjusting frame rate to period-appropriate speeds (16-20 fps for silent era, 24 fps for early sound films).
Customization Tips
While this effect provides preset old movie characteristics, it can be combined with other effects for enhanced control. Use VisioForge.Core.Types.VideoEffects.GPUVideoEffectMonoChrome with sepia tones for color grading control, add VisioForge.Core.Types.VideoEffects.GPUVideoEffectBrightness for exposure variations, or combine with VisioForge.Core.Types.VideoEffects.GPUVideoEffectContrast to adjust the dynamic range for different film stock simulations.
Related Effects
- VisioForge.Core.Types.VideoEffects.GPUVideoEffectMonoChrome: Single-color tinting for sepia control
- VisioForge.Core.Types.VideoEffects.GPUVideoEffectGrayscale: Black and white conversion for silent film look
- VisioForge.Core.Types.VideoEffects.GPUVideoEffectContrast: Adjust tonal range for film stock simulation
- VisioForge.Core.Types.VideoEffects.GPUVideoEffectBrightness: Control overall exposure levels
- VisioForge.Core.Types.VideoEffects.GPUVideoEffectDenoise: Reduce modern digital artifacts before applying effect
Constructors
GPUVideoEffectOldMovie(bool, string, TimeSpan, TimeSpan)
Initializes a new instance of the VisioForge.Core.Types.VideoEffects.GPUVideoEffectOldMovie class with specified timing parameters.
public GPUVideoEffectOldMovie(bool enabled, string name = "OldMovie", TimeSpan startTime = default, TimeSpan stopTime = default)Parameters
enabledbool-
true to enable the old movie effect immediately; false to create the effect in a disabled state. The effect can be enabled or disabled later using the VisioForge.Core.Types.VideoEffects.GPUVideoEffect.Enabled property.
namestring-
A unique identifier for this effect instance. Defaults to "OldMovie". This name can be used to retrieve the effect interface from the effect collection for runtime control and modification. Use descriptive names when applying multiple instances or variations (e.g., "VintageIntro", "FlashbackSequence", "ArchivalFootage").
startTimeTimeSpan-
The time position in the video timeline when this effect should become active. Use Zero (the default) to apply the effect from the beginning of the video. This enables time-based effect control for creating sequences that transition between modern and vintage film aesthetics, such as flashback scenes or historical reenactments.
stopTimeTimeSpan-
The time position in the video timeline when this effect should become inactive. Use Zero (the default) to apply the effect until the end of the video. When combined with
startTime, this creates time-windowed effects that automatically activate and deactivate at specific timestamps for dynamic vintage film sequences.
Remarks
The old movie effect recreates the complete aesthetic of early cinema, including sepia toning, film grain, scratches, dust, vignetting, and frame instability. All visual characteristics are generated procedurally on the GPU for real-time application without pre-rendered textures. Time-based activation allows for seamless transitions between contemporary and vintage footage styles within a single video.
Methods
GetEffectType()
Gets the specific GPU video effect type identifier for this old movie effect.
public GPUVideoEffectType GetEffectType()Returns
- GPUVideoEffectType
-
Returns VisioForge.Core.Types.VideoEffects.GPUVideoEffectType.OldMovie, which uniquely identifies this effect as a vintage film simulation effect in the GPU video effects pipeline.
Remarks
This method is used internally by the video processing pipeline to identify and route effects to the appropriate GPU shader implementations. The effect type determines which shader program is executed for rendering the old movie aesthetic with all its characteristic visual artifacts.