dispose
Release all GPU resources owned by this sightline (output texture, kernel sampler texture, framebuffer). The actual glDelete* calls run on the next render frame's GL thread - the call itself is safe from any thread. After dispose, doRender is a no-op; reuse requires a fresh instance.
Cancels any in-flight elevation sample. If no further doRender occurs (e.g. the containing layer is removed before another frame), GPU resources will only be reclaimed at engine teardown - same fallback as for orphaned outputs from a samplesPerSide change.