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

Instance Noodles

pack geometry shader compute shader dx11 geometry
Credits: Super thanks to Vux, for making DX11 pipeline freely available for VVVV.

about

Alpha 0.3 "Tonkotsu"

Instance Noodles is a modular patching system for Compute & Geometry shaders in DX11/vvvv. Inspired by the fast & pleasant workflow in stock vvvv this lib aims to bring the same visual flow programming approach to GPGPU calculations & procedural geometry manipulation.

Made with VVVV 34.2 & requires DX11 pack 0.6.1 or newer, and a GPU that supports Shader Model 5. To install just place in /packs folder.

Introductory workshop on vveekend vvorkshops: https://www.youtube.com/watch?v=NF3m_hSAj2g&feature=youtu.be
Github: https://github.com/everoneishappy/InstanceNoodles

Substantial amounts of code borrowed from Vux, UNC, Microdee et al. If there is something that should be credited that's not just let me know.

Feel free to use in your creative & commercial projects, just please make sure to give credit as per license below.
CCBY 2016 http://everyoneishappy.com

http://creativecommons.org/licenses/by/4.0/

download

InstanceNoodles.zip
23.07.16 [07:21 UTC] by everyoneishappy | 2023 downloads
Alpha 0.3 "Tonkotsu"
Show 3 older revisions

Older Revisions

InstanceNoodles Alpha 0.2.1.zip
01.12.15 [02:20 UTC] by everyoneishappy | 621 downloads
Alpha 0.2.1 fix for deformer nodes not working on some machines
InstanceNoodles_Alpha0.2.zip
01.11.15 [04:14 UTC] by everyoneishappy | 286 downloads
Alpha 0.2
InstanceNoodles.zip
07.09.15 [08:19 UTC] by everyoneishappy | 661 downloads
Alpha 0.1

lecloneur 07/09/2015 - 07:33

yeah super contrib !

sebescudie 07/09/2015 - 09:34

seems that you can learn a lot from that contrib :)
thanks !

velcrome 07/09/2015 - 10:54

very impressive!

Noir 07/09/2015 - 11:30

>>>Awesome
Thanks for sharing

catweasel 07/09/2015 - 12:15

Great stuff! I shall look forward to diving in...

everyoneishappy 07/09/2015 - 13:10

Thanks chaps, hope it's useful

Gareth.Griffiths 07/09/2015 - 18:03

Nice duuuude!

SuperflysiNZ 07/09/2015 - 21:44

Great work!

m4d 08/09/2015 - 00:51

whaaa..?

(head explodes)

matka 08/09/2015 - 11:12

Thanks Kyle, massive work! Seems like Instanced_Transform(GSFX) is not included.

everyoneishappy 08/09/2015 - 14:56

Ahh that is from an earlier prototype. You can maybe try to replace it with TransformBuffered (DX11.GeomFX). Which patch was it in still?

matka 08/09/2015 - 15:48

GetSlice (Transform Buffer) help

ddf 10/09/2015 - 08:07

Very comprehensible. Very clear girlpower. Thank you.

Abduct 10/09/2015 - 16:46

Thanks Bro!

microdee 13/09/2015 - 01:02

amazing and inspiring stuff! Several geomfx's were missing from couple of modules like PassThrough. It was simply not there not even a red node. That could have been fixed if geomfx's were put into *pack*/geomfx instead of next to the modules, well this applies to fx's as well (*pack*/dx11).

graphicuserinterface 13/09/2015 - 18:48

MASSIVVVVE

everyoneishappy 15/09/2015 - 07:48

@microdee haven't been able to replicate, you wouldn't happen to have gsfx files of the same name already elsewhere would you? And you are right of course about proper pack structure, I did it a bit different as I don't want all of these fx files coming up in my nodelist when they are mostly just meant for use in their companion module. Only checked the one you mentioned though.

Desaxismundi 19/09/2015 - 16:15

MEGA!

circuitb 20/09/2015 - 10:55

wonderful contrib!!!

just a note:
if you disconnect the Geometry from DisplacmentMapping (DX11.GeomFX).v4p
it crash...just add an AvoidNil (spreads) before the Max Elements pin

everyoneishappy 21/09/2015 - 03:21

@circuitb thanks for the tip. I'd been using a max node to prevent a 0 being sent, but a nil would indeed pass through that. I don't get it here, but it might be a card behavior difference. Do you have that same behavior with all of the DX11.GeomFX in this pack? will put the fix in all of them if so.

elektromeier 21/09/2015 - 06:47

Hmmm, how to use the framedelay nodes? i figures out that the delay incomming data by one frame but they are not framedelays in a traditional vvvv way and dont allow to patch loops.

