Particles colour > noodle > superphysical

How do I get a particle’s colour into superphysical after it has gone through TransformBuffered(DX11.GeomFX) ?
I tried to create a Dynamic Texture with the array of colours from the particle system in the Albedo input and using a Texture Transform but no luck so far (actually no skills so far).

Hi :)

this needs to be made in code.
You need to have the instance index information passed to the shader from the geometry shader.
Or replace the geometry shader entirely and do instancing in the superphysical shader.

In your current setup you loose the instance index on the way i guess.

if you can post an example i can look at it (98.6 KB)
here a simplified version to look at.

Thanks to @readme the Color buffering is solved still the issue is there about the coloring of the particles. Here a better version with side by side renderer (particles renderer / superphysical) (103.9 KB)

I recently had to use a lot of different colors in a super Physical render. I was in a bit of a hurry, but a very easy workaround was to just render a constant pass with my colors and composite them as postFX. Does not make sense to make a whole material instance for each one in this case imho

wow okey, that patch is a bit more then i can handle right now, sorry.
Kyles idea is quick and dirty and actually quite good.
Would that work for you?

Unfortunately I don’ t understand what @everyoneishappy means. The colours are generated by the particles system.

I think he suggests you to render your particles a second time using a constant draw to another target, then blend your colortexture with your scene in post.


yes, you can use another constant particle shader and render to renderer ( temp target) with the same camera and use blend texture fx to mix in the color to the super physical shading, which you can render in black and white.

That will be not physically correct anymore but probably fine for particles.

The correct way however would be to go directly from particles to super physical by changing the shader without instance noodles in between.
Its also not so hard you just need to add the buffer inputs in the same way like in the dx11 examples for instancing. instance id is coming from instancer node also without the IID module from kyle.

hey. I’m planning to add a forward SuperPhysical version with instancing for such purposes, but that will take some time until I find the time to release this. So the second pass for colors seems like a good way to go for now.

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.