Skip to content

IhebRjeb/Freenect

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.

Note

This is a fork of the original FreenectTD by stosumarte (marte), which served as the basis and inspiration for this project. This fork adds Intel (x86_64) macOS support so the plugin can run in Intel builds of TouchDesigner. All original work and credit belong to the upstream author; this fork remains licensed under LGPL-2.1 in accordance with the original.

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 or Intel (x86_64) Mac
  • macOS 12.4+ (Monterey)
  • TouchDesigner 2025+ (any license)
  • Kinect V1 / Kinect V2

Note

This is the Intel (x86_64) branch. The bundled static libraries and the Xcode project target x86_64, matching Intel-based Macs where TouchDesigner runs as an x86_64 process. If you don't have full Xcode, run scripts/build_plugin_x86_64.sh --install to build and install the plugin using only the Command Line Tools. Use scripts/build_libs_x86_64.sh to regenerate the bundled Kinect libraries for x86_64.

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

This project is a fork of FreenectTD by stosumarte (marte) — the original author and source of this plugin. Please consider supporting the original developer.

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

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.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors