just had a look at your file now and here are my notes:
The idea behind the network is that you can use geometry to lookup color values in a texture. This is done by converting a geometric representation of the LED fixtures (in your case this would be 15 lines with 120 points each) into CHOP channels displaying the point positions and using those to lookup the color values in a texture - so in this case the point positions are used as uv positions in the texture.
So the first thing I did with your file is, set the line SOP to have 120 points and then copy it 15 times with the Copy SOP. Connecting the SOPto CHOP will give you 3 channels (tx, ty, tz) with 1800 samples. Now I use this CHOP as an input to the TopTo CHOP - so the point positions become uv lookup positions in the referenced texture. As I only need rgb channels, I also remove the alpha channel completely.
The TopTo CHOP is a bit a slow one as it needs to download the texture from the gpu to convert it to samples - but the “Next Frame” Download Type parameter will cut the processing time significantly and usually the 1 frame delay shouldn’t matter too much.
As a texture I’m using a Ramp TOP just as an example. Converting the LFO to a texture is totally fine, but it will only result in a 1 pixel texture as the LFO only has 1 sample which can be interpreted as color. So in the file now I’m using the LFO to animate the Ramp instead.
The 3 channels which I get from the TopTo CHOP now have to be converted into an order the LEDs read - usually this is an rgbrgbrgb order, so here comes the Shuffle CHOP with the setting “Sequence All Samples” which does exactly that - you now have one channel with 5400 samples (120 LEDs * 3 Colors * 15 Fixtures)
With ArtNet though we can only send 512 values per universe and as you say, you have one fixture per universe - so we have to cut this channel up into 15 universes. The Shuffle CHOP will help with this again: Add a new one and set the Method to “Split N Samples” and set the N Value to 360 (120 LEDS * 3 colors). This will result in 15 channels which now can go into the DMXOut CHOP. As we send 1 channel per universe, the DMXOut CHOP’s Format parameter has to be set to “Packet per Channel” - in “Packet per Sample” mode you would need a DMXOut CHOP per universe you are trying to address.
I added a Rename CHOP to change the channel name from r0 - r14 to universe0 - universe14.
With this information I can fill out the ArtNet routing table DAT. For each channel I need to specify a universe - so for channel “universe0”: net and subnet will most likely be 0 and universe will be 0 as well. For channel universe1, net and subnet again 0 while universe now is 1.
With this setup, you can easily switch out the ramp1 TOP for any texture you like and see it playing back on your LEDs.
Let me know if you have any questions
basicLEDMapMarkus.1.toe (4.81 KB)