» DX11.Particles
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

DX11.Particles

pack pointcloud force particles kinect2 kinect dx11
Credits: vux for dx11, antokhio / schnellebuntebilder / everyoneishappy for beta testing

about

This pack is a collection of tools and techniques to handle a lot of particles on the GPU.
It also includes tools for dealing with depth cameras like Kinect 1 or 2.

features

  • clean and modular design
  • emit, select, modify and visualize particles
  • very easy customization of particle attributes
  • many different types of emitters, modifiers and selectors
  • kinect calibration for mapping realworld data to the virtual scene
  • hittests, centroids, bounds
  • includes many additional plugins for vvvv ( for example dynamic shaders(!) and MultiBufferRenderer)

getting started

You need:

Installation:

  • Second way (to install the latest version) is to download https://github.com/letmp/dx11-particles/archive/master.zip You have to unpack it and copy "dx11-particles-master\packs\dx11.particles" to your packs folder. Then you have to go to "your-vvvv-dir\packs\dx11.particles\nodes\plugins\" and delete all subdirectories that don't apply to the architecture you are using.
  • The third way (to install an potentially outdated version) is to download the zip file from this contribution page. Unpack the zip file and copy dx11-particles into your packs folder. Be sure to use correct architecture builds.

After installation you can see all nodes of this pack by typing dx11.particles in your node browser. There are help patches for all included nodes that give small examples how to use them.

for developers

You can fork the project here: https://github.com/letmp/dx11-particles
I really appreciate all of your help to let this pack grow. It is quite easy to build new modifiers and selectors. So if you have something that should be part of the pack just get in contact via robert@intolight.de or create a pull request via github.

bugs

Please report any bugs here: https://github.com/letmp/dx11-particles/issues

license

© intolight, 2017
Author: intolight (robert@intolight.de)

This software is distributed under the CC Attribution-NonCommercial-ShareAlike 4.0 license.
If you want to use this pack for a commercial project, please contact license (at) intolight.de and tell us about your project or your goal.

download

dx11.particles_1.0.2_x64.zip
26.06.17 [15:19 UTC] by tmp | 274 downloads
v1.0.3 - x64 (node17 version)
Show 5 older revisions

Older Revisions

dx11.particles_1.0.2_x86.zip
26.06.17 [15:19 UTC] by tmp | 19 downloads
v1.0.3 - x86 (node17 version)
dx11.particles_1.0.2_x64.zip
02.06.17 [16:08 UTC] by tmp | 197 downloads
v1.0.2 - x64
dx11.particles_1.0.2_x86.zip
02.06.17 [16:07 UTC] by tmp | 29 downloads
v1.0.2 - x86
dx11.particles_1.0.1_x64.zip
15.03.17 [13:34 UTC] by tmp | 526 downloads
v1.0.1 - x64
dx11.particles_1.0.1_x86.zip
15.03.17 [13:34 UTC] by tmp | 111 downloads
v1.0.1 - x86

reaktant 12/09/2014 - 22:35

thanks tmp!

can not test right now because my kinect went on a vacation to china,
but this looks really nice.

besides, this made me wonder if packs should be used to bundle existing
contributions into useful and documented/girlpowered collections for specific use cases.

Noir 13/09/2014 - 19:33

Thanks for sharing tmp
looks great
Only one thing I haven't projector(dx11) node...

tmp 13/09/2014 - 19:55

reaktant this is an interesting point and indeed a good idea. there are for example alot of good helper modules (f.e. operandomatic,grid,...) that would be nice to have in a pack.

noir thanks for this hint. i created the projector(dx11) node some weeks ago and it is part of the dx11-girlpower package. (see https://github.com/mrvux/dx11-vvvv-girlpower)
unfortunately the latest vvvv-dx11 zip file is not up to date so all you have to do is replace the existing girlpower folder with the one you can download on github.

Noir 13/09/2014 - 21:16

Ok i'll try to dwnld from github the girlpower and replace it
Thanks tmp

tmp 15/09/2014 - 14:03

I was asked today if the nodes also work with more than 1 kinect. Yes it works ;)

All you have to do is to use the Cons (DX11.Texture 2d) node and merge the depth/rgb/rgbdepth output of each kinect instance.
You can then use the Validator (DX11.Layer) and GetSlice (DX11.Validator) nodes to filter the output layer of the Pointcloud node.

Noir 15/09/2014 - 14:44

Confirm

Thanks again Tmp

tmp 18/09/2014 - 16:42

there is a small update available on github:

  • new Mesh (DX11.Buffer) node to draw a mesh instead of a pointcloud
  • renamed "Pointcloud" to "Visualization" - all nodes that have to do with kinect data visualization find their place there from now on

https://github.com/letmp/KinectToolkitDX11/archive/master.zip

Mitrakas Dimitris 10/12/2014 - 19:31

Hello,

I need some help. I want to calibrate kinect with a projector so i use the "calibration (kinect setup)help.v4p".

I follow the steps and everything seems to go fine. My problem is that i can't understand how i can apply the trasnformation on the joints positions of the "skeleton". I tried to use "applyTrasform" and inserted thw joints positions and the "transform out" from the "calibration" node, but it didn't work. Could someone help me?

Thanks in advance.

cunk111 06/05/2015 - 14:42

There's a comparison between evvvvil, everyoneishappy and tmp'S pointcloud performance innit ?

