X-RAY v1.0 Release Instruction

This X-RAY is designed for both control and playback of fixed installation projects and for interactive music performances. For fixed installation projects, you can use built-in materials or playback layered animation materials made with 3D software. Then, the X-RAY system can record these materials into a MOV file for easy playback. With the built-in agenda function, you can set up unattended automatic looping of video material playback according to the list. For live performances, you can use the audio interaction function to dynamically control multiple parameters of the built-in source material. Subsequent version updates will further deepen this functionality.

Interface introduction:

First, let me explain the overall interface of the software.

On the left are the regular settings for the matrix and the Input source materials selection and adjustment options. The bottom part is for DMX signal output settings.

On the right are options for selecting software output modes, sequence recording and playback options. The bottom part is for global color and noise interaction settings.

In the middle is a preview screen of a 3D LED matrix. This preview screen can be viewed in 3D by dragging with the left mouse button.

Pressing and dragging the mouse wheel button adjusts the distance of view. Pressing H key will reset your view. If you drag and release with your left mouse button while holding down Ctrl key, you can rotate horizontally automatically. Drag and release with your mouse while holding down SHIFT will allow you to rotate vertically automatically.

The top right corner shows a preview of built-in source input. If you switch to record and playback mode, this image will switch to be like the middle preview screen.

All parameter section titles on the entire interface have an arrow key on their left side. Clicking this arrow key will expand or collapse related parameters to save operating space. All operations in software are automatically saved when closing normally.

The first section on the left is for LED matrix settings:

The title shows the total number of DMX universes used in the entire project. This parameter will change as you set different numbers of points.

The first three items are for setting the size of the LED matrix. The range of parameters here is 0 to 1. In reality, your installation project will definitely be larger than 1 meter in length, width and height. Here we need to convert according to the actual situation. That is, take the largest number among length, width and height as 1 and input other two parameters proportionally into their respective parameters. This is done entirely for ease of data processing.

It should also be noted that the XYZ coordinate system here is a right-handed coordinate system with Y-axis pointing upwards. That is, Y-axis parameter represents height data.

Next are settings for matrix pixel numbers on XYZ axes. You can right-click all these parameters to reset them. These pixels are arranged in a downward counting order and then arranged to the right and then backward.

Next are settings for pixel size and transparency. Here you can adjust as needed for easy previewing.

The last four items are for setting background-related parameters.

Input Source Section: 

When selecting Input Source as the output in the right output mode, we can use the materials in this section. When we activate one of these materials and if it has relevant adjustable parameters, you can directly click on the parameter Windows button below to open the parameter setting dialog. If this material does not have adjustable parameters, the background of this parameter dialog button will be displayed in gray.


Here, parameters with purple such as Auto Rotate are global settings. That is to say, adjusting these parameters will effect  other materials that use these parameters. For parameters with cyan such as Rotate, you can click on the first of these four buttons under the corresponding option at any time to turn it on or off.

For example, when switching the Rotx option to a gray button, it becomes a fixed value parameter and the rotation speed slider will not work for this parameter. Of course, you can switch back at any time. When this parameter is a fixed value, you can directly hold down the mouse in the input box and drag the mouse on the corresponding adjustment range option to adjust.

You can click on the parameter title to expand or collapse these parameters. For these cyan parameters, do not modify the settings behind them casually unless you are a senior TD player.

For the first item, Auto Rotate is the overall control of the cyan parameters in the rotation parameter. This option must be turned on for these cyan parameters to take effect. Of course, at this time you can also adjust this speed value through rotation speed.

If you only want to rotate around one axis, you can set the parameter mode of the other two axes to gray fixed value mode.

The second option is Audio Reactive. When using this option, you need to make sure to click on the Audio Input button in the parameter column on the left side of the software, activate audio input and select the corresponding input device. That is to say, after turning it on, you can let the selected graphics affect the corresponding parameters with the changes in music. Here I have set it to affect the scaling of graphics. When enabled, you can adjust the intensity of audio response through the intensity slider below. When turned off, you can manually adjust the size of graphics through scale slider.

Sops Switch option here provides five different styles for easy selection.

Facet-related parameters can be used to segment graphic surfaces.


Finally for noise-related settings, these settings can affect each face position of graphics. When amplitude is 0 then it is normal graphic effect.

Shapes Gen: 

There are two types of graphics available here: box and circle. When you choose circle, the circle setting dialog will automatically open.

This material can also interact with audio reactive. Here it affects the speed of scrolling. When audio reactive is turned on, this scrolling speed is adjusted by the Strength slider and controlled by the scroll speed slider when turned off.

Scroll styles include scale, horizontal, vertical and front-to-back scrolling. The copies is the number of scrolling objects in the scene and this parameter does not work for scale mode.

When using box shape, you can achieve different effect combinations by adjusting box size in combination with corresponding scroll style and position rotation.

For circle effects, we can generate different combinations of effects by adjusting related parameters such as anchor position, arc type and arc angle. This arc angle applies to the last three arc types and this circle effect is based on a corresponding angle value arc sweeping around Y axis to form a corresponding shape.

Circle effects are still affected by scroll options in generator settings dialog box. After adjusting these parameters you can also generate effects in combination with related rotation options.


It should be noted here that the level of detail of these graphics will have a significant impact on performance.

Noise Grid: This noise grid is mainly used for audio reactive effects. It can generate different noise dynamics with music. Here the dynamics mainly come from changes in noise position and we can switch corresponding axis  as needed. For adjustment of noise parameters you can explore on your own or refer to TD documentation for explanation of noise sop components.


Twist Tube: There are three parts to the parameters. The first part is related to audio reactive and affects the rotation speed of the graphic. The second part is related to Tube parameters and you can adjust these parameters to generate different effects. The third part is related to graphic copying and twisting settings. 

 Particle Settings: In the first part, the box size can be set to determine the range of generated particles. Particles that move beyond this range will automatically disappear. The second part is for external force settings. You can set various forces that affect particles. The last three forces are generated along the direction axis you set. The third part is related to wind and turbulence as well as particle behavior parameters. Wind and turbulence are controlled by drag. Particle count, lifetime and lifetime variation all affect performance and need to be adjusted accordingly. Alpha speed is for rendering performance when particles move quickly. The last speed is for adjusting the speed at which particles move under force. The final part controls global position and rotation as well as rotation speed.


Text settings:  The preset symbols are built-in text symbols. When enabled, you can select them by adjusting the symbol slider. In the text box, we can enter Chinese and English characters or EMOJI symbols . By default, the entered text is arranged horizontally. If you want to arrange it vertically, you can enter /t to start a new line and make sure that the word wrap option is enabled. In the font file box, you can click on the + sign on the right to select a local font file for output without actually installing it on your computer. The text layout options allow you to adjust horizontal and vertical spacing between characters. The third part controls overall text position and rotation parameters. You can toggle related cyan buttons in position parameters for horizontal or vertical scrolling. The Creep settings allow you to arrange text on a cylindrical shape. When adjusting height, you can first reduce the value and reset it before increasing it.

Kinect Settings: This effect uses a Kinect 2.0 interactive camera to generate particles from human body contours. The second part is related to contour extraction parameters. The minimum area setting can remove unwanted small speckles and the sampling size can adjust the level of detail in contour extraction. The third part’s noise reduction size can make the contour smoother. The Trace step value is set to 10 by default and should not be set too small. Scale is controlled by the distance between two hands, but you can also switch it to manual mode for adjustment. The settings in the particle label have been explained earlier and will not be repeated here.

Noise Lines: In the first part, audio reactive affects the scale value of lines. Auto-rotate controls global rotation. In the second part, you can switch between different line shapes. You can enable box segmentation to generate regular lines within a box. Frequency controls the complexity of generated lines. The remaining three options are for generating random lines internally. The third part adds noise to each point in the graphic. If you want to disable this effect, you can set the amplitude to 0. Please refer to the above explanation for these options.

Wave : The first part of the parameters is used to adjust waveform-related parameters. The second part is for settings related to revolve based on this waveform line. The default revolve direction is around the Y-axis. The third part is for setting up symmetrical copying and global rotation.

Flash Settings: For the first part, please refer to the above explanation. The second part is for the type of graphic generated. The scale value here is controlled by audio reactive in the first part. The third part is for the size of the particle generation boundary. This value should match your matrix size. The rest are various external force settings. The fourth part is for global rotation and rotation speed options. The options in the particle settings label affect when and how fast graphics are generated and motion-related options. Please refer to the above explanation for details.

Custom: There are five custom options here. You can load different materials through the custom TOX file path below to adjust different parameters. If you are an experienced TD user, you can also create your own effects. For specific production methods, please refer to the content in the custom.tox file.

It should be noted that all built-in sources currently output regular polygons and my core algorithm is based on real-time calculations using polygons which requires good CPU performance. If you want better real-time performance, be careful not to output too many polygon points.

In future versions I will also add GPU algorithms to achieve more particle effects.

Next is setting up Slicer levels. The higher this value, the more accurate polygon’s influence on LED pixels in depth will be. If you want a small number of particles to light up more pixels, you can reduce this value.

The scale slider here sets global size.

The cap switch button switches between different rendering modes for polygons. When enabled it lights up actual pixels inside polygons while when disabled it only renders polygon borders.

Color mode: This color affects overall color of built-in source materials.

Output settings:

You can choose Artnet or sACN protocol to output DMX signals. Artnet protocol is more popular but sACN performs better for large projects with its domain starting from 1.

Local network card option selects IP address of network card used to send DMX signals with software defaulting to global broadcast mode.

Data refresh rate defaults at 30 frames per second with a maximum of 44 frames per second.


Output mode: It should be noted that in Input sources mode you can still use all parameters in the sequence record section to record materials. The record mode here is for loading and recording layered materials rendered with 3D animation software (such as C4D or Blender) into a single file. This feature is only available to Full version customers. If needed, we can also provide animation file production and rendering services for a fee.

Record sequence: If you only want to record output content of Input source materials, you can set up the desired effect and adjust the N slider to set file suffix number. When incremental suffix is enabled it will automatically increase recorded file number if there are already files with corresponding numbers in the list directory. The filename field here is for reference only and cannot be modified. If you want to change the name after recording you can do so by opening the list folder under software directory. If you don’t want to record music during recording you can clear audio file path or set volume slider to zero.


When you click the record button it will flash red as a reminder that recording is in progress.

For recording layered materials you need to number and name each layer starting from 1 in mp4 format with resolution ratio matching actual project resolution ratio and place these files in the loops folder. If everything is ready click reload to start playing from the beginning to test if materials are loaded correctly. If you want to record music make sure to load corresponding music in audio file path and adjust volume slider accordingly. Then just click record button to start recording with filename shown in filename field into list folder. It will automatically stop when recording is complete.

It should be noted that when recording make sure there are no active files with same name in playlist below as this will cause file to be occupied and unable to read and play at same time. So we can click load another file in playlist to release file we want to re-record.


Also if you have finished recording layered materials and want to record another set of layered materials you need to switch output mode to other modes to release occupation of files in loops folder.

Playlist: All files in the list folder will be displayed in this list and it will monitor changes to this folder in real time. It will automatically load whichever material you manually select and you can start playing by clicking play button. Since playback of recorded materials is fully GPU-based it won’t consume too much CPU resources.

In the playback progress bar below you can drag to browse at any time. You can also adjust speed button to slow down or speed up playback.

Each button in play button bar has corresponding tooltip when mouse hovers over it. The third one switches loop mode allowing you to switch between one-time playback, list loop and single loop. The fourth one randomizes order of playlist. The fifth volume button toggles display of volume slider.

Agenda function allows for unattended automatic monthly (specific time each month) or daily (specific time each day) playback triggering.

Global color:

Feedback slider achieves dynamic trailing effect with larger values resulting in more obvious trailing effect. This is most obvious when used with particle materials to achieve starry sky traversal effect.


Monochrome mode converts color settings of built-in source or recorded sequence into monochrome effect mainly for overlaying color interactive effects with noise below.

The first part of the noise color tab is also set for audio reactive. The audio reactive here affects the speed of noise position changes. For detailed instructions on noise-related settings, please refer to the relevant instructions for the noise TOP operator  in the TD documentation.

In the third part, in the Translation parameters, you can activate the corresponding switch to the cyan reference value mode so that audio can affect position changes on the corresponding axis. At the same time, scale will also affect changes in noise cycles. Please refer to TD documentation for information on noise TOP for these three options.

In the color mode tab section, monochrome noise effects means processing noise monochromatically so that you can turn on second item and let input source color effect multiply with noise calculation effect.

The Noise/input Sources option allows you to choose between these two color modes for final output mode of interactive noise color. The next item allows you to monochrome it when you choose built-in source color as output of interactive noise color.

The last item allows you to choose whether to composite and overlay interactive noise color output with main output color (input sources color mode or recorded material color) for output. You can test these options yourself or refer to TD documentation about composite TOP operator.


Finally, it is global control of RGBA colors where A is total brightness control.


Leave a Reply