Hydra geometry transforms reposition, scale, or tile a texture without changing its colors
Geometry transforms act on the UV coordinates of a texture, changing how it is positioned or tiled, but leaving RGBA values unchanged. Key transforms: .rotate(angle, speed) spins by radians (use Math.PI for precision); .scale(amount, xMult, yMult) zooms in (>1) or out (<1) relative to center; .scroll(scrollX, scrollY, speedX, speedY) pans the texture; .kaleid(nSides) applies a kaleidoscope mirror with n-fold symmetry; .pixelate(pixelX, pixelY) discretizes coordinates into blocks. Geometry transforms compose freely: stacking them combines their coordinate distortions. A common mistake is confusing geometry transforms (which warp space) with modulate functions (which warp space using another signal’s values).
Examples
osc(20).rotate(Math.PI / 4).scale(0.5).out()
noise().kaleid(6).pixelate(40, 40).out()
Assessment
Distinguish between .scale(2) and .modulate(osc(), 0.1) — what each does to the texture’s geometry. Apply two geometry transforms to a shape() source.