Building a ''Classic'' Kinect Pixel Wall

Hello TD world!

New to TD. Need a little help :slight_smile:

I’m trying to do two things :
1 - build a ‘‘classic’’ Kinect Pixel Wall where I take the source of the kinect and spread it across an array of little screens (or this case a bunch of Box nodes that are being spread by the coordinates of a Grid node).
2 - Be able to move all those boxes seperatly (translate x,y,z,).

Seemed simple enough and it almost works! BUT for some odd reason the image is not spread across the entire group of Boxes but rather repeated a bunch of times.

Part 1:

My network looks like this :

-‘Kinectin’ (Replaced by a ‘Moviefilein’ for you to see my problem with or without kinect)
-‘Grid’
-‘sopto’
-‘phong’
-geo2 (that contains a Box node)

Moviefilein1 is sent to the ColorMap of the Phong1
Grid1 sends its SOP to sopto1
Sopto1 to geo2 (Intance CHOP/DAT, tx - ty - tz) same for Instance2 (tx,ty,tz)

kinect pixel wall test.toe (4.34 KB)

Part 2

I was able to build a wall of boxes (11x11) by creating 122 boxes/transform/null and position them so that the were properly spread. In this case I could technically have hooked LFO’s, beats, sliders, animation or midi controllers to each individual transforms to get the thing moving. I have a Quadro 2000 and I was rolling at 4 fps while looking at the entire spread of Boxes!!! There has to be a more efficient way of doing this ? A Table sent to a Geo2 connected to the coordinates of a grid ? Like I did in part one, but with manageable coordinates for each boxes.

Wall of cubes.toe (15.4 KB)

So, that’s basicaly it. Getting the image spread properly and making each individual boxes in the grid reactive to coordinates!

Thank you in advance! This is a great community! The learning curve is fast forwared exponentially thanks to all the great tutorials, shared patchs and experiences! :nerd:

Guillaume b

Hi Guillaum!

Part 1:

You are already offsetting the texture coordinates with their position, but you have not changed the texture coordinates of your original geometry. If one rectangle is one tenth of the image, then you can use the TextureSOP to change the texture scale accordingly. Remember that texture coordinates go from 0 to 1, so you can re range your tx and ty to texture space. Then you can adjust your box & field size to be in the right relationship.

kinect pixel wall test.1.toe (4.92 KB)

Part 2:
You are creating all of your boxes via Surface Operators (SOPs) which are calculated on the CPU, not the GPU and are generally the first thing to try to optimize when getting poor performance. The best way to do something like this is with instances, just like you are doing in Part 1.

Here’s an example I posted about depth of field that uses a surface to get the CHOP data needed to make instances. You could put a Noise SOP on the grid and have it driven by audio volume, for example, before grabbing the CHOP data.
[url]Depth of Field - #6 by L05 - Techniques - TouchDesigner forum

I hope that helps! :wink: