Example #1
0
def unregister():
    logger.info("Unregistering appleseed renderer.")

    # XGen
    try:
        import xgenm as xg

        xg.deregisterCallback("RenderAPIRendererTabUIInit"   , "appleseedMaya.xgenseedui.xgseedUI" )
        xg.deregisterCallback("RenderAPIRendererTabUIRefresh", "appleseedMaya.xgenseedui.xgseedRefresh" )
        xg.deregisterCallback("PostDescriptionCreate"        , "appleseedMaya.xgenseedui.xgseedOnCreateDescription" )

        xg.deregisterCallback("ArchiveExport"    , "appleseedMaya.xgenseed.xgseedArchiveExport")
        xg.deregisterCallback("ArchiveExportInfo", "appleseedMaya.xgenseed.xgseedArchiveExportInfo")
        xg.deregisterCallback("ArchiveExportInit", "appleseedMaya.xgenseed.xgseedArchiveExportInit")
        logger.info("appleseedMaya: uninitialized xgenseed")
    except Exception as e:
        logger.info("appleseedMaya: could not uninitialize xgenseed. error = %s" % e)

    if om.MGlobal.mayaState() == om.MGlobal.kInteractive:
        deleteMenu()

    pm.callbacks(clearCallbacks=True, owner="appleseed")

    removeRenderGlobalsScriptJobs()

    if pm.renderer("appleseed", q=True, ex=True):
        pm.renderer("appleseed", unregisterRenderer=True)
Example #2
0
def unregister():
    logger.info("Unregistering appleseed renderer.")

    deleteMenu()

    pm.callbacks(clearCallbacks=True, owner="appleseed")

    if pm.renderer("appleseed", q=True, ex=True):
        pm.renderer("appleseed", unregisterRenderer=True)
Example #3
0
def renderSettingsBuiltCallback(renderer):
    logger.debug("appleseedRenderSettingsBuilt called!")
    pm.renderer("appleseed",
                edit=True,
                addGlobalsTab=("Common", "createMayaSoftwareCommonGlobalsTab",
                               "appleseedUpdateCommonTabProcedure"))
    pm.renderer("appleseed",
                edit=True,
                addGlobalsTab=("Appleseed",
                               "appleseedCreateAppleseedTabProcedure",
                               "appleseedUpdateAppleseedTabProcedure"))
def renderBuildSettingsCallback(renderer):
    pm.renderer("customMayaRenderer",
                edit=True,
                addGlobalsTab=("Common", "createMayaSoftwareCommonGlobalsTab",
                               "customMayaRendererUpdateCommonTabProcedure"))

    pm.renderer("customMayaRenderer",
                edit=True,
                addGlobalsTab=("CustomMayaRenderer",
                               "customMayaRendererCreateMainTabProcedure",
                               "customMayaRendererEmptyUpdateProcedure"))
Example #5
0
def unloadAndUnregister():
    
    if pm.pluginInfo('mayatomantra', q = True, l=True):
        pm.unloadPlugin('mayatomantra', force = True)
        if pm.renderer(RENDERERNAME, q = True, exists = True):
            pm.renderer(RENDERERNAME, unregisterRenderer = True)
            
    pm.loadPlugin( 'mayatomantra' )
    
    if len(pm.ls(type = GLOBALSNAME)) == 0:
        pm.createNode(GLOBALSNAME, name = GLOBALSNAME)
    else:
        log.info("mayaToMantraGlobals node exists, using old one")
def registerRenderer():
	mel.eval("""
		global proc cycles_render_callback(int $width, int $height, 
										int $doShadows,
										int $doGlowPass,
										string $camera, 
										string $option)
		{
			python("import mtoc.cyclesOptions;mtoc.cyclesOptions.createDefault('defaultCyclesOptions')");
			cycles_render -w $width -h $height -cam $camera;
		}
		""")

	core.renderer('cycles_renderer', rendererUIName = 'Cycles', renderProcedure = 'cycles_render_callback',
		addGlobalsTab = ('Common', "createMayaSoftwareCommonGlobalsTab", "updateMayaSoftwareCommonGlobalsTab"),
		addGlobalsNode = 'defaultCyclesOptions')
Example #7
0
    def _availableRenderer(self):
        """
        Returns available renderers in Maya
        @return Returns available renderers in Maya
        @rtype: list
        """

        return pmc.renderer(q=True, ava=True)
def registerArnoldRenderer():
    try:
        alreadyRegistered = pm.renderer('arnold', exists=True)
        if not alreadyRegistered:

            pm.evalDeferred(_register)

            # AE Templates
            # the following must occur even in batch mode because they contain calls to registerDefaultTranslator
            pm.evalDeferred(aeUtils.loadAETemplates)
            import rendererCallbacks
            rendererCallbacks.registerCallbacks()
            import mtoa.ui.ae.customShapeAttributes
            import mtoa.ui.ae.customShaderTemplates
            if not pm.about(batch=True):
                # Reload the AE Window if it has already been opened
                pm.evalDeferred(aeUtils.rebuildAE)
                # create the Arnold menu
                createArnoldMenu()

            # version specific overrides or additions
            _overridePythonScripts()
            _overrideMelScripts()

            # Add option box for file translator
            utils.pyToMelProc(exportass.arnoldAssOpts,
                              [('string', 'parent'), ('string', 'action'),
                               ('string', 'initialSettings'),
                               ('string', 'resultCallback')],
                              useName=True)

            # callbacks
            import mtoa.core as core
            core.installCallbacks()
            core.MTOA_GLOBALS['COMMAND_PORT'] = None

            import maya.cmds as cmds
            if not pm.about(batch=True):
                commandPortBase = 4700
                try:
                    commandPortBase = int(os.environ['MTOA_COMMAND_PORT'])
                except:
                    commandPortBase = 4700
                # opening a command port for different tools and maya batch progress messages
                for port in range(commandPortBase, commandPortBase + 100):
                    commandPortName = ':%i' % port
                    try:
                        cmds.commandPort(name=commandPortName)
                        core.MTOA_GLOBALS['COMMAND_PORT'] = port
                        break
                    except:
                        pass
            if not pm.about(batch=True):
                pm.evalDeferred(arnoldShelf.createArnoldShelf)
    except:
        import traceback
        traceback.print_exc(file=sys.__stderr__)
        raise
def registerArnoldRenderer():
    try:
        alreadyRegistered = pm.renderer('arnold', exists=True)
        if not alreadyRegistered:

            pm.evalDeferred(_register)

            # AE Templates
            # the following must occur even in batch mode because they contain calls to registerDefaultTranslator
            pm.evalDeferred(aeUtils.loadAETemplates)
            import rendererCallbacks
            rendererCallbacks.registerCallbacks()
            import mtoa.ui.ae.customShapeAttributes
            import mtoa.ui.ae.customShaderTemplates
            if not pm.about(batch=True):
                # Reload the AE Window if it has already been opened
                pm.evalDeferred(aeUtils.rebuildAE)
                # create the Arnold menu
                createArnoldMenu()

            # version specific overrides or additions
            _overridePythonScripts()
            _overrideMelScripts()

            # Add option box for file translator
            utils.pyToMelProc(exportass.arnoldAssOpts,
                              [('string', 'parent'), ('string', 'action'),
                               ('string', 'initialSettings'), ('string', 'resultCallback')],
                               useName=True)
            
            # callbacks
            import mtoa.core as core
            core.installCallbacks()
            core.MTOA_GLOBALS['COMMAND_PORT'] = None

            import maya.cmds as cmds
            if not pm.about(batch=True):
                commandPortBase = 4700
                try:
                    commandPortBase = int(os.environ['MTOA_COMMAND_PORT'])
                except:
                    commandPortBase = 4700
                # opening a command port for different tools and maya batch progress messages
                for port in range(commandPortBase, commandPortBase + 100):
                    commandPortName = ':%i' % port
                    try:
                        cmds.commandPort(name=commandPortName)
                        core.MTOA_GLOBALS['COMMAND_PORT'] = port
                        break
                    except:
                        pass
            if not pm.about(batch=True):
                pm.evalDeferred(arnoldShelf.createArnoldShelf)
    except:
        import traceback
        traceback.print_exc(file=sys.__stderr__)
        raise
Example #10
0
    def addOneTabToGlobalsWindow(self, renderer, tabLabel, createProc):
        # no windows no need to call
        if not pm.window('unifiedRenderGlobalsWindow', exists=True):
            return

        displayAllTabs = pm.mel.isDisplayingAllRendererTabs()
        if not displayAllTabs and pm.SCENE.defaultRenderGlobals.currentRenderer.get() != renderer:
            return
        # Set the correct tabLayout parent.
        if displayAllTabs:
            tabLayoutName = pm.mel.getRendererTabLayout(pm.melGlobals['gMasterLayerRendererName'])
        else:
            tabLayoutName = pm.mel.getRendererTabLayout(renderer)

        # Hide the tabForm while updating.
        tabFormManagedStatus = pm.formLayout('tabForm', q=True, manage=True)
        pm.formLayout('tabForm', edit=True, manage=False)
        pm.setParent('tabForm')

        if displayAllTabs:
            tabLayoutName = pm.mel.getRendererTabLayout(pm.melGlobals['gMasterLayerRendererName'])
        else:
            tabLayoutName = pm.mel.getRendererTabLayout(renderer)
        pm.setParent(tabLayoutName)
        tabName = pm.mel.rendererTabName(renderer, tabLabel)

        commonTabNames = {
            'Common'             : "m_unifiedRenderGlobalsWindow.kCommon",
            'Passes'             : "m_unifiedRenderGlobalsWindow.kPassesTab",
            'Maya Software'      : "m_unifiedRenderGlobalsWindow.kMayaSoftware",
            'Maya Hardware'      : "m_unifiedRenderGlobalsWindow.kMayaHardware",
            'Maya Vector'        : "m_unifiedRenderGlobalsWindow.kMayaVector",
            'Features'           : "m_unifiedRenderGlobalsWindow.kFeatures",
            'Quality'            : "m_unifiedRenderGlobalsWindow.kQuality",
            'Indirect Lighting'  : "m_unifiedRenderGlobalsWindow.kIndirectLighting",
            'Options'            : "m_unifiedRenderGlobalsWindow.kOptions"
        }
        if commonTabNames.has_key(tabLabel):
            tabLabel = pm.mel.uiRes(commonTabNames[tabLabel])

        if not pm.layout(tabName, exists=True):
            pm.setUITemplate('renderGlobalsTemplate', pushTemplate=True)
            pm.setUITemplate('attributeEditorTemplate', pushTemplate=True)
            pm.formLayout(tabName)
            createProcs = ['createMayaSoftwareCommonGlobalsTab', 'createMayaSoftwareGlobalsTab']
            try:
                createProcs.extend(pm.renderer(renderer, q=True, globalsTabCreateProcNames=True))
            except:
                pass
            if createProc in createProcs:
                pm.mel.eval(createProc)

            pm.setParent('..')
            pm.setUITemplate(popTemplate=True)
            pm.setUITemplate(popTemplate=True)
            pm.tabLayout(tabLayoutName, edit=True, tabLabel=(tabName, tabLabel))
        pm.formLayout('tabForm', edit=True, manage=tabFormManagedStatus)
