Hi,
For large stills, we always distribute the EXR render onto multiple machines by defining regions. We also output each render element separately. This results in a lot of files.
Instead of having artists manually merge all regions for different render elements, I wrote a script which does this as a post-render task on our farm. However, I've noticed that some render elements have an alpha, some render elements do not have an alpha, some render elements come with color values around the region being rendered etc. So all render elements are not outputted on the same format. This means I have to perform operations on a per-render element level before doing the actual merging of regions. Or to be honest, I have a number of conditions and all other scenarios are treated in a "default" manner.
So, now when we'll soon be able to output a Cryptomatte render element, it's likely that I have to amend my code to support this. At least I can't just assume it'll all just work.
Question: I would love to avoid having to update code because a new render element is available due to a V-Ray update. What are my options here, would you say?
Unfortunately, we cannot use DR as our render farm uses runs jobs with different V-Ray builds simultaneously as well as queues up non-V-Ray jobs which need to be prioritized together with V-Ray jobs.
I wouldn't mind rendering to .vrimg and then have a Chaosgroup-developed tool to merge these .vrimg files. And then I'd leave the render element compatibility up to you guys Perhaps this is already possible, using e.g. vrimg2exr?
Also, there's openimageio (OIIO) which has a built in merge tool. The problem here is that I've had issues with this in the past. The problem was that V-Ray didn't properly register the region coordinates vs the canvas coordinates of an EXR, so the merge tool wouldn't know where in the buffer the region exists and it would cause the merge tool to merge the entire canvas (just overwriting the entire buffer). I'm not sure if this behavior was ever changed with how V-Ray and V-Ray for Maya writes EXRs?
In short; what would your suggestion be?
For large stills, we always distribute the EXR render onto multiple machines by defining regions. We also output each render element separately. This results in a lot of files.
Instead of having artists manually merge all regions for different render elements, I wrote a script which does this as a post-render task on our farm. However, I've noticed that some render elements have an alpha, some render elements do not have an alpha, some render elements come with color values around the region being rendered etc. So all render elements are not outputted on the same format. This means I have to perform operations on a per-render element level before doing the actual merging of regions. Or to be honest, I have a number of conditions and all other scenarios are treated in a "default" manner.
So, now when we'll soon be able to output a Cryptomatte render element, it's likely that I have to amend my code to support this. At least I can't just assume it'll all just work.
Question: I would love to avoid having to update code because a new render element is available due to a V-Ray update. What are my options here, would you say?
Unfortunately, we cannot use DR as our render farm uses runs jobs with different V-Ray builds simultaneously as well as queues up non-V-Ray jobs which need to be prioritized together with V-Ray jobs.
I wouldn't mind rendering to .vrimg and then have a Chaosgroup-developed tool to merge these .vrimg files. And then I'd leave the render element compatibility up to you guys Perhaps this is already possible, using e.g. vrimg2exr?
Also, there's openimageio (OIIO) which has a built in merge tool. The problem here is that I've had issues with this in the past. The problem was that V-Ray didn't properly register the region coordinates vs the canvas coordinates of an EXR, so the merge tool wouldn't know where in the buffer the region exists and it would cause the merge tool to merge the entire canvas (just overwriting the entire buffer). I'm not sure if this behavior was ever changed with how V-Ray and V-Ray for Maya writes EXRs?
In short; what would your suggestion be?
Comment