Custom C++ POP for TouchDesigner: classic turtle L-System grammar in 3D.
- Builds procedural L-System geometry as a Point Operator
- Turtle alphabet in 3D (
FGH, turns, brackets, tropism, and the rest of the usual set) - Topology:
PointsorLine Strip - Type: Skeleton or Tube (quads plus a tip cap)
- Copy Mode:
Bakecopies wired J/K/M meshes at the turtle;Pointsemits locators for a downstreamcopyPOP - Three POP inputs map to turtle J / K / M
- Async offloads rewrite, turtle, and copies to a worker thread (one or more frames of delay)
- Generations is fractional; the same rules, seed, and Generations always give the same plant
- Random Scale / Seed on length, angles, and thickness
- Tube: Rows, Columns, Tension, Branch Blend, Thickness
- Grammar from a Rules DAT (disconnect the DAT to reload the default plant)
- Optional attributes (all default Off):
N,Tex,PointScale,LineWidth, Turtle Group, Nesting, Stamp, Apply Color - Pages: Geometry, Tube, Values, Attributes, About
The native L-System SOP was the reference I already knew.
A side-by-side was inevitable: it is how I learned where a Custom POP can go further, and where the Custom Operator path still has limits.
Point Operators cannot emit a Mesh primitive, so the tube here is quads plus a cap.
The pictures use the same turtle grammar on this plant, so the two sides stay comparable.
This POP |
Native L-System SOP |
This POP |
Native L-System SOP |
- TouchDesigner POP C++ API
The implementation is original work. This plugin has no third-party engines or libraries.
- TouchDesigner 2025.33070 or later
- macOS (Apple Silicon) or Windows
The example .toe included in the release zip requires the same TouchDesigner build.
Download the latest release for your operating system (do not clone this repository to install the plugin):
- Latest Release
- macOS:
Lsystempop-1.0.0-MAC.zip - Windows:
Lsystempop-1.0.0-WIN.zip
Unzip the archive fully into a folder (for example Lsystempop-1.0.0/) before running Uninstall or the installer. Do not launch .app, .pkg, .cmd, or .exe files from inside the still-zipped archive.
- Unzip the release as described above.
- Uninstall first to remove older copies (including previous drop-in plugins):
- macOS: open
L-System Uninstall.app - Windows: run
Lsystempop_Uninstall.cmd
- Run the installer like a normal application:
- macOS: open
Lsystempop-TouchDesigner-1.0.0.pkg - Windows: run
Lsystempop-TouchDesigner-1.0.0-win64.exe
- Fully quit and restart TouchDesigner.
- When TouchDesigner shows the plugin scan dialog, click Allow. Clicking Deny will prompt again on every restart until the plugin is accepted.
- Add an L-System POP from the Custom family in the OP Create Dialog.
The unzipped folder also contains MANUAL.html, LICENSE.txt, and Lsystempop_Example_2025.33070.toe.
The installer places the plugin in the standard TouchDesigner Plugins directory, inside AlaghastPOP:
/Users/<username>/Library/Application Support/Derivative/TouchDesigner099/Plugins/AlaghastPOP/
C:/Users/<username>/Documents/Derivative/Plugins/AlaghastPOP/
This is not an official platform.
On Wine, TouchDesigner does not list this Custom OP in OP Create.
Custom OPs are verified with CryptoAPI; Wine does not cover that path, and Derivative has no bypass.
Load the .dll from a CPlusPlus POP (plugin parameter).
Setup notes: experimental Bottles post.
Thanks to @vtln_nltv for the test. Same workaround as Voronoi.
The zip includes Lsystempop_Example_2025.33070.toe.
Open it after install.
The gallery under /project1 has 6 groups and 24 small demos.
The Algorithmic Beauty of Plants (Prusinkiewicz, Lindenmayer, 1990).
DeRe kindly allowed me to test this plugin inside their example file, which is available on her Patreon.
Thank you, DeRe (@bb.dere).
Search L-System Basic from the DeRe Patreon page.
Polyhop kindly allowed me to test this plugin inside their example file, which is available on his Patreon.
Thank you, Polyhop (@polyhop).
Search L-System Rule Builder from the Polyhop Patreon page.
- Installer:
.pkg(macOS),.exe(Windows) - Operator name:
Lsystempop(label L-System) - Version:
1.0.0 - License: proprietary freeware (see LICENSE)
- Author: Edwin Lucchesi
Source code is not included.
This software is an independent Custom Operator. It is not affiliated with, sponsored by, endorsed by, or an official product of Derivative Inc. It is not a replacement, substitute, or official port of Derivative's L-System SOP, or of any other Derivative operator. Similarity of turtle syntax or typical results does not make this plugin a Derivative product. TouchDesigner is a product of Derivative Inc.
If you use this plugin, feel free to tag me. I'll be happy to see your results!
Instagram: @Alaghast
2025-26