Example #11
0
    def addOneTabToGlobalsWindow(self, renderer, tabLabel, createProc):
        # no windows no need to call
        if not pm.window('unifiedRenderGlobalsWindow', exists=True):
            return

        displayAllTabs = pm.mel.isDisplayingAllRendererTabs()
        if not displayAllTabs and pm.SCENE.defaultRenderGlobals.currentRenderer.get() != renderer:
            return
        # Set the correct tabLayout parent.
        if displayAllTabs:
            tabLayoutName = pm.mel.getRendererTabLayout(pm.melGlobals['gMasterLayerRendererName'])
        else:
            tabLayoutName = pm.mel.getRendererTabLayout(renderer)
    
        # Hide the tabForm while updating.
        tabFormManagedStatus = pm.formLayout('tabForm', q=True, manage=True)
        pm.formLayout('tabForm', edit=True, manage=False)
        pm.setParent('tabForm')

        if displayAllTabs:
            tabLayoutName = pm.mel.getRendererTabLayout(pm.melGlobals['gMasterLayerRendererName'])
        else:
            tabLayoutName = pm.mel.getRendererTabLayout(renderer)
        pm.setParent(tabLayoutName)
        tabName = pm.mel.rendererTabName(renderer, tabLabel)

        commonTabNames = {
            'Common'             : "m_unifiedRenderGlobalsWindow.kCommon",
            'Passes'             : "m_unifiedRenderGlobalsWindow.kPassesTab",
            'Maya Software'      : "m_unifiedRenderGlobalsWindow.kMayaSoftware",
            'Maya Hardware'      : "m_unifiedRenderGlobalsWindow.kMayaHardware",
            'Maya Vector'        : "m_unifiedRenderGlobalsWindow.kMayaVector",
            'Features'           : "m_unifiedRenderGlobalsWindow.kFeatures",
            'Quality'            : "m_unifiedRenderGlobalsWindow.kQuality",
            'Indirect Lighting'  : "m_unifiedRenderGlobalsWindow.kIndirectLighting",
            'Options'            : "m_unifiedRenderGlobalsWindow.kOptions"
        }
        if commonTabNames.has_key(tabLabel):
            tabLabel = pm.mel.uiRes(commonTabNames[tabLabel])

        if not pm.layout(tabName, exists=True):
            pm.setUITemplate('renderGlobalsTemplate', pushTemplate=True)
            pm.setUITemplate('attributeEditorTemplate', pushTemplate=True)
            pm.formLayout(tabName)
            createProcs = ['createMayaSoftwareCommonGlobalsTab', 'createMayaSoftwareGlobalsTab']
            try:
                createProcs.extend(pm.renderer(renderer, q=True, globalsTabCreateProcNames=True))
            except:
                pass
            if createProc in createProcs:
                pm.mel.eval(createProc)

            pm.setParent('..')
            pm.setUITemplate(popTemplate=True)
            pm.setUITemplate(popTemplate=True)
            pm.tabLayout(tabLayoutName, edit=True, tabLabel=(tabName, tabLabel))
        pm.formLayout('tabForm', edit=True, manage=tabFormManagedStatus)
Example #12
0
    def __init__(self, **kwargs):
        script_name = pm.sceneName()

        _, ext = os.path.splitext(script_name)
        if ext == '.mb':
            pm.confirmDialog(
                message=
                "There is no option to export on render farm the *.mb file. Please, save file as Maya ASCII and try again.",
                button=["ok"])
            raise Exception("File must be MAYA ASCII")

        self._assembly = kwargs.get('assembly', False)
        if self._assembly == True:
            if pm.renderer('redshift', exists=True) == 0:
                pm.confirmDialog(
                    message=
                    "Render shaded option uses Redshift renderer. Please, turn on redshift renderer and try again.",
                    button=["ok"])
                raise Exception("Turn on REDSHIFT")

        if int(pm.playbackOptions(q=True, min=True)) < 0:
            pm.confirmDialog(
                message="Negative frames are not supported. Sorry...",
                button=["ok"])
            raise Exception("Negative frames are not supported")

        self._errors = {}
        self._exportables = kwargs.get('export_extensions', [])
        self._json_rig = None
        self._usd_step_frame = kwargs.get('usd_step_frame', 20)
        self._nodes = []
        self._graph = HaGraph(graph_items_args=[])
        self._graph.set_render(kwargs.get('render', SlurmRender.SlurmRender))
        self._jobname_hash = random_hash_string()
        script_name = pm.sceneName()
        _, name = os.path.split(script_name)
        self.scene_name = name
        self._export_sets = {}
        self.basename, ext = os.path.splitext(name)
        self.tempdir = tempfile.mkdtemp(prefix="_".join(
            [os.getlogin(), self.scene_name, self._jobname_hash + "_"]),
                                        dir=SCRATCH)
        os.chmod(self.tempdir, 0o0777)
        self.assembly_json = AssemblyJson()
        self.global_params = dict(
            queue='3d',
            group='allhosts',
            start_frame=int(pm.playbackOptions(q=True, min=True)),
            end_frame=int(pm.playbackOptions(q=True, max=True)),
            job_on_hold=kwargs.get('job_on_hold', False),
            priority=-500,
            jobname=self.scene_name,
            exclude_list=[],
            usd_step_frame=self._usd_step_frame,
            assembly_json_file=self.tempdir + os.sep + "assembly.json")
Example #13
0
def registerRenderer():
    mel.eval("""
		global proc cycles_render_callback(int $width, int $height, 
										int $doShadows,
										int $doGlowPass,
										string $camera, 
										string $option)
		{
			python("import mtoc.cyclesOptions;mtoc.cyclesOptions.createDefault('defaultCyclesOptions')");
			cycles_render -w $width -h $height -cam $camera;
		}
		""")

    core.renderer('cycles_renderer',
                  rendererUIName='Cycles',
                  renderProcedure='cycles_render_callback',
                  addGlobalsTab=('Common',
                                 "createMayaSoftwareCommonGlobalsTab",
                                 "updateMayaSoftwareCommonGlobalsTab"),
                  addGlobalsNode='defaultCyclesOptions')
Example #14
0
def unregister():
    logger.info("Unregistering appleseed renderer.")

    # XGen
    try:
        import xgenm as xg

        for h, c in asXGenCallbacks:
            xg.deregisterCallback(h, c)

        logger.info("appleseedMaya: uninitialized xgenseed")
    except Exception as e:
        logger.info(
            "appleseedMaya: could not uninitialize xgenseed. error = %s" % e)

    if om.MGlobal.mayaState() == om.MGlobal.kInteractive:
        deleteMenu()

    pm.callbacks(clearCallbacks=True, owner="appleseed")

    removeRenderGlobalsScriptJobs()

    if pm.renderer("appleseed", q=True, ex=True):
        pm.renderer("appleseed", unregisterRenderer=True)
Example #15
0
 def addTabs(self):
     pm.renderer(self.rendererName,
                 edit=True,
                 addGlobalsTab=self.renderTabMelProcedure("CommonGlobals"))
     pm.renderer(self.rendererName,
                 edit=True,
                 addGlobalsTab=self.renderTabMelProcedure("Renderer"))
     self.addUserTabs()
     pm.renderer(self.rendererName,
                 edit=True,
                 addGlobalsTab=self.renderTabMelProcedure("Translator"))
Example #16
0
def getVRaySettingsNode():
    """
	Create vraySettings node without UI
	credit gose to Stas Poritskiy
	http://stascrash.com
	http://forums.cgsociety.org/showthread.php?t=1266983
	"""
    # check vray plugin loaded
    if not pm.pluginInfo('vrayformaya', q=1, l=1):
        pm.loadPlugin('vrayformaya')

    # Get Render-Node
    vraySetNode = pm.ls(type='VRaySettingsNode')

    if not vraySetNode:
        # Try and register vray
        try:
            pm.renderer('vray')
        except RuntimeError:
            print "Vray already Registered"
        # Collect all vray-Attributes
        globalsTabLabels = pm.renderer('vray',
                                       query=True,
                                       globalsTabLabels=True)
        globalsTabCreateProcNames = pm.renderer('vray',
                                                query=True,
                                                globalsTabCreateProcNames=True)
        globalsTabUpdateProcNames = pm.renderer('vray',
                                                query=True,
                                                globalsTabUpdateProcNames=True)
        # Construct Vray-Renderer
        for tab_id in range(len(globalsTabLabels)):
            pm.renderer('vray',
                        edit=True,
                        addGlobalsTab=[
                            str(globalsTabLabels[tab_id]),
                            str(globalsTabCreateProcNames[tab_id]),
                            str(globalsTabUpdateProcNames[tab_id])
                        ])
        # Create DAG for VRAYSETTINGS
        pm.shadingNode('VRaySettingsNode', asUtility=True, name='vraySettings')

    return pm.PyNode('vraySettings')
Example #17
0
def register():
    pm.renderer("AtlasRenderer", rendererUIName="Atlas Renderer")

    pm.renderer("AtlasRenderer",
                edit=True,
                renderProcedure="AtlasRenderProcedureProxy")

    createRenderingMelProxy()

    createRenderTabsMelProcedure()
    renderBuildSettingsCallback("AtlasRenderer")
    pm.renderer("AtlasRenderer",
                edit=True,
                addGlobalsNode="defaultRenderGlobals")
    pm.renderer("AtlasRenderer",
                edit=True,
                addGlobalsNode="AtlasRendererGlobalsNode")

    pm.callbacks(addCallback=renderBuildSettingsCallback,
                 hook="renderSettingsBuilt",
                 owner="AtlasRenderer")

    addRenderGlobalsScriptJob()
