Overview
Volumetric shaders create visible light beams and cones by rendering transparent meshes with sophisticated noise and gradient effects. These shaders are the most computationally intensive part of the VR Stage Lighting system and include multiple quality modes for performance optimization.Shader Paths
DMX Control
VRSL/Standard Mover/VolumetricVRSL/Wash Mover/Volumetric
AudioLink Control
VRSL/AudioLink/Standard Mover/VolumetricVRSL/AudioLink/Wash Mover/Volumetric
Core Volumetric Properties
Quality Modes
Enable high quality volumetric mode (experimental). Uses
_NoiseTexHigh instead of _NoiseTex for better visual quality.Performance mode that disables noise sampling and extra texture reads. Significant performance boost at the cost of visual quality.
Requires depth light to function. When disabled, volumetric will render without depth fade.
Textures
Main light texture for the volumetric cone. Typically a radial gradient.
Standard quality noise texture for volumetric distortion.
High quality noise texture used when
_HQMode is enabled.Noise Configuration
Enable high quality magic noise effect.
Enable medium quality magic noise effect.
Enable 2D noise texture sampling.
Base noise strength/intensity.
Random seed value for noise variation.
Magic Noise Settings
Magic noise creates dynamic, animated 3D noise patterns. Three quality presets are available:High Quality Mode
Outside magic noise scale (high quality).
Inside magic noise scale (high quality).
Magic noise X axis scroll speed (high quality).
Magic noise Y axis scroll speed (high quality).
Magic noise Z axis scroll speed (high quality).
Magic noise strength (high quality).
Default Mode
Outside magic noise scale (default quality).
Inside magic noise scale (default quality).
Magic noise X scroll (default quality).
Magic noise Y scroll (default quality).
Magic noise Z scroll (default quality).
Magic noise strength (default quality).
Potato Mode
Outside magic noise scale (potato quality - typically unused).
Inside magic noise scale (potato quality - typically unused).
Magic noise X scroll (potato quality).
Magic noise Y scroll (potato quality).
Magic noise Z scroll (potato quality).
Magic noise strength (potato quality).
Intensity and Fade
Maximum cone intensity. Higher values create brighter, more visible volumetric beams.
Edge fade strength. Controls how sharply the cone edges fade out.
Inner fade strength. Creates a hollow cone effect when increased.
Curve for inner intensity falloff.
Distance-based fade. Cone fades at distance.
Depth blending amount. Controls soft particle intersection with geometry.
Blinding Effect
Strength of the blinding/bloom effect when looking into the light.
Angle modifier for blinding effect. Adjusts viewing angle sensitivity.
Gradient Controls
Gradient modifier for solid beams (no GOBO).
Gradient modifier when GOBO is active.
GOBO Beam Splitting
Creates stripe effects in the volumetric cone for different GOBO patterns:Enable beam splitting for GOBOs 2-8.
Stripe split frequency for GOBO 2.
Stripe split intensity for GOBO 2.
Stripe split frequency for GOBO 3.
Stripe split intensity for GOBO 3.
Stripe split frequency for GOBO 4.
Stripe split intensity for GOBO 4.
Stripe split frequency for GOBO 5.
Stripe split intensity for GOBO 5.
Stripe split frequency for GOBO 6.
Stripe split intensity for GOBO 6.
Stripe split frequency for GOBO 7.
Stripe split intensity for GOBO 7.
Stripe split frequency for GOBO 8.
Stripe split intensity for GOBO 8.
Animation
Speed of intensity pulse animation.
Rendering Properties
Volumetric rendering mode:
0: HQTransparent - Best quality, most expensive1: Transparent - Standard transparency2: AlphaToCoverage - MSAA-based transparency
Destination blend mode. Typically set to One for additive blending.
Blend operation.
Depth buffer writing. Always false for volumetrics.
Enable alpha to coverage mode.
Performance Optimization
Quality Levels
High Quality - Best visuals, lowest performance:Shader Variants
The volumetric shader compiles multiple variants:_MAGIC_NOISE_ON_HIGH- High quality noise_MAGIC_NOISE_ON_MED- Medium quality noise_USE_DEPTH_LIGHT- Depth-based effects_POTATO_MODE_ON- Performance mode_HQ_MODE- High quality mode_2D_NOISE_ON- 2D noise sampling_ALPHATEST_ON- Alpha testing
Optimization Tips
-
Reduce Cone Length: Shorter cones have less overdraw
- Use
_ConeLengthand_MaxConeLengthconservatively
- Use
-
Simplify Noise: Disable unused noise features
- Turn off
_MAGIC_NOISE_ON_HIGHif not needed - Use
_PotatoModeon low-end hardware
- Turn off
-
Limit Fixture Count: Volumetrics are expensive
- Consider using fewer fixtures with higher intensity
- Disable volumetrics for background/ambient lights
-
Adjust Fade Settings: Reduce visibility distance
- Lower
_DistFadefor shorter render distance - Increase
_FadeStrengthfor sharper edges (less translucency layers)
- Lower
-
Use Lower Resolution: If using render textures
- Render volumetrics to lower resolution RT
- Upscale for final composite
Technical Details
Vertex Shader Calculations
The vertex shader pre-calculates:- Blinding effect based on view angle
- Camera angle and fade
- Stripe/split information
- Cone width
- World direction for depth correction
- Intensity, strobe, GOBO selection, and spin speed
- RGB color values
Fragment Shader Operations
The fragment shader performs:- Multi-layer noise sampling (2D + 3D magic noise)
- Depth texture reading for soft particles
- UV-based gradient calculations
- GOBO stripe splitting
- Edge fade calculations
- Color blending and saturation
- Mirror depth correction
Performance Characteristics
Vertex Shader: Lightweight- Simple position transforms
- Minimal branching
- Instanced property access
- Up to 3 texture samples per pixel (in HQ mode):
_LightMainTex_NoiseTexor_NoiseTexHigh_CameraDepthTexture
- Complex noise calculations
- Distance-based fade calculations
- High overdraw on large cones
Depth Fade Implementation
Soft particle intersection uses depth comparison:AudioLink Specific
Multiplier for render texture intensity when using AudioLink.
Use traditional texture sampling instead of AudioLink-specific sampling.
Intersection modification for AudioLink mode.
See Also
- Moving Light Shaders - Parent shader properties
- Shader Overview - System architecture
- Static Lights - Static light alternatives