tmp 08/05/2015 - 16:41

UPDATE

changes in the latest version (08.05.15):

  • introduced a separate node for kinect 2 that uses the kinect2 raytable to calculate world coordinates (instead of fov for kinect1).
  • the texture-based building of pointclouds (kinect1/2 & layer) is a bit faster now (uses numthreads 8,8,1 instead of 64,1,1)

@cunk111: i dont't know contributions of evvvvil or everyoneishappy that are related to pointclouds. so i cannot say anything to performance.

sinus 12/05/2015 - 08:27

THX A LOT! this is a great tut about CS shaders as well. big ups!

timpernagel 21/08/2015 - 11:35

I sense a disturbance in the Force.

tmp 21/08/2015 - 12:01

UPDATE

NEW

  • added forces pack (have a look at girlpower/forceExamples/ and help patches!)
  • camera node has enabled pin and better default values
  • better namings for visualization nodes (Constant, Sprite, Mesh)
  • bang on success in calibration
  • pointsmoothing is a separate module now and gives better results by using an advanced queue (was included in calibration module before)
  • reader and writer for transforms (very useful to save/load calibrationdata)
  • analysis nodes additionally output their data as buffers (so you can avoid expensive readbacks)
  • added alot of enabled pins
  • no distinction between PointcloudBuffer for Kinect1 and 2 anymore -> one node for both
  • pointcloudbuffer can use raw images now (faster - kinect2 only)

FIXES

  • fixed alot of issues with nil inputs for group ids
  • fixed framedrops triggered by kinect2 node
  • fixed oversampling bug for pointcloudbuffer node

There are some features that need the latest build of dx11!
For those of you that are not able to build it: https://dl.dropboxusercontent.com/u/51232449/dx11_x86_x64_2015-08.zip

Have fun! Feedback appreciated! ;)

timpernagel 21/08/2015 - 14:42

Guys, you really have to check out the forces-part of the pack. Is already a lot of fun and contributing of additional stuff highly appreciated. We have the next implementations on the list (verlet + constraints, boids, connectall, sorting, etc.). But if you have already something on your hard-drive, feel free to implement it in the pack and make a pull request. Lets build a(nother) powerful particle-libary!

Ah, and don't miss the MultiEmitterWithGroupedForces.v4p-girlpower patch. Eventbased behaviour-switching!

Luper 22/09/2015 - 08:25

hey! I used it for my installation, thanks!
continuum-interactive-video-installation-in-vvvv

velcrome 30/09/2015 - 16:16

Nice work, Luper. I love the wired canvas :)

Would you mind adding some attribution to the documentation of your project to the benefit of intolight and tmp's work? It has been quite an investment of time and work to get the pointcloud pack to where it is now, hence the creative common license obligation of

  • Attribution
  • Non-Commercial
  • Share-Alike

I can see that this wasn't a project for the big bucks but for the arts, and we also appreciate you giving away the cellular shader as an appreciation in kind, so this might not apply to you at all, but for completeness:
If you want to earn money with it, don't want to mention our name in the context of your installation or give someone parts of the code under different licensing terms, just get into contact with us.
Easy, we don't bite. We just feel it unfair if someone takes the cake we baked without us having a share.

io 14/12/2015 - 02:36

Hallo a couple of question, one is in the forum, pointcloud-layer-with-projector-node, there seems to be a problem when using the Projector node with shift-y as camera.
The second one, I see IDs are disabled in Pointcloud Layer, is there any way to assign different IDs to different objects coming into Pointcloud Layer ?
These objects are defined by a buffered transform IID with Instance Noodle pack.
tx
Simone

tmp 15/12/2015 - 12:59

I uploaded a solution in your forum thread.

Unfortunately I cannot reply to your second question. Can you be a bit more specific? Or even better: upload a small patch that shows your problem.

io 15/12/2015 - 16:47

Hi I ve modified the PointCloud Layer to accept transformations and groupIDs, now this works ok with normal transformation, I ll try some buffered transformation later.

Is it possible to separate position and colour of the particles? I d like to sample colours from the same object but 2 different textures, so I could for example make the object into particles, move them around, change the particles to the other colour from the second texture, compose the object back.
I assume I could just create 2 perfect copies of the PointCloud, one for each texture and apply the same forces but that would involve a double calculation of positions when all I want is just 2 sets of colours.

S.

http://s000.tinyupload.com/?file_id=65015626839706849971

neoshaman 10/04/2016 - 21:37

Hello intolight team, and first of all thank you for this amazing work.

I'm doing a new project in my university (merging pointclouds from multiple kinects and send it to Cinema4D), and now I'm searching for the right tools.
I'm trying Processing, brekel and vvvv... so I'm wondering if it's theoretically possible to merge multiple kinects through bouygroup?

Like in your "MultipleKinectSetup" example, just on different mashines...
I'm new in vvvv, so I can't estimate if this is possible.

It would be great if you could give me some thoughts!!!

Best regards
neoshaman

edit: so it's for kinectV2

velcrome 11/04/2016 - 11:16

hey neoshaman,

to make things short, it is possible to merge multiple kinects (connected to various machines) with pointcloud, but not necessarily with a boygroup.

as you might know, a boygroup can only "distribute" parts of your output to multiple clients, but is not designed to "collect" data from clients at all. so boygrouping might be useful to actually configure kinects over network, but that's about it.

