A Tibetan-thangka mandala. Thirty-two parameterised layers of POP geometry merge into three streams that three GLSL POPs draw in one pass each, reading every layer's settings from a CHOP texture buffer, so the whole image costs about a millisecond a frame. A GLSL scrollwork texture grows outward beneath the elements on a quad inside the render, and a final GLSL pass ages it with patchy wear and shimmering specks; Loop mode snaps every rate so renders repeat exactly.
the Collection
see it. embody it
post a TDXNCopy any specimen's TDXN (TouchDesigner eXternal Network) to your clipboard and paste it straight into a TouchDesigner .toe running Embody.
Plug-in your static image or live video TOP on the left side, choose your favourite method, and watch the retro-goodness of 90's dithered computer graphics come to life. Optionally, you can plug-in a custom colour palette as well. Don't forget to play around with the parameters until you find the look you like best ;-)
EmbodyComfyUI is an update to Oleg Chomp's excellent TDComfyUI, bringing a more lightweight architecture, more robustness, and compatibility with the most recent versions of ComfyUI Desktop. Usage: - Export your workflow in .json API format from ComfyUI. - Open it as a text DAT and plug it in as the input for EmbodyComfyUI. - Launch your ComfyUI server and make sure the IP address and port are set correctly. - Connect and drop the TOP you want to transform into the Load Image (Base64) parameter. - Have fun!!!
Recreated from one reference screenshot and the prompt: "recreate this imagein TouchDesigner, exactly the same layout." Rather than eyeball it, the reference was measured programmatically — per-row baselines, cap heights and ink extents — which revealed that each line is centered on a smoothly drifting point, not ragged-left as it appears. Those numbers became the table. Read left to right: table_lineup (name | code | centre) plus a Noise CHOP feed script_spec, which emits a Text TOP Specification DAT — a table where each row is one string with its own x/y — sizing each name via evalTextSize() so the superscripts land correctly. select_names / select_codes split that into two Text TOPs, because the spec DAT positions per row but ignores per-row font size. They composite into out1. Verified by capturing the render and re-measuring it against the source: line centres match within 0.6 px RMS. Noise CHOP Amplitude drives the stagger — at 0 it's the exact reference frame. All geometry is stored as canvas fractions, so it's resolution independent.
A raymarched 3D Mandelbulb fractal rendered entirely in one GLSL TOP. The classic distance estimator is marched per pixel against a slowly orbiting camera; orbit-trap values captured during iteration tint the surface, and soft shadows, a fresnel rim, and a proximity glow give it depth. No input, no feedback - a drop-in hero render, a looping VJ source, or a reference for distance-estimated raymarching.
A dense GPU particle swarm that flocks like a starling murmuration at dusk - cohering, separating, aligning, and flowing around a slow invisible attractor with curl-noise wander. True per-neighbor Reynolds flocking computed on the GPU (a Neighbor POP index list iterated in a GLSL POP), rendered as luminous additive point sprites.
A flowing GPU plasma. Two sine-wave fields at slightly detuned scales beat against each other into shimmering moire fringes, a slow rotating domain warp bends the coordinates into liquid motion, and the result is mapped through a cyclic cosine palette. Self-contained and stateless - one GLSL TOP, no input, no feedback - so it drops in anywhere as a VJ loop, texture, or displacement source.
no specimens match that filter.
loading...