Forum

Instance Noodles Transform

Hi,

I’d like to translate an Instance Noodles Geometry.
But there is no Transform Pin in the SpriteBuffered node…

Here is the test patch:
https://db.tt/m06F1LKs

Thank you,
yann

Hey Yann,

Does *(3d Buffer) help?

that will transform your point buffer with a single or buffered transform

Yes it helps! Thank you.

But the Multiply (3d Buffer) nodes seems to change the geometry: there are fewer points…

https://db.tt/W01Ja6tR

I think it’s because you are having multiple subsets in your mesh. Because of this you have multiple 3D Buffers + spreadcounts. Without some modification the compute shaders are not really spreadable in this way (spread of spreads). Feeding the sprite shader works because it’s a ‘normal’ shader, and will just do a separate draw call for each spreadcount.

You can
-use a mesh without subsets (easiest way unless you need them)
-do some data wrangling to get all of your point data in to a single structured buffer. Maybe merge (dx11.geomfx) helps there

Hi everyone,

I need the subsets, so I tried the Merge (dx11.geomfx).
As in the Merge help file, I can connect the output on a Geometry Pin Input.
But the input of the SpriteBuffered node is different: no Geometry Input, but a Position 3D Buffer.
Is there a way to obtain the Position 3D Buffer based on the Geometry Output?

Thank you,
Yann

Yep, noodles pack has GetVertexData & SetVertexData, which convert between structured buffers and Geometry type.

INSTANCE_NOODLES_TRANSFORM Merge.zip (165.2 kB)

Thank you very much! (And many thanks for Instance Noodles…)

Works perfectly.

For some DAE models exported from 3DS max, each subset has a different transformation.
I found a workaround:

https://db.tt/Hq6g6BtD