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)
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)
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)
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
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)
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)
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")