» CiantParticles - 16000000p GPU Particle System + Kinect
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

CiantParticles - 16000000p GPU Particle System + Kinect

plugin 2d 3d fire gpu kinect particles


Ciant Particles

is a particle system on GPU.

With a number of applied forces it can operate millions of particles. You can take vertices of a mesh as an input for particle positions, describe their movement with a number of parameters, combine them with geometry and other objects and create beautiful spectacular real-time effects. You can connect this particle system to Kinect, sound input or usb camera. See how, in a tutorial. Possibilities are really wide.

To create a particle system:

  1. Set input positions for particles (patch CiantCreatePositionsTexture)
  2. Set parameters and forces for particles (size, color, texture, ...)
  3. CiantParticles outputs a layer .. render it!

Every step is described in the tutorial.

The particle system is my dissertation. So if you try it, use it, or make some performances, tell me. Post pictures here, or send me an email: apu@email.cz
There are many ways the particle system could be improved, many bugs that need to be slapped. We can cooperate on that. Documentation is inside.

I am still working to improve the particle system.

Big thanks to
hiero?, phlegma? and all the creators of OpenNI Plugin - I used it.
Matthias Zauner? and his diploma Character Animation in vvvv - I used it.
dottore? ParticlesGPU_Shader_Library - I leared from it.
:) Martin.


30.12.11 [18:26 UTC] by Martin Zrcek | 2644 downloads
big bug fix and more examples
Show 3 older revisions

Older Revisions

28.12.11 [03:27 UTC] by Martin Zrcek | 528 downloads
Kinect added, some bugs added
22.12.11 [11:14 UTC] by Martin Zrcek | 446 downloads
Particles rotation, Torque and some bug fixes
22.12.11 [11:12 UTC] by Martin Zrcek | 734 downloads

Noir 29/11/2011 - 23:04

Cool contribution

xd_nitro 30/11/2011 - 03:47

this looks cool but doesn't run on my GTX 460M. blank renderers. Also getting quite a few vvvv violation errors and locking up. :(

mediadog 01/12/2011 - 05:46

Wow! Works for me, but not Strawman - blank renderer, and vvvv is very unresponsive. No CPU or GPU load, though, and no bad messages in TTY - on Win7 x64, GTX570. Thanks!

Martin Zrcek 01/12/2011 - 12:06

Help file Strawman is just a more complicated version of the other files .. that's weird. Try this less computationally expensive version of that more complicated file:kivi.tym.cz/upload/StrawmanSimplified.zip (and press 'R' reset few times)
or .. have you tried turning your computer off and on again? :)

Your graphic cards are definitely good enough, maybe after more people write here, we will be able to see the problem.


philip 01/12/2011 - 13:51

great stuff. wow! thanks!
win7 x64 ASUS 6950

tgd 01/12/2011 - 13:58