to "collect" various pointclouds into a single one, you have to use a custom network patch. at intolight we successfully used ZeroMQ to that end.

neoshaman 11/04/2016 - 14:34

Hello velcrome and much thanks for the information.

I have some additional questions for this:

Do I need this one for merging in realtime? Would it be possible to record the data separately an merge it afterwards?

What else do I need.. or could you briefly give kind of workflow?

Sorry for the beginners questions... I really don't know where to start.

Best regards

horas 31/10/2016 - 23:26

Hi tmp

I'm trying to use Writer (DX11.Pointcloud Raw) but I'm getting a red node at Writer AsyncRawWriter.v4p and I see you were able to make it work http://bit.ly/2f6rWzv

Could you please share the working file?

thanks in advanced!

tmp 03/11/2016 - 14:40

sorry, i can not reproduce this problem.

did you checkout the latest version on github?
what does tty say?

horas 04/11/2016 - 10:18

Hi tmp,

I just downloaded the latest github version and Writer (DX11.Pointcloud Raw) is working perfect!
Thanks a lot! :-)

skowronski 05/01/2017 - 15:37

I'm trying to work with the Skeleton Node for Kinect2, however I don't really understand the values delivered (PositionXYZ & JointXYZ). Shouldn't the x and y values always lie between -1 and 1 or how do I need to interpret them?

antokhio 23/01/2017 - 18:21

it's in a world space, there was something to get joint's pixel coordinates but i think it's removed for some reason, anyways you should start new forum thread to get help

guest 28/01/2017 - 18:07

hello,

i'm not sure how to split the forcebuffer & ForceIndexBuffer to match the split of the pointcloudBuffer and keep the right forces at the right place, it's possible to filter PC id's at the Visualization stage but it's far slower!

any ideas?
thanks

Sebapes 04/03/2017 - 06:48

Thank You, beautiful work!

matka 04/03/2017 - 17:59

Massive, cheers!

StiX 04/03/2017 - 21:19

simply wow, all seems to be working, top level contrib

StiX 04/03/2017 - 22:22

filterworld with kinect 2 seems to be doing nothing, emitter shows kinect image when connected directly, but shows nothing but pulsating help cube when connected to filterworld

hierro 05/03/2017 - 17:49

Thank you for nice contributions and reaaallly appreciate help patchs :)
Is there a way to obtain a copy of a kinect emitter partciles that can be modified, let's say to produce a continuos trail ?

Actually from the helppatch is applied a Z force, it looks like it reset positions moving all particles away, without replaving them, how does it works ?

Thank you in advance.

circuitb 05/03/2017 - 18:19

wow! this is so cool
thanks

tmp 06/03/2017 - 14:19

@StiX: thanks for the hint! it is fixed on github now

@hierro:

  • 1st question: to produce a continuous trail it is necessary to assign related pixels of two consecutive frames. this task is not that easy and there is nothing available in the pack for it right now.
  • 2nd question: I think you opened the kinect patch from girlpower folder? the particles emitted by kinect emitter exist exactly 1 frame. these particles get copied during that frame to another emitter where the lifespan of each emitted particle is longer and can be manipulated by further modifiers. does that help?
sinus 06/03/2017 - 16:03

this great contrib makes my nvidia driver crash. beta35.2. x64 on win7 x64. please see report from tty. seems to be related to my system. all the other packs including particles pointclouds work fine. do i have to delete the latter? thank you.

Stacktrace
 bei SlimDX.Direct3D11.Buffer..ctor(Device device, BufferDescription description)
   bei FeralTic.DX11.Resources.DX11RWStructuredBuffer..ctor(Device dev, Int32 elementcount, Int32 stride, eDX11BufferMode mode)
   bei VVVV.DX11.Nodes.DX11BufferRendererNode.Update(DX11RenderContext context)
   bei VVVV.DX11.Lib.RenderGraph.DX11DeviceRenderer.ProcessNode(DX11Node node)

00:02:20 ERR : Exception caused by node during update :/77/193/40
00:02:20 ERR : SlimDX.Direct3D11.Direct3D11Exception in SlimDX: DXGI_ERROR_DEVICE_REMOVED: Hardware device removed. (-2005270523)

Stacktrace:

   bei SlimDX.Result.Throw[T](Object dataKey, Object dataValue)
   bei SlimDX.Result.Record[T](Int32 hr, Boolean failed, Object dataKey, Object dataValue)
   bei SlimDX.Direct3D11.Buffer.Build(Device device, DataStream data, Int32 sizeInBytes, ResourceUsage usage, BindFlags bindFlags, CpuAccessFlags accessFlags, ResourceOptionFlags optionFlags, Int32 structureByteStride)
   bei SlimDX.Direct3D11.Buffer..ctor(Device device, BufferDescription description)
   bei FeralTic.DX11.Resources.DX11RWStructuredBuffer..ctor(Device dev, Int32 elementcount, Int32 stride, eDX11BufferMode mode)
   bei VVVV.DX11.Nodes.DX11BufferRendererNode.Update(DX11RenderContext context)
   bei VVVV.DX11.Lib.RenderGraph.DX11DeviceRenderer.ProcessNode(DX11Node node)

