One pixel at a time

Hello, having some troubles here. Maybe someone can help? What I am trying to do is to take one “pixel” at a time of a videostream and map it onto a quad, starting on the top left and ending on the bottom right. If anyone has an idea how this could work, i´d appreciate help a lot! I´m attaching my poor try, so you might get my idea better.

hmm… didn´t upload the file… next try…

onePixelAtATime.v4p (17.4 kB)

dont know if i understand you. You want to grab a pixel color and set it up to a quad?!
i modify your patch a little bit. hope this will help. (btw. dynamic texture is a little bit buggy on some graphic cards…)

onePixelAtATime.v4p (10.4 kB)

hey m, thanks for your answer. you´re right - dynamic texture is not necessary. another problem i´m facing: the computer crashes ever once in a while… could it be, that the pipet node is very, very processor-consuming and therefor the crash happens?

hmmm, yes the pipet node is one of the bottlenecks in vvvv (and anywhere in image processing). but a crash?! don´t know about that. so you can try to downscale your cross resoultion.
So, if you post what do you want to do, maybe there is another way (e.g. via pixelshaders) to do that much more faster.


heya, you´re right. downscaling the thing is a good way. well, not necessarily, since i want to achieve a kind of pixel-timelapse-image. with 100 slices i got it to work (the result is upside-down). rising “resolution” makes my computer crash… maybe somebody has an idea how this could work with higher resolution… greetz j

onePixelAtATime_02.v4p (21.4 kB)

If you switch on he debug mode (shift+ctrl+f9 or middle mouse and right lower window), than you can see the performance needs of every node.

I wrote a little pixelshader for you, that makes your stuff. It was my sunday-karma-job ;D

Check the Debug mode and you will see the difference. But in fact I saw just a performance scale of ~600 : 550. So its not too much. Best performance growth gave the Videotexture.node: if you change the waiting frame from 1 to 999, then it havent wait/buffer too long for new frames. (4.0 kB)

Ähem, before starting the patch, you have to copy the pixel.fx to “effects” folder. Otherwise Vvvv wouldnt recognize new shaders.

you are taking samples of many pixels (linearspread->cross) every frame but you are only using one pixel a frame (getslice).

if you’d use the getslice (twice, for x and y) after the linearspread-cross-combo before the pipet you’d save a lot of energy.

wow. thanks a lot for your help guys!!!

hi there, another problem has appeared. i think it s a problem with the “buffer” node. could it be that it takes just about up to 950 frames? i hope i m not too annoying with that thing, but i really would like to get that thing going… pixelshader, for now, is too complicated for me… thanx a lot! j

onePixelAtATime_05.v4p (26.3 kB)

that is definitely possible depending on your graphic cards memory. the buffer node only uses on-card memory.

but maybe you don’t need to buffer all frames. how about turning off the clearpin in the second renderer and only painting one (the newest) quad per frame?