everyoneishappy 21/09/2015 - 08:30

@elektromeier afaik it's not possible to make that kind of patched feedback loop with compute shaders in vvvv. You might check this with Vux though. The nodes are just there to provide last frame's data, which is still useful for many algorithms.

circuitb 21/09/2015 - 12:35

@everyoneishappy

for me the crash also occur on my laptop...
so gtx780ti or gtx970m

the bug occur when you don't have a Geometry input feeding this chain

1/ IID (instancer module)
2/ Gsfx without IID output like the VertexNoise (DX11.GeomFX) or DisplacmentMapping (DX11.GeomFX)
3/a final Gsfx pass with IID input like TriFrame or PipeWire

please see patch and report
https://www.dropbox.com/s/tco0vrucnhel2fz/IIDcrash.v4p?dl=0

thanks

everyoneishappy 22/09/2015 - 09:56

@circuitb great, will fix for next version, cheers :)

StiX 26/09/2015 - 17:47

thanks for the contrib!

splinebuffer spline count works only up to number 4, is that intended?
how do i use buffer for a radius then?
also any advices how to make a gradient run throu spline? havent figured that one out yet :3

everyoneishappy 27/09/2015 - 02:43

@stix

  • Spline count works here, did you try with the help patch? Be sure to take loop off if you are not making loop paths.
  • The radius buffer is lets you set thickness per spline. May add a per segment mode later as well.
  • Do you mean to texture with gradient or? in that case just use gradient (dx11.texturefx)
circuitb 27/09/2015 - 15:19

+ 1 for a per segment radius :)

StiX 27/09/2015 - 22:32

yap thanks, everything works my bad :3

everyoneishappy 28/09/2015 - 05:05

@stix, circuitb
radius per buffer done & will be in next version.

dannielmach 28/09/2015 - 10:47

amazing...:)

StiX 28/09/2015 - 11:18

cool :3

matka 29/09/2015 - 12:11

Is there a possibility to get rid of diagonals in PipeFrame (DX11.GeomFX)?

everyoneishappy 30/09/2015 - 02:19

@matka I think you would have to do that in HLSL in the GS section of the shader in that module. Basically you'd need to compare the sides of each triangle and not emit geometry for the longest. You would probably also have to change the IID output as it may be variable then (eg equilateral triangles)

matka 30/09/2015 - 09:39

thanks, i'll try to do my best

everyoneishappy 12/10/2015 - 11:23
matka said
Is there a possibility to get rid of diagonals in PipeFrame (DX11.GeomFX)?

Added extra technique to it for next version. Can't really add diagonal suppression as it's own module, as all of these expect and return triangles atm.

matka 12/10/2015 - 14:36

legend!

mocomatics 27/10/2015 - 17:47

wow!

everyoneishappy 01/11/2015 - 04:21

Alpha 0.2 Stuffs

New Nodes

Geometry

  • Kinect2Face (DX11.Geometry)module wrapping HDFace
  • Writer (DX11.Geometry OBJ) obj writer with instance ID to mesh subset support
  • Merge (DX11.GeomFX)flatten cpu transforms to a single mesh, or multiple instance batches to a single one
  • PN_Tesselator (DX11.GeomFX)smooth tessellation

+some nice deformers, thanks to UNC for smooth normals trick.

  • Deformer (DX11.GeomFX)
  • SurfaceDistortions (DX11.GeomFX)
  • Wobble (DX11.GeomFX)

Compute

  • Transpose (Transform Buffer)
  • SwapDim (2D Buffer)
  • SwapDim (3D Buffer)

Layer

  • GouraudDirectionalBuffered (DX11.Layer)

____

Changed /fixed Nodes

  • IID (DX11.GeomFX) fixed nasty crashing bug on changing to nil geom. Now reverts to a box now when there is no geometry to instance.
  • SplineBuffered (DX11.Geometry) now supports radius per control point as well as per spline
  • Removed uv passthrough in UV_Coords (DX11.GeomFX) to allow geometry with no uv. Did some fixes to uv modes and moved them to modules\Common\UV.fxh Added UV mode options to control maps for Triframe, CutTriangle & Extrude.
  • BuildTextureArray (DX11.TextureFX) fixed reverse ordering of textures bug
  • Cross (3D Buffer) fixed disconnected link
Noir 01/11/2015 - 22:11

cool update
thanks man

Venkman 02/11/2015 - 11:50