00:02:20 - : Stack Trace
00:02:20 - : bei SlimDX.Result.Throw[T](Object dataKey, Object dataValue)

   bei SlimDX.Result.Record[T](Int32 hr, Boolean failed, Object dataKey, Object dataValue)
   bei SlimDX.Direct3D11.Buffer.Build(Device device, DataStream data, Int32 sizeInBytes, ResourceUsage usage, BindFlags bindFlags, CpuAccessFlags accessFlags, ResourceOptionFlags optionFlags, Int32 structureByteStride)
   bei SlimDX.Direct3D11.Buffer..ctor(Device device, BufferDescription description)
   bei FeralTic.DX11.Resources.DX11RWStructuredBuffer..ctor(Device dev, Int32 elementcount, Int32 stride, eDX11BufferMode mode)
   bei VVVV.DX11.Nodes.DX11BufferRendererNode.Update(DX11RenderContext context)
   bei VVVV.DX11.Lib.RenderGraph.DX11DeviceRenderer.ProcessNode(DX11Node node)

00:02:20 ERR : Exception caused by node during update :/77/132
00:02:20 ERR : SlimDX.Direct3D11.Direct3D11Exception in SlimDX: DXGI_ERROR_DEVICE_REMOVED: Hardware device removed. (-2005270523)

Stacktrace:

   bei SlimDX.Result.Throw[T](Object dataKey, Object dataValue)
   bei SlimDX.Result.Record[T](Int32 hr, Boolean failed, Object dataKey, Object dataValue)
   bei SlimDX.Direct3D11.Effect..ctor(Device device, ShaderBytecode data)
   bei FeralTic.DX11.DX11ShaderInstance..ctor(DX11RenderContext context, ShaderBytecode bytecode)
   bei VVVV.DX11.Lib.Effects.DX11ShaderData.SetEffect(DX11Effect shader)
   bei VVVV.DX11.Nodes.Layers.DX11ShaderNode.Update(DX11RenderContext context)
   bei VVVV.DX11.Lib.RenderGraph.DX11DeviceRenderer.ProcessNode(DX11Node node)

00:02:20 - : Stack Trace
00:02:20 - : bei SlimDX.Result.Throw[T](Object dataKey, Object dataValue)

   bei SlimDX.Result.Record[T](Int32 hr, Boolean failed, Object dataKey, Object dataValue)
   bei SlimDX.Direct3D11.Effect..ctor(Device device, ShaderBytecode data)
   bei FeralTic.DX11.DX11ShaderInstance..ctor(DX11RenderContext context, ShaderBytecode bytecode)
   bei VVVV.DX11.Lib.Effects.DX11ShaderData.SetEffect(DX11Effect shader)
   bei VVVV.DX11.Nodes.Layers.DX11ShaderNode.Update(DX11RenderContext context)
   bei VVVV.DX11.Lib.RenderGraph.DX11DeviceRenderer.ProcessNode(DX11Node node)

00:02:20 ERR : Exception caused by node during update :/77/126/101
00:02:20 ERR : SlimDX.Direct3D11.Direct3D11Exception in SlimDX: DXGI_ERROR_DEVICE_REMOVED: Hardware device removed. (-2005270523)

Stacktrace:

   bei SlimDX.Result.Throw[T](Object dataKey, Object dataValue)
   bei SlimDX.Result.Record[T](Int32 hr, Boolean failed, Object dataKey, Object dataValue)
   bei SlimDX.Direct3D11.Effect..ctor(Device device, ShaderBytecode data)
   bei FeralTic.DX11.DX11ShaderInstance..ctor(DX11RenderContext context, ShaderBytecode bytecode)
   bei VVVV.DX11.Lib.Effects.DX11ShaderData.SetEffect(DX11Effect shader)
   bei VVVV.DX11.Nodes.Layers.DX11ShaderNode.Update(DX11RenderContext context)
   bei VVVV.DX11.Lib.RenderGraph.DX11DeviceRenderer.ProcessNode(DX11Node node)

00:02:20 - : Stack Trace
00:02:20 - : bei SlimDX.Result.Throw[T](Object dataKey, Object dataValue)

   bei SlimDX.Result.Record[T](Int32 hr, Boolean failed, Object dataKey, Object dataValue)
   bei SlimDX.Direct3D11.Effect..ctor(Device device, ShaderBytecode data)
   bei FeralTic.DX11.DX11ShaderInstance..ctor(DX11RenderContext context, ShaderBytecode bytecode)
   bei VVVV.DX11.Lib.Effects.DX11ShaderData.SetEffect(DX11Effect shader)
   bei VVVV.DX11.Nodes.Layers.DX11ShaderNode.Update(DX11RenderContext context)
   bei VVVV.DX11.Lib.RenderGraph.DX11DeviceRenderer.ProcessNode(DX11Node node)

00:02:20 ERR : Exception caused by node during render :/77/118/187
00:02:20 ERR : System.NullReferenceException in DX11.Extensions: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.

Stacktrace:

   bei VVVV.DX11.Nodes.DX11MultiStructuredBufferRendererNode.Render(DX11RenderContext context)
   bei VVVV.DX11.Lib.RenderGraph.DX11DeviceRenderer.ProcessNode(DX11Node node)

00:02:20 - : Stack Trace
00:02:20 - : bei VVVV.DX11.Nodes.DX11MultiStructuredBufferRendererNode.Render(DX11RenderContext context)

   bei VVVV.DX11.Lib.RenderGraph.DX11DeviceRenderer.ProcessNode(DX11Node node)

