Skip to content

stosumarte/FreenectTD

Repository files navigation

FreenectTD

FreenectTD is an open-source TouchDesigner plugin aimed at macOS users who don't have a way to use the official Kinect OPs in TouchDesigner.

It leverages libfreenect and libfreenect2 to implement support for Kinect cameras.

Important

FreenectTD is an experimental project. While being thoroughly tested and confirmed to work on multiple platforms, it may still have some bugs or stability issues. Please be careful if using in a production environment. I don't take any responsibility.

Requirements

  • Apple Silicon Mac
  • macOS 12.4+ (Monterey)
  • TouchDesigner 2025+ (any license)
  • Kinect V1 / Kinect V2

Supported features

Feature Kinect V1 Kinect V2
RGB streaming
Depth map streaming
Point cloud map streaming
IR streaming TBA
Tilt control
Depth undistortion
Depth registration (align depth map to color)
Manual depth range threshold

Known issues

Tilt control may not work with some V1 models (1473 and Kinect for Windows V1). This is due to a mix of different factors in libfreenect and Kinect official firmware.

[RECOMMENDED] Installing using installer

  1. Download the latest installer build from the releases tab

  2. Right click on FreenectTOP_[version]_Installer.pkg and select "Open"

You should now find FreenectTOP under the "Custom" OPs panel.

Tip

If the Installer gets blocked from running, go to System Settings > Privacy & Security and click on Run Anyway

Installing Manually

Global Installation

  1. Download the latest zip build from the releases tab

  2. Unzip and copy FreenectTOP.plugin to TouchDesigner's plugin folder, which is located at /Users/<username>/Library/Application Support/Derivative/TouchDesigner099/Plugins. You might need to show hidden files by pressing ⌘⇧..

You should now find FreenectTOP under the "Custom" OPs panel.

Project-specific Installation

  1. Download the latest zip build from the releases tab

  2. Unzip and copy FreenectTOP.plugin next to your .toe, in a folder named Plugins.

You should now be able to open your .toe and find FreenectTOP under the "Custom" OPs panel.

Usage

By default, FreenectTOP outputs RGB data. To get other streams, you must use Render Select TOPs and reference indexes 1 (for a depth map), 2 (for a point cloud map) and 3 (for IR stream).

Examples

Example .toe project files are provided in this repository, under the toe_examples directory.

Known limitations

  • Only one Kinect device per machine is supported.
  • Only one FreenectTD OP can be active at a time.
  • Skeleton tracking is currently impossible to implement.

Uninstalling

To uninstall all FreenectTD related files, run the following command in terminal: sudo rm -rf ~/Library/Application\ Support/Derivative/TouchDesigner099/Plugins/Freenect*.plugin

Donations

If you like FreenectTD, please consider donating to support further development!

Buy Me a Coffee at ko-fi.com
Donate with PayPal

Credits

A very big thank you goes to the OpenKinect project, who developed the libraries that made this plugin possible.

Licensing

FreenectTD is licensed under the GNU Lesser General Public License v2.1 (LGPL-2.1).
This means you are free to use, modify, and distribute this plugin, including in closed-source applications, provided that any modifications to the plugin itself are released under the same LGPL v2.1 license.

This project also includes the following third-party libraries, each under their respective licenses:

By downloading, using, modifying, or distributing this plugin, either as source-code or binary format, you agree to comply with the terms of both the LGPL-2.1 license for the plugin itself and the respective licenses of the third-party libraries included.

About

Kinect support for TouchDesigner on Mac.

Resources

License

Stars

Watchers

Forks

Packages