Handy shader for visualizing vector fields and flow maps.
This is intended more for debug purposes.
Note
ORIGINAL SHADER by Gehtsiegarnixan https://www.shadertoy.com/view/dssyzf
MODIFIED by KeyboardMoss for Godot 4
Shader input is a regular texture which is updated at regular intervals as needed.
- Each pixel represents a single vector and is scaled to match the plane surface.
- Red and Green channels store normalized vector directions, centered at <0.5,0.5> and length 0.5.
- Blue channel stores amplitude 0.0 to 1.0
- RGBA8 is sufficient but suffers from some precision silliness(+/-5deg). Use higher channel precision if exact directions are needed.
- Includes toggle to render only arrows.
Project contains a simple vector field to shader flow. The script can be easily modified to move around the world and display a limited window into a much larger vector field.