No matter what renderer you are going to use, you should take care of geometry’s “Render Stats” before rendering, especially when you are planning to decompose a rendering job into several layers/passes. Here is a quick python scripts based on pymel to do that.
from pymel import *
def dgVerifyRenderStats(surfaces=None):
'''
dgVerifyRenderStats
deps: none
verify and adjust all surface's render stats.
double sided, opposite, smooth shading, motion blur
visible in reflections/refractions, casts/receive shadows
primary visibility
'''
def _verifier(surface):
surface.doubleSided.set(0)
surface.opposite.set(0)
surface.smoothShading.set(1)
surface.motionBlur.set(1)
surface.visibleInReflections.set(1)
surface.visibleInRefractions.set(1)
surface.castsShadows.set(1)
surface.receiveShadows.set(1)
surface.primaryVisibility.set(1)
# save the selection
selections = ls(selection=True)
if surfaces is None:
surfaces = ls(long=True, type='surfaceShape')
map(_verifier, surfaces)
# restore the selection
select(selections, r=True)