โ† All examples

godot shaders

Full-screen world scan pulse from depth

Full-screen scanner effect: world positions are rebuilt from the depth buffer and bright rings expand from a world point across every surface, with a fading trail, a world grid inside the trail and edge highlights.

Recorded render of Full-screen world scan pulse from depth

What this component contains

  • ATTRIBUTION.md
  • LICENSE
  • README.md
  • component.json
  • demo.tscn
  • inspect_shader.py
  • material.tres
  • preview.png
  • scan_pulse_world.gdshader
  • test_package.py
  • verification/native.json

How it works

Shader type
spatial
Render modes
unshaded, cull_disabled, depth_test_disabled, depth_draw_never, skip_vertex_transform, fog_disabled
Parameters
screen_texture (sampler2D), depth_texture (sampler2D), pulse_color (vec4 = 0.25, 1, 0.85, 1), center_x (float = 0), center_y (float = 0), center_z (float = 0), pulse_speed (float = 4), pulse_period (float = 3) and 4 more
Use it on
A world position for the pulse origin (set the three centre uniforms from a script).
Result
The scene with a glowing cyan ring sweeping outward over floors and objects, leaving a gridded trail.
Renderers
compatibility: compiled and rendered, forward plus: not verified, mobile: not verified
Placement
res://baltor/godot_shaders/scan_pulse_world/

Recorded checks

godot 4.7.2.stable.official.ed1daf0bf

  • contract_static
  • engine_run
  • engine_log_clean
  • shader_in_scene
  • capture_written
  • render_not_uniform
  • shader_changes_pixels

Limits to consider

Only opaque geometry is in the depth buffer, so transparent objects are not scanned. The grid uses 3D world coordinates, so it shows lines on all faces. One pulse centre at a time.