Required AOVs in AiRawDriverInitialize();

Required AOVs in AiRawDriverInitialize();

zenop
Advocate Advocate
873 Views
4 Replies
Message 1 of 5

Required AOVs in AiRawDriverInitialize();

zenop
Advocate
Advocate

Hi,


I'm wondering what the "required aovs" in a raw driver actually does.


I usually fill it in like a good citizen of the arnold universe:

static const char *required_aovs[] = {"RGBA RGBA", "VECTOR P", "FLOAT Z", "RGBA transmission", NULL}; AiRawDriverInitialize(node, required_aovs, false);


However, it doesn't make a difference if I remove the required aovs. So I was wondering what the purpose of this is. The API docs simply say:



NULL-terminated array of AOV descriptors ("TYPE name") to route to this driver


Thanks lads

Z

0 Likes
874 Views
4 Replies
Replies (4)
Message 2 of 5

Stephen.Blair
Community Manager
Community Manager

You can remove the required AOVs and still access them?

And they are not output by for any other driver?



// Stephen Blair
// Arnold Renderer Support
0 Likes
Message 3 of 5

zenop
Advocate
Advocate

Yes, I can remove them and still access them. They are output by another driver currently (both exr_driver and a custom one).
However, I cannot access the AOVs if linked to the exr_driver only (regardless of specification in the required_aovs)

0 Likes
Message 4 of 5

Stephen.Blair
Community Manager
Community Manager

@ You should be able to access any AOV that is generated by any driver.
The required_aovs is for ensuring that Arnold generates the AOVs needed by the raw driver, even if no other driver generates them.



// Stephen Blair
// Arnold Renderer Support
0 Likes
Message 5 of 5

zenop
Advocate
Advocate

cheers stephen, thanks for clarifying

0 Likes