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

  1. 01

    Procedural Growth & Vellum Solve

  2. 02

    Multi-Channel Karma Pass Separation

  3. 03

    GLSL Depth-Buffer Reconstruction

  4. 04

    Decoupled VJ Matrix Routing

Protocol

  1. Procedural generation of 5 overlapping botanical structures in Houdini using VEX, driven by differential curve growth and phyllotaxis rules.
  2. Soft-body cloth dynamics solved via Houdini Vellum to resolve inter-petal collisions, self-intersections, and wind response.
  3. 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.
  4. Custom real-time GLSL multi-texture fragment shader implementation in TouchDesigner.
  5. 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

  1. 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.

  2. 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.

  3. 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.

  4. 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.