Drake's Weblog

1 minute read

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)
comments powered by Disqus

Recent posts

Categories

About

You're looking at Drake's words or statements. All opinions are my own.