The MatrixCHOP produces the screen-space coordinates of points based on a camera and an aspect ratio. The inputs:
- Positions (XYZ): 3 channels and any number of samples
- Camera View and Projection Matrix : 16 channels and one sample. Check the demo project for an easy example.
The output:
- The UV-coordinates of the positions in the camera's view. UVs are typically between [0,0] and [1,1] if they're inside the camera's view, but the MatrixCHOP does not clamp values or delete out-of-bounds samples.
In this image we render a white rectangle at an oblique angle. The MatrixCHOP takes the world-space positions of the rectangle's points, the camera's full view-projection-matrix, and then produces 4 new points. These 4 points are then depicted in a separate render of red squares. These squares land exactly on the corners in the first render, confirming that the MatrixCHOP outputs correct screen-space coordinates.
Build the dll yourself, or use a compiled DLL file. MatrixCHOP/MatrixCHOP/Plugins/MatrixCHOP.dll
has been compiled as a Custom Operator for TouchDesigner 2019.19160.
- 2019-09-27 Optimization
- 2019-09-19 Public release