Example #18
0
def register():
    pm.renderer("customMayaRenderer", rendererUIName="Custom Maya Renderer")

    createRenderMelProcedure()
    pm.renderer("customMayaRenderer",
                edit=True,
                renderProcedure="customMayaRendererRenderProcedureProxy",
                renderRegionProcedure="mayaRenderRegion")

    createRenderTabsMelProcedure()
    renderBuildSettingsCallback("customMayaRenderer")
    pm.renderer("customMayaRenderer",
                edit=True,
                addGlobalsNode="defaultRenderGlobals")
    pm.renderer("customMayaRenderer",
                edit=True,
                addGlobalsNode="customMayaRendererGlobalsNode")

    pm.callbacks(addCallback=renderBuildSettingsCallback,
                 hook="renderSettingsBuilt",
                 owner="customMayaRenderer")

    addRenderGlobalsScriptJob()
def _register():
    args = {}
    args['renderProcedure'] = utils.pyToMelProc(arnoldRender.arnoldRender,
                                                [('int', 'width'),
                                                 ('int', 'height'),
                                                 ('int', 'doShadows'),
                                                 ('int', 'doGlowPass'),
                                                 ('string', 'camera'),
                                                 ('string', 'options')])
    args['renderRegionProcedure'] = 'mayaRenderRegion'
    args['commandRenderProcedure'] = utils.pyToMelProc(
        arnoldRender.arnoldBatchRender, [('string', 'option')])
    args['batchRenderProcedure'] = utils.pyToMelProc(
        arnoldRender.arnoldBatchRender, [('string', 'option')])
    args['batchRenderOptionsStringProcedure'] = utils.pyToMelProc(
        arnoldRender.arnoldBatchRenderOptionsString, returnType='string')
    args['cancelBatchRenderProcedure'] = utils.pyToMelProc(
        arnoldRender.arnoldBatchStop)
    args['iprRenderProcedure'] = utils.pyToMelProc(
        arnoldRender.arnoldIprRender, [('int', 'width'), ('int', 'height'),
                                       ('int', 'doShadows'),
                                       ('int', 'doGlowPass'),
                                       ('string', 'camera')])
    args['isRunningIprProcedure'] = utils.pyToMelProc(
        arnoldRender.arnoldIprIsRunning, returnType='int')
    args['startIprRenderProcedure'] = utils.pyToMelProc(
        arnoldRender.arnoldIprStart, [('string', 'editor'),
                                      ('int', 'resolutionX'),
                                      ('int', 'resolutionY'),
                                      ('string', 'camera')])
    args['stopIprRenderProcedure'] = utils.pyToMelProc(
        arnoldRender.arnoldIprStop)
    args['refreshIprRenderProcedure'] = utils.pyToMelProc(
        arnoldRender.arnoldIprRefresh)
    args['pauseIprRenderProcedure'] = utils.pyToMelProc(
        arnoldRender.arnoldIprPause, [('string', 'editor'), ('int', 'pause')])
    args['changeIprRegionProcedure'] = utils.pyToMelProc(
        arnoldRender.arnoldIprChangeRegion, [('string', 'renderPanel')])
    pm.renderer('arnold', rendererUIName='Arnold Renderer', **args)

    pm.renderer(
        'arnold',
        edit=True,
        addGlobalsTab=('Common',
                       utils.pyToMelProc(createArnoldRendererCommonGlobalsTab,
                                         useName=True),
                       utils.pyToMelProc(updateArnoldRendererCommonGlobalsTab,
                                         useName=True)))
    pm.renderer(
        'arnold',
        edit=True,
        addGlobalsTab=('Arnold Renderer',
                       utils.pyToMelProc(createArnoldRendererGlobalsTab,
                                         useName=True),
                       utils.pyToMelProc(updateArnoldRendererGlobalsTab,
                                         useName=True)))
    pm.renderer('arnold',
                edit=True,
                addGlobalsTab=('System',
                               utils.pyToMelProc(createArnoldRendererSystemTab,
                                                 useName=True),
                               utils.pyToMelProc(updateArnoldRendererSystemTab,
                                                 useName=True)))
    pm.renderer('arnold',
                edit=True,
                addGlobalsTab=('AOVs',
                               utils.pyToMelProc(createArnoldAOVTab,
                                                 useName=True),
                               utils.pyToMelProc(updateArnoldAOVTab,
                                                 useName=True)))
    pm.renderer(
        'arnold',
        edit=True,
        addGlobalsTab=('Diagnostics',
                       utils.pyToMelProc(createArnoldRendererDiagnosticsTab,
                                         useName=True),
                       utils.pyToMelProc(updateArnoldRendererDiagnosticsTab,
                                         useName=True)))
    pm.renderer(
        'arnold',
        edit=True,
        addGlobalsTab=('Override',
                       utils.pyToMelProc(createArnoldRendererOverrideTab,
                                         useName=True),
                       utils.pyToMelProc(updateArnoldRendererOverrideTab,
                                         useName=True)))
    pm.renderer('arnold',
                edit=True,
                addGlobalsNode='defaultArnoldRenderOptions')
    utils.pyToMelProc(updateBackgroundSettings, useName=True)
    utils.pyToMelProc(updateAtmosphereSettings, useName=True)
    #We have to source this file otherwise maya will override
    #our mel proc overrides below.
    #
    pm.mel.source('createMayaSoftwareCommonGlobalsTab.mel')

    utils.pyToMelProc(addOneTabToGlobalsWindow, [('string', 'renderer'),
                                                 ('string', 'tabLabel'),
                                                 ('string', 'createProc')],
                      useName=True)
    utils.pyToMelProc(renderSettingsTabLabel_melToUI, [('string', 'mel')],
                      useName=True)
    utils.pyToMelProc(updateMayaImageFormatControl, useName=True)
Example #20
0
def unregisterRenderer():
    cyclesOptions.deleteDefault('defaultCyclesOptions')
    core.renderer('cycles_renderer', unr=True)
Example #21
0
def unregister():
    if pm.renderer(RENDERERNAME, q = True, exists = True):
        pm.renderer(RENDERERNAME, unregisterRenderer = True)
Example #22
0
 def registerRenderer(self):
     self.unRegisterRenderer()
     self.registerNodeExtensions()
     self.registerAETemplateCallbacks()
     pm.renderer(self.rendererName, rendererUIName=self.rendererName)
     pm.renderer(self.rendererName, edit=True, renderProcedure=self.makeMelProcFromPythonCmd(self.renderProcedure, [('int', 'width'),
                                                                                                                    ('int', 'height'),
                                                                                                                    ('int', 'doShadows'),
                                                                                                                    ('int', 'doGlow'),
                                                                                                                    ('string', 'camera'),
                                                                                                                    ('string', 'options')]))
     pm.renderer(self.rendererName, edit=True, batchRenderProcedure=self.makeMelProcFromPythonCmd(self.batchRenderProcedure, [('string', 'options')]))
     pm.renderer(self.rendererName, edit=True, commandRenderProcedure=self.makeMelProcFromPythonCmd(self.batchRenderProcedure, [('string', 'options')]))
     pm.renderer(self.rendererName, edit=True, batchRenderOptionsProcedure=self.renderCallback("batchRenderOptionsProcedure"))
     pm.renderer(self.rendererName, edit=True, batchRenderOptionsStringProcedure=self.renderCallback("batchRenderOptionsStringProcedure"))
     pm.renderer(self.rendererName, edit=True, addGlobalsNode="defaultRenderGlobals")
     pm.renderer(self.rendererName, edit=True, addGlobalsNode="defaultResolution")
     pm.renderer(self.rendererName, edit=True, addGlobalsNode=self.renderGlobalsNodeName)
     pm.renderer(self.rendererName, edit=True, startIprRenderProcedure=self.makeMelProcFromPythonCmd(self.startIprRenderProcedure, [('string', 'editor'),
                                                                                                                                    ('int', 'resolutionX'),
                                                                                                                                    ('int', 'resolutionY'),
                                                                                                                                    ('string', 'camera')]))
     pm.renderer(self.rendererName, edit=True, stopIprRenderProcedure=self.makeMelProcFromPythonCmd(self.stopIprRenderProcedure, []))
     pm.renderer(self.rendererName, edit=True, pauseIprRenderProcedure=self.makeMelProcFromPythonCmd(self.pauseIprRenderProcedure, [('string', 'editor'), ('int', 'pause')]))
     pm.renderer(self.rendererName, edit=True, changeIprRegionProcedure=self.makeMelProcFromPythonCmd(self.changeIprRegionProcedure, [('string', 'editor')]))
     pm.renderer(self.rendererName, edit=True, iprRenderProcedure=self.renderCallback("iprRenderProcedure"))
     pm.renderer(self.rendererName, edit=True, isRunningIprProcedure=self.renderCallback("isRunningIprProcedure"))
     pm.renderer(self.rendererName, edit=True, refreshIprRenderProcedure=self.renderCallback("refreshIprRenderProcedure"))
     pm.renderer(self.rendererName, edit=True, logoImageName=self.rendererName + ".png")
     pm.renderer(self.rendererName, edit=True, renderDiagnosticsProcedure=self.renderCallback("renderDiagnosticsProcedure"))
     pm.renderer(self.rendererName, edit=True, renderOptionsProcedure=self.renderCallback("renderOptionsProcedure"))
     pm.renderer(self.rendererName, edit=True, cancelBatchRenderProcedure=self.renderCallback("cancelBatchRenderProcedure"))
     pm.renderer(self.rendererName, edit=True, showBatchRenderProcedure=self.renderCallback("showBatchRenderProcedure"))
     pm.renderer(self.rendererName, edit=True, showRenderLogProcedure=self.renderCallback("showRenderLogProcedure"))
     pm.renderer(self.rendererName, edit=True, showBatchRenderLogProcedure=self.renderCallback("showBatchRenderLogProcedure"))
     pm.renderer(self.rendererName, edit=True, textureBakingProcedure=self.renderCallback("textureBakingProcedure"))
     pm.renderer(self.rendererName, edit=True, renderRegionProcedure="mayaRenderRegion")
     scriptDir = path.path(__file__).dirname().parent
     
     pm.mel.eval('global string $gImageFormatData[]; $gImageFormatData = {};')
     pm.mel.eval('global string $gPLEImageFormatData[]; $gPLEImageFormatData = {};')
     pm.mel.eval('global string $gPLEImageFormatData_Mental[]; $gPLEImageFormatData_Mental = {};')
     pm.mel.source('createMayaSoftwareCommonGlobalsTab')
     pm.mel.source("unifiedRenderGlobalsWindow")
     self.defineCommonMelProcedures()
     pm.evalDeferred(self.addTabs)
Example #23
0
 def registerRenderer(self):
     log.debug("registerRenderer")
     self.unRegisterRenderer()
     self.registerNodeExtensions()
     self.registerAETemplateCallbacks()
     pm.renderer(self.rendererName, rendererUIName=self.rendererName)
     pm.renderer(self.rendererName, edit=True, renderProcedure=self.makeMelProcFromPythonCmd(self.renderProcedure, [('int', 'width'), 
                                                                                                                    ('int', 'height'), 
                                                                                                                    ('int', 'doShadows'), 
                                                                                                                    ('int', 'doGlow'), 
                                                                                                                    ('string', 'camera'), 
                                                                                                                    ('string', 'options')]))
     pm.renderer(self.rendererName, edit=True, batchRenderProcedure=self.makeMelProcFromPythonCmd(self.batchRenderProcedure, [('string', 'options')]))
     pm.renderer(self.rendererName, edit=True, commandRenderProcedure=self.makeMelProcFromPythonCmd(self.batchRenderProcedure, [('string', 'options')]))
     #pm.renderer(self.rendererName, edit=True, batchRenderProcedure=self.renderCallback("batchRenderProcedure"))
     #pm.renderer(self.rendererName, edit=True, commandRenderProcedure=self.renderCallback("commandRenderProcedure"))
     pm.renderer(self.rendererName, edit=True, batchRenderOptionsProcedure=self.renderCallback("batchRenderOptionsProcedure"))
     pm.renderer(self.rendererName, edit=True, batchRenderOptionsStringProcedure=self.renderCallback("batchRenderOptionsStringProcedure"))
     pm.renderer(self.rendererName, edit=True, addGlobalsNode="defaultRenderGlobals")
     pm.renderer(self.rendererName, edit=True, addGlobalsNode="defaultResolution")
     pm.renderer(self.rendererName, edit=True, addGlobalsNode=self.renderGlobalsNodeName)
     
     pm.renderer(self.rendererName, edit=True, startIprRenderProcedure=self.makeMelProcFromPythonCmd(self.startIprRenderProcedure, [('string', 'editor'), 
                                                                                                                                    ('int', 'resolutionX'),
                                                                                                                                    ('int', 'resolutionY'),
                                                                                                                                    ('string', 'camera')]))
     pm.renderer(self.rendererName, edit=True, stopIprRenderProcedure=self.makeMelProcFromPythonCmd(self.stopIprRenderProcedure, []))
     pm.renderer(self.rendererName, edit=True, pauseIprRenderProcedure=self.makeMelProcFromPythonCmd(self.pauseIprRenderProcedure, [('string', 'editor'), ('int', 'pause')]))
     
     pm.renderer(self.rendererName, edit=True, changeIprRegionProcedure=self.renderCallback("changeIprRegionProcedure"))
     pm.renderer(self.rendererName, edit=True, iprOptionsProcedure=self.renderCallback("iprOptionsProcedure"))
     pm.renderer(self.rendererName, edit=True, iprOptionsMenuLabel=self.renderCallback("iprOptionsMenuLabel"))
     pm.renderer(self.rendererName, edit=True, iprRenderProcedure=self.renderCallback("iprRenderProcedure"))
     pm.renderer(self.rendererName, edit=True, iprRenderSubMenuProcedure=self.renderCallback("iprRenderSubMenuProcedure"))
     pm.renderer(self.rendererName, edit=True, isRunningIprProcedure=self.renderCallback("isRunningIprProcedure"))
     pm.renderer(self.rendererName, edit=True, refreshIprRenderProcedure=self.renderCallback("refreshIprRenderProcedure"))
     pm.renderer(self.rendererName, edit=True, logoCallbackProcedure=self.renderCallback("logoCallbackProcedure"))
     pm.renderer(self.rendererName, edit=True, logoImageName=self.rendererName + ".png")
     pm.renderer(self.rendererName, edit=True, renderDiagnosticsProcedure=self.renderCallback("renderDiagnosticsProcedure"))
     
     pm.renderer(self.rendererName, edit=True, renderOptionsProcedure=self.renderCallback("renderOptionsProcedure"))
     pm.renderer(self.rendererName, edit=True, cancelBatchRenderProcedure=self.renderCallback("cancelBatchRenderProcedure"))
     pm.renderer(self.rendererName, edit=True, showBatchRenderProcedure=self.renderCallback("showBatchRenderProcedure"))
     pm.renderer(self.rendererName, edit=True, showRenderLogProcedure=self.renderCallback("showRenderLogProcedure"))
     pm.renderer(self.rendererName, edit=True, showBatchRenderLogProcedure=self.renderCallback("showBatchRenderLogProcedure"))
     pm.renderer(self.rendererName, edit=True, textureBakingProcedure=self.renderCallback("textureBakingProcedure"))
     pm.renderer(self.rendererName, edit=True, renderingEditorsSubMenuProcedure=self.renderCallback("renderingEditorsSubMenuProcedure"))
     pm.renderer(self.rendererName, edit=True, renderMenuProcedure=self.renderCallback("renderMenuProcedure"))
         
     pm.renderer(self.rendererName, edit=True, renderRegionProcedure="mayaRenderRegion")
             
     pm.renderer(self.rendererName, edit=True, addGlobalsTab=('Common', "createMayaSoftwareCommonGlobalsTab", "updateMayaSoftwareCommonGlobalsTab"))
     #self.overwriteUpdateMayaImageFormatControl()
     # because mentalray is still hardcoded in the maya scripts, I cannot simply use my own commons without replacing some original scripts
     # so I use the defaults
     #pm.renderer(self.rendererName, edit=True, addGlobalsTab=self.renderTabMelProcedure("OpenMayaCommonGlobals"))    
     
     # my own tabs
     pm.renderer(self.rendererName, edit=True, addGlobalsTab=self.renderTabMelProcedure("Renderer"))    
     self.addUserTabs()
     pm.renderer(self.rendererName, edit=True, addGlobalsTab=self.renderTabMelProcedure("Translator"))    
     
     pm.mel.source('createMayaSoftwareCommonGlobalsTab.mel')
     #pm.evalDeferred(self.overwriteUpdateMayaImageFormatControl)
     self.overwriteUpdateMayaImageFormatControl()
     
     log.debug("RegisterRenderer done")
Example #24
0
 def addTabs(self):
     pm.renderer(self.rendererName, edit=True, addGlobalsTab=self.renderTabMelProcedure("CommonGlobals"))
     pm.renderer(self.rendererName, edit=True, addGlobalsTab=self.renderTabMelProcedure("Renderer"))
     pm.renderer(self.rendererName, edit=True, addGlobalsTab=self.renderTabMelProcedure("Environment"))
     pm.renderer(self.rendererName, edit=True, addGlobalsTab=self.renderTabMelProcedure("Translator"))
Example #25
0
def register():
    logger.info("Registering appleseed renderer.")

    # Register render.
    pm.renderer("appleseed", rendererUIName="appleseed")
    createRenderMelProcedures()

    # Final Render procedures.
    pm.renderer(
        "appleseed",
        edit=True,
        renderProcedure="appleseedRenderProcedure",
        commandRenderProcedure="appleseedBatchRenderProcedure",
        batchRenderProcedure="appleseedBatchRenderProcedure",
        cancelBatchRenderProcedure="appleseedCancelBatchRenderProcedure",
        renderRegionProcedure="mayaRenderRegion")

    # Ipr Render procedures.
    pm.renderer(
        "appleseed",
        edit=True,
        iprRenderProcedure="appleseedIprRenderProcedure",
        isRunningIprProcedure="appleseedIsRunningIprRenderProcedure",
        startIprRenderProcedure="appleseedStartIprRenderProcedure",
        stopIprRenderProcedure="appleseedStopIprRenderProcedure",
        refreshIprRenderProcedure="appleseedRefreshIprRenderProcedure",
        pauseIprRenderProcedure="appleseedPauseIprRenderProcedure",
        changeIprRegionProcedure="appleseedChangeIprRegionProcedure",
    )

    # Globals
    createRenderTabsMelProcedures()
    renderSettingsBuiltCallback('appleseed')

    pm.renderer("appleseed", edit=True, addGlobalsNode="defaultRenderGlobals")
    pm.renderer("appleseed", edit=True, addGlobalsNode="defaultResolution")
    pm.renderer("appleseed",
                edit=True,
                addGlobalsNode="appleseedRenderGlobals")

    pm.callbacks(addCallback=renderSettingsBuiltCallback,
                 hook="renderSettingsBuilt",
                 owner="appleseed")

    addRenderGlobalsScriptJobs()

    # AE templates.
    pm.callbacks(addCallback=appleseedAETemplateCallback,
                 hook="AETemplateCustomContent",
                 owner="appleseed")

    # Manually load templates in aetemplate folder.
    templatesDir = os.path.join(thisDir, "aetemplate")
    logger.debug("Registering AETemplates in %s" % templatesDir)
    for file in os.listdir(templatesDir):
        if fnmatch.fnmatch(file, '*template.py'):
            templateModule = file.replace(".py", "")
            logger.debug("Registering AE template %s" % templateModule)
            mel.eval('python("import appleseedMaya.aetemplate.%s")' %
                     templateModule)

    # Hypershade callbacks
    asHypershadeCallbacks = [
        ("hyperShadePanelBuildCreateMenu",
         hyperShadePanelBuildCreateMenuCallback),
        ("hyperShadePanelBuildCreateSubMenu",
         hyperShadePanelBuildCreateSubMenuCallback),
        ("hyperShadePanelPluginChange", hyperShadePanelPluginChangeCallback),
        ("createRenderNodeSelectNodeCategories",
         createRenderNodeSelectNodeCategoriesCallback),
        ("createRenderNodePluginChange", createRenderNodePluginChangeCallback),
        ("renderNodeClassification", renderNodeClassificationCallback),
        ("createRenderNodeCommand", createRenderNodeCallback),
        ("nodeCanBeUsedAsMaterial", nodeCanBeUsedAsMaterialCallback),
        ("buildRenderNodeTreeListerContent",
         buildRenderNodeTreeListerContentCallback)
    ]
    for h, c in asHypershadeCallbacks:
        logger.debug("Adding {0} callback.".format(h))
        pm.callbacks(addCallback=c, hook=h, owner="appleseed")

    # appleseed translator.
    createTranslatorMelProcedures()

    # Logos.
    pm.renderer("appleseed", edit=True, logoImageName="appleseed.png")

    mel.eval('''
        global proc appleseedLogoCallback()
        {
            evalDeferred("showHelp -absolute \\\"http://appleseedhq.net\\\"");
        }
        ''')

    pm.renderer("appleseed",
                edit=True,
                logoCallbackProcedure="appleseedLogoCallback")

    # Menu
    if om.MGlobal.mayaState() == om.MGlobal.kInteractive:
        createMenu()

    # XGen
    try:
        import xgenm as xg
        for h, c in asXGenCallbacks:
            xg.registerCallback(h, c)

        logger.info("appleseedMaya: initialized xgenseed")
    except Exception as e:
        logger.info(
            "appleseedMaya: could not initialize xgenseed. error = %s" % e)
