Jump to content
Jesper Rahlff

multiple volumes used as AOV for main volume

Recommended Posts

I have a main volume that I want to render. however In that volume I would love to be able to merge other volumes into it and use those volumes as extra image planes. This means that my second volume should NOT show up in my beauty pass, but be available as an AOV. is this possible?

Right now I have it setup so I render the second volume separately, but I wonder if the other thing could be done?

Share this post


Link to post
Share on other sites

Hi,

Here is an example file to create custom aovs for different volumes, the workflow is a bit cumbersome because you can't reference the volumes directly from sops but from a geometry file. The main thing is to activate your hero container to sample the volume aovs.

I hope it helps you!

Thanks,

Alejandro

volumeAOVs.hip

Edited by Pazuzu

Share this post


Link to post
Share on other sites

You can also use the "op:" expression (e.g. op:`opfullpath("../../yourVolume/OUT")` ) in the filename to direct to a sop, so you don't have to save your volumes/vdbs to disk first.

 

Edited by Gorrod

Share this post


Link to post
Share on other sites

Here's another method just handling everything in the shader. The AOV volumes are just merged into the renderable object and multiplied against the Of output from the Volume Shader Core.

 

volume_with_aovs.hip

  • Like 1

Share this post


Link to post
Share on other sites
33 minutes ago, Gorrod said:

You can also use the "op:" expression (e.g. op:`opfullpath("../../yourVolume/OUT")` ) in the filename to direct to a sop, so you don't have to save your volumes/vdbs to disk first.

 

Sorry but that's not possible! Because Mantra will not find the path to the node.

Share this post


Link to post
Share on other sites

It's actually possible to use op:/ syntax to point at SOPs in a shader, as long as the SOP is the output (or upstream of the output) of an object listed on the Mantra ROP. If you don't actually want that object to render, you can add the vm_renderable flag to the container and set the value to 0.

Share this post


Link to post
Share on other sites
3 minutes ago, toadstorm said:

It's actually possible to use op:/ syntax to point at SOPs in a shader, as long as the SOP is the output (or upstream of the output) of an object listed on the Mantra ROP. If you don't actually want that object to render, you can add the vm_renderable flag to the container and set the value to 0.

Yeah I know! I was meaning that not directly, you need to tweak first to make it functional. Even when you tried to render that's what the command line tells you! I didn't explain my self correctly! :)

  • Like 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×