def _WriteViewportImage(self, outputImageName, suffix):
        # Make sure the hardware renderer is available
        MAYA_RENDERER_NAME = 'mayaHardware2'
        mayaRenderers = cmds.renderer(query=True, namesOfAvailableRenderers=True)
        self.assertIn(MAYA_RENDERER_NAME, mayaRenderers)

        # Make it the current renderer.
        cmds.setAttr('defaultRenderGlobals.currentRenderer', MAYA_RENDERER_NAME,
            type='string')
        # Set the image format to PNG.
        cmds.setAttr('defaultRenderGlobals.imageFormat', 32)
        # Set the render mode to shaded and textured.
        cmds.setAttr('hardwareRenderingGlobals.renderMode', 4)
        # Enable the UI object filter so that the rendered image includes
        # selection highlighting when using the Viewport 2.0 render delegate.
        filterNames = cmds.getAttr(
            'hardwareRenderingGlobals.objectTypeFilterNameArray')
        filterIndex = filterNames.index('UI')
        filterValues = cmds.getAttr(
            'hardwareRenderingGlobals.objectTypeFilterValueArray')
        filterValues[filterIndex] = 1
        cmds.setAttr('hardwareRenderingGlobals.objectTypeFilterValueArray',
            filterValues, type='Int32Array')
        # Specify the output image prefix. The path to it is built from the
        # workspace directory.
        cmds.setAttr('defaultRenderGlobals.imageFilePrefix',
            '%s_%s' % (outputImageName, suffix),
            type='string')
        # Apply the viewer's color transform to the rendered image, otherwise
        # it comes out too dark.
        cmds.setAttr("defaultColorMgtGlobals.outputTransformEnabled", 1)

        # Do the render.
        cmds.ogsRender(camera=self._cameraName, currentFrame=True,
            width=self._viewportWidth, height=self._viewportHeight)
コード例 #2
0
    def _WriteViewportImage(self, outputImageName, suffix):
        # Make sure the hardware renderer is available
        MAYA_RENDERER_NAME = 'mayaHardware2'
        mayaRenderers = cmds.renderer(query=True, namesOfAvailableRenderers=True)
        self.assertIn(MAYA_RENDERER_NAME, mayaRenderers)

        # Make it the current renderer.
        cmds.setAttr('defaultRenderGlobals.currentRenderer', MAYA_RENDERER_NAME,
            type='string')
        # Set the image format to PNG.
        cmds.setAttr('defaultRenderGlobals.imageFormat', 32)
        # Set the render mode to shaded and textured.
        cmds.setAttr('hardwareRenderingGlobals.renderMode', 4)
        # Specify the output image prefix. The path to it is built from the
        # workspace directory.
        cmds.setAttr('defaultRenderGlobals.imageFilePrefix',
            '%s_%s' % (outputImageName, suffix),
            type='string')
        # Apply the viewer's color transform to the rendered image, otherwise
        # it comes out too dark.
        cmds.setAttr("defaultColorMgtGlobals.outputTransformEnabled", 1)

        # Do the render.
        cmds.ogsRender(camera=self._cameraName, currentFrame=True,
            width=self._viewportWidth, height=self._viewportHeight)
コード例 #3
0
    def _WriteViewportImage(self, outputImageName, suffix):
        # Make sure the hardware renderer is available
        MAYA_RENDERER_NAME = 'mayaHardware2'
        mayaRenderers = cmds.renderer(query=True, namesOfAvailableRenderers=True)
        self.assertIn(MAYA_RENDERER_NAME, mayaRenderers)

        # Make it the current renderer.
        cmds.setAttr('defaultRenderGlobals.currentRenderer', MAYA_RENDERER_NAME,
            type='string')
        # Set the image format to PNG.
        cmds.setAttr('defaultRenderGlobals.imageFormat', 32)
        # Set the render mode to shaded and textured.
        cmds.setAttr('hardwareRenderingGlobals.renderMode', 4)
        # Specify the output image prefix. The path to it is built from the
        # workspace directory.
        cmds.setAttr('defaultRenderGlobals.imageFilePrefix',
            '%s_%s' % (outputImageName, suffix),
            type='string')
        # Apply the viewer's color transform to the rendered image, otherwise
        # it comes out too dark.
        cmds.setAttr("defaultColorMgtGlobals.outputTransformEnabled", 1)

        # Do the render.
        cmds.ogsRender(camera=self._cameraName, currentFrame=True, width=1920,
            height=1080)