Example #26
0
 def unRegisterRenderer(self):
     if pm.renderer(self.rendererName, q=True, exists=True):
         pm.renderer(self.rendererName, unregisterRenderer=True)
     pm.mel.source('createMayaSoftwareCommonGlobalsTab')
     pm.mel.source("unifiedRenderGlobalsWindow")
Example #27
0
    def registerRenderer(self):
        log.debug("registerRenderer")
        self.unRegisterRenderer()
        self.registerNodeExtensions()
        self.registerAETemplateCallbacks()
        pm.renderer(self.rendererName, rendererUIName=self.rendererName)
        pm.renderer(self.rendererName,
                    edit=True,
                    renderProcedure=self.makeMelProcFromPythonCmd(
                        self.renderProcedure, [('int', 'width'),
                                               ('int', 'height'),
                                               ('int', 'doShadows'),
                                               ('int', 'doGlow'),
                                               ('string', 'camera'),
                                               ('string', 'options')]))
        pm.renderer(self.rendererName,
                    edit=True,
                    batchRenderProcedure=self.makeMelProcFromPythonCmd(
                        self.batchRenderProcedure, [('string', 'options')]))
        pm.renderer(self.rendererName,
                    edit=True,
                    commandRenderProcedure=self.makeMelProcFromPythonCmd(
                        self.batchRenderProcedure, [('string', 'options')]))
        # pm.renderer(self.rendererName, edit=True, batchRenderProcedure=self.renderCallback("batchRenderProcedure"))
        # pm.renderer(self.rendererName, edit=True, commandRenderProcedure=self.renderCallback("commandRenderProcedure"))
        pm.renderer(self.rendererName,
                    edit=True,
                    batchRenderOptionsProcedure=self.renderCallback(
                        "batchRenderOptionsProcedure"))
        pm.renderer(self.rendererName,
                    edit=True,
                    batchRenderOptionsStringProcedure=self.renderCallback(
                        "batchRenderOptionsStringProcedure"))
        pm.renderer(self.rendererName,
                    edit=True,
                    addGlobalsNode="defaultRenderGlobals")
        pm.renderer(self.rendererName,
                    edit=True,
                    addGlobalsNode="defaultResolution")
        pm.renderer(self.rendererName,
                    edit=True,
                    addGlobalsNode=self.renderGlobalsNodeName)

        pm.renderer(self.rendererName,
                    edit=True,
                    startIprRenderProcedure=self.makeMelProcFromPythonCmd(
                        self.startIprRenderProcedure, [('string', 'editor'),
                                                       ('int', 'resolutionX'),
                                                       ('int', 'resolutionY'),
                                                       ('string', 'camera')]))
        pm.renderer(self.rendererName,
                    edit=True,
                    stopIprRenderProcedure=self.makeMelProcFromPythonCmd(
                        self.stopIprRenderProcedure, []))
        pm.renderer(self.rendererName,
                    edit=True,
                    pauseIprRenderProcedure=self.makeMelProcFromPythonCmd(
                        self.pauseIprRenderProcedure, [('string', 'editor'),
                                                       ('int', 'pause')]))

        pm.renderer(self.rendererName,
                    edit=True,
                    changeIprRegionProcedure=self.renderCallback(
                        "changeIprRegionProcedure"))
        pm.renderer(
            self.rendererName,
            edit=True,
            iprOptionsProcedure=self.renderCallback("iprOptionsProcedure"))
        pm.renderer(
            self.rendererName,
            edit=True,
            iprOptionsMenuLabel=self.renderCallback("iprOptionsMenuLabel"))
        pm.renderer(
            self.rendererName,
            edit=True,
            iprRenderProcedure=self.renderCallback("iprRenderProcedure"))
        pm.renderer(self.rendererName,
                    edit=True,
                    iprRenderSubMenuProcedure=self.renderCallback(
                        "iprRenderSubMenuProcedure"))
        pm.renderer(
            self.rendererName,
            edit=True,
            isRunningIprProcedure=self.renderCallback("isRunningIprProcedure"))
        pm.renderer(self.rendererName,
                    edit=True,
                    refreshIprRenderProcedure=self.renderCallback(
                        "refreshIprRenderProcedure"))
        pm.renderer(
            self.rendererName,
            edit=True,
            logoCallbackProcedure=self.renderCallback("logoCallbackProcedure"))
        pm.renderer(self.rendererName,
                    edit=True,
                    logoImageName=self.rendererName + ".png")
        pm.renderer(self.rendererName,
                    edit=True,
                    renderDiagnosticsProcedure=self.renderCallback(
                        "renderDiagnosticsProcedure"))

        pm.renderer(self.rendererName,
                    edit=True,
                    renderOptionsProcedure=self.renderCallback(
                        "renderOptionsProcedure"))
        pm.renderer(self.rendererName,
                    edit=True,
                    cancelBatchRenderProcedure=self.renderCallback(
                        "cancelBatchRenderProcedure"))
        pm.renderer(self.rendererName,
                    edit=True,
                    showBatchRenderProcedure=self.renderCallback(
                        "showBatchRenderProcedure"))
        pm.renderer(self.rendererName,
                    edit=True,
                    showRenderLogProcedure=self.renderCallback(
                        "showRenderLogProcedure"))
        pm.renderer(self.rendererName,
                    edit=True,
                    showBatchRenderLogProcedure=self.renderCallback(
                        "showBatchRenderLogProcedure"))
        pm.renderer(self.rendererName,
                    edit=True,
                    textureBakingProcedure=self.renderCallback(
                        "textureBakingProcedure"))
        pm.renderer(self.rendererName,
                    edit=True,
                    renderingEditorsSubMenuProcedure=self.renderCallback(
                        "renderingEditorsSubMenuProcedure"))

        pm.renderer(self.rendererName,
                    edit=True,
                    renderRegionProcedure="mayaRenderRegion")

        # In the maya system files we have to hardcode some renderers if we want to use our own CommonGlobals Tab
        # The modified scripts are located in the module scritps directory. Unfortunatly the scripts directory is loaded
        # after mayas own scripts directory so the modified scripts with the same name will never be loaded. To fix this
        # behaviour I place the module script path at the very first position.
        scriptDir = path.path(__file__).dirname().parent
        os.environ['MAYA_SCRIPT_PATH'] = "{0};{1}".format(
            scriptDir, os.environ['MAYA_SCRIPT_PATH'])
        pm.mel.eval("source createMayaSoftwareCommonGlobalsTab")
        pm.mel.eval("source unifiedRenderGlobalsWindow")

        pm.evalDeferred(self.addTabs)
        log.debug("RegisterRenderer done")
