Can I use AiWriteColor (AiWriteRGBA) to write AiStandardVolume (Arnold 5+) so I can use an AOV target?

markus.ng
Participant

Can I use AiWriteColor (AiWriteRGBA) to write AiStandardVolume (Arnold 5+) so I can use an AOV target?

markus.ng
Participant
Participant

From what I can tell so far from the release notes and documentation, in Arnold 5+ there is no shader or object specific AOV LPE for Volumes. There is only the default : volume, volume_diffuse,volume_indiredct, volume_albedo, which operations on all volumes in the render layer defined.

I was thinking about a way to transform the output (color and/or alpha) of the aiStandardVolume to an aiWrite Node, then specifying a target AOV.

This works to extent, that it looks like the aiWrite node only receives the first hit's location of the volumes non-zero contents, not even the color of the voxel, but just location. So the result is just a blocky shape of the non-zero values of the volume.

I'm guessin the aiWriteColour(or RGBA) only recognizes shaders that are from surface type shaders. Not Volumes.


Do you there there is a way to use one of the other nodes to 'bake' down the volume shader's output to a 2d texture type data, then to use an aiWrite Node to target it to a AOV?


I've had no success so far with aiLambert, aiFlat, etc..


Thanks!


Markus



0 Likes
Reply
749 Views
1 Reply
Reply (1)

Stephen.Blair
Community Manager
Community Manager

No, that won't work.

standard_volume returns a closure, not an RGB color value.

And the aov_write shader expects RGB or RGBA values for aov_input.



// Stephen Blair
// Arnold Renderer Support
0 Likes