Fake volumetric light cone with dust
In your harnessGodot shaderMIT
Additive spotlight beam on an open cone mesh: soft edges from the facing ratio, brightness falling off along the beam, drifting dust specks, and a soft fade where the cone meets geometry using the depth buffer.

What it takes and gives
- Shader type
- spatial
- Render modes
- unshaded, blend_add, cull_disabled, depth_draw_never, shadows_disabled
- Parameters
- depth_texture (sampler2D), beam_color (vec4 = 1, 0.92, 0.7, 1), intensity (float = 0.9), edge_softness (float = 2.5), length_falloff (float = 1.4), dust_amount (float = 0.5), dust_scale (float = 60), dust_speed (float = 0.05) and 1 more
- Use it on
- An open cone mesh (a CylinderMesh with a small top radius and no caps) with V running from the apex., Optional: a SpotLight3D with the same aim to light the scene.
- Result
- A warm, soft-edged shaft of light with floating dust that fades where it reaches the floor and statue.
- Renderers
- compatibility: compiled and rendered, forward plus: not verified, mobile: not verified
- Placement
- res://baltor/godot_shaders/light_shaft_cone/
Limits. Not a light: it does not illuminate anything. It ignores occluders inside the cone (no shadowed shafts). Additive, so it is invisible on bright backgrounds. Seen from inside the cone it looks flat.
Details
- Kind
- Godot shader
- Engine
- Godot 4.3 or later
- Files
- 11 files, 63.6 KB
- Licence
- MIT
- Declared effects
- reads files, runs commands
- Checked with
- Godot 4.7.2, opengl3 compatibility (Mesa llvmpipe, Xvfb)
- Checks
- contract static, engine run, engine log clean, shader in scene, capture written, render not uniform, shader changes pixels
- Techniques
- Facing ratio volume approximation, Exponential falloff along the beam, Soft depth contact fade, Value noise with quintic interpolation and fractional Brownian motion dust
- Tags
- godot shader, spatial, light shaft, volumetric, spotlight, god rays, additive
- Identity
library.supply.creative_originals.258446accda7fc967dab4f5e.90e7e1e161fdb4f5- Version
90e7e1e161fdb4f58512ecac2db79234eef3f02fc391882e6bfaad827e0cc29c
The version is the SHA-256 of the item your harness downloads; every file in it names its own checksum.
Something wrong with this item, its rights or its safety? Report it on the support page, or from your harness after a download.