Example #28
0
    def registerRenderer(self):
        log.debug("registerRenderer")
        self.unRegisterRenderer()
        self.registerNodeExtensions()
        self.registerAETemplateCallbacks()
        pm.renderer(self.rendererName, rendererUIName=self.rendererName)
        pm.renderer(self.rendererName,
                    edit=True,
                    renderProcedure=self.makeMelProcFromPythonCmd(
                        self.renderProcedure, [('int', 'width'),
                                               ('int', 'height'),
                                               ('int', 'doShadows'),
                                               ('int', 'doGlow'),
                                               ('string', 'camera'),
                                               ('string', 'options')]))
        pm.renderer(self.rendererName,
                    edit=True,
                    batchRenderProcedure=self.makeMelProcFromPythonCmd(
                        self.batchRenderProcedure, [('string', 'options')]))
        pm.renderer(self.rendererName,
                    edit=True,
                    commandRenderProcedure=self.makeMelProcFromPythonCmd(
                        self.batchRenderProcedure, [('string', 'options')]))
        # pm.renderer(self.rendererName, edit=True, batchRenderProcedure=self.renderCallback("batchRenderProcedure"))
        # pm.renderer(self.rendererName, edit=True, commandRenderProcedure=self.renderCallback("commandRenderProcedure"))
        pm.renderer(self.rendererName,
                    edit=True,
                    batchRenderOptionsProcedure=self.renderCallback(
                        "batchRenderOptionsProcedure"))
        pm.renderer(self.rendererName,
                    edit=True,
                    batchRenderOptionsStringProcedure=self.renderCallback(
                        "batchRenderOptionsStringProcedure"))
        pm.renderer(self.rendererName,
                    edit=True,
                    addGlobalsNode="defaultRenderGlobals")
        pm.renderer(self.rendererName,
                    edit=True,
                    addGlobalsNode="defaultResolution")
        pm.renderer(self.rendererName,
                    edit=True,
                    addGlobalsNode=self.renderGlobalsNodeName)

        pm.renderer(self.rendererName,
                    edit=True,
                    startIprRenderProcedure=self.makeMelProcFromPythonCmd(
                        self.startIprRenderProcedure, [('string', 'editor'),
                                                       ('int', 'resolutionX'),
                                                       ('int', 'resolutionY'),
                                                       ('string', 'camera')]))
        pm.renderer(self.rendererName,
                    edit=True,
                    stopIprRenderProcedure=self.makeMelProcFromPythonCmd(
                        self.stopIprRenderProcedure, []))
        pm.renderer(self.rendererName,
                    edit=True,
                    pauseIprRenderProcedure=self.makeMelProcFromPythonCmd(
                        self.pauseIprRenderProcedure, [('string', 'editor'),
                                                       ('int', 'pause')]))

        pm.renderer(self.rendererName,
                    edit=True,
                    changeIprRegionProcedure=self.renderCallback(
                        "changeIprRegionProcedure"))
        pm.renderer(
            self.rendererName,
            edit=True,
            iprOptionsProcedure=self.renderCallback("iprOptionsProcedure"))
        pm.renderer(
            self.rendererName,
            edit=True,
            iprOptionsMenuLabel=self.renderCallback("iprOptionsMenuLabel"))
        pm.renderer(
            self.rendererName,
            edit=True,
            iprRenderProcedure=self.renderCallback("iprRenderProcedure"))
        pm.renderer(self.rendererName,
                    edit=True,
                    iprRenderSubMenuProcedure=self.renderCallback(
                        "iprRenderSubMenuProcedure"))
        pm.renderer(
            self.rendererName,
            edit=True,
            isRunningIprProcedure=self.renderCallback("isRunningIprProcedure"))
        pm.renderer(self.rendererName,
                    edit=True,
                    refreshIprRenderProcedure=self.renderCallback(
                        "refreshIprRenderProcedure"))
        #pm.renderer(self.rendererName, edit=True, logoCallbackProcedure=self.renderCallback("logoCallbackProcedure"))
        pm.renderer(self.rendererName,
                    edit=True,
                    logoImageName=self.rendererName + ".png")
        pm.renderer(self.rendererName,
                    edit=True,
                    renderDiagnosticsProcedure=self.renderCallback(
                        "renderDiagnosticsProcedure"))

        pm.renderer(self.rendererName,
                    edit=True,
                    renderOptionsProcedure=self.renderCallback(
                        "renderOptionsProcedure"))
        pm.renderer(self.rendererName,
                    edit=True,
                    cancelBatchRenderProcedure=self.renderCallback(
                        "cancelBatchRenderProcedure"))
        pm.renderer(self.rendererName,
                    edit=True,
                    showBatchRenderProcedure=self.renderCallback(
                        "showBatchRenderProcedure"))
        pm.renderer(self.rendererName,
                    edit=True,
                    showRenderLogProcedure=self.renderCallback(
                        "showRenderLogProcedure"))
        pm.renderer(self.rendererName,
                    edit=True,
                    showBatchRenderLogProcedure=self.renderCallback(
                        "showBatchRenderLogProcedure"))
        pm.renderer(self.rendererName,
                    edit=True,
                    textureBakingProcedure=self.renderCallback(
                        "textureBakingProcedure"))
        #pm.renderer(self.rendererName, edit=True, renderingEditorsSubMenuProcedure=self.renderCallback("renderingEditorsSubMenuProcedure"))

        pm.renderer(self.rendererName,
                    edit=True,
                    renderRegionProcedure="mayaRenderRegion")

        scriptDir = path.path(__file__).dirname().parent
        #os.environ['MAYA_SCRIPT_PATH'] = "{0};{1}".format(scriptDir, os.environ['MAYA_SCRIPT_PATH'])
        pm.mel.source('createMayaSoftwareCommonGlobalsTab')
        pm.mel.source("unifiedRenderGlobalsWindow")

        self.defineCommonMelProcedures()

        pm.evalDeferred(self.addTabs)
        log.debug("RegisterRenderer done")
Example #29
0
def removeRenderer():
    pm.renderer(RENDERERNAME,  edit = True, unregisterRenderer = True)
    menuName = RENDERERNAME
    if pm.menu(menuName, query=True, exists=True):
        pm.deleteUI(menuName)
Example #30
0
    def registerRenderer(self):
        self.unRegisterRenderer()
        self.registerNodeExtensions()
        self.registerAETemplateCallbacks()
        pm.renderer(self.rendererName, rendererUIName=self.rendererName)
        pm.renderer(self.rendererName, edit=True, renderProcedure=self.makeMelProcFromPythonCmd(self.renderProcedure, [('int', 'width'),
                                                                                                                       ('int', 'height'),
                                                                                                                       ('int', 'doShadows'),
                                                                                                                       ('int', 'doGlow'),
                                                                                                                       ('string', 'camera'),
                                                                                                                       ('string', 'options')]))
        pm.renderer(self.rendererName, edit=True, batchRenderProcedure=self.makeMelProcFromPythonCmd(self.batchRenderProcedure, [('string', 'options')]))
        pm.renderer(self.rendererName, edit=True, commandRenderProcedure=self.makeMelProcFromPythonCmd(self.batchRenderProcedure, [('string', 'options')]))
        pm.renderer(self.rendererName, edit=True, batchRenderOptionsProcedure=self.renderCallback("batchRenderOptionsProcedure"))
        pm.renderer(self.rendererName, edit=True, batchRenderOptionsStringProcedure=self.renderCallback("batchRenderOptionsStringProcedure"))
        pm.renderer(self.rendererName, edit=True, addGlobalsNode="defaultRenderGlobals")
        pm.renderer(self.rendererName, edit=True, addGlobalsNode="defaultResolution")
        pm.renderer(self.rendererName, edit=True, addGlobalsNode=self.renderGlobalsNodeName)
        pm.renderer(self.rendererName, edit=True, startIprRenderProcedure=self.makeMelProcFromPythonCmd(self.startIprRenderProcedure, [('string', 'editor'),
                                                                                                                                       ('int', 'resolutionX'),
                                                                                                                                       ('int', 'resolutionY'),
                                                                                                                                       ('string', 'camera')]))
        pm.renderer(self.rendererName, edit=True, stopIprRenderProcedure=self.makeMelProcFromPythonCmd(self.stopIprRenderProcedure, []))
        pm.renderer(self.rendererName, edit=True, pauseIprRenderProcedure=self.makeMelProcFromPythonCmd(self.pauseIprRenderProcedure, [('string', 'editor'), ('int', 'pause')]))
        pm.renderer(self.rendererName, edit=True, changeIprRegionProcedure=self.makeMelProcFromPythonCmd(self.changeIprRegionProcedure, [('string', 'editor')]))
        pm.renderer(self.rendererName, edit=True, iprRenderProcedure=self.renderCallback("iprRenderProcedure"))
        pm.renderer(self.rendererName, edit=True, isRunningIprProcedure=self.renderCallback("isRunningIprProcedure"))
        pm.renderer(self.rendererName, edit=True, refreshIprRenderProcedure=self.renderCallback("refreshIprRenderProcedure"))
        pm.renderer(self.rendererName, edit=True, logoImageName=self.rendererName + ".png")
        pm.renderer(self.rendererName, edit=True, renderDiagnosticsProcedure=self.renderCallback("renderDiagnosticsProcedure"))
        pm.renderer(self.rendererName, edit=True, renderOptionsProcedure=self.renderCallback("renderOptionsProcedure"))
        pm.renderer(self.rendererName, edit=True, cancelBatchRenderProcedure=self.renderCallback("cancelBatchRenderProcedure"))
        pm.renderer(self.rendererName, edit=True, showBatchRenderProcedure=self.renderCallback("showBatchRenderProcedure"))
        pm.renderer(self.rendererName, edit=True, showRenderLogProcedure=self.renderCallback("showRenderLogProcedure"))
        pm.renderer(self.rendererName, edit=True, showBatchRenderLogProcedure=self.renderCallback("showBatchRenderLogProcedure"))
        pm.renderer(self.rendererName, edit=True, textureBakingProcedure=self.renderCallback("textureBakingProcedure"))
        pm.renderer(self.rendererName, edit=True, renderRegionProcedure="mayaRenderRegion")
        scriptDir = path.path(__file__).dirname().parent

        pm.mel.eval('global string $gImageFormatData[]; $gImageFormatData = {};')
        pm.mel.eval('global string $gPLEImageFormatData[]; $gPLEImageFormatData = {};')
        pm.mel.eval('global string $gPLEImageFormatData_Mental[]; $gPLEImageFormatData_Mental = {};')
        pm.mel.source('createMayaSoftwareCommonGlobalsTab')
        pm.mel.source("unifiedRenderGlobalsWindow")
        self.defineCommonMelProcedures()
        pm.evalDeferred(self.addTabs)
Example #31
0
    def registerRenderer(self):
        log.debug("registerRenderer")
        self.unRegisterRenderer()
        self.registerNodeExtensions()
        self.registerAETemplateCallbacks()
        pm.renderer(self.rendererName, rendererUIName = self.rendererName)
        pm.renderer(self.rendererName, edit = True, renderProcedure = self.renderCallback("renderProcedure"))
        pm.renderer(self.rendererName, edit = True, batchRenderProcedure =  self.renderCallback("batchRenderProcedure"))
        pm.renderer(self.rendererName, edit = True, commandRenderProcedure =  self.renderCallback("commandRenderProcedure"))
        pm.renderer(self.rendererName, edit = True, batchRenderOptionsProcedure =  self.renderCallback("batchRenderOptionsProcedure"))
        pm.renderer(self.rendererName, edit = True, batchRenderOptionsStringProcedure =  self.renderCallback("batchRenderOptionsStringProcedure"))
        pm.renderer(self.rendererName, edit = True, addGlobalsNode = "defaultRenderGlobals")
        pm.renderer(self.rendererName, edit = True, addGlobalsNode = "defaultResolution")
        pm.renderer(self.rendererName, edit = True, addGlobalsNode = self.renderGlobalsNodeName)
        
        # because mentalray is still hardcoded in the maya scritps, I cannot simply use my own commons without replacing some original scripts
        # so I use the defaults
        pm.renderer(self.rendererName, edit = True, addGlobalsTab = ('Common', "createMayaSoftwareCommonGlobalsTab", "updateMayaSoftwareCommonGlobalsTab"))

        # my own tabs
        pm.renderer(self.rendererName, edit = True, addGlobalsTab = self.renderTabMelProcedure("Renderer"))    
        pm.renderer(self.rendererName, edit = True, addGlobalsTab = self.renderTabMelProcedure("Translator"))    
        
        log.debug("RegisterRenderer done")
