Introduction
Native C++/CUDA operators for TouchDesigner. Real-time rendering and simulation without leaving the network editor.
These pages are placeholder content while the plugins are in early access — the structure is real, the numbers are not final. Join the waitlist to be notified when they ship.
What is NativeOps?
Every NativeOps plugin is a native operator: it registers itself with TouchDesigner like a built-in, cooks on the GPU, and shows up in the OP Create dialog next to everything else. No Python glue, no texture round-trips, no external processes to babysit.
Native performance
Written in C++/CUDA against TouchDesigner's plugin API. Zero-copy texture sharing means frames never leave the GPU on their way through your network.
Licensed per seat
One license per machine, managed from your dashboard. Activation takes a key, not a hardware dongle — and moves with you when you swap workstations.
The plugins
Photon RTXPT
Real-time path tracing inside TouchDesigner, built on NVIDIA's RTX Path Tracing SDK.
Photon OVRTX
The Photon front end on the ovrtx backend — the same scene semantics, tuned for interactive previz.
Matter
GPU rigid bodies, fluids, and cloth as one operator suite — eight operators, one solver clock.
Aura
Real-time 2D global illumination for layered scenes — emitters, occluders, and bounce in a single TOP.
Quick start
Buy a license
Every plugin is sold per seat from the products page. The license key lands in your dashboard the moment checkout completes.
Install the plugin
Drop the plugin folder into TouchDesigner's plugin path and restart. Installation walks through both the per-user and system-wide paths.
Activate your seat
Paste your key into the operator's Activate parameter page — or activate offline for air-gapped machines. Activation covers both.
Why native operators?
Script TOPs and CHOPs run on the CPU, once per cook, with the GIL in the way. A path tracer or a fluid solver needs thousands of GPU dispatches per frame — that only works as a compiled plugin sharing TouchDesigner's own GPU context.
Running a renderer in a separate process means every frame crosses process boundaries twice. A native operator cooks inside TouchDesigner's frame loop — the output TOP is the renderer's actual target texture.
Parameters, exports, CHOP references, time-slicing — the things that make TouchDesigner TouchDesigner — only reach operators. NativeOps plugins expose everything as ordinary parameters, so your existing control rigs just work.
Reading these docs as an agent
Append .md to any page URL for its raw markdown. /llms.txt is
the index, /llms-full.txt is every page in one document, and
the Copy page button up top yields the same markdown.