// =========================================================================== // Copyright 2018 Autodesk, Inc. All rights reserved. // // Use of this software is subject to the terms of the Autodesk license // agreement provided at the time of installation or download, or which // otherwise accompanies this software in either electronic or hard copy form. // =========================================================================== // // // Creation Date: 08 January 2002 // // Description: // Define the Rendering shelf. // global proc shelf_Rendering() { // // Description: // This procedure is called during Maya startup to create the UI for the // Rendering shelf. // // if (`shelfLayout -query -exists Rendering`) // { // string $childArray[] = `shelfLayout -query -childArray Rendering`; // // for($i = 0 ; $i < size($childArray); ++$i) // { // deleteUI $childArray[$i]; // } // // setParent "Rendering"; // } string $label; string $annot; string $format = "^1s: ^2s"; $label = (uiRes("m_shelf_Rendering.kAmbientLight")) ; $annot = getRunTimeCommandAnnotation("CreateAmbientLight") ; shelfButton -label $label -annotation `format -s $label -s $annot $format` -image1 "ambientlight.png" -command ("CreateAmbientLight") -doubleClickCommand ("CreateAmbientLightOptions"); $label = (uiRes("m_shelf_Rendering.kDirectionalLight")) ; $annot = getRunTimeCommandAnnotation("CreateDirectionalLight") ; shelfButton -label $label -annotation `format -s $label -s $annot $format` -image1 "directionallight.png" -command ("CreateDirectionalLight") -doubleClickCommand ("CreateDirectionalLightOptions"); $label = (uiRes("m_shelf_Rendering.kPointLight")) ; $annot = getRunTimeCommandAnnotation("CreatePointLight") ; shelfButton -label $label -annotation `format -s $label -s $annot $format` -image1 "pointlight.png" -command ("CreatePointLight") -doubleClickCommand ("CreatePointLightOptions"); $label = (uiRes("m_shelf_Rendering.kSpotLight")) ; $annot = getRunTimeCommandAnnotation("CreateSpotLight") ; shelfButton -label $label -annotation `format -s $label -s $annot $format` -image1 "spotlight.png" -command ("CreateSpotLight") -doubleClickCommand ("CreateSpotLightOptions"); $label = (uiRes("m_shelf_Rendering.kAreaLight")) ; $annot = getRunTimeCommandAnnotation("CreateAreaLight") ; shelfButton -label $label -annotation `format -s $label -s $annot $format` -image1 "arealight.png" -command ("CreateAreaLight") -doubleClickCommand ("CreateAreaLightOptions"); $label = (uiRes("m_shelf_Rendering.kVolumeLight")) ; $annot = getRunTimeCommandAnnotation("CreateVolumeLight") ; shelfButton -label $label -annotation `format -s $label -s $annot $format` -image1 "volumelight.png" -command ("CreateVolumeLight") -doubleClickCommand ("CreateVolumeLightOptions"); $label = (uiRes("m_shelf_Rendering.kCreateCamera")) ; $annot = getRunTimeCommandAnnotation("CreateCameraOnly") ; shelfButton -label $label -annotation `format -s $label -s $annot $format` -image1 "view.png" -command ("CreateCameraOnly") -doubleClickCommand ("CreateCameraOnlyOptions"); $label = (uiRes("m_shelf_Rendering.kEditMaterialAttributes")) ; $annot = getRunTimeCommandAnnotation("ShowShadingGroupAttributeEditor") ; shelfButton -label $label -annotation `format -s $label -s $annot $format` -image1 "materialEditor.png" -command ("ShowShadingGroupAttributeEditor"); shelfButton -label (uiRes("m_shelf_Rendering.kAnisotropicMaterial")) -annotation (uiRes("m_shelf_Rendering.kAnisotropicMaterialAnnot")) -image1 "render_anisotropic.png" -command ("createAndAssignShader anisotropic \"\""); shelfButton -label (uiRes("m_shelf_Rendering.kBlinnMaterial")) -annotation (uiRes("m_shelf_Rendering.kBlinnMaterialAnnot")) -image1 "render_blinn.png" -command ("createAndAssignShader blinn \"\""); shelfButton -label (uiRes("m_shelf_Rendering.kLambertMaterial")) -annotation (uiRes("m_shelf_Rendering.kLambertMaterialAnnot")) -image1 "render_lambert.png" -command ("createAndAssignShader lambert \"\""); shelfButton -label (uiRes("m_shelf_Rendering.kPhongMaterial")) -annotation (uiRes("m_shelf_Rendering.kPhongMaterialAnnot")) -image1 "render_phong.png" -command ("createAndAssignShader phong \"\""); shelfButton -label (uiRes("m_shelf_Rendering.kPhongEMaterial")) -annotation (uiRes("m_shelf_Rendering.kPhongEMaterialAnnot")) -image1 "render_phongE.png" -command ("createAndAssignShader phongE \"\""); shelfButton -label (uiRes("m_shelf_Rendering.kLayeredMaterial")) -annotation (uiRes("m_shelf_Rendering.kLayeredMaterialAnnot")) -image1 "render_layeredShader.png" -command ("createAndAssignShader layeredShader \"\""); shelfButton -label (uiRes("m_shelf_Rendering.kRampMaterial")) -annotation (uiRes("m_shelf_Rendering.kRampMaterialAnnot")) -image1 "render_rampShader.png" -command ("createAndAssignShader rampShader \"\""); shelfButton -label (uiRes("m_shelf_Rendering.kShadingMap")) -annotation (uiRes("m_shelf_Rendering.kShadingMapAnnot")) -image1 "render_shadingMap.png" -command ("createAndAssignShader shadingMap \"\""); shelfButton -label (uiRes("m_shelf_Rendering.kSurfaceMaterial")) -annotation (uiRes("m_shelf_Rendering.kSurfaceMaterialAnnot")) -image1 "render_surfaceShader.png" -command ("createAndAssignShader surfaceShader \"\""); shelfButton -label (uiRes("m_shelf_Rendering.kUseBackground")) -annotation (uiRes("m_shelf_Rendering.kUseBackgroundAnnot")) -image1 "render_useBackground.png" -command ("createAndAssignShader useBackground \"\""); $label = (uiRes("m_shelf_Rendering.kRenderDiagnostics")) ; $annot = getRunTimeCommandAnnotation("RenderDiagnostics") ; shelfButton -label $label -annotation `format -s $label -s $annot $format` -image1 "renderDiagnostics.png" -command ("RenderDiagnostics") renderShelfRenderDiagnosticsButton; $label = (uiRes("m_shelf_Rendering.kBatchRender")) ; $annot = getRunTimeCommandAnnotation("BatchRender") ; shelfButton -label $label -annotation `format -s $label -s $annot $format` -image1 "batchRender.png" -command ("BatchRender") -doubleClickCommand ("BatchRenderOptions") renderShelfBatchRenderButton; $label = (uiRes("m_shelf_Rendering.kCancelBatchRender")) ; $annot = getRunTimeCommandAnnotation("CancelBatchRender") ; shelfButton -label $label -annotation `format -s $label -s $annot $format` -image1 "abortBatchRender.png" -command ("CancelBatchRender") renderShelfCancelBatchRenderButton; $label = (uiRes("m_shelf_Rendering.kShowBatchRender")) ; $annot = getRunTimeCommandAnnotation("ShowBatchRender") ; shelfButton -label $label -annotation `format -s $label -s $annot $format` -image1 "showBatchRender.png" -command ("ShowBatchRender") renderShelfShowBatchRenderButton; $label = (uiRes("m_shelf_Rendering.kRenderSequence")) ; $annot = getRunTimeCommandAnnotation("RenderSequence"); shelfButton -version 2018 -label $label -annotation `format -s $label -s $annot $format` -image1 "sequenceRender.png" -command ("RenderSequence") renderShelfRenderSequenceButton; $label = (uiRes("m_shelf_Rendering.kPaintTool3D")) ; $annot = getRunTimeCommandAnnotation("Art3dPaintTool") ; shelfButton -label $label -annotation `format -s $label -s $annot $format` -image1 "art3dPaint.png" -command ("Art3dPaintTool") -doubleClickCommand ("Art3dPaintToolOptions"); // Register the procedure responsible for updating all renderer // specific UI created in this script. // registerUpdateRendererUIProc("updateRenderShelfRendererSpecificUI"); } global proc updateRenderShelfRendererSpecificUI() { // // Description: // This procedure is called when the current renderer changes. // This procedure enables and disables buttons in the Rendering shelf that // are supported and not supported (respectively) by the new renderer. // if (!`shelfLayout -query -exists Rendering`) { return; } // These items are only available in Maya Complete and // Unlimited. // string $currentRendererName = currentRenderer(); string $renUIName = `renderer -query -rendererUIName $currentRendererName`; string $command = `renderer -query -renderDiagnosticsProcedure $currentRendererName`; if ($command != "") { shelfButton -edit -enable true -annotation (getRunTimeCommandAnnotation("RenderDiagnostics")) -command $command renderShelfRenderDiagnosticsButton; } else { $annotMsg = (uiRes("m_shelf_Rendering.kRenderDiagnosticsNotSupported")); shelfButton -edit -enable false -annotation (`format -s $renUIName $annotMsg`) renderShelfRenderDiagnosticsButton; } $command = `renderer -query -batchRenderOptionsProcedure $currentRendererName`; if ($command != "") { shelfButton -edit -doubleClickCommand ($command) renderShelfBatchRenderButton; } else { shelfButton -edit -doubleClickCommand ("") renderShelfBatchRenderButton; } $command = `renderer -query -cancelBatchRenderProcedure $currentRendererName`; if ($command != "") { shelfButton -edit -enable true -annotation (getRunTimeCommandAnnotation("CancelBatchRender")) -command $command renderShelfCancelBatchRenderButton; } else { $annotMsg = (uiRes("m_shelf_Rendering.kCancelBatchRenderNotSupported")); shelfButton -edit -enable false -annotation (`format -s $renUIName $annotMsg`) renderShelfCancelBatchRenderButton; } $command = `renderer -query -showBatchRenderProcedure $currentRendererName`; if ($command != "") { shelfButton -edit -enable true -annotation (getRunTimeCommandAnnotation("ShowBatchRender")) -command $command renderShelfShowBatchRenderButton; } else { $annotMsg = (uiRes("m_shelf_Rendering.kShowBatchRenderNotSupported")); shelfButton -edit -enable false -annotation (`format -s $renUIName $annotMsg`) renderShelfShowBatchRenderButton; } } //if (`shelfLayout -query -exists Rendering`) //{ // // Recreate the rendering shelf with the new UI // // // shelf_Rendering(); // // // Register the procedure responsible for updating all renderer // // related UI created in this script // // // registerUpdateRendererUIProc("updateRenderShelfRendererSpecificUI"); //}