00:02:20 ERR : Exception caused by node during update :/77/192/32
00:02:20 ERR : System.NullReferenceException in VVVV.DX11.Nodes: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.

Stacktrace:

   bei VVVV.DX11.Nodes.Geometry.NullIndirectDrawerNode.Update(DX11RenderContext context)
   bei VVVV.DX11.Lib.RenderGraph.DX11DeviceRenderer.ProcessNode(DX11Node node)

00:02:20 - : Stack Trace
00:02:20 - : bei VVVV.DX11.Nodes.Geometry.NullIndirectDrawerNode.Update(DX11RenderContext context)

   bei VVVV.DX11.Lib.RenderGraph.DX11DeviceRenderer.ProcessNode(DX11Node node)

00:02:20 ERR : Exception caused by node during update :/77/134/7
00:02:20 ERR : SlimDX.Direct3D11.Direct3D11Exception in SlimDX: DXGI_ERROR_DEVICE_REMOVED: Hardware device removed. (-2005270523)

Stacktrace:

   bei SlimDX.Result.Throw[T](Object dataKey, Object dataValue)
   bei SlimDX.Result.Record[T](Int32 hr, Boolean failed, Object dataKey, Object dataValue)
   bei SlimDX.Direct3D11.Effect..ctor(Device device, ShaderBytecode data)
   bei FeralTic.DX11.DX11ShaderInstance..ctor(DX11RenderContext context, ShaderBytecode bytecode)
   bei VVVV.DX11.Lib.Effects.DX11ShaderData.SetEffect(DX11Effect shader)
   bei VVVV.DX11.Nodes.DX11StringShaderNode.Update(DX11RenderContext context)
   bei VVVV.DX11.Lib.RenderGraph.DX11DeviceRenderer.ProcessNode(DX11Node node)

00:02:20 - : Stack Trace
00:02:20 - : bei SlimDX.Result.Throw[T](Object dataKey, Object dataValue)

   bei SlimDX.Result.Record[T](Int32 hr, Boolean failed, Object dataKey, Object dataValue)
   bei SlimDX.Direct3D11.Effect..ctor(Device device, ShaderBytecode data)
   bei FeralTic.DX11.DX11ShaderInstance..ctor(DX11RenderContext context, ShaderBytecode bytecode)
   bei VVVV.DX11.Lib.Effects.DX11ShaderData.SetEffect(DX11Effect shader)
   bei VVVV.DX11.Nodes.DX11StringShaderNode.Update(DX11RenderContext context)
   bei VVVV.DX11.Lib.RenderGraph.DX11DeviceRenderer.ProcessNode(DX11Node node)

00:02:20 ERR : Exception caused by node during render :/77/134/7
00:02:20 ERR : System.NullReferenceException in DX11.Extensions: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.

Stacktrace:

   bei VVVV.DX11.Nodes.DX11MultiStructuredBufferRendererNode.Render(DX11RenderContext context)
   bei VVVV.DX11.Lib.RenderGraph.DX11DeviceRenderer.ProcessNode(DX11Node node)

00:02:20 - : Stack Trace

tmp 06/03/2017 - 16:37

can you upload an example patch that throws this error?
or do you have these errors for all help patches?
did you download the correct architecture?

if you still have problems please use this page and provide as much details as possible:
https://github.com/letmp/dx11-particles/issues

sinus 06/03/2017 - 17:47

thx for your fast reply! i am pretty sure, that i installed the proper architecture. girlpower does not work exept asymp geometry, but without colourfade. plugins work. modules all show the same symptoms. io boxes (string) need a long time to display content. then renderer goes black fullscreen for a second then. tty goes wild. system msg: nvidia driver disabled.
basically all the dynamic buffers make troubles. can do more analysis later. will post in issues. allthebest.

velcrome 06/03/2017 - 20:09

dunno if it helps, but i had to update my nvidia drivers.

dx11.particles requires the newest dx11, which was most likely compiled against a very recent driver

sinus 07/03/2017 - 16:04

because of these strange driver errors i updated the nvidia driver. this issue disappeared indeed. nevertheless none of the modifiers of the pack work on my machine. it takes io boxes(string) quite some time to display content. meanwhile buffers receive 0, what they obviously dislike. more soon at the github/issues. thx!

StiX 07/03/2017 - 22:44

@tmp
another thing, i think there are some problems with calibration and kinect2 as well, not sure the pick points line up with kinect pointcloud properly

tmp 08/03/2017 - 12:02

thanks for the hint! will fix that asap (having no kinect2 atm)

isdzaurov 08/03/2017 - 21:30

Sorry but i haven't this nodes: GetThreadSize, Register its red =(
I use vvvv beta 35.
Thanks! =)

mrboni 08/03/2017 - 23:00

I'm having trouble using custom resource semantics (with a 3d buffer)

Render semantics seem fine

Patch here https://www.dropbox.com/s/dl3wgw5axhp119u/Vortex.zip?dl=1

(look in psys Vortex - nothing is happening when addressing the 3d buffer values and applying them to the force variable)

sebescudie 09/03/2017 - 11:08

@isdzaurov : are you using the latest dx11-pack version?

mrboni 10/03/2017 - 18:40

Is it possible to use a different particles shader on different selections of particles in the same system?

tmp 11/03/2017 - 04:48

yes -> have a look at the filterbuffer node help patch
regarding your previous question -> I will have a look at it on monday or tuesday

