Close
Asset

Voronoi POP

Hi TouchDesigner Community!

Last month, I shared my first POP plugin for TouchDesigner to create Delaunay Triangulation POPs.

Today, it's time to release its dual POP Operator for generating 2D Voronoi diagrams in 3 type of output (line strips as edges, triangle fills and edges plus point primitives) from point inputs.

This plugin is free for Mac and Windows users!

This time, I'm also sharing a couple of examples showing how to use it with a UI interface to choose the input source and some 3D deformations.

You can directly see it in action here.

Have fun with it! (:

----------------------------------------
Disclaimer
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 plugin lcan 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.
You'll see a prune point detector in the plugin that shows you a warning in those situations.
----------------------------------------
Voronoi POP
POP Operator for generating 2D Voronoi diagrams as polygonal cells (line strips and/or triangle fills) from a point input.

 

What It Does

  • Reads points from the input POP's P attribute
  • Projects points onto the XY, YZ, or ZX plane
  • Apply bounds to the cell generation in Auto or Manual mode
  • Generates Voronoi diagrams reliably, even with degenerate inputs in 3 output modes (Line strips, triangle fills and Line strips + point primitive)
  • Supports both Sync and Async modes through the Async toggle
    • Async mode is recommended for animated or continuously changing inputs because it allows non-blocking computation
    • For static inputs, Sync mode is recommended to ensure immediate and deterministic results
  • Passes point attributes through to the output like a standard POP operator

 

Libraries Used

  • TouchDesigner POP C++ API
  • JCash/voronoi

 

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. 

Installation Reference

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

 

Availability

Plugin format: .plugin (macOS bundle), .dll (Windows)

License: MIT

Author: Edwin Lucchesi

IG: @Alaghast

If you use this plugin, please tag me, I'll be happy to see your results!

2025-26