Overview
Static light shaders provide fixed-position stage lighting effects including projection mapping and realistic lens flares. These lights don’t include pan/tilt mechanics but offer the same projection and color control as moving lights.Shader Paths
DMX Control
VRSL/Standard Static/ProjectionVRSL/Standard Static/Lens Flare
AudioLink Control
VRSL/AudioLink/Standard Static/ProjectionVRSL/AudioLink/Standard Static/Lens Flare
Projection Shader Properties
DMX Configuration
DMX fixture number/sector. Each static light uses 13 channels in standard mode or 5 channels in 5CH mode.
Enable extended universe mode for up to 9 DMX universes.
Enable DMX control via render texture.
Channel mode:
0: 13CH - Full control (13 channels)1: 5CH - Simplified control (5 channels: intensity + RGB)
Enable legacy DMX grid reading compatibility.
Switch to vertical DMX grid layout.
Intensity and Color
Final intensity multiplier for the light output.
Global intensity shared across all fixtures.
Blend between local and global intensity.
Universal scene intensity multiplier.
Light color tint (HDR). Multiplied with DMX RGB values.
Maximum light intensity output.
Red channel multiplier for color correction.
Green channel multiplier.
Blue channel multiplier.
Projection Settings
GOBO texture for projection pattern.
Maximum projection intensity. Higher values create brighter projections.
Horizontal offset for projection in world space.
Vertical offset for projection in world space.
Drawing range for projection. Scales the projection mesh.
Origin point for projection range scaling.
Attenuation constant for distance-based falloff.
Light range/falloff distance.
Attenuation quadratic factor. Controls falloff curve.
UV scale modifier for projection. Adjusts GOBO size.
Projection UV X axis stretch.
Projection UV Y axis stretch.
Static rotation angle for the projection in degrees.
Enable automatic projection rotation animation.
Speed of automatic projection rotation.
Use world normals instead of view normals for projection.
Beam spread/specular strength.
Rendering Options
Transparency rendering mode:
1: Transparent2: AlphaToCoverage
Source blend mode.
Destination blend mode.
Blend operation.
Enable depth buffer writing.
Enable alpha to coverage for MSAA.
Alpha clipping threshold.
Alpha channel intensity for projection.
Enable multi-sample depth texture reading.
Advanced Options
Use raw unsmoothed DMX grid for instant response.
Enable strobe effect support.
Strobe frequency in Hz.
Lens Flare Shader Properties
The Lens Flare shader creates realistic lens flare effects with depth-based occlusion.Core Properties
Lens flare texture. Typically a circular gradient or starburst pattern.
Maximum light intensity for the lens flare.
Intensity multiplier for bloom scaling. Higher values create more intense bloom effects.
Fade strength from center to edge.
Color saturation strength. Lower values desaturate toward edges.
Scale and Distance
Overall scale factor for the lens flare.
Reference distance for scaling calculations.
UV scale for the flare texture.
Depth Occlusion
Enable depth-based occlusion testing. Flare fades when objects are in front.
Radius for depth occlusion sampling in view space.
Z-bias for depth comparison. Adjust to prevent self-occlusion.
Distance Fade
Distance where flare starts to fade in (world units).
Distance where flare is fully visible (world units).
Visual Polish
Removes texture artifacts by subtracting a small value.
Light intensity curve modifier. Adjusts brightness response curve.
Enable premultiplied alpha blending. Requires texture with correct alpha.
Flicker Animation (Optional)
Enable flickering animation for the lens flare.
Speed of the flicker animation.
Minimum intensity during flicker. 1.0 = no flicker.
Channel Modes
The lens flare supports multiple DMX channel modes:0: 1CH - Intensity only1: 4CH - Intensity + RGB2: 5CH - Intensity + RGB + Strobe3: 13CH - Full control
Usage Examples
Static Projection Light
- Create a projection mesh (cone or pyramid)
- Assign
VRSL/Standard Static/Projectionshader - Set DMX channel with
_DMXChannel - Assign GOBO texture to
_ProjectionMainTex - Adjust
_ProjectionRangeto fit the scene - Set
_ProjectionMaxIntensityfor desired brightness
Lens Flare Setup
- Create a quad facing the camera
- Assign
VRSL/Standard Static/Lens Flareshader - Assign lens flare texture to
_MainTex - Set
_DMXChannelto match the fixture - Adjust
_ScaleFactorfor appropriate size - Enable
_UseDepthLightfor realistic occlusion
Performance Tips
For Projection:- Use lower
_ProjectionRangeto reduce overdraw - Disable
_MultiSampleDepthon mobile platforms - Use simpler GOBO textures (lower resolution)
- The depth occlusion test (
COUNT = 8) performs 289 depth samples per flare - Disable
_UseDepthLightfor better performance if occlusion isn’t needed - Reduce
_FixutreIntensityMultiplierto decrease bloom overhead - Use
_AlphaToCoveragemode for cleaner edges on MSAA
Technical Details
Depth Occlusion Algorithm
The lens flare uses a grid-based depth sampling approach:Mirror Correction
Both shaders include mirror depth correction for VRChat mirrors using frustum correction calculations.See Also
- Moving Light Shaders - Moving head fixtures
- Shader Overview - System architecture
- Volumetric Rendering - Volumetric techniques