TouchDesigner: Shaderlamps (MPCDI) Quickstart Guide

A Scalable Integration Guide for TouchDesigner Users Using Shader Lamps Projection with MPCDI

This guide is designed to assist users in configuring TouchDesigner to implement MPCDI Shaderlamps warp and blend files after a successful Scalable Calibration. Before proceeding, it is assumed that the user has completed all necessary calibration steps within the Scalable software.

Note

When exporting with the MPCDI format, you only need a TouchDesigner Commercial Key. It is also recommended that you use TouchDesigner build 2025.31550 and newer, as there were key updates that assist with Scalable integration.

 

TouchDesigner Integration with Scalable

 

Calibration File

TD License Type

Scalable Software

Scalable SDK      
Orthographic (2D) ScalableDataOrthographic.ol Pro SDM, SPA
Perspective (3D) ScalableData.ol Pro SDM, SPA
Projection Mapping (SL) ScalableData.ol Pro Atlas
MPCDI      
Orthographic (2D) scalable.mpcdi Commercial SDM, SPA
Perspective (3D) scalable.mpcdi Commercial SDM, SPA
Projection Mapping (SL) scalable.mpcdi Commercial Atlas

Update Advanced Options, Export your Calibration File, and Set a File Destination Within Scalable Atlas

Scalable Advanced Options

  1. Navigate to the Scalable dropdown menu in the top left of the screen and select Support > Advanced Options.
  2. Select Add and configure the option: MPCDICoordinateFrameSelector | Int | 1. Select Accept.

Scalable Export Options Panel

  1. Navigate to the Export Options panel, and you can choose where your calibration files are saved by selecting Remote Output Directory and adding a file pathway.
    If not manually changed, the default Remote Output Directory location will be - C:\Program Files\Scalable Display\DEI\LocalCalibration\
  2. Select MPCDI as the Warp Application Method and keep all default settings.
    Select Update Calibration. Your warp and blend files will now be in the remote output directory that you defined.

Applying MPCDI ShaderLamp Files in TouchDesigner

Note

The following TouchDesigner scene setup was created to illustrate a possible pipeline for MPCDI Shaderlamp warp and blend files. There are many pipelines to achieve the same results. Please consult TouchDesigner for assistance on how you may set up your scene differently.

 
  1. Set up a 3D scene with the same OBJ and UV mapping used to calibrate the image in the Scalable software.
    • Add a FileIn SOP to import your screen geometry or 3D model.
    • Add a MovieFileIn TOP and import in the UV for your model.
    • Add a Phong MAT and drag your MovieFileIn TOP into the Color Map field of the Phong MAT.
    • Add a Geo COMP. Connect the FileIn node output to the Geo Comp Input. You should now see an untextured version of your screen in the preview window of the node.
  2. Rotate the GEO Comp by 180 degrees on the X-axis using the Xform parameters.
  3. For every projector, create a Camera COMP and a Render or Renderselect TOP.
    • This will be the setup for each projector’s “view” of the object.
    • Each Render/Renderselect TOP should be using a different Camera Comp.
  4. Set the Render/Renderselect TOP(s) resolution parameters to the resolution of the projectors. This can be found by selecting each TOP and going to the Common tab.
  5. For each Render/Renderselect TOP, add an MPCDI TOP.
    • Connect one Render output to one MPCDI TOP input.
    • In the MPCDI TOP parameters, select the exported MPCDI Shader Lamps warp and blend file as the configuration file for each TOP. (The default file location is: C:\Program Files\Scalable Display\DEI\LocalCalibration).
    • For each MPCDI TOP change the Buffer ID parameter to "Buff0". Set the Region ID parameter for each TOP to its "Respective Projector" in the array. Starting with "Proj0".

      Note

      Views in the MPCDI TOP preview will not look correct. This will be resolved when we give each camera the correct position and view of the object.

       

  1. For each Camera COMP, go to the Pre-Xform parameters tab and turn on Apply Pre-Transform.
    • Reference the MPCDI TOP associated with each camera to update the Xform Matrix/Chop/DAT > xformatrix parameter.
      • Example: op('mpcdi1').cameraTransform(bufferId="Buff0", regionId= "Proj0")
      • “mpcdi#” = "#" is the MPCDI TOP # the camera is referencing.
    • Select the blue box next to the parameter to activate the reference.

      Note

      TouchDesigner is case sensitive, so double-check your capitalization.

       

  1. For each Camera COMP, go to the View parameters tab and change the projection parameter from perspective to custom projection matrix.
    • Reference the MPCDI TOP associated with each camera to update the Xform Matrix/Chop/DAT>projmatrixop parameter.
      • Example: op('mpcdi1').projection(bufferId="Buff0", regionId="Proj0")
      • “mpcdi#” = "#" is the MPCDI TOP that the camera is referencing.
    • Select the blue box next to the parameter to activate the reference.

      Note

      Before moving forward: Check that every Camera Comp's Xform/Pre-Xform Translate, Rotate, and Pivot information is set to Zero.

       
  2. The preview image should now show a view of the object from the projector's position. Each node should show a different view of the 3D model. Your Scalable files are now applied via MPCDI TOP.

Example Output: Two Projectors on a Single PC

Caution

The following section is just one way to complete your TouchDesigner pipeline to export content. This is a basic starting point.

 
  1. Reorder & Output MPCDI TOPs to align with your projectors and .toe network.
    • Each TOP corresponds to a specific projector, so the signal path after each TOP should output to that corresponding projector. This can be managed at the container level with multiple Out TOPs or as one custom aspect ratio Out TOP with the calibration files combined with a Layout TOP.
    • The Perform parameters and Container parameters should facilitate launching the custom aspect ratio or multiple Out TOPS.
  2. Example Output: 2 x MPCDI TOP > Layout TOP > Out TOP.
  3. Navigate to the Project Container and to the Look tab. Adjust Background TOP parameter to be set to ./out1. Go to the Layout tab and make sure resolution is set up to match the resolution of the Out TOP.
  1. Navigate to the Perform Container and set the Window Operator parameter to the output project node. The Display Offset parameter can be set to 1. Next, the Justify Horizontal is set to left, and the Justify Vertical is set to bottom.

Type to search across all articles