// =========================================================================== // 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. // =========================================================================== // // Procedure Name: // AErenderQualityTemplate // // Description: // Creates the attribute editor controls for the renderQuality Node // // Input Value: // nodeName // // Output Value: // None // // // Procedure Name: // AEraytraceAllNew // // global proc AEraytraceAllNew ( ) { setUITemplate -pst attributeEditorTemplate; rowLayout -nc 3 raytraceAllLayout; text -label (uiRes("m_AErenderQualityTemplate.kRaytraceAllObjects")); button -label (uiRes("m_AErenderQualityTemplate.kApply")) -h 25 -c "turnOnAllRayTracing true" rtButton; text -label ""; setParent ..; setUITemplate -ppt; } // // Procedure Name: // AEraytraceAllReplace // // global proc AEraytraceAllReplace ( ) { button -e -c "turnOnAllRayTracing true" rtButton; } // // Procedure Name: // AEuseMultiPixelFilterControl // global proc AEuseMultiPixelFilterControl( string $nodeName ) { if ( `getAttr ($nodeName + ".useMultiPixelFilter")` == 1 ) { editorTemplate -dimControl $nodeName "pixelFilterType" false; editorTemplate -dimControl $nodeName "pixelFilterWidthX" false; editorTemplate -dimControl $nodeName "pixelFilterWidthY" false; if ( `getAttr ($nodeName + ".pixelFilterType")` == 1000 ) { editorTemplate -dimControl $nodeName "plugInFilterWeight" false; } else { editorTemplate -dimControl $nodeName "plugInFilterWeight" true; } } else { editorTemplate -dimControl $nodeName "pixelFilterType" true; editorTemplate -dimControl $nodeName "pixelFilterWidthX" true; editorTemplate -dimControl $nodeName "pixelFilterWidthY" true; editorTemplate -dimControl $nodeName "plugInFilterWeight" true; } } // // Procedure Name: // AEpixelFilterTypeControl // global proc AEpixelFilterTypeControl( string $nodeName ) { if ( `getAttr ($nodeName + ".pixelFilterType")` == 1000 ) { editorTemplate -dimControl $nodeName "plugInFilterWeight" false; } else { editorTemplate -dimControl $nodeName "plugInFilterWeight" true; } } // // Procedure Name: // checkAntiAliasing // // global proc checkAntiAliasing( string $nodeName ) { string $nodeAttr = $nodeName + ".edgeAntiAliasing"; int $edgeAA = `getAttr $nodeAttr`; if ($edgeAA == 0) { editorTemplate -dimControl $nodeName "useMultiPixelFilter" false; editorTemplate -dimControl $nodeName "pixelFilterType" false; editorTemplate -dimControl $nodeName "pixelFilterWidthX" false; editorTemplate -dimControl $nodeName "pixelFilterWidthY" false; editorTemplate -dimControl $nodeName "redThreshold" false; editorTemplate -dimControl $nodeName "greenThreshold" false; editorTemplate -dimControl $nodeName "blueThreshold" false; editorTemplate -dimControl $nodeName "coverageThreshold" false; editorTemplate -dimControl $nodeName "maxShadingSamples" false; editorTemplate -dimControl $nodeName "maxVisibilitySamples" false; } else if ($edgeAA == 1) { editorTemplate -dimControl $nodeName "useMultiPixelFilter" false; editorTemplate -dimControl $nodeName "pixelFilterType" false; editorTemplate -dimControl $nodeName "pixelFilterWidthX" false; editorTemplate -dimControl $nodeName "pixelFilterWidthY" false; editorTemplate -dimControl $nodeName "redThreshold" true; editorTemplate -dimControl $nodeName "greenThreshold" true; editorTemplate -dimControl $nodeName "blueThreshold" true; editorTemplate -dimControl $nodeName "coverageThreshold" true; editorTemplate -dimControl $nodeName "maxShadingSamples" true; editorTemplate -dimControl $nodeName "maxVisibilitySamples" true; } else { editorTemplate -dimControl $nodeName "useMultiPixelFilter" true; editorTemplate -dimControl $nodeName "pixelFilterType" true; editorTemplate -dimControl $nodeName "pixelFilterWidthX" true; editorTemplate -dimControl $nodeName "pixelFilterWidthY" true; editorTemplate -dimControl $nodeName "redThreshold" true; editorTemplate -dimControl $nodeName "greenThreshold" true; editorTemplate -dimControl $nodeName "blueThreshold" true; editorTemplate -dimControl $nodeName "coverageThreshold" true; editorTemplate -dimControl $nodeName "maxShadingSamples" true; editorTemplate -dimControl $nodeName "maxVisibilitySamples" true; } } // // Procedure Name: // AErenderQualityTemplate // // global proc AErenderQualityTemplate ( string $nodeName ) { editorTemplate -beginScrollLayout; editorTemplate -beginLayout (uiRes("m_AErenderQualityTemplate.kAntialiasingAttr")) -collapse 0; editorTemplate -addControl "edgeAntiAliasing" "checkAntiAliasing"; editorTemplate -addSeparator; editorTemplate -addControl "shadingSamples"; editorTemplate -addControl "maxShadingSamples"; editorTemplate -addControl "particleSamples"; editorTemplate -beginLayout (uiRes("m_AErenderQualityTemplate.kMotionBlurVisibility")); editorTemplate -addControl "visibilitySamples"; editorTemplate -addControl "maxVisibilitySamples"; editorTemplate -endLayout; editorTemplate -beginLayout (uiRes("m_AErenderQualityTemplate.kMultipixelFiltering")); editorTemplate -addControl "useMultiPixelFilter" "AEuseMultiPixelFilterControl"; editorTemplate -addControl "pixelFilterType" "AEpixelFilterTypeControl"; editorTemplate -addControl "pixelFilterWidthX"; editorTemplate -addControl "pixelFilterWidthY"; editorTemplate -addControl "plugInFilterWeight"; editorTemplate -endLayout; editorTemplate -beginLayout (uiRes("m_AErenderQualityTemplate.kContrastThresholdAttr")); editorTemplate -addControl "redThreshold"; editorTemplate -addControl "greenThreshold"; editorTemplate -addControl "blueThreshold"; editorTemplate -addControl "coverageThreshold"; editorTemplate -endLayout; editorTemplate -beginLayout (uiRes("m_AErenderQualityTemplate.kRecommendedDefaults")); editorTemplate -callCustom "AEdefaultQualityNew" "AEdefaultQualityReplace" "edgeAntiAliasing" "useMultiPixelFilter" "shadingSamples" "maxShadingSamples" "visibilitySamples" "maxVisibilitySamples"; editorTemplate -endLayout; editorTemplate -endLayout; editorTemplate -beginLayout (uiRes("m_AErenderQualityTemplate.kRaytracing")); editorTemplate -addControl "enableRaytracing"; editorTemplate -addControl "reflections"; editorTemplate -addControl "refractions"; editorTemplate -addControl "shadows"; editorTemplate -endLayout; // include/call base class/node attributes AEdependNodeTemplate $nodeName; // Suppress the volume samples as they are not to // be exposed to the novice user. editorTemplate -suppress "volumeSamples"; editorTemplate -addExtraControls; editorTemplate -endScrollLayout; } // // Default settings menu // global proc AEdefaultQualityNew (string $aa, string $filter, string $minShade, string $maxShade, string $minVis, string $maxVis) { setUITemplate -pst attributeEditorTemplate; rowLayout -nc 2; text -label (uiRes("m_AErenderQualityTemplate.kRecommendedDefaultsText")); optionMenu -label "" -cc ("AEsetDefaultQuality " + $aa + " " + $filter + " " + $minShade + " " + $maxShade + " " + $minVis + " " + $maxVis) defaultQualityMenu; menuItem -label (uiRes("m_AErenderQualityTemplate.kPreviewQuality")) dq1; menuItem -label (uiRes("m_AErenderQualityTemplate.kIntermediateQuality")) dq2; menuItem -label (uiRes("m_AErenderQualityTemplate.kProductionQuality")) dq3; menuItem -label (uiRes("m_AErenderQualityTemplate.kMotionBlurProdQuality")) dq4; setParent ..; setUITemplate -ppt; } global proc AEdefaultQualityReplace (string $aa, string $filter, string $minShade, string $maxShade, string $minVis, string $maxVis) { optionMenu -e -cc ("AEsetDefaultQuality " + $aa + " " + $filter + " " + $minShade + " " + $maxShade + " " + $minVis + " " + $maxVis) defaultQualityMenu; } global proc AEsetDefaultQuality (string $aa, string $filter, string $minShade, string $maxShade, string $minVis, string $maxVis) { string $curr = `optionMenu -q -v defaultQualityMenu`; if ($curr == (uiRes("m_AErenderQualityTemplate.kPreviewQuality")) ) { setAttr $aa 3; setAttr $filter 0; setAttr $minShade 1; setAttr $maxShade 1; setAttr $minVis 1; setAttr $maxVis 4; } else if ($curr == (uiRes("m_AErenderQualityTemplate.kIntermediateQuality")) ) { setAttr $aa 0; setAttr $filter 0; setAttr $minShade 1; setAttr $maxShade 4; setAttr $minVis 1; setAttr $maxVis 4; } else if ($curr == (uiRes("m_AErenderQualityTemplate.kProductionQuality")) ) { setAttr $aa 0; setAttr $filter 1; setAttr $minShade 1; setAttr $maxShade 8; setAttr $minVis 1; setAttr $maxVis 4; } else if ($curr == (uiRes("m_AErenderQualityTemplate.kMotionBlurProdQuality")) ) { setAttr $aa 0; setAttr $filter 1; setAttr $minShade 3; setAttr $maxShade 8; setAttr $minVis 1; setAttr $maxVis 4; } }