just replaced alpha_0.1 with alpha_0.2 and nothing works anymore :(
I'm on win8.1 x64, GeForce 980m

AKa-visuals 02/11/2015 - 21:39

Latest geomfx that use the smooth normals formula don't works correctly for me. Anyone tested this?
At the moment rest of the pack works good.

everyoneishappy 03/11/2015 - 00:01

@Venkman I guess you should do a clean install of the pack

@aka is there something missing or red nodes? Or do you mean behavior is incorrect/unexpected?

everyoneishappy 03/11/2015 - 00:32

just checked with Catweasel- Deformer (DX11.GeomFX) & SurfaceDistortions (DX11.GeomFX) seem to be fine. Wobble (DX11.GeomFX) had a broken reference to the gsfx file inside though. Will fix for next version.

You can replace the v4p file with this one if you want, should work then: https://www.dropbox.com/s/a72w5wca6qtpt36/Wobble%20%28DX11.GeomFX%29.v4p?dl=0

SuperflysiNZ 03/11/2015 - 11:47

Having a bit of trouble with the Queue (Value Buffer) Help patch, after switching to my sound input, the non Value Buffer side works fine (bottom Preview), but the top is black. No red nodes, but just doesn't seem to be passing anything on.

AKa-visuals 03/11/2015 - 22:17

@everyoneishappy No red nodes,,, everything works except this behaviour in Deformer (DX11.GeomFX) & SurfaceDistortions (DX11.GeomFX), wobble didnt try,, think could be because of the graphic card. will test in other computer.

everyoneishappy 04/11/2015 - 12:14

woah 0-O

That's kind of cool... but obviously not right. Let me know how you go on your other card. Funny it worked for us- are you on Nvidia or AMD?

AKa-visuals 04/11/2015 - 12:57

Yeah at last I have a superglitch genomfx jejeje. I getting nice stills. Actually tested on an nvidia card in laptop.Thanks for the reply will try amd to check .

sinus 04/11/2015 - 13:57

thx for the great update! everythingsfine with beta 34.2 64 bit under win 7.

dd

newemka 05/11/2015 - 09:37

I have superglitch geomfx like Aka-visuals, on win7 geforce GTX 560m.

everyoneishappy 05/11/2015 - 10:43

hmmm, hard to fix without seeing it. From looking at it it seems like the streamout might be offset or misaligned.

Same with this one?
https://www.dropbox.com/sh/joybct4jhveoeio/AABFs6h3d8d0z_lvpxaan5dna?dl=0

AKa-visuals 05/11/2015 - 13:50

@everyoneishappy This one works,,,at last. whats the thing ??
can you upload same version of the other geomfx?
thanks man !

everyoneishappy 05/11/2015 - 14:26

Just a couple small changes in the hlsl- 'technique10' to 'technique11' and 'SV_Position' to 'Position'. I'm guessing it was the latter.

AKa-visuals 05/11/2015 - 22:18

just figure out this changes...try to fix it,,,thanks!

catweasel 06/11/2015 - 12:02

Nice Glitch :D

io 25/11/2015 - 12:07

Hi
SplineBuffered does not work with latest 34.2 64bit.
S.

io 25/11/2015 - 16:06

Sorry it does work on 64bit but in my patch (both 32 and 64) I have to reselect it to make it work.

It seems like that the Control Points Per Spline is not spreadable, is that possible?

And, how to make it draw sharp edges on control points? The only way I ve found is to add a vertex before and after and very close to each incoming vertex but that is not optimal of course.

tx
Simone

everyoneishappy 26/11/2015 - 13:54

@io are you feeding it an empty buffer at the start?
You can't use control point binsizing with that shader, you can make it but probably better off as a separate version. If you have a look in the 'compute sources' girlpower you'll find one way of doing it (you'll still need to modify the hlsl quite a bit though).

io 26/11/2015 - 14:21

Ok what about the sharp edges?

motzi 30/11/2015 - 20:49

just for reference that might help others:

i've had issues installing the pack. many of the patches did not work - either the gsfx files were not loaded or the renderer did not output anything for whatever reason (even though the fx files did load fine, no red nodes).

i could get the whole thing running though after renaming the packs folder from "InstanceNoodles Alpha 0.2.1" just to "InstanceNoodles".

everyoneishappy 01/12/2015 - 02:23

@motzi sorry about that- my bad. Should be right now- was just the 0.2.1 'fix' that had that problem I think.

microdee 20/12/2015 - 06:15

The vveekend vvorkshop about this pack: https://youtu.be/NF3m_hSAj2g

guest 17/02/2016 - 15:39

a zip node for value buffers would be nice!

letoast 18/04/2016 - 04:16

+1 Indeed! Or is there another way of combining buffers like zip does?

everyoneishappy 23/07/2016 - 06:28

I had a look at adding zip/unzip nodes, seems like a good idea. I think this should be via plugin though & to be honest I had a lot of trouble to get started with DX11 plugins. If anyone can help me get sorted with some VS solution files to start with I'd be happy to take a crack at writing some though.

everyoneishappy 23/07/2016 - 07:05

Just uploaded version 0.3- details here: instance-noodles-update-alpha-0.3-tonkotsu

Noir 28/07/2016 - 16:49

Thanks for the update man
super useful stuff

everyoneishappy 25/08/2016 - 01:38

Here is a zip (3D buffer) node if anyone want to test it. It only has two inputs but they should be bin sizable.

https://www.dropbox.com/sh/7qbv73gyys4d9hf/AAC15B3apJVXeBm6lPM7xy5ga?dl=1

kimiki 01/09/2016 - 13:14

Hej everyoneishappy, inside the Zip (3D Buffer) that ValueBuildZipIndices Plugin is missing.

everyoneishappy 03/09/2016 - 02:42

@kimiki oops sorry here is the plugin too. Will probably use it for making similar zip nodes for all the other buffer types, unless someone has a suggestion for a better way.

https://www.dropbox.com/sh/yt1edlcx1bdbv0i/AAAZWQ8H-xN3VwlJathRR-m_a?dl=0

moco 28/11/2016 - 16:21

The Extrude (DX11,GeomFX).gsfx was looking for a
uvMode.Get(inpui].pos, norm, input[i.TexCd))/3;

Should be Map() now, I guess ...

elliotwoods 30/11/2016 - 12:45

this looks amazing. can't wait to spend some time learning with this.

everyoneishappy 07/12/2016 - 05:22

Cheers Elliot! Feel free to hit me up on skype if you have questions or something is funky...

@moco, thanks I think that and a couple other shaders using the old uv interface are already fixed for next version.

guest 20/05/2017 - 16:00

Fantastic Pack!
Some module show red nodes/broken links in subpatches (e.g. extrude). Any ideas?

Btw, what is "Kinect2GS" exactly doing? Tried feeding it with the Kinect2 world and RGB texture, but nothing happens.

everyoneishappy 22/05/2017 - 14:14

@guest that should be fixed in next release. What other modules are you talking about? Kinect2GS is pretty much what you think it is I guess- get a mesh from your kinect2 textures. Note there is a bug in current DX11 (also fixed for next release) that prevents gsfx from loading properly- in the mean time you might try reloading the patch after hooking it up.

panki 26/07/2017 - 18:25

Hello everybody.

Every time I try to open the "02_DX11.GeomFX_Instancing.v4p" example on to the girlpower folder, my laptop stops working and then I need to force a restart by pressing the start button.

The other patches in the same folder are running ok.

I wonder if I am the only one having this issue, or if it´s just that my laptop is not capable to run it.

the laptop is a 2012 macbook pro, 4 GB Ram and solid disk with native windows 10 (I know is not the best option but it is what I have.)

Any suggestion would be helpful.

Thanks in advantage.

guest 26/07/2017 - 22:30

@panki does you Macbook have a discrete graphics card?

Noodles heavily leverages DirectX 11 and your GPU for performance so I hope tis nothing to do with Macbook Pros and their motherboards.

I had a similar issue instancing with an Intel internal gpu machine. It just didn't like instancing. Check if the DX11 girlpower for instancing works okay too.

panki 28/07/2017 - 17:28

Hi! and yes definitelly my MB have a very discreet graphics card.

the DX11 girlpower geometry instancing overview works pretty good.

Thanks anyway.

seltzdesign 21/09/2017 - 13:11

Did you ever code the WireframeNoDiag Effect? Looking at the source code of WireFrame(DX11.Effect), I can see that the Wireframe and WireframeNoDiag method have exactly the same code.

Would really love to use Wireframe with no diagonals.

tmp 22/09/2017 - 15:33

I edited the code a bit some time ago, but only works with box geometry:
https://pastebin.com/SaNGmHre

anonymous user login

Shoutbox

~3d ago

skyliner: the vcard page is assembled by personal settings + user page

~3d ago

lasal: thank you guys but this is to edit the user data, i don't find how to edit the vcard

~3d ago

CeeYaa: @lasal - haha nice - I think it's funny - you should keep it ;) to change - HOME-SETTINGS - PERSONAL SETTINGS

~3d ago

skyliner: @lasal: here?

~3d ago

lasal: who knows how to edit the vcard?

~3d ago

joreg: get started with #vl with this first part of a series of "vl for vvvv users" tutorial: https://discourse.vvvv.org/t/vl-for-vvvv-users-key-differences-1-5/15919 #vvvv

~3d ago

joreg: speak japanese? this looks like a great resource for #vvvv tipsntricks: https://qiita.com/advent-calendar/2017/vvvv