JFA Copy and Jump Passes
📖 Description
Implements the Jump Flood Algorithm's flood-fill steps: copying seeds to buffers and performing horizontal/vertical jumps to propagate distances for signed distance fields.
🔧 How It Works
- Copy Pass: Initializes ping-pong buffers with seeds.
- Jump Passes: Looped horizontal/vertical full-screen draws to "hop" distances.
- Outputs:
Texture2D_OutlineJFAUVJumpTextureMask_Outside/Inside. - Code Example:
// Looped jumps in OutlineJFAUVHorizontalJumpPass for (int step = 1; step < maxSteps; step *= 2) { // Draw with step size mat.SetFloat(_StepSizePID, step); CoreUtils.DrawFullScreen(cmd, mat); }
📋 Requirements
- Materials:
outlineJFAUVHorizontalJumpPassMaterial, etc. - URP Settings: None.
- Dependencies: Seeds pass.
🏷️ Tier Usage
- Available in: Pro.
- Conditional: Runs for JFA textures.
🐛 Troubleshooting
- Issue: Infinite loops.
- Fix: Cap maxSteps.
- Performance: Scales with resolution.