Instancing volumes and modifying volume shader attributes

   2372   3   3
User Avatar
Member
43 posts
Joined: 12月 2010
Offline
Hi there,

I'm hoping to switch to Karma XPU (from Redshift) for my FX volume rendering needs.
I know that Karma XPU is still in beta, but it's my understanding that Karma CPU is more or less production ready.

My question is whether it is possible in Karma (CPU or XPU) to render point-instanced vdb volumes, with per-instance material attributes that can be driven by attributes on the template points.
For example, to have a Cd attribute on the template points that drives the smoke colour on the volume shader (per instance), or a float attribute on the template points that can drive the smoke density (per instance).
This is possible to do in Redshift (standalone), and would be amazing and very powerful to be able to do in Karma.

I've been able to do this with regular instanced geometry (have template point attributes to drive the colour of the instances in the MaterialX shader), but I can't get it to work with volumes.

If this is possible, then any help would be greatly appreciated.
Or if it is not possible, is it something that might be coming down the track? ..or will it never be possible in Karma.

Cheers!
MC
User Avatar
Member
29 posts
Joined: 2月 2016
Offline
Did you ever figure this out? I can definitely setup point instanced volumes, however, getting per-instance shader overrides has eluded me. Perhaps by editing the material binding inputs with a wrangle? I can do this for all of the instances but have not figured out how to edit individual instances.
User Avatar
Member
43 posts
Joined: 12月 2010
Offline
I think I tried everything I could and then gave up to be honest.. if you find a way to do it, let me know!
MC
User Avatar
Member
29 posts
Joined: 2月 2016
Offline
I'll reply here with my setup, to try and get some traction on this. I've attached a screen cap of the setup, which is a VDB pig head instanced to 10 points. Each point has a float attribute called "density_mult" which is a 0 to 1 weight which is stamped onto each instance of the pig head. You can see the values are successfully copied. I have tried in the karma mtl x shader to "bind" the density_mult value using both a geometry property value vop and a usdprimvarreader to no luck.

If some smart individual has any expertise on varying density per point instance, I'd greatly appreciate it.
Edited by jarjarshaq - 2023年2月18日 22:23:01

Attachments:
instance_houdini.hipnc (880.4 KB)
setup.jpg (466.2 KB)

  • Quick Links