Working with pixels

i’ll be doing vjing for a music festival and will use one LED screen and three LED grids.
LED screen is 640x400px (80px per panel)
LED grid x2 is 32x20px (16px per panel) (both use same footage)
LED grid 64x16px (64px per panel)

i will feed this with one computer. i was planing to use three renderers placed and arranged in a fourth renderer witch should be output. Then i’ll crop this output with video processor to separate three areas for each LCD.

in this situation i’ll have to use exact dimensions of render areas and i would like to place them on a specific pixel. since vvvv is not working with pixels i’ll need some hint on how to do that. does someone have some sugestions?

to say it with simple words, lets say that i need to place a quad on a 10,10px in renderer witch has 720x576px.


here is the patch

podjela ekrana.v4p (41.9 kB)

DX9 renderer is working from -0.5 to 0.5.
So, your desired scale factor for one pixel (at transform node) is width = 1/720 and height 1/576.
If you want to place a quad 10 by 10 then it would be 1/720 * 10 and 1/576 * 10 at position xy(21,31) x= 1/720 * 21 and 1/576 * 31

There is a module out there called Tranform (2d Pixel), but I dont know where. May be at node08 workshop upload.

that module (transform 2d pixels) is from ampop - you can find it on his userpage.

and if you want it really pixel precise, you need to translate the whole stuff by a half pixel in x and y direction. or you find the option ‘alternate pixel center’ in the graphics card driver. this might be different from card to card. you can test it with a feedback loop, if the picture flows towards a corner, you need the half pixel translation.

tonfilm: Good to know Im fighting with videofeedback right know. Thanks.

Hi and thnx for reply!
i’ll need realy precise positioning, couse low LCD resolution…
‘alternate pixel center’, i’ll check this out…


the “alternate pixel center” thing is a really old option to force compatibility with some older games. better do the pixel shifting in vvvv, than relying on some option which will most probably disappear in the future…

having good test patterns (like a pixel checkerboard) is the key to getting these things working without getting insane.