hellochristhompson 14/03/2017 - 03:39

Hi there. Amazing contribution. I'm coming from the world of C4D and X-Particles so just getting to grips with vvvv. So much potential! My question is, is it possible to use this pack to load in pointcloud data such as .xyz .ply or .asc. Big thanks!

tmp 14/03/2017 - 12:45

@StiX: please download the latest version from github. issues with pickpoint node are fixed now

tmp 14/03/2017 - 12:54

@mrboni
you are using RenderSemantic(DX11 StructuredBuffer)

so you have to use

StructuredBuffer<float3> rndDir : RND3D;

as Custom Semantic Entry

the other way would be to use RenderSemantic(DX11.Layer 3d) and keep

float3 rndDir : RND3D;
lasal 14/03/2017 - 14:22

Hi guys check this post, you can find a texture based emitter.
https://discourse.vvvv.org/t/dx11-dynamicbuffer-select/14781/13

mrboni 16/03/2017 - 20:53

@tmp - ooops, missed that. Easily done using the dynamic modifiers!

Btw - awesome contribution :)

Also - What's the best way to draw splines following a particle's path? I'm currently trying -

  • attribute buffer (position out) > verlet (3d buffer) > spline buffered

but it's not quite right. Also I don't know how to set the spline count to only the number of alive particles..

everyoneishappy 17/03/2017 - 05:25

@mrboni did you have a look at the example in girlpower? in short you can't use indirect dispatch in noodles (currently). But you can probably still achieve a given effect even with a statically sized buffer (eg scale them out when dying).

mrboni 20/03/2017 - 17:00

@everyoneishappy - got you. That should work for my needs. Thanksya

Luper 21/03/2017 - 20:02

hallo hallo, got some problem with Color! Any ideas?

tmp 22/03/2017 - 01:17

is the technique of the right color node "set"?
what happens if you set the technique of the left color node to "set" instead of "add"?

Luper 22/03/2017 - 14:49

I did it but, SET, ADD, SUBTRACT and MUL , all gives same result... I just updater my graphic card, just in case (GeForce970), but nothing changed
trying the other help files, same problem:

also, I still have the "dx11-pointcloud" and looks like colors works

velcrome 22/03/2017 - 21:49

cannot confirm. here all techniques work as advertised

currently on a 770 gtx

tmp 23/03/2017 - 10:35

@Luper you can contact me via skype or here: https://riot.im/app/#/room/#vvvv:matrix.org

sinus 26/03/2017 - 16:32

@luper. got the same problems. things work in pointcloud pack, but not in dx11 particles pack. no colors, no modifiers. no errors.

could not track down the problem. i think it is related to my win7. what version do you use?

tmp 26/03/2017 - 21:49

unfortunately we could not find a solution for the problem until now.

luper sent me his complete vvvv folder which worked perfectly on my pc. so I assume that the problem is somehow related to the installed driver(s) or his os.

tmp 27/03/2017 - 12:12

ah btw.. luper also uses Windows 7 and has the same issue.
I tested it on Windows 8 -> everything is working.

so at the moment I can only recommend to update to win8 or higher.

tmp 27/03/2017 - 20:40

ok it is definately a problem with windows 7.
it limits the count of bound rwstructuredbuffers to 8 and particles needs 9 at the moment. perhaps I can find a solution for that, but not in the next days. until then I can only recommend you to update windows to at least version 8 :)

tmp 27/03/2017 - 20:40

ok it is definately a problem with windows 7.
it limits the count of bound rwstructuredbuffers to 8 and particles needs 9 at the moment. perhaps I can find a solution for that, but not in the next days. until then I can only recommend you to update windows to at least version 8 :)

StiX 29/03/2017 - 01:21

my question is ... so lets say i have one particle system made from sprites, from that particle system i want to select a part with intersection, and emit from that selection but in phongpoint (so i guess into different particle system?) is something like that even possible? I thought all the names in systems are good for that but probably not? RWstructuredbuffer also operates inside one system i guess

/// AAAAh found filterbuffer in the conversation here, guess i would suggest to put it into selection category :3

tmp 29/03/2017 - 23:24

yes, filterbuffer is the right node for that!
and yes - this node could be moved to selection category :)

StiX 04/04/2017 - 14:44

kinect is heavily messing with my framerate / smoothness

without it i have around 50 fps stable movement

when i turn on kinect node alone, without plugging it into particles, everything is a bit choppy, windows+mainloop, the first parameter in perfmeter is going ham

without kinect:

with kinect:

i know this is probably dx11 thing, stil a bummer

tmp 04/04/2017 - 21:11

can anyone else confirm that problem?

io 15/04/2017 - 18:06

Hallo, I tried both vpm and github but nodes are missing, just to name a couple ScaleFade and ColorFade.
S.

io 15/04/2017 - 18:06

Hallo, I tried both vpm and github but nodes are missing, just to name a couple ScaleFade and ColorFade.
S.

velcrome 15/04/2017 - 21:14

are they really missing, or are they emtpy?
which vvvv did you use it with?

I am asking, because there are still inconsistencies with https-linking of the dtd between alphas and betas.

joreg 16/04/2017 - 14:55
velcrome said
inconsistencies with https-linking of the dtd between alphas and betas

is this something we should be aware of? if so, please elaborate!

io 16/04/2017 - 23:29