コード例 #4
0
def screenshot(fileDir, width, height, format=".jpg", override="", ogs=True):
    # check if fileDir has image format
    if format not in fileDir:
        fileDir += format

    # get existing values
    prevFormat = cmds.getAttr("defaultRenderGlobals.imageFormat")
    prevOverride = cmds.getAttr("hardwareRenderingGlobals.renderOverrideName")

    # set render settings
    cmds.setAttr("defaultRenderGlobals.imageFormat", IMGFORMATS[format])
    if override:
        cmds.setAttr("hardwareRenderingGlobals.renderOverrideName", override, type="string")

    if ogs:
        # render viewport
        renderedDir = cmds.ogsRender(cv=True, w=width, h=height)  # render the frame
        shutil.move(os.path.abspath(renderedDir), os.path.abspath(fileDir))  # move to specified dir
    else:
        frame = cmds.currentTime(q=True)
        cmds.playblast(cf=fileDir, fo=True, fmt='image', w=width, h=height,
                       st=frame, et=frame, v=False, os=True)

    # bring everything back to normal
    cmds.setAttr("defaultRenderGlobals.imageFormat", prevFormat)
    cmds.setAttr("hardwareRenderingGlobals.renderOverrideName", prevOverride, type="string")

    printInfo("Image saved successfully in {0}".format(fileDir))
    return fileDir
コード例 #5
0
def shoot_frame(camera, width, height):
    frame = cmds.currentTime(query=True)
    cmds.setAttr("defaultRenderGlobals.startFrame", frame)
    cmds.setAttr("defaultRenderGlobals.endFrame", frame)
    image = cmds.ogsRender(width=width, height=height)
    global _blasted_images
    _blasted_images.append(image)
コード例 #6
0
    def _Snapshot(self, outName):
        cmds.select([])
        # Make sure the hardware renderer is available
        MAYA_RENDERER_NAME = 'mayaHardware2'
        mayaRenderers = cmds.renderer(query=True, namesOfAvailableRenderers=True)
        self.assertIn(MAYA_RENDERER_NAME, mayaRenderers)

        # Make it the current renderer.
        cmds.setAttr('defaultRenderGlobals.currentRenderer', MAYA_RENDERER_NAME,
            type='string')
        # Set the image format to PNG.
        cmds.setAttr('defaultRenderGlobals.imageFormat', 32)
        # Set the render mode to shaded and textured.
        cmds.setAttr('hardwareRenderingGlobals.renderMode', 4)

        cmds.setAttr('defaultRenderGlobals.imageFilePrefix', outName,
                type='string')

        # Do the render.
        cmds.ogsRender(camera='top', currentFrame=True, width=400, height=400)
コード例 #7
0
def take_screenshot(cam_name):
    cmds.select(allDagObjects=True)

    #place the camera to front view and fit the entire obj inside the camera view
    cmds.viewSet(f=True, fit=True)

    #take screenshot from the selected view-point, here front
    formatManager = createImageFormats.ImageFormats()

    cmds.setAttr('hardwareRenderingGlobals.renderMode', 4)
    cmds.setAttr('hardwareRenderingGlobals.lightingMode', 0)

    mel.eval('RenderViewWindow')

    tmp_image_path = cmds.ogsRender(cam=cam_name)

    formatManager.pushRenderGlobalsForDesc('PNG')
    cmds.refresh(cv=True, fe="jpg", fn="imageSnapshot")