2025 · Experiment
Interactive GLSL - Synthetic Flora
- GLSL
- Houdini
- Touchdesigner
- VJ
Hypothesis
Deconstructing complex multi-layered 3D geometries into isolated render channels enables independent visual manipulation but fundamentally breaks spatial occlusion in standard 2D compositing. By exporting synchronized 32-bit camera-space depth buffers alongside isolated beauty passes, a real-time GLSL fragment resolver can compute per-pixel depth tests dynamically, eliminating planar sorting artifacts and permitting non-destructive live VJ control across overlapping geometry.
Pipeline
01
Procedural Growth & Vellum Solve
02
Multi-Channel Karma Pass Separation
03
GLSL Depth-Buffer Reconstruction
04
Decoupled VJ Matrix Routing
01 / 05
Protocol
- Procedural generation of 5 overlapping botanical structures in Houdini using VEX, driven by differential curve growth and phyllotaxis rules.
- Soft-body cloth dynamics solved via Houdini Vellum to resolve inter-petal collisions, self-intersections, and wind response.
- Procedural materiality developed in Karma, followed by synchronized multi-pass rendering: isolated RGBA beauty passes + uncompressed 32-bit linear Z-depth maps for each individual flower.
- Custom real-time GLSL multi-texture fragment shader implementation in TouchDesigner.
- Ingestion of the 10 discrete video streams (5x Color, 5x Depth) into the fragment shader; evaluation of dynamic min-depth comparison per pixel alongside decoupled FX/color transformation matrices prior to final composition.
Findings
Standard alpha-over blending completely fails on intertwined geometry where petal depths alternate along the Z-axis, creating severe planar clipping. The GLSL per-pixel depth testing restores absolute 3D spatial fidelity at full real-time frame rates. Edge fringing caused by depth discontinuities during high-frequency transformations was resolved by integrating a sub-pixel depth-aware dilation filter. The pipeline enables total parametric independence (hue, saturation, stroboscopic thresholding, post-glitch) on individual flowers with zero occlusion breakdown.
Pipeline
01
Procedural Growth & Vellum Solve
Parametric modeling in Houdini SOPs generating five distinct flower meshes. Vellum cloth constraints simulate organic flexibility, petal density, and inter-penetration dynamics across the shared bounding space.
02
Multi-Channel Karma Pass Separation
Procedural shading and lighting in Solaris/Karma. Isolated batch rendering outputs synchronized beauty channels and normalized 32-bit float Z-depth maps for each flower instance.
03
GLSL Depth-Buffer Reconstruction
Multi-sampler fragment shader ingesting 10 synchronous video inputs. The shader evaluates depth matrices in screen space, dynamically resolving which pixel holds priority on the camera Z-axis.
04
Decoupled VJ Matrix Routing
Individual parameter channels (color grade, pixel sorting, edge displacement) are routed to specific flower buffers before the depth evaluation, preserving geometric integrity during intense live modulation.