I would say they are missing, not available on the descsribed path, using latest version.

velcrome 17/04/2017 - 00:08

problem confirmed with a fresh install.

I guess they are now replaced by ScaleByLifetime and ColorByLifetime, but without a diffff.xml this change breaks patches (including help patches)

tmp 18/04/2017 - 11:04

Yes, ScaleFade and ColorFade were renamed in latest version on github.
They are called ScaleByLifetime and ColorByLifetime now.

Additionally there are new nodes called ScaleByDistance and ColorByDistance.

Sorry for the circumstances! The pack has a versioninfo and a diffff.xml now, so this cannot happen anymore ;)

guest 02/05/2017 - 06:00

How to control the number of emitting/max. particles? In the KinectSetup example patch, the amount of emitting particles can be increased by entering a lower number than the standard 100 in the Mod node (hope that’s the correct way). But with more particles, the emission stops in certain intervals. Seems that there is somewhere a restriction of the maximum number of particles. How to adjust/increased it?

Edit: Yeah, I think I understood now: The number for the Mod node is counting the points from the Kinect texture. 100 means that particles emitting from every 100th point. 1 means particle emitting from every point. There is one emitter who is fed with the resolution of the Kinect depth map, which defines the emitter size. Increasing this number extends the max number of particles.

Edit 2: Well, it seems that the performance drops down significantly when trying to make a more dense emission by emitting from every 5th point (also, I causes a kind of regular grid) . Could it be possible that multiple particles emitting from the same point and thus things getting slow? Maybe there is a way to restrict the emission my using filters on the Kinect textures? I tried with blur and masks, but it seems that the textures doesn’t work anymore when applying filters. Any suggestions?

tmp 02/05/2017 - 10:58

Hi guest,

"Could it be possible that multiple particles emitting from the same point and thus things getting slow?"

  • > Check the "Emit Count Per Particle" pin @ Emitter RWStructuredBuffer node. It should be set to 1.

"Maybe there is a way to restrict the emission my using filters on the Kinect textures?"

  • > You can do that by decreasing the resolution @ Emitter Kinect node.
manuel 02/05/2017 - 21:55

Hey guys

im getting some red nodes, coming from DX11.Extensions.dll
I try to load the DLL on the vvvv patch to see if find the correct path, but only loads the filepath. it doesn't open the dialog to select which node u want to use from that DLL
any hint?

using win 10 64, vvvv 50beta35 clean with dx11 pack and dx11 particles

guest 03/05/2017 - 07:13

Thanks tmp!

Count per particle is set to 1. Reducing the Kinect resolution seems to have the same effect as changing the value in the Mod node, causing a regular emission grid, that I actually would like to randomize a bit. Btw, is there a way to set the lifespan of the particles (in the dx11.pointcloud version too)? I am thinking of reducing the lifespan depending on the amount of Kinect players in order to retain smooth performance.

tmp 03/05/2017 - 12:13

@manuel:

where did you get the particles pack from? latest github version? did you follow the installation instructions? did you download vvvv/dx11/dx11.particles in the same architecture? Please use TTY Renderer and paste error messages here.

@guest:
If you want to randomize it, you should use the mod-selector and play around with value + offset inputs.

There is no lifespan in dx11.pointcloud. So you should use the particles pack for this kind of behaviour. In general I recommend not to use dx11.pointcloud anymore ;)

manuel 03/05/2017 - 22:46

@tmp

manual didnt work

now downloaded github version AND used .vpm so its working

notice when I tried the link of the vpm here, it wasnt freeze loading but never appeared to confirm download

guest 04/05/2017 - 12:03

Hi tmp,
adjusting the Mod "offset" doesn't change anything, even with different values on Mod "input". I tried a workaround by masking out the Kinect textures with noise, so that random pixels are black and not emitting. This works visually, but it seems that it doesn't affect the performance and the counted particles in relation to the max number. Even tried to mask out 80% on all Kinect textures, but the performance and particle dropout is similar to having no mask at all. So it seems that somehow invisible particles are around. Did a patch that illustrates the problem, but can't upload it here.

guest 05/05/2017 - 18:15

@tmp
This screenshot illustrates the grid emission when setting the Mod input to 39. Guess every 39th pixel of the Kinect texture is used for emission. I’m wondering if there is a way to achieve a more irregular emission. For example emitting from every point, but rather than at every frame all together, in random intervals for each point. That would already cause a more natural distribution without too much load.

tmp 05/05/2017 - 18:27

you could write a custom selector that takes a dynamicbuffer with 0 / 1 values as input.
this should be an easy task if you have a look at the existing selection nodes.

guest 06/05/2017 - 06:45

@tmp

Writing a custom selector is beyond my knowledge. But the “Filter DX11.Pointcloud Texture 2d” works with the trick of using a noise texture to filter out some particles randomly. Is there an equivalent filter in the current pack?

Also, with the Pointcloud pack, a seamless emission from every Kinect texture point is possible. But in the new pack, when setting the Mod input to 1, it emits only from some parts every few seconds. A seamless emission is only possible by increasing the mod input, which decreases the emission grid. Increasing the emitter size leads to some more particles, but for the cost of a massive framerate drop. Tests are done with the Kinect Setup patch.

guest 07/05/2017 - 11:20

@tmp: Please help with some advise on the Kinect emission rate in the new dx11.particle version. I totally stuck when trying to emit from every Kinect pixel/point. As this worked fine in the old pointcloud version, it should be somehow possible with the current. Many thanks!

