How it works
UVs snap to a thread grid, then band into diamond, chevron and stripe motifs in the traditional red/black/cream/orange palette.
A generative Nepali Dhaka textile: diamonds, chevrons and stripes woven thread by thread in a fragment shader.
UVs snap to a thread grid, then band into diamond, chevron and stripe motifs in the traditional red/black/cream/orange palette.
Renders through the single shared <Canvas> via drei <View> — no extra WebGL context, and the render loop only runs while a view is mounted. Pure math per pixel — no textures.
In reduced mode the scene renders on demand only: a static, fully lit frame with no idle motion.
uniform float uSpeed; // 0.4 uniform float uThreads; // 90 uniform float uWeave; // 0.8