Close
Asset

Delaunay Triangulation POP

Hi TouchDesigner Community!
I’ve decided to share with you little version of a plugin I developed in C++ for POP to generate Delaunay triangulations, following up on a request I made several months ago.
Probably you, future reader, when looking back at this post, will already have a beautifully integrated operator built directly by the TouchDesigner developers. But for now, since it doesn’t exist yet, I didn’t want to deprive the community of this bit of fun.
DISCLAIMER (Edit 03/07/26)

The goal of this component is to provide a straightforward and reliable way to generate Delaunay triangulations directly inside a POP workflow. It can be useful for procedural modeling, simulation setups, generative visuals, or any case where you need stable triangle connectivity from dynamic point data.

At the moment, the triangulation runs on the CPU and writes the result back into the POP system but i did my best to optimize it and i think is pretty fast and efficient. It has been tested on macOS (Apple Silicon) and Windows 11, but since POPs are still evolving, there may be edge cases or performance limitations depending on the setup.

That said, while I'll happily keep an eye on it and push fixes or improvements when I can, future implementations or bug resolutions aren't guaranteed unless you request a specific service. Just let me know and have fun with it! :)

----------------------------------------

If for some reason a warning appears during plugin loading like

"Delaunay could not be opened because it is damaged. You should move the file to trash"

I suggest not compressing or zipping it, instead, clone it directly from the GitHub repository using the git clone command in your system terminal (you'll find the link at the bottom of this page). Future releases and updates will be available in the GitHub repo.

The Delaunator library can become unstable with nearly collinear, near-duplicate, extremely thin, or otherwise degenerate point sets, so users should avoid feeding it points that collapse to an almost 1D or numerically ambiguous distribution. If that happens, you'll see stalling or a freeze in the plugin or TD itself.

I've updated (03/07/26) my Network Example with a little trick to avoid it.

----------------------------------------

Delaunay POP v.1.0
POP plugin for TouchDesigner that generates 2D Delaunay triangulation from a point input

 

What It Does
  • Reads points from the P attribute of the input POP.
  • Projects points onto the XY, YZ, or ZX plane.
  • Generates Delaunay triangles with robust output, even for degenerate inputs.
  • Supports Sync/Async modes (via the Async toggle). Async mode is recommended for animated or continuously changing inputs, as it allows non-blocking computation. For static or non-changing inputs, Sync mode is preferred to ensure immediate and deterministic results
  • Passes point attributes to the output like a standard POP operator
Libraries Used
  • TouchDesigner POP C++ API
  • Delaunator C++
Requirements
  • TouchDesigner 2025+
Installation
  • You can copy the plugin into your project and load it through the CPlusPlus POP operator, as shown in the provided examples in “Delaunay Example/MAC” or “Delaunay Example/WINDOWS”.
  • Alternatively, you can install it directly in TouchDesigner like other any Custom OPs so it can be accessed from the Custom panel in the OP Create Dialog. 
Custom OPs are used by simply placing the plugins in the correct location on disk. They will be detected automatically when TouchDesigner starts.
On Windows, a plugin is a .dll file (possibly accompanied by additional files). On macOS, a plugin is a .plugin folder.
Plugin Locations in
Windows
  • Documents/Derivative/Plugins
Usually:
  • C:/Users/<username>/Documents/Derivative/Plugins
MacOS:
  • /Users/<username>/Library/Application Support/Derivative/TouchDesigner099/Plugins
Distribution
Plugin format: .plugin (macOS bundle), .dll (Windows)
Operator name: Delaunay
Version: 1.0
License: MIT
If you use this plugin, please tag me, I'll be happy to see your results!
IG: @Alaghast
2025-26

Asset Downloads

Comments