velcrome 07/05/2017 - 18:54

hey guest,

would you mind opening a new thread for your problem? this seems to be quite specific, tbh. and while you are at it, please upload any patches you have so far, so people have an easier handle on what you want to achieve, what you've tried and where exactly you failed. this contrib thread is a place for general discussion about the contrib.

anyway, from my understanding, all particle clouds from the kinect emitters are supposed to be very shortlived (as in one frame only). so if you want to have a longer-living "dust" from the body, you should create a secondary particle system (best with a different name) and emit from (selected and filtered, if you may) particles of the first particle system.
the reason for this is plain: as of now it is impossible with the pack to have a clean and solid id continuity between points of any depth cam. and that is the same as with the old pack, really.

hope that helps, otherwise please open a new thread

guest 07/05/2017 - 22:08

Hi velcrome,
Created a new thread here: https://discourse.vvvv.org/t/dx11-particles-kinect-emission-density/15101 with patches, if you want to have a look.

neoshaman 11/05/2017 - 09:35

Hello and thanks for this amazing upload.

I have a problem, most of the nodes are red. I installed the package like mentioned in the "Second Way" and have the latest master build from github. Any ideas?

Picture with tty attached.

Best regards
neoshaman

tty
velcrome 12/05/2017 - 01:54

do you have the addonpack installed?

neoshaman 12/05/2017 - 04:08

Man, somehow my addonpack and my dx11 library was deleted after I was installing vpm. I had some wired errors after installation and didn`t realize that some libs are missing.

Thanks!

neoshaman 24/05/2017 - 07:33

Hello again,

your particles are avvvvesome, but somehow I still have some red nodes. I've tested almost all help files and figured out that six nodes are red:

Constant(DX11.Particles.Effect) > ConstantGeometry
DynamicModifier(DX11.Particles.Modifiers) > Modifier_Skeleton
Scale(DX11.Particles.Modifiers) > Modifier_Scale
Target(DX11.Particles.Modifiers RWStructuredBuffer) >Modifier_Target_RWStructuredBuffer
Point(DX11.Particles.Effect) > ConstantPoint
Emitter(DX11.Particles.Emitter Layer) > BufferUtils_UpdateCounterBuffer

Do you know what to do?

Cheers

redisgreen 24/05/2017 - 17:26

Hi,
I got a problem figuring out the kinect calibration (calibration(dx11.particles.kinect)help.v4p). I'm trying to calibrate on a xy-plane, but since the PickPoints are on xz-axis the calibration turns out wrong. I didn't find a way to rotate the PickPoints before calibration (which worked in pointcloud if I remember correctly). Is there any way to do this?

cheers

sebescudie 24/05/2017 - 17:44

@neoshaman : are you using dx11 latest release ?

neoshaman 25/05/2017 - 09:21

Newest version of vvvv and dx11 installed. Still same problems.
Hmmmm.....

tmp 02/06/2017 - 16:18

for all users who don't want to download the latest version via vpm or github:
I uploaded the latest version as zip to this contributions page.

changelog highlights:

  • big performance improvements (especially on startup)
  • experimental chunk logic (import ascii/ply/obj pointclouds and generate chunks -> stream them with LOD. have a look at girlpower folder)
  • cloneable templates for emitters/modifiers/selectors
  • geometry emitter (have a look at girlpower)
  • better vectorfield handling and debugging
  • a lot of small bugfixes

complete list here:
https://github.com/letmp/dx11-particles/commits/master

matka 02/06/2017 - 18:19

thanks man, seems like there are some assets missing in girlpower

tmp 03/06/2017 - 00:43

what exactly do you miss? if you are talking about the chunk example, you have to follow the instructions to generate the assets. they are not included because they would blow the filesize of the pack.

matka 03/06/2017 - 14:06

Ok cheers, haven't found girl.obj from geom assimp so I thought some stuff from chunk example was mnissing. All good

graphicuserinterface 21/06/2017 - 17:03

hello, is there a way to feed this particles data to noodles? cheers!

Noir 21/06/2017 - 21:40

@graphicuserinterface
Yep
check the girlpower folder there is a proper example

tmp 26/06/2017 - 15:21

updated to latest vvvv & dx11 version

anonymous user login

Shoutbox

~9h ago

tonfilm: thanks @sunep!

~12h ago

timpernagel: We've just added two more clips of the "Programming DMX and visualizing with grandMA2"-Workshop to the workshop-blog post.

~1d ago

svdk: I plan to release all the patches involves as soon as they're cleaned. Greeting from Strasbourg

~1d ago

svdk: hi!saw you had a lot of fun @node 17.Disappointed I couldn't make it!. Some video I made using vvvv 4some parts. https://goo.gl/1UM8Bp

~1d ago

okvrdz: @joreg Thanks!

~2d ago

sunep: happy Birthday @tonfilm

~2d ago

microdee: @synth: care to make an issue on github with console output?

~2d ago

synth: @microdee cant install DX11 with it, cant choose not to install it either. Cant install anything without disregarding dependensies

~2d ago

joreg: @okvrdz i recommend starting here: topics it should give you a good overview of what's all there

~2d ago

microdee: vpm is updated and DO update as it fixes an issue with new latest DX11 script https://github.com/vvvvpm/vpm/releases/latest