Godot tutorial makes value noise tile seamlessly across a torus

Tiling Noise – Procedural GPU Patterns

Godot tutorial makes value noise tile seamlessly across a torus

The ninth entry in Catlike Coding's procedural GPU patterns series adds tiling to value noise in Godot 4.7. By wrapping lattice coordinates so blocks at tile edges match the opposite side, the shader eliminates the seams that appear where UV 0 and 1 meet. Tiling is optional and works from UV −1 to 2, but requires integer frequencies for all octaves and even frequencies for animation.

However, seams are part of the pattern so that provides no benefit. But value noise blends between adjacent lattice points, so we also have to blend across tile boundaries to eliminate the seams.

More from this day

2026-10-24