having exactly same case like mediadog reported. The simplified version does not help :(
win7 64, gtx 560 w. latest drivers.

mediadog 01/12/2011 - 17:47

Simplified does the same thing (your link above doesn't work without clipping out vvvv.org).

I don't think it's a CPU problem; my CPU use never gets above 25%, with any core going above 60%. My CPU is a quad 4.3GHz i5. Graphic cards show no use at all. I do have a dual card system (GTX550Ti & GTX570Ti), but I get the same results on each.

I have seen this behavior with other patches, so don't feel too bad. Those were using shaders too, so perhaps something connected to those is not working properly under Win7 x64. It also may be some I/O blocking due to textures - just guessing.

I get an access violation on exiting, 0x0040480C in vvvv.exe read of 0xFFFFFFFC (unfortunately not uncommon).

mediadog 01/12/2011 - 17:56

Also just wanted to say again thanks, been going through the patches and shaders, VERY educational!

everyoneishappy 01/12/2011 - 20:51

Cool- works for me on my win7 x64 machine. Card is NV GTX 460M.

mrboni 01/12/2011 - 21:16

Everything working except strawman.

Black renderer and access violation error when renderer is on 2nd output head

nice tho

Martin Zrcek 02/12/2011 - 03:14

Ok, try these simple parts of Strawman:http://kivi.tym.cz/upload/CiantParticlesPartsOfStrawman.zip
Maybe the problem is in culling behind geometry (rendering a black object in front of particles), which is the only thing added in Strawman.

I use a 2 years old notebook, with Win7 x86, core2duo 2.26GHz and GeForce 9600M. So even the graphic card shouldn't be the problem.

Here are some settings of fuzzy force (nothing else), to warm you up :)

Fuzzy possiblities (continuity .95, small randomSpread)
mino 02/12/2011 - 03:18

Thanks for great contribution!

I cannot see strawman, too. looks graphic card freezing!
Win7, 64bit, GTX 460.

OnlyAnimatedPs and OnlyFire works fine.
But OnlyGeometry same problem...

Windows ActionCenter reports "video hardware trouble" and
"LiveKernelEvent" is event name. helpful?

barbarerik 02/12/2011 - 11:35

GTX 560, win7 X64
Helps are ok
but ParticleFire renderer is black

DiMiX 02/12/2011 - 11:46

thanks. cool
everything working with win7 64
Nvidia quadro FX 3700M

mediadog 03/12/2011 - 08:08

Tried the PartsOfStrawman files, and all worked fine except the OnlyGeometry file, which exhibited the grey renderer and very slowwww vvvv interface response with low CPU and GPU use. Hmmmm....

Martin Zrcek 03/12/2011 - 10:41

Thanks a lot for your participation. This should be the last, all problem solving patch.
http://kivi.tym.cz/upload/CiantParticles help04_Strawman noSkyDome.v4p
Clouds are disabled.

mediadog 04/12/2011 - 07:32

Bingo! Works great. Thanks again!

h99 07/12/2011 - 15:32

Hi all
got those artifacts using CiantParticles help04_Strawman noSkyDome.v4p, no problems with other help files. The screenshot is a two shots merged image, to show artifacts are the same (making me think it's hardware issue).

XPsp3, geforce9600gt

Martin Zrcek 20/12/2011 - 14:06

Sorry, h99. I don't know what did those horrible things to your render.

Martin Zrcek 20/12/2011 - 14:12


I need you to send me some pictures you made, previews of your shows, or even if you plan to make something, or even if you're thinking about making or doing something with this particle system. It doesn't matter what quality it recently is, just send it.

I need it for my diploma.
And if you send something, I will make this PS much batter.


Martin Zrcek 22/12/2011 - 12:42

I just added rotations of particles according to direction of their movement, fixed the Torque force and some others. There are also 2 more help patches to show rotations.

you can enable rotations now
DiMiX 22/12/2011 - 22:00

I was wondering if you could give some advice to this matter:

mediadog 29/12/2011 - 04:35

Martin, thanks again for such a fabulous contribution! But I'm seeing something with the size of the sprites that I don't understand:

If I run help01, and then in the renderer move the camera far away by "P" + mouse-right-drag-up, say all the way to the clipping point, then zoom in by "Z" + mouse-right-drag-down until the image appears about the same size, the sprites are now very small. In other words, they appear to have remained at their apparent distant size although the FOV has magnified the scene. The reverse happens if you move closer and widen the view; the sprites get much larger.

Is this intentional/unavoidable? Ideally I'd like to be able to set the size of the sprites in "world" terms and have them stay that way. Is this related to the "Height" parameter?

Hmmm, just found an easier way to demonstrate this: reset the Softimage camera with a long "R" press, then right-drag the Camera "Initial FOV" input pin smaller to zoom in - the structure gets bigger but not the sprites.

Martin Zrcek 29/12/2011 - 09:41

the part of rendering pipeline:
in vertex shader:
get xyz position and multiply it by WVP matrix to move to clip space
get sprite size: Out.Size = particleSize / Out.Pos.w * viewportHeight/2;

graphic card does:
on each vertex place a picture of defined size:
FillMode = POINT;
PointScaleEnable = true;
PointSpriteEnable = true;

pixel shader:
get fragment color

The thing is that I don't send triangles to rasterization (4 points + topology, too time consuming). Only points and let graphic card to place picture on each of them (1 point). Their size depends mainly on "Actual Backbuffer Height", which is distributed from renderer to viewportHeight pin.
You can try to put huge images like 2048*2048 as a texture, or make an animation (textureSubdivision parameter), that's the good part. I saw this technique in some vvvv patch here, but don't really know where.

Martin Zrcek 29/12/2011 - 11:53

p.s. Just multiply the particleSize or viewportHeight if you change FOV. (get FOV from Camera) The result should be exactly the same, I guess.

Martin Zrcek 30/12/2011 - 19:33

I just added a kind of a last contribution for some time. Here you can find useful Kinect things and some examples. I have a problem with skinning kinect skeleton, so if you solve it, upload it please.

Here is something to warm you up :)

Do you wanna meet heaven, or hell? :r) Can't wait.
matka 31/12/2011 - 13:44

super prace, chlapi!! zdravim z Barcelony, pokud budete mit zajem ozvete se pres Skype Matkainc, veselyho silvestra!!

sonofsnow 27/01/2012 - 12:14

I am having problems with the kinect part. The RGB and Depth Node are red but it dosent say anything about missing .dll.
I am not into the world og programming. Only started with vvvv for a couple of months ago so any help would be appriciated.

Primsense drivers are up and running and the kinect works great with Kinect_OpenNI_Library_1.2.

Tnx for a facinating program and contributions =)

ggml 27/01/2012 - 13:02

regarding kinect install problems, check the updated install instructions here openni-plugin

Yojik 30/01/2012 - 21:06

Hm, i have the same problem: red nodes (RGB and Depth) without messages about missing dll. And grey Skeleton node becomes red when i come into kinect visible area((

patches fromopenni-plugin">openni-plugin works well.

heelp!) i need somebody help!)

ksp 20/02/2012 - 22:49

i too am having problems with this.
i have got the demo "CiantParticles help04_Strawman OnlyGeometry.v4p" to work by changing the texture format of the DX9Texture to "X8R8G8B8" but can only get this patch to work and nothing else.

robe 06/03/2012 - 14:08

I think the Kinect Implement doesn't work anymore with the new Kinect Plug-in in B27, Can anyone confirm this?

u7angel 08/06/2012 - 09:43

i'm starting to love this contribution. good work and thank you.

Martin Zrcek 13/06/2012 - 17:40

Glad to hear you still know about this contribution. I'm preparing a big update with new functions. But it still needs some big corrections.

About the Kinect Implement: This part is really marginal. You can use actual OpenNI SDK or Vux's Microsoft's SDK to get depth and rgb texture. It's only a picture. The rest in the patch is just a linear interpolation of points, not important.

synth 20/06/2012 - 19:48

@robe , yeah this kinect implementation is not working anymore , i managed to change the nodes CiantKinectImplement.v4p and see something but overall you just have to change too many nodes to make it work properly .
it may also be due to my total noobness in vvvv but yeah ... will be great if Martin can rework the patches with either the new modules in b27 , they work very well so far
@Martin - i did not mean to offend , just as a noobie i am finding it hard to rework it so i can see the efects

u7angel 22/06/2012 - 12:39

looking forward for the big update :)

Martin Zrcek 16/02/2013 - 15:16

Hey guys, somebody told me on NODE that you made some great stuff with this and I didn't have time to see. Now I forgot who was it, but definitely I want to see! Send me a message please: martin@probenesov.cz

metrowave 19/02/2013 - 17:29

Hi Martin, it was very nice meeting you at Node and have a good chat. let's keep in touch. Best of luck in your new projects.

Martin Zrcek 19/02/2013 - 19:28

Yes, NODE13 was good in coincidence meetings :)

Curveau 10/03/2013 - 14:21


Thank you for a great looking contribution!

I'm just having an issue getting the Kinect examples to run.

The 'configuration' node error was fixed by dragging the kinect.dll onto _root.v4p - however am still showing a red node with 'users', 'rgb', 'depth', and 'text'.

I am really keen to get this up and running as see lots of great possibilities.

Maybe I should use an earlier version of VVVV(?)

Any help would be much appreciated......

Please see the screenshot for clarification:


anonymous user login


~6h ago

microdee: @fibo: vvvv is delphi in its core, it just interacts with .NET with com visible objects under the hood. VL on the other hand...

~1d ago

drupal_admin: hello. maintenance reboot at 1am. save your work. back in a few minutes

~2d ago

fibo: lol now AWS Lambda supports C# ... does it mean we will see vvvv cloud version?

~2d ago

joreg: @pdubost great, i'd love to see this in our gallery 24

~3d ago

skyliner: @pdubost: vvvvery good!

~3d ago

gerrit: Any recommendations for interesting / exciting booths at IAA? Any good media installations? Somebody made something with vvvv? Thx

~3d ago

microdee: @matka: nope because the SD card got full and we never received an empty one :(

~3d ago

matka: Do we have recordings of the second part of PBR Rendering workshop at NODE17?

~5d ago

pdubost: latest personal project thanks devs and @mrvux for Box2d :) https://vimeo.com/233756367