Example #32
0
    def registerRenderer(self):
        log.debug("registerRenderer")
        self.unRegisterRenderer()
        self.registerNodeExtensions()
        self.registerAETemplateCallbacks()
        pm.renderer(self.rendererName, rendererUIName=self.rendererName)
        pm.renderer(self.rendererName, edit=True, renderProcedure=self.makeMelProcFromPythonCmd(self.renderProcedure, [('int', 'width'),
                                                                                                                       ('int', 'height'),
                                                                                                                       ('int', 'doShadows'),
                                                                                                                       ('int', 'doGlow'),
                                                                                                                       ('string', 'camera'),
                                                                                                                       ('string', 'options')]))
        pm.renderer(self.rendererName, edit=True, batchRenderProcedure=self.makeMelProcFromPythonCmd(self.batchRenderProcedure, [('string', 'options')]))
        pm.renderer(self.rendererName, edit=True, commandRenderProcedure=self.makeMelProcFromPythonCmd(self.batchRenderProcedure, [('string', 'options')]))
        # pm.renderer(self.rendererName, edit=True, batchRenderProcedure=self.renderCallback("batchRenderProcedure"))
        # pm.renderer(self.rendererName, edit=True, commandRenderProcedure=self.renderCallback("commandRenderProcedure"))
        pm.renderer(self.rendererName, edit=True, batchRenderOptionsProcedure=self.renderCallback("batchRenderOptionsProcedure"))
        pm.renderer(self.rendererName, edit=True, batchRenderOptionsStringProcedure=self.renderCallback("batchRenderOptionsStringProcedure"))
        pm.renderer(self.rendererName, edit=True, addGlobalsNode="defaultRenderGlobals")
        pm.renderer(self.rendererName, edit=True, addGlobalsNode="defaultResolution")
        pm.renderer(self.rendererName, edit=True, addGlobalsNode=self.renderGlobalsNodeName)
        
        pm.renderer(self.rendererName, edit=True, startIprRenderProcedure=self.makeMelProcFromPythonCmd(self.startIprRenderProcedure, [('string', 'editor'),
                                                                                                                                       ('int', 'resolutionX'),
                                                                                                                                       ('int', 'resolutionY'),
                                                                                                                                       ('string', 'camera')]))
        pm.renderer(self.rendererName, edit=True, stopIprRenderProcedure=self.makeMelProcFromPythonCmd(self.stopIprRenderProcedure, []))
        pm.renderer(self.rendererName, edit=True, pauseIprRenderProcedure=self.makeMelProcFromPythonCmd(self.pauseIprRenderProcedure, [('string', 'editor'), ('int', 'pause')]))
        
        pm.renderer(self.rendererName, edit=True, changeIprRegionProcedure=self.renderCallback("changeIprRegionProcedure"))
        pm.renderer(self.rendererName, edit=True, iprOptionsProcedure=self.renderCallback("iprOptionsProcedure"))
        pm.renderer(self.rendererName, edit=True, iprOptionsMenuLabel=self.renderCallback("iprOptionsMenuLabel"))
        pm.renderer(self.rendererName, edit=True, iprRenderProcedure=self.renderCallback("iprRenderProcedure"))
        pm.renderer(self.rendererName, edit=True, iprRenderSubMenuProcedure=self.renderCallback("iprRenderSubMenuProcedure"))
        pm.renderer(self.rendererName, edit=True, isRunningIprProcedure=self.renderCallback("isRunningIprProcedure"))
        pm.renderer(self.rendererName, edit=True, refreshIprRenderProcedure=self.renderCallback("refreshIprRenderProcedure"))
        #pm.renderer(self.rendererName, edit=True, logoCallbackProcedure=self.renderCallback("logoCallbackProcedure"))
        pm.renderer(self.rendererName, edit=True, logoImageName=self.rendererName + ".png")
        pm.renderer(self.rendererName, edit=True, renderDiagnosticsProcedure=self.renderCallback("renderDiagnosticsProcedure"))
        
        pm.renderer(self.rendererName, edit=True, renderOptionsProcedure=self.renderCallback("renderOptionsProcedure"))
        pm.renderer(self.rendererName, edit=True, cancelBatchRenderProcedure=self.renderCallback("cancelBatchRenderProcedure"))
        pm.renderer(self.rendererName, edit=True, showBatchRenderProcedure=self.renderCallback("showBatchRenderProcedure"))
        pm.renderer(self.rendererName, edit=True, showRenderLogProcedure=self.renderCallback("showRenderLogProcedure"))
        pm.renderer(self.rendererName, edit=True, showBatchRenderLogProcedure=self.renderCallback("showBatchRenderLogProcedure"))
        pm.renderer(self.rendererName, edit=True, textureBakingProcedure=self.renderCallback("textureBakingProcedure"))        
        #pm.renderer(self.rendererName, edit=True, renderingEditorsSubMenuProcedure=self.renderCallback("renderingEditorsSubMenuProcedure"))
            
        pm.renderer(self.rendererName, edit=True, renderRegionProcedure="mayaRenderRegion")

        scriptDir = path.path(__file__).dirname().parent
        #os.environ['MAYA_SCRIPT_PATH'] = "{0};{1}".format(scriptDir, os.environ['MAYA_SCRIPT_PATH'])
        pm.mel.source('createMayaSoftwareCommonGlobalsTab')
        pm.mel.source("unifiedRenderGlobalsWindow")
        
        self.defineCommonMelProcedures()
        
        pm.evalDeferred(self.addTabs)                
        log.debug("RegisterRenderer done")
Example #33
0
 def unRegisterRenderer(self):
     if pm.renderer(self.rendererName, q=True, exists=True):
         pm.renderer(self.rendererName, unregisterRenderer=True)
     pm.mel.source('createMayaSoftwareCommonGlobalsTab')
     pm.mel.source("unifiedRenderGlobalsWindow")
Example #34
0
    def registerRenderer(self):
        log.debug("registerRenderer")
        self.unRegisterRenderer()
        self.registerNodeExtensions()
        self.registerAETemplateCallbacks()
        pm.renderer(self.rendererName, rendererUIName=self.rendererName)
        pm.renderer(self.rendererName, edit=True, renderProcedure=self.makeMelProcFromPythonCmd(self.renderProcedure, [('int', 'width'),
                                                                                                                       ('int', 'height'),
                                                                                                                       ('int', 'doShadows'),
                                                                                                                       ('int', 'doGlow'),
                                                                                                                       ('string', 'camera'),
                                                                                                                       ('string', 'options')]))
        pm.renderer(self.rendererName, edit=True, batchRenderProcedure=self.makeMelProcFromPythonCmd(self.batchRenderProcedure, [('string', 'options')]))
        pm.renderer(self.rendererName, edit=True, commandRenderProcedure=self.makeMelProcFromPythonCmd(self.batchRenderProcedure, [('string', 'options')]))
        # pm.renderer(self.rendererName, edit=True, batchRenderProcedure=self.renderCallback("batchRenderProcedure"))
        # pm.renderer(self.rendererName, edit=True, commandRenderProcedure=self.renderCallback("commandRenderProcedure"))
        pm.renderer(self.rendererName, edit=True, batchRenderOptionsProcedure=self.renderCallback("batchRenderOptionsProcedure"))
        pm.renderer(self.rendererName, edit=True, batchRenderOptionsStringProcedure=self.renderCallback("batchRenderOptionsStringProcedure"))
        pm.renderer(self.rendererName, edit=True, addGlobalsNode="defaultRenderGlobals")
        pm.renderer(self.rendererName, edit=True, addGlobalsNode="defaultResolution")
        pm.renderer(self.rendererName, edit=True, addGlobalsNode=self.renderGlobalsNodeName)
        
        pm.renderer(self.rendererName, edit=True, startIprRenderProcedure=self.makeMelProcFromPythonCmd(self.startIprRenderProcedure, [('string', 'editor'),
                                                                                                                                       ('int', 'resolutionX'),
                                                                                                                                       ('int', 'resolutionY'),
                                                                                                                                       ('string', 'camera')]))
        pm.renderer(self.rendererName, edit=True, stopIprRenderProcedure=self.makeMelProcFromPythonCmd(self.stopIprRenderProcedure, []))
        pm.renderer(self.rendererName, edit=True, pauseIprRenderProcedure=self.makeMelProcFromPythonCmd(self.pauseIprRenderProcedure, [('string', 'editor'), ('int', 'pause')]))
        
        pm.renderer(self.rendererName, edit=True, changeIprRegionProcedure=self.renderCallback("changeIprRegionProcedure"))
        pm.renderer(self.rendererName, edit=True, iprOptionsProcedure=self.renderCallback("iprOptionsProcedure"))
        pm.renderer(self.rendererName, edit=True, iprOptionsMenuLabel=self.renderCallback("iprOptionsMenuLabel"))
        pm.renderer(self.rendererName, edit=True, iprRenderProcedure=self.renderCallback("iprRenderProcedure"))
        pm.renderer(self.rendererName, edit=True, iprRenderSubMenuProcedure=self.renderCallback("iprRenderSubMenuProcedure"))
        pm.renderer(self.rendererName, edit=True, isRunningIprProcedure=self.renderCallback("isRunningIprProcedure"))
        pm.renderer(self.rendererName, edit=True, refreshIprRenderProcedure=self.renderCallback("refreshIprRenderProcedure"))
        pm.renderer(self.rendererName, edit=True, logoCallbackProcedure=self.renderCallback("logoCallbackProcedure"))
        pm.renderer(self.rendererName, edit=True, logoImageName=self.rendererName + ".png")
        pm.renderer(self.rendererName, edit=True, renderDiagnosticsProcedure=self.renderCallback("renderDiagnosticsProcedure"))
        
        pm.renderer(self.rendererName, edit=True, renderOptionsProcedure=self.renderCallback("renderOptionsProcedure"))
        pm.renderer(self.rendererName, edit=True, cancelBatchRenderProcedure=self.renderCallback("cancelBatchRenderProcedure"))
        pm.renderer(self.rendererName, edit=True, showBatchRenderProcedure=self.renderCallback("showBatchRenderProcedure"))
        pm.renderer(self.rendererName, edit=True, showRenderLogProcedure=self.renderCallback("showRenderLogProcedure"))
        pm.renderer(self.rendererName, edit=True, showBatchRenderLogProcedure=self.renderCallback("showBatchRenderLogProcedure"))
        pm.renderer(self.rendererName, edit=True, textureBakingProcedure=self.renderCallback("textureBakingProcedure"))
        pm.renderer(self.rendererName, edit=True, renderingEditorsSubMenuProcedure=self.renderCallback("renderingEditorsSubMenuProcedure"))
            
        pm.renderer(self.rendererName, edit=True, renderRegionProcedure="mayaRenderRegion")

        # In the maya system files we have to hardcode some renderers if we want to use our own CommonGlobals Tab
        # The modified scripts are located in the module scritps directory. Unfortunatly the scripts directory is loaded
        # after mayas own scripts directory so the modified scripts with the same name will never be loaded. To fix this
        # behaviour I place the module script path at the very first position.        
        scriptDir = path.path(__file__).dirname().parent
        os.environ['MAYA_SCRIPT_PATH'] = "{0};{1}".format(scriptDir, os.environ['MAYA_SCRIPT_PATH'])
        pm.mel.eval("source createMayaSoftwareCommonGlobalsTab")
        pm.mel.eval("source unifiedRenderGlobalsWindow")
        
        pm.evalDeferred(self.addTabs)                
        log.debug("RegisterRenderer done")
Example #35
0
def unregister():
    pm.renderer('AtlasRenderer', unregisterRenderer=True)
Example #36
0
 def unRegisterRenderer(self):
     print "unregister"
     if pm.renderer(self.rendererName, q=True, exists=True):
         pm.renderer(self.rendererName, unregisterRenderer=True)
Example #37
0
 def addUserTabs(self):
     pm.renderer(self.rendererName, edit=True, addGlobalsTab=self.renderTabMelProcedure("Environment"))    
def _register():
    args = {}
    args['renderProcedure'] = utils.pyToMelProc(arnoldRender.arnoldRender,
                                          [('int', 'width'), ('int', 'height'),
                                           ('int', 'doShadows'), ('int', 'doGlowPass'),
                                           ('string', 'camera'), ('string', 'options')])
    args['renderRegionProcedure'] = 'mayaRenderRegion'
    args['commandRenderProcedure']    = utils.pyToMelProc(arnoldRender.arnoldBatchRender,
                                                    [('string', 'option')])
    args['batchRenderProcedure']        = utils.pyToMelProc(arnoldRender.arnoldBatchRender,
                                                    [('string', 'option')])
    args['batchRenderOptionsStringProcedure'] = utils.pyToMelProc(arnoldRender.arnoldBatchRenderOptionsString, returnType='string')
    args['cancelBatchRenderProcedure']  = utils.pyToMelProc(arnoldRender.arnoldBatchStop)
    args['iprRenderProcedure']          = utils.pyToMelProc(arnoldRender.arnoldIprRender,
                                                    [('int', 'width'), ('int', 'height'),
                                                     ('int', 'doShadows'), ('int', 'doGlowPass'),
                                                     ('string', 'camera')])
    args['isRunningIprProcedure']       = utils.pyToMelProc(arnoldRender.arnoldIprIsRunning, returnType='int')
    args['startIprRenderProcedure']     = utils.pyToMelProc(arnoldRender.arnoldIprStart,
                                                    [('string', 'editor'), ('int', 'resolutionX'),
                                                     ('int', 'resolutionY'), ('string', 'camera')])
    args['stopIprRenderProcedure']      = utils.pyToMelProc(arnoldRender.arnoldIprStop)
    args['refreshIprRenderProcedure']   = utils.pyToMelProc(arnoldRender.arnoldIprRefresh)
    args['pauseIprRenderProcedure']     =   utils.pyToMelProc(arnoldRender.arnoldIprPause,
                                                    [('string', 'editor'), ('int', 'pause')])
    args['changeIprRegionProcedure']    = utils.pyToMelProc(arnoldRender.arnoldIprChangeRegion,
                                                    [('string', 'renderPanel')])
    pm.renderer('arnold', rendererUIName='Arnold Renderer', **args)
        
    pm.renderer('arnold', edit=True, addGlobalsTab=('Common',
                                                      utils.pyToMelProc(createArnoldRendererCommonGlobalsTab, useName=True),
                                                      utils.pyToMelProc(updateArnoldRendererCommonGlobalsTab, useName=True)))
    pm.renderer('arnold', edit=True, addGlobalsTab=('Arnold Renderer',
                                                      utils.pyToMelProc(createArnoldRendererGlobalsTab, useName=True),
                                                      utils.pyToMelProc(updateArnoldRendererGlobalsTab, useName=True)))
    pm.renderer('arnold', edit=True, addGlobalsTab=('System', 
                                                      utils.pyToMelProc(createArnoldRendererSystemTab, useName=True), 
                                                      utils.pyToMelProc(updateArnoldRendererSystemTab, useName=True)))
    pm.renderer('arnold', edit=True, addGlobalsTab=('AOVs', 
                                                      utils.pyToMelProc(createArnoldAOVTab, useName=True), 
                                                      utils.pyToMelProc(updateArnoldAOVTab, useName=True)))
    pm.renderer('arnold', edit=True, addGlobalsTab=('Diagnostics', 
                                                      utils.pyToMelProc(createArnoldRendererDiagnosticsTab, useName=True), 
                                                      utils.pyToMelProc(updateArnoldRendererDiagnosticsTab, useName=True)))
    pm.renderer('arnold', edit=True, addGlobalsTab=('Override', 
                                                      utils.pyToMelProc(createArnoldRendererOverrideTab, useName=True), 
                                                      utils.pyToMelProc(updateArnoldRendererOverrideTab, useName=True)))
    pm.renderer('arnold', edit=True, addGlobalsNode='defaultArnoldRenderOptions')
    utils.pyToMelProc(updateBackgroundSettings, useName=True)
    utils.pyToMelProc(updateAtmosphereSettings, useName=True)
    #We have to source this file otherwise maya will override
    #our mel proc overrides below.
    #
    pm.mel.source('createMayaSoftwareCommonGlobalsTab.mel')
    
    utils.pyToMelProc(addOneTabToGlobalsWindow,
                      [('string', 'renderer'), ('string', 'tabLabel'), ('string', 'createProc')],
                      useName=True)
    utils.pyToMelProc(renderSettingsTabLabel_melToUI,
                      [('string', 'mel')],
                      useName=True)
    utils.pyToMelProc(updateMayaImageFormatControl,
                      useName=True)
Example #39
0
def unregister():
    mc.flushUndo()
    pm.callbacks(clearCallbacks=True, owner="customMayaRenderer")

    pm.renderer('customMayaRenderer', unregisterRenderer=True)
Example #40
0
def registerRenderer():
    log.debug("registerRenderer")
    
    baseCmd = "import mtm_initialize as mtmi;reload(mtmi);"
    renderProc = baseCmd + "mtmi.renderProcedure()"    
    batchRenderProc = baseCmd + "mtmi.batchRenderProcedure()"    
    commandRenderProc = baseCmd + "mtmi.commandRenderProcedure()"    
    batchRenderOptionsProc = baseCmd + "mtmi.batchRenderOptionsProcedure()"    
    batchRenderOptionsStringProc = baseCmd + "mtmi.batchRenderOptionsStringProcedure()"    
    pm.renderer(RENDERERNAME, rendererUIName = RENDERERNAME)
    pm.renderer(RENDERERNAME, edit = True, renderProcedure = "python(\"" + renderProc +"\")")
    pm.renderer(RENDERERNAME, edit = True, batchRenderProcedure =  "python(\"" + batchRenderProc +"\")")
    pm.renderer(RENDERERNAME, edit = True, commandRenderProcedure =  "python(\"" + commandRenderProc +"\")")
    pm.renderer(RENDERERNAME, edit = True, batchRenderOptionsProcedure =  "python(\"" + batchRenderOptionsProc +"\")")
    pm.renderer(RENDERERNAME, edit = True, batchRenderOptionsStringProcedure =  "python(\"" + batchRenderOptionsStringProc +"\")")
    pm.renderer(RENDERERNAME, edit = True, addGlobalsNode = "defaultRenderGlobals")
    pm.renderer(RENDERERNAME, edit = True, addGlobalsTab = ('Common', "createMayaSoftwareCommonGlobalsTab", "updateMayaSoftwareCommonGlobalsTab"))
    pm.renderer(RENDERERNAME, edit = True, addGlobalsTab = (RENDERERNAME, "createRendererTab", "updateRendererTab"))    
    pm.renderer(RENDERERNAME, edit = True, addGlobalsTab = (RENDERERNAME + " Translator", "createTranslatorTab", "updateTranslatorTab"))    
Example #41
0
 def unRegisterRenderer(self):
     print "unregister"
     if pm.renderer(self.rendererName, q=True, exists=True):
         pm.renderer(self.rendererName, unregisterRenderer=True)
Example #42
0
 def addUserTabs(self):
     pm.renderer(self.rendererName, edit=True, addGlobalsTab=self.renderTabMelProcedure("Environment"))    
     pm.renderer(self.rendererName, edit=True, addGlobalsTab=self.renderTabMelProcedure("Photons"))    
     pm.renderer(self.rendererName, edit=True, addGlobalsTab=self.renderTabMelProcedure("FinalGathering"))    
     pm.renderer(self.rendererName, edit=True, addGlobalsTab=self.renderTabMelProcedure("Quality"))    
Example #43
0
 def addUserTabs(self):
     pm.renderer(self.rendererName, edit=True, addGlobalsTab=self.renderTabMelProcedure("Environment"))    
     pm.renderer(self.rendererName, edit=True, addGlobalsTab=self.renderTabMelProcedure("Gi"))    
def unregisterRenderer():
	cyclesOptions.deleteDefault('defaultCyclesOptions')
	core.renderer('cycles_renderer', unr = True)