Hi all,
During camera ray creation, we give a per channel weight to each sample. However, during a filter node, inverse density returns a float.
Is there some way I could access either a per channel inverse density or the per channel weight created in the sample?
I am limiting some samples to particular channels, so it is not guaranteed that all channels are sampled equally, which can lead to color bias in the results. If it isn't currently possible to access this per channel weighting in a filter, could that be put in as a feature request?
Cheers,
Alan.
Solved! Go to Solution.
Solved by Stephen.Blair. Go to Solution.
ray->weight if sg->Rt == AI_CAMERA_RAY
or something along those lines, and store it in a custom AOV.options.aov_shaders
. At filtering time, you just need to request this AOV as an additional auxiliary AOV.
Hi Stephen, Thanks very much. Reading through the AOV API, I'm not 100% sure whether I need to register an AOV beforehand, or if I can just call AiAOVSetRGB with the name I want, and then call AiAOVGetRGB within my filter. Though I see the mention of AOVs being ignored if output drivers don't depend upon them ("AOVs are only enabled if there is an output driver which depends on a specific AOV for its input.") If I added the name and type of my custom AOV into my filter initialize, would that be adequate? It's not an output driver, so I wasn't sure.