diff --git a/lib/flowViewport/sceneIndex/CMakeLists.txt b/lib/flowViewport/sceneIndex/CMakeLists.txt index 0c379394f7..56d3c14588 100644 --- a/lib/flowViewport/sceneIndex/CMakeLists.txt +++ b/lib/flowViewport/sceneIndex/CMakeLists.txt @@ -17,6 +17,7 @@ target_sources(${TARGET_NAME} fvpReprSelectorSceneIndex.cpp fvpBlockPrimRemovalPropagationSceneIndex.cpp fvpDefaultMaterialSceneIndex.cpp + fvpLightsManagementSceneIndex.cpp ) set(HEADERS @@ -35,6 +36,7 @@ set(HEADERS fvpReprSelectorSceneIndex.h fvpBlockPrimRemovalPropagationSceneIndex.h fvpDefaultMaterialSceneIndex.h + fvpLightsManagementSceneIndex.h ) # ----------------------------------------------------------------------------- diff --git a/lib/flowViewport/sceneIndex/fvpLightsManagementSceneIndex.cpp b/lib/flowViewport/sceneIndex/fvpLightsManagementSceneIndex.cpp new file mode 100644 index 0000000000..c848bcb5be --- /dev/null +++ b/lib/flowViewport/sceneIndex/fvpLightsManagementSceneIndex.cpp @@ -0,0 +1,149 @@ +// +// Copyright 2024 Autodesk +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +//Local headers +#include "fvpLightsManagementSceneIndex.h" + +//USD/Hydra headers +#include +#include +#include +#include +#include +#include +#include +#include + +//ufe +#include +#include + + +PXR_NAMESPACE_USING_DIRECTIVE + +namespace { + +void _DisableLight(HdSceneIndexPrim& prim) +{ + HdContainerDataSourceEditor editor(prim.dataSource); + //We don't set the intensity to 0 as for domelights this makes the geometry disappear + for (const auto& t : { HdLightTokens->ambient, HdLightTokens->diffuse, HdLightTokens->specular }) { + editor.Set( + HdLightSchema::GetDefaultLocator().Append(t), + HdRetainedTypedSampledDataSource::New(0.0f)); + } + + prim.dataSource = editor.Finish(); +} + +} // end of anonymous namespace + +/// This is a filtering scene index that manages lights primitives + +namespace FVP_NS_DEF { + +LightsManagementSceneIndex::LightsManagementSceneIndex(const HdSceneIndexBaseRefPtr& inputSceneIndex, const PathInterface& pathInterface, const SdfPath& defaultLightPath) + : ParentClass(inputSceneIndex), + InputSceneIndexUtils(inputSceneIndex) + ,_defaultLightPath(defaultLightPath) + , _pathInterface(pathInterface) +{ +} + +void LightsManagementSceneIndex::SetLightingMode(LightingMode lightingMode) +{ + if (_lightingMode == lightingMode){ + return; + } + + _lightingMode = lightingMode; + _DirtyAllLightsPrims(); +} + +void LightsManagementSceneIndex::_DirtyAllLightsPrims() +{ + HdSceneIndexObserver::DirtiedPrimEntries entries; + for (const SdfPath& path : HdSceneIndexPrimView(GetInputSceneIndex())) { + auto primType = GetInputSceneIndex()->GetPrim(path).primType; + if (HdPrimTypeIsLight(primType)) { + entries.push_back({ path, HdLightSchema::GetDefaultLocator() }); + } + } + _SendPrimsDirtied(entries); +} + +bool LightsManagementSceneIndex::_IsDefaultLight(const SdfPath& primPath)const +{ + return primPath == _defaultLightPath; +} + +HdSceneIndexPrim LightsManagementSceneIndex::GetPrim(const SdfPath& primPath) const +{ + auto prim = GetInputSceneIndex()->GetPrim(primPath); + auto primType = prim.primType; + if (! HdPrimTypeIsLight(primType)) { + return prim;//return any non light primitive + } + + //This is a light + switch (_lightingMode) { + case LightingMode::kNoLighting: { + _DisableLight(prim); + return prim; + } break; + default: + case LightingMode::kSceneLighting: { + return prim; + } break; + case LightingMode::kDefaultLighting: { + if (! _IsDefaultLight(primPath)){ + _DisableLight(prim); + } + return prim; + } break; + case LightingMode::kSelectedLightsOnly: { + const Ufe::Selection& ufeSelection = *Ufe::GlobalSelection::get(); + if (ufeSelection.empty()) { + // Nothing is selected + _DisableLight(prim); + return prim; + } + + //Convert ufe selection to SdfPath + SdfPathVector selectedLightsSdfPath; + for (const auto& snItem : ufeSelection) { + auto primSelections = _pathInterface.UfePathToPrimSelections(snItem->path()); + for (const auto& primSelection : primSelections) { + selectedLightsSdfPath.push_back(primSelection.primPath); + } + } + const bool isSelected = selectedLightsSdfPath.end() + != std::find(selectedLightsSdfPath.begin(), + selectedLightsSdfPath.end(), + primPath); + + if (! isSelected) { + _DisableLight(prim); + } + + return prim; + } break; + } + + return prim; +} + +}//end of namespace FVP_NS_DEF diff --git a/lib/flowViewport/sceneIndex/fvpLightsManagementSceneIndex.h b/lib/flowViewport/sceneIndex/fvpLightsManagementSceneIndex.h new file mode 100644 index 0000000000..88ee669bc0 --- /dev/null +++ b/lib/flowViewport/sceneIndex/fvpLightsManagementSceneIndex.h @@ -0,0 +1,103 @@ +// +// Copyright 2024 Autodesk +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +#ifndef FLOW_VIEWPORT_SCENE_INDEX_FLOW_VIEWPORT_LIGHTS_MANAGEMENT_SCENE_INDEX_H +#define FLOW_VIEWPORT_SCENE_INDEX_FLOW_VIEWPORT_LIGHTS_MANAGEMENT_SCENE_INDEX_H + +//Local headers +#include "flowViewport/api.h" +#include "flowViewport/sceneIndex/fvpSceneIndexUtils.h" +#include "flowViewport/sceneIndex/fvpPathInterface.h" + +//Hydra headers +#include +#include + +namespace FVP_NS_DEF { + +class LightsManagementSceneIndex; +typedef PXR_NS::TfRefPtr LightsManagementSceneIndexRefPtr; +typedef PXR_NS::TfRefPtr LightsManagementSceneIndexConstRefPtr; + +/// \class LightsManagementSceneIndex +/// +/// This is a filtering scene index that manages lights primitives +/// +class LightsManagementSceneIndex : public PXR_NS::HdSingleInputFilteringSceneIndexBase + , public Fvp::InputSceneIndexUtils +{ +public: + using ParentClass = PXR_NS::HdSingleInputFilteringSceneIndexBase; + using PXR_NS::HdSingleInputFilteringSceneIndexBase::_GetInputSceneIndex; + + FVP_API + static LightsManagementSceneIndexRefPtr New(const PXR_NS::HdSceneIndexBaseRefPtr& inputSceneIndex, const PathInterface& pathInterface, const PXR_NS::SdfPath& defaultLightPath){ + return PXR_NS::TfCreateRefPtr(new LightsManagementSceneIndex(inputSceneIndex, pathInterface, defaultLightPath)); + } + + // From HdSceneIndexBase + FVP_API + PXR_NS::HdSceneIndexPrim GetPrim(const PXR_NS::SdfPath& primPath) const override; + + FVP_API + PXR_NS::SdfPathVector GetChildPrimPaths(const PXR_NS::SdfPath& primPath) const override{ + return GetInputSceneIndex()->GetChildPrimPaths(primPath); + } + + FVP_API + ~LightsManagementSceneIndex() override = default; + + enum class LightingMode{ + kNoLighting, + kSceneLighting,//All lights + kDefaultLighting, + kSelectedLightsOnly, + }; + + FVP_API + void SetLightingMode(LightingMode lightingMode); + + FVP_API + LightingMode GetLightingMode()const {return _lightingMode;} + +protected: + + LightsManagementSceneIndex(const PXR_NS::HdSceneIndexBaseRefPtr& inputSceneIndex, const PathInterface& pathInterface, const PXR_NS::SdfPath& defaultLightPath); + + //From HdSingleInputFilteringSceneIndexBase + void _PrimsAdded(const PXR_NS::HdSceneIndexBase& sender, const PXR_NS::HdSceneIndexObserver::AddedPrimEntries& entries) override{ + if (!_IsObserved())return; + _SendPrimsAdded(entries); + } + void _PrimsRemoved(const PXR_NS::HdSceneIndexBase& sender, const PXR_NS::HdSceneIndexObserver::RemovedPrimEntries& entries)override{ + if (!_IsObserved())return; + _SendPrimsRemoved(entries); + } + void _PrimsDirtied(const PXR_NS::HdSceneIndexBase& sender, const PXR_NS::HdSceneIndexObserver::DirtiedPrimEntries& entries)override{ + if (!_IsObserved())return; + _SendPrimsDirtied(entries); + } + + void _DirtyAllLightsPrims(); + bool _IsDefaultLight(const PXR_NS::SdfPath& primPath)const; + + LightingMode _lightingMode = LightingMode::kSceneLighting; + PXR_NS::SdfPath _defaultLightPath; + const PathInterface& _pathInterface; +}; + +}//end of namespace FVP_NS_DEF + +#endif //FLOW_VIEWPORT_SCENE_INDEX_FLOW_VIEWPORT_LIGHTS_MANAGEMENT_SCENE_INDEX_H diff --git a/lib/mayaHydra/hydraExtensions/mayaUtils.cpp b/lib/mayaHydra/hydraExtensions/mayaUtils.cpp index e3dd98e7ce..50eb0469b2 100644 --- a/lib/mayaHydra/hydraExtensions/mayaUtils.cpp +++ b/lib/mayaHydra/hydraExtensions/mayaUtils.cpp @@ -184,4 +184,15 @@ MObject GetShadingGroupFromShader(const MObject& shader) return shadingGroup; } +bool IsDagPathAnArnoldSkyDomeLight(const MDagPath& dagPath) +{ + static const MString _aiSkyDomeLight("aiSkyDomeLight"); + + if (! dagPath.isValid()) return false; + auto shapeDagPath = dagPath; + shapeDagPath.extendToShape(); + return _aiSkyDomeLight == MFnDependencyNode(shapeDagPath.node()).typeName(); +} + + } // namespace MAYAHYDRA_NS_DEF diff --git a/lib/mayaHydra/hydraExtensions/mayaUtils.h b/lib/mayaHydra/hydraExtensions/mayaUtils.h index 51be3d151e..6c9ac5ede2 100644 --- a/lib/mayaHydra/hydraExtensions/mayaUtils.h +++ b/lib/mayaHydra/hydraExtensions/mayaUtils.h @@ -176,6 +176,15 @@ bool SetNodeAttribute(MObject node, std::string attrName, AttrType newValue) */ MObject GetShadingGroupFromShader(const MObject& shader); +/** + * @brief Get if this MDagPath is an Arnold sky dome light. + * + * @param[in] dagPath is a MDagPath + * + * @return true if the object is a sky dome light, false otherwise + */ +bool IsDagPathAnArnoldSkyDomeLight(const MDagPath& dagPath); + } // namespace MAYAHYDRA_NS_DEF #endif // MAYAHYDRALIB_MAYA_UTILS_H diff --git a/lib/mayaHydra/hydraExtensions/sceneIndex/mayaHydraSceneIndex.cpp b/lib/mayaHydra/hydraExtensions/sceneIndex/mayaHydraSceneIndex.cpp index d72fd5da0c..41ae0967cb 100644 --- a/lib/mayaHydra/hydraExtensions/sceneIndex/mayaHydraSceneIndex.cpp +++ b/lib/mayaHydra/hydraExtensions/sceneIndex/mayaHydraSceneIndex.cpp @@ -107,6 +107,36 @@ class MayaPickHandler : public MayaHydra::PickHandler { } }; +// For some dag paths we use the shape to translate it to an Hydra path +bool _UseTheShapeDagPath(const MDagPath& dagpath) +{ + bool extendToShape = false; + + //So far we only have one case : the Arnold sky dome light + const bool isSkyDomeLight = MayaHydra::IsDagPathAnArnoldSkyDomeLight(dagpath); + if (isSkyDomeLight) { + extendToShape = true; + } + + return extendToShape; +} + +//Check if this dag path is registered in Sprims (such as the Arnold sky dome light) +bool _IsDagPathRegisteredInHydraSPrims(const MDagPath& dagpath) +{ + bool isRegisteredInSPrims = false; + + //So far we only have one case : the Arnold sky dome light + + // The Arnold skydome light has its shape dag path registered as a Sprim in Hydra + const bool isSkyDomeLight = MayaHydra::IsDagPathAnArnoldSkyDomeLight(dagpath); + if (isSkyDomeLight) { + isRegisteredInSPrims = true; + } + + return isRegisteredInSPrims; +} + } PXR_NAMESPACE_OPEN_SCOPE @@ -777,26 +807,31 @@ Fvp::PrimSelections MayaHydraSceneIndex::UfePathToPrimSelections(const Ufe::Path // Not the best implementation performance-wise, as ufeToDagPath converts // the UFE path to a string, then does a Dag path lookup with the string. - constexpr bool isSprim = false; // Can't handle sprims as of 15-Aug-2023. - + auto dagPath = UfeExtensions::ufeToDagPath(appPath); - SdfPath primPath = GetPrimPath(dagPath, isSprim); - TF_DEBUG(MAYAHYDRALIB_SCENE_INDEX) - .Msg(" mapped to scene index path %s.\n", primPath.GetText()); - + const bool extendToShape = _UseTheShapeDagPath(dagPath);//For Hydra some prims, we need to use the shape dag path not the transform, as this is what gets translated to an hydra path + const bool isSprim = _IsDagPathRegisteredInHydraSPrims(dagPath); + + MDagPath shapeDagPath(dagPath); + shapeDagPath.extendToShape(); + + SdfPath primPath = GetPrimPath((extendToShape) ? shapeDagPath : dagPath, isSprim); + //Check if this maya node has a special SdfPath associated with it, this is for custom or maya usd data producers scene indices. //The class MhDataProducersMayaNodeToSdfPathRegistry does a mapping between Maya nodes and USD paths. //The maya nodes registered in this class are used by data producers as a parent to all //primitives. This class is used when the user selects one of these //maya nodes to return the matching SdfPath so that all prims child of this maya node are //highlighted. - MDagPath shapeDagPath(dagPath); - shapeDagPath.extendToShape(); + const SdfPath matchingPath = FVP_NS::DataProducersNodeHashCodeToSdfPathRegistry::Instance().GetPath(MObjectHandle(shapeDagPath.node()).hashCode()); if (! matchingPath.IsEmpty()) { primPath = matchingPath; } + TF_DEBUG(MAYAHYDRALIB_SCENE_INDEX) + .Msg(" mapped to scene index path %s.\n", primPath.GetText()); + return Fvp::PrimSelections({Fvp::PrimSelection{primPath}}); } diff --git a/lib/mayaHydra/hydraExtensions/sceneIndex/mayaHydraSceneIndex.h b/lib/mayaHydra/hydraExtensions/sceneIndex/mayaHydraSceneIndex.h index 4a4c681ca8..649d94c1f4 100644 --- a/lib/mayaHydra/hydraExtensions/sceneIndex/mayaHydraSceneIndex.h +++ b/lib/mayaHydra/hydraExtensions/sceneIndex/mayaHydraSceneIndex.h @@ -259,6 +259,9 @@ class MAYAHYDRALIB_API MayaHydraSceneIndex : public HdRetainedSceneIndex, public ///Create the default material from the "standardSurface1" maya material or create a fallback material if it cannot be found void CreateMayaDefaultMaterialData(); + + /// Get the maya default light path to be used in filtering scene indices to recognize the default light in primitives path + static const SdfPath& GetMayaDefaultLightPath() {return _mayaDefaultLightPath;} private: MayaHydraSceneIndex( diff --git a/lib/mayaHydra/mayaPlugin/renderOverride.cpp b/lib/mayaHydra/mayaPlugin/renderOverride.cpp index ff5d5460e9..ae0b36f827 100644 --- a/lib/mayaHydra/mayaPlugin/renderOverride.cpp +++ b/lib/mayaHydra/mayaPlugin/renderOverride.cpp @@ -181,6 +181,20 @@ std::string getRenderingDestination( return std::string(viewportId.asChar()); } +inline Fvp::LightsManagementSceneIndex::LightingMode convertFromMayaLightingModeToFlowViewportLightMode(MFrameContext::LightingMode mayaLightingMode) +{ + switch (mayaLightingMode) { + case MFrameContext::kLightDefault: return Fvp::LightsManagementSceneIndex::LightingMode::kDefaultLighting; + case MFrameContext::kAmbientLight: + TF_WARN("Ambient/Flat lighting mode is not supported");//Fall into next switch/case as we want to return kSceneLighting + case MFrameContext::kSceneLights: return Fvp::LightsManagementSceneIndex::LightingMode::kSceneLighting; + case MFrameContext::kSelectedLights: + return Fvp::LightsManagementSceneIndex::LightingMode::kSelectedLightsOnly; + case MFrameContext::kNoLighting: return Fvp::LightsManagementSceneIndex::LightingMode::kNoLighting; + default: return Fvp::LightsManagementSceneIndex::LightingMode::kSceneLighting; + } +} + } PXR_NAMESPACE_OPEN_SCOPE @@ -658,6 +672,8 @@ MStatus MtohRenderOverride::Render( } } + MFrameContext::LightingMode currentMayaLightingMode = MFrameContext::LightingMode::kSceneLights; + //This code with strings comparison will go away if we have multiple render proxies when doing multi viewports MString panelName; std::string panelNameStr; @@ -669,6 +685,8 @@ MStatus MtohRenderOverride::Render( TF_DEBUG(MAYAHYDRALIB_RENDEROVERRIDE_SCENE_INDEX_CHAIN_MGMT) .Msg("Rendering destination is %s\n", panelName.asChar()); + currentMayaLightingMode = framecontext->getLightingMode(); + auto& manager = Fvp::ViewportInformationAndSceneIndicesPerViewportDataManager::Get(); if (false == manager.ModelPanelIsAlreadyRegistered(panelNameStr)){ //Get information from viewport @@ -707,6 +725,12 @@ MStatus MtohRenderOverride::Render( const bool currentUseDefaultMaterial = (drawContext.getDisplayStyle() & MHWRender::MFrameContext::kDefaultMaterial); + if (_lightsManagementSceneIndex && _lightingMode != currentMayaLightingMode) { + _lightsManagementSceneIndex->SetLightingMode(convertFromMayaLightingModeToFlowViewportLightMode(currentMayaLightingMode)); + _lightingMode = currentMayaLightingMode; + _hasDefaultLighting = (MFrameContext::kLightDefault == _lightingMode);//Update default lighting + } + if (_mayaHydraSceneIndex) { _mayaHydraSceneIndex->SetDefaultLightEnabled(_hasDefaultLighting); _mayaHydraSceneIndex->SetDefaultLight(_defaultLight); @@ -1225,6 +1249,12 @@ void MtohRenderOverride::_CreateSceneIndicesChainAfterMergingSceneIndex(const MH _wireframeSelectionHighlightSceneIndex->addExcludedSceneRoot(MAYA_NATIVE_ROOT); _lastFilteringSceneIndexBeforeCustomFiltering = _wireframeSelectionHighlightSceneIndex; + TF_AXIOM(_mayaHydraSceneIndex); + Fvp::PathInterface* pathInterface = dynamic_cast(&*mergingSceneIndex); + _lastFilteringSceneIndexBeforeCustomFiltering = _lightsManagementSceneIndex = Fvp::LightsManagementSceneIndex::New( + _lastFilteringSceneIndexBeforeCustomFiltering, *pathInterface, _mayaHydraSceneIndex->GetMayaDefaultLightPath()); + _lightsManagementSceneIndex->SetLightingMode(convertFromMayaLightingModeToFlowViewportLightMode(_lightingMode)); + #ifdef CODE_COVERAGE_WORKAROUND Fvp::leakSceneIndex(_lastFilteringSceneIndexBeforeCustomFiltering); #endif diff --git a/lib/mayaHydra/mayaPlugin/renderOverride.h b/lib/mayaHydra/mayaPlugin/renderOverride.h index 12fcfd69ac..cec0dcb4e3 100644 --- a/lib/mayaHydra/mayaPlugin/renderOverride.h +++ b/lib/mayaHydra/mayaPlugin/renderOverride.h @@ -52,6 +52,7 @@ #include #include #include +#include #include #include @@ -269,6 +270,8 @@ class MtohRenderOverride : public MHWRender::MRenderOverride, Fvp::SelectionPtr _selection; Fvp::WireframeSelectionHighlightSceneIndexRefPtr _wireframeSelectionHighlightSceneIndex; Fvp::BlockPrimRemovalPropagationSceneIndexRefPtr _blockPrimRemovalPropagationSceneIndex; + Fvp::LightsManagementSceneIndexRefPtr _lightsManagementSceneIndex; + // Naming this identifier _ufeSelection clashes with UFE's selection.h // include guard and produces // "error C2351: obsolete C++ constructor initialization syntax" @@ -318,6 +321,7 @@ class MtohRenderOverride : public MHWRender::MRenderOverride, int _oldRefineLevel {0}; bool _useDefaultMaterial; bool _xRayEnabled; + MFrameContext::LightingMode _lightingMode = MFrameContext::LightingMode::kSceneLights; }; PXR_NAMESPACE_CLOSE_SCOPE diff --git a/test/lib/mayaUsd/render/mayaToHydra/CMakeLists.txt b/test/lib/mayaUsd/render/mayaToHydra/CMakeLists.txt index b1ca9d0459..9ad5077363 100644 --- a/test/lib/mayaUsd/render/mayaToHydra/CMakeLists.txt +++ b/test/lib/mayaUsd/render/mayaToHydra/CMakeLists.txt @@ -51,6 +51,7 @@ set(INTERACTIVE_TEST_SCRIPT_FILES testFlowPluginsHierarchicalProperties.py testCustomShadersNode.py testMayaDefaultMaterial.py + testMayaLightingModes.py cpp/testColorPreferences.py cpp/testCppFramework.py cpp/testDataProducerExample.py diff --git a/test/lib/mayaUsd/render/mayaToHydra/MayaLightingModesTest/allLights.png b/test/lib/mayaUsd/render/mayaToHydra/MayaLightingModesTest/allLights.png new file mode 100644 index 0000000000..ac1c905739 Binary files /dev/null and b/test/lib/mayaUsd/render/mayaToHydra/MayaLightingModesTest/allLights.png differ diff --git a/test/lib/mayaUsd/render/mayaToHydra/MayaLightingModesTest/allLightsSelected.png b/test/lib/mayaUsd/render/mayaToHydra/MayaLightingModesTest/allLightsSelected.png new file mode 100644 index 0000000000..c280f28901 Binary files /dev/null and b/test/lib/mayaUsd/render/mayaToHydra/MayaLightingModesTest/allLightsSelected.png differ diff --git a/test/lib/mayaUsd/render/mayaToHydra/MayaLightingModesTest/defaultLighting.png b/test/lib/mayaUsd/render/mayaToHydra/MayaLightingModesTest/defaultLighting.png new file mode 100644 index 0000000000..df7fc2b0a9 Binary files /dev/null and b/test/lib/mayaUsd/render/mayaToHydra/MayaLightingModesTest/defaultLighting.png differ diff --git a/test/lib/mayaUsd/render/mayaToHydra/MayaLightingModesTest/domeLightSelected.png b/test/lib/mayaUsd/render/mayaToHydra/MayaLightingModesTest/domeLightSelected.png new file mode 100644 index 0000000000..1737878bc2 Binary files /dev/null and b/test/lib/mayaUsd/render/mayaToHydra/MayaLightingModesTest/domeLightSelected.png differ diff --git a/test/lib/mayaUsd/render/mayaToHydra/MayaLightingModesTest/noLighting.png b/test/lib/mayaUsd/render/mayaToHydra/MayaLightingModesTest/noLighting.png new file mode 100644 index 0000000000..ed47e23f4e Binary files /dev/null and b/test/lib/mayaUsd/render/mayaToHydra/MayaLightingModesTest/noLighting.png differ diff --git a/test/lib/mayaUsd/render/mayaToHydra/MayaLightingModesTest/pointLightSelected.png b/test/lib/mayaUsd/render/mayaToHydra/MayaLightingModesTest/pointLightSelected.png new file mode 100644 index 0000000000..185886841f Binary files /dev/null and b/test/lib/mayaUsd/render/mayaToHydra/MayaLightingModesTest/pointLightSelected.png differ diff --git a/test/lib/mayaUsd/render/mayaToHydra/MayaLightingModesTest/selLights_None.png b/test/lib/mayaUsd/render/mayaToHydra/MayaLightingModesTest/selLights_None.png new file mode 100644 index 0000000000..ed47e23f4e Binary files /dev/null and b/test/lib/mayaUsd/render/mayaToHydra/MayaLightingModesTest/selLights_None.png differ diff --git a/test/lib/mayaUsd/render/mayaToHydra/MayaLightingModesTest/sphereLightSelected.png b/test/lib/mayaUsd/render/mayaToHydra/MayaLightingModesTest/sphereLightSelected.png new file mode 100644 index 0000000000..d3aff35f35 Binary files /dev/null and b/test/lib/mayaUsd/render/mayaToHydra/MayaLightingModesTest/sphereLightSelected.png differ diff --git a/test/lib/mayaUsd/render/mayaToHydra/UsdTextureToggleTest/usd_texture_off.png b/test/lib/mayaUsd/render/mayaToHydra/UsdTextureToggleTest/usd_texture_off.png index f21abca188..c5e9ef28b2 100644 Binary files a/test/lib/mayaUsd/render/mayaToHydra/UsdTextureToggleTest/usd_texture_off.png and b/test/lib/mayaUsd/render/mayaToHydra/UsdTextureToggleTest/usd_texture_off.png differ diff --git a/test/lib/mayaUsd/render/mayaToHydra/UsdTextureToggleTest/usd_texture_on.png b/test/lib/mayaUsd/render/mayaToHydra/UsdTextureToggleTest/usd_texture_on.png index 1fdd1641da..fff26876fb 100644 Binary files a/test/lib/mayaUsd/render/mayaToHydra/UsdTextureToggleTest/usd_texture_on.png and b/test/lib/mayaUsd/render/mayaToHydra/UsdTextureToggleTest/usd_texture_on.png differ diff --git a/test/lib/mayaUsd/render/mayaToHydra/testMayaLightingModes.py b/test/lib/mayaUsd/render/mayaToHydra/testMayaLightingModes.py new file mode 100644 index 0000000000..ba3f292fe7 --- /dev/null +++ b/test/lib/mayaUsd/render/mayaToHydra/testMayaLightingModes.py @@ -0,0 +1,80 @@ +# +# Copyright 2024 Autodesk, Inc. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +import maya.cmds as cmds +import fixturesUtils +import mtohUtils +import mayaUtils +from testUtils import PluginLoaded + +import platform + +class TestMayaLightingfModes(mtohUtils.MayaHydraBaseTestCase): #Subclassing mtohUtils.MayaHydraBaseTestCase to be able to call self.assertSnapshotClose + # MayaHydraBaseTestCase.setUpClass requirement. + _file = __file__ + _requiredPlugins = ['mtoa'] + + IMAGE_DIFF_FAIL_THRESHOLD = 0.05 + IMAGE_DIFF_FAIL_PERCENT = 1.5 + + def test_MayaUsualLightingModes(self): + # open the Maya scene + testFile = mayaUtils.openTestScene( + "testMayaLightingModes", + "AllKindsOfLights.ma", useTestSettings=False) + cmds.refresh() + + #Lighting off + cmds.modelEditor('modelPanel4', edit=True, displayLights='none') + self.assertSnapshotClose("noLighting.png", self.IMAGE_DIFF_FAIL_THRESHOLD, self.IMAGE_DIFF_FAIL_PERCENT) + + #Use all lights + cmds.modelEditor('modelPanel4', edit=True, displayLights='all') + self.assertSnapshotClose("allLights.png", self.IMAGE_DIFF_FAIL_THRESHOLD, self.IMAGE_DIFF_FAIL_PERCENT) + + #Lighting default + cmds.modelEditor('modelPanel4', edit=True, displayLights='default') + self.assertSnapshotClose("defaultLighting.png", self.IMAGE_DIFF_FAIL_THRESHOLD, self.IMAGE_DIFF_FAIL_PERCENT) + + def test_MayaActiveLightingMode(self): + testFile = mayaUtils.openTestScene( + "testMayaLightingModes", + "AllKindsOfLights.ma", useTestSettings=False) + cmds.refresh() + + #Set active/selected lights only + cmds.modelEditor('modelPanel4', edit=True, displayLights='active') + cmds.select(clear=True) + cmds.refresh() + self.assertSnapshotClose("selLights_None.png", self.IMAGE_DIFF_FAIL_THRESHOLD, self.IMAGE_DIFF_FAIL_PERCENT) + cmds.select("|stage1|stageShape1,/SphereLight1", replace=True) + cmds.refresh() + self.assertSnapshotClose("sphereLightSelected.png", self.IMAGE_DIFF_FAIL_THRESHOLD, self.IMAGE_DIFF_FAIL_PERCENT) + cmds.select("pointLight1", replace=True) + cmds.refresh() + self.assertSnapshotClose("pointLightSelected.png", self.IMAGE_DIFF_FAIL_THRESHOLD, self.IMAGE_DIFF_FAIL_PERCENT) + cmds.select("aiSkyDomeLight1", replace=True) + cmds.refresh() + self.assertSnapshotClose("domeLightSelected.png", self.IMAGE_DIFF_FAIL_THRESHOLD, self.IMAGE_DIFF_FAIL_PERCENT) + + cmds.select("|stage1|stageShape1,/SphereLight1", replace=True) + cmds.select("pointLight1", add=True) + cmds.select("aiSkyDomeLight1", add=True) + cmds.refresh() + self.assertSnapshotClose("allLightsSelected.png", self.IMAGE_DIFF_FAIL_THRESHOLD, self.IMAGE_DIFF_FAIL_PERCENT) + +if __name__ == '__main__': + fixturesUtils.runTests(globals()) diff --git a/test/lib/mayaUsd/render/mayaToHydra/testUsdTextureToggle.py b/test/lib/mayaUsd/render/mayaToHydra/testUsdTextureToggle.py index d1b7573732..124d0fb396 100644 --- a/test/lib/mayaUsd/render/mayaToHydra/testUsdTextureToggle.py +++ b/test/lib/mayaUsd/render/mayaToHydra/testUsdTextureToggle.py @@ -32,7 +32,8 @@ def setUp(self): # Open simple Maya scene testFile = mayaUtils.openTestScene( "testUsdTextureToggle", - "testUsdTextureToggle.ma") + "testUsdTextureToggle.ma", useTestSettings=False) + cmds.grid(toggle=False) cmds.refresh() def setTextureMode(self, enabled): diff --git a/test/testSamples/testMayaLightingModes/AllKindOfLights.usd b/test/testSamples/testMayaLightingModes/AllKindOfLights.usd new file mode 100644 index 0000000000..a06eba58ac Binary files /dev/null and b/test/testSamples/testMayaLightingModes/AllKindOfLights.usd differ diff --git a/test/testSamples/testMayaLightingModes/AllKindsOfLights.ma b/test/testSamples/testMayaLightingModes/AllKindsOfLights.ma new file mode 100644 index 0000000000..99e5fef9eb --- /dev/null +++ b/test/testSamples/testMayaLightingModes/AllKindsOfLights.ma @@ -0,0 +1,332 @@ +//Maya ASCII 2025ff01 scene +//Name: AllKindsOfLights.ma +//Last modified: Wed, Sep 04, 2024 02:37:24 PM +//Codeset: 1252 +requires maya "2025ff01"; +requires -nodeType "aiOptions" -nodeType "aiAOVDriver" -nodeType "aiAOVFilter" -nodeType "aiSkyDomeLight" + -nodeType "aiImagerDenoiserOidn" "mtoa" "5.4.4"; +requires -nodeType "mayaUsdLayerManager" -nodeType "mayaUsdProxyShape" -dataType "pxrUsdStageData" + "mayaUsdPlugin" "0.30.0"; +currentUnit -l centimeter -a degree -t film; +fileInfo "application" "maya"; +fileInfo "product" "Maya 2025"; +fileInfo "version" "Preview Release"; +fileInfo "cutIdentifier" "202408120802-000000"; +fileInfo "osv" "Windows 10 Pro for Workstations v2009 (Build: 19045)"; +fileInfo "UUID" "7D63B68E-4376-A12C-755D-1082F55C5FF9"; +createNode transform -s -n "persp"; + rename -uid "CF1DC1BD-4959-9E24-4B99-5796B0B60BA6"; + setAttr ".v" no; + setAttr ".t" -type "double3" -3.9242591149347783 1.5346113885293922 -0.17819956366563333 ; + setAttr ".r" -type "double3" -21.338352729642239 267.3999999999503 1.0177774980683254e-13 ; +createNode camera -s -n "perspShape" -p "persp"; + rename -uid "007BF076-4FCC-DDEB-A3E0-479CF2ACB65F"; + setAttr -k off ".v" no; + setAttr ".fl" 34.999999999999993; + setAttr ".coi" 4.2174158912212185; + setAttr ".imn" -type "string" "persp"; + setAttr ".den" -type "string" "persp_depth"; + setAttr ".man" -type "string" "persp_mask"; + setAttr ".hc" -type "string" "viewSet -p %camera"; +createNode transform -s -n "top"; + rename -uid "AEB97DEA-4D5A-62C2-235E-16B13D9CE2FF"; + setAttr ".v" no; + setAttr ".t" -type "double3" 0 1000.1 0 ; + setAttr ".r" -type "double3" -90 0 0 ; +createNode camera -s -n "topShape" -p "top"; + rename -uid "964BE5C0-450A-C3C5-82FF-BB97D973232B"; + setAttr -k off ".v" no; + setAttr ".rnd" no; + setAttr ".coi" 1000.1; + setAttr ".ow" 30; + setAttr ".imn" -type "string" "top"; + setAttr ".den" -type "string" "top_depth"; + setAttr ".man" -type "string" "top_mask"; + setAttr ".hc" -type "string" "viewSet -t %camera"; + setAttr ".o" yes; +createNode transform -s -n "front"; + rename -uid "552004CB-4F12-445A-B326-CCBDAF83E5F5"; + setAttr ".v" no; + setAttr ".t" -type "double3" 0 0 1000.1 ; +createNode camera -s -n "frontShape" -p "front"; + rename -uid "D95AD495-48C0-54B7-B8DE-639267D6B1FA"; + setAttr -k off ".v" no; + setAttr ".rnd" no; + setAttr ".coi" 1000.1; + setAttr ".ow" 30; + setAttr ".imn" -type "string" "front"; + setAttr ".den" -type "string" "front_depth"; + setAttr ".man" -type "string" "front_mask"; + setAttr ".hc" -type "string" "viewSet -f %camera"; + setAttr ".o" yes; +createNode transform -s -n "side"; + rename -uid "BB6C72F6-4269-13E3-0662-81BF1EFD7A3A"; + setAttr ".v" no; + setAttr ".t" -type "double3" 1000.1 0 0 ; + setAttr ".r" -type "double3" 0 90 0 ; +createNode camera -s -n "sideShape" -p "side"; + rename -uid "90DCE7CD-4808-16DD-4AC0-6C8C33AB3937"; + setAttr -k off ".v" no; + setAttr ".rnd" no; + setAttr ".coi" 1000.1; + setAttr ".ow" 30; + setAttr ".imn" -type "string" "side"; + setAttr ".den" -type "string" "side_depth"; + setAttr ".man" -type "string" "side_mask"; + setAttr ".hc" -type "string" "viewSet -s %camera"; + setAttr ".o" yes; +createNode transform -n "pSphere1"; + rename -uid "66F821ED-47D7-7C1E-9203-68B9EA1A78EB"; +createNode mesh -n "pSphereShape1" -p "pSphere1"; + rename -uid "A8ACDE71-4493-92A0-DF28-508BB27397FC"; + setAttr -k off ".v"; + setAttr ".vir" yes; + setAttr ".vif" yes; + setAttr ".uvst[0].uvsn" -type "string" "map1"; + setAttr ".cuvs" -type "string" "map1"; + setAttr ".dcc" -type "string" "Ambient+Diffuse"; + setAttr ".covm[0]" 0 1 1; + setAttr ".cdvm[0]" 0 1 1; +createNode transform -n "aiSkyDomeLight1"; + rename -uid "3643661E-4C55-44C3-0C60-06A4DD1CC1AE"; +createNode aiSkyDomeLight -n "aiSkyDomeLightShape1" -p "aiSkyDomeLight1"; + rename -uid "111E7081-48D3-CACA-D1AE-EB84F5EDF42F"; + setAttr -k off ".v"; +createNode transform -n "pointLight1"; + rename -uid "1711FA9F-4EDB-CFFB-8208-9B9B035A999E"; + setAttr ".t" -type "double3" -2.8346284094240719 1.3205836773945632 -1.837296963958174 ; +createNode pointLight -n "pointLightShape1" -p "pointLight1"; + rename -uid "44151707-463C-3AFE-60E7-BF9382876DA9"; + setAttr -k off ".v"; + setAttr ".us" no; +createNode transform -n "stage1"; + rename -uid "C7C15C0C-4A45-FE74-EF73-07B1A249BB07"; +createNode mayaUsdProxyShape -n "stageShape1" -p "stage1"; + rename -uid "528782BC-477B-F653-3A76-35B930CEE537"; + addAttr -r false -ci true -h true -sn "forceCompute" -ln "forceCompute" -min 0 + -max 1 -at "bool"; + addAttr -ci true -h true -sn "usdStageLoadRules" -ln "usdStageLoadRules" -dt "string"; + addAttr -ci true -h true -sn "usdStageTargetLayer" -ln "usdStageTargetLayer" -dt "string"; + setAttr -k off ".v"; + setAttr ".covm[0]" 0 1 1; + setAttr ".cdvm[0]" 0 1 1; + setAttr ".fp" -type "string" "D:/GIT/maya-hydra-opensource/test/testSamples/testMayaLightingModes/AllKindOfLights.usd"; + setAttr ".oslid" -type "string" "anon:000001E17AF1CCC0:AllKindOfLights-session.usda"; + setAttr ".orlid" -type "string" "d:/GIT/maya/builds/main/maya-hydra-open-source/build/RelWithDebInfo/lib/mayaHydra/mayaPlugin/AllKindOfLights.usd"; + setAttr ".forceCompute" yes; + setAttr ".usdStageLoadRules" -type "string" "/=all"; + setAttr ".usdStageTargetLayer" -type "string" "d:/GIT/maya/builds/main/maya-hydra-open-source/build/RelWithDebInfo/lib/mayaHydra/mayaPlugin/AllKindOfLights.usd"; +createNode lightLinker -s -n "lightLinker1"; + rename -uid "8ADD72F5-4438-6E0B-9911-FAA51422C63D"; + setAttr -s 2 ".lnk"; + setAttr -s 2 ".slnk"; +createNode shapeEditorManager -n "shapeEditorManager"; + rename -uid "744C1B08-4C3C-9976-75DD-69865A535334"; +createNode poseInterpolatorManager -n "poseInterpolatorManager"; + rename -uid "8A59CE5B-4738-80C4-EB9C-8CA9D850E3D1"; +createNode displayLayerManager -n "layerManager"; + rename -uid "E9804E97-4ABD-B532-2EEE-88A7E69416BC"; +createNode displayLayer -n "defaultLayer"; + rename -uid "B7E1B6E7-46E5-8CBA-D6D5-A992C2B292E9"; + setAttr ".ufem" -type "stringArray" 0 ; +createNode renderLayerManager -n "renderLayerManager"; + rename -uid "18AE4C6B-41D6-BA1B-CF63-F8A16499370D"; +createNode renderLayer -n "defaultRenderLayer"; + rename -uid "FE1EAF4A-44EC-9E7C-51B0-00980CA9FB26"; + setAttr ".g" yes; +createNode polySphere -n "polySphere1"; + rename -uid "14CF4D23-46B4-E2EB-1F7A-9C8DAAAE7FD4"; +createNode aiOptions -s -n "defaultArnoldRenderOptions"; + rename -uid "A7A836A9-4013-3036-F775-9CB08AF5769F"; + setAttr ".version" -type "string" "5.4.4"; +createNode aiAOVFilter -s -n "defaultArnoldFilter"; + rename -uid "F7ACBE92-4E1E-6E91-7B2E-49963EE23C04"; +createNode aiAOVDriver -s -n "defaultArnoldDriver"; + rename -uid "07173276-4FE7-671D-AD3A-C0BD39D3EC8D"; +createNode aiAOVDriver -s -n "defaultArnoldDisplayDriver"; + rename -uid "026E20A6-4954-9EC3-9B3C-A99F126914A6"; + setAttr ".ai_translator" -type "string" "maya"; + setAttr ".output_mode" 0; +createNode aiImagerDenoiserOidn -s -n "defaultArnoldDenoiser"; + rename -uid "F3377A5A-4A07-7C62-07C5-D68E104F2CB2"; +createNode file -n "file1"; + rename -uid "6E5F111E-40E1-79BC-D1C7-2588F65A88E1"; + setAttr ".ftn" -type "string" "./UVChecker.png"; + setAttr ".cs" -type "string" "sRGB"; +createNode place2dTexture -n "place2dTexture1"; + rename -uid "3F424059-41AE-54E4-E565-BD894C4D3DF1"; +createNode script -n "uiConfigurationScriptNode"; + rename -uid "D06862B1-4FD7-22F3-06B9-86AEAAD1EB2F"; + setAttr ".b" -type "string" ( + "// Maya Mel UI Configuration File.\n//\n// This script is machine generated. Edit at your own risk.\n//\n//\n\nglobal string $gMainPane;\nif (`paneLayout -exists $gMainPane`) {\n\n\tglobal int $gUseScenePanelConfig;\n\tint $useSceneConfig = $gUseScenePanelConfig;\n\tint $nodeEditorPanelVisible = stringArrayContains(\"nodeEditorPanel1\", `getPanel -vis`);\n\tint $nodeEditorWorkspaceControlOpen = (`workspaceControl -exists nodeEditorPanel1Window` && `workspaceControl -q -visible nodeEditorPanel1Window`);\n\tint $menusOkayInPanels = `optionVar -q allowMenusInPanels`;\n\tint $nVisPanes = `paneLayout -q -nvp $gMainPane`;\n\tint $nPanes = 0;\n\tstring $editorName;\n\tstring $panelName;\n\tstring $itemFilterName;\n\tstring $panelConfig;\n\n\t//\n\t// get current state of the UI\n\t//\n\tsceneUIReplacement -update $gMainPane;\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Top View\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tmodelPanel -edit -l (localizedPanelLabel(\"Top View\")) -mbv $menusOkayInPanels $panelName;\n" + + "\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"|top\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"smoothShaded\" \n -activeOnly 0\n -ignorePanZoom 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -holdOuts 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 0\n -backfaceCulling 0\n -xray 0\n -jointXray 0\n -activeComponentsXray 0\n -displayTextures 0\n -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 32768\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n" + + " -depthOfFieldPreview 1\n -maxConstantTransparency 1\n -rendererName \"vp2Renderer\" \n -objectFilterShowInHUD 1\n -isFiltered 0\n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -shadingModel 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -controllers 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n" + + " -hulls 1\n -grid 1\n -imagePlane 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -particleInstancers 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nParticles 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -pluginShapes 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -motionTrails 1\n -clipGhosts 1\n -bluePencil 1\n -greasePencils 0\n -excludeObjectPreset \"All\" \n -shadows 0\n -captureSequenceNumber -1\n -width 1\n -height 1\n -sceneRenderFilter 0\n $editorName;\n modelEditor -e -viewSelected 0 $editorName;\n modelEditor -e \n -pluginObjects \"gpuCacheDisplayFilter\" 1 \n $editorName;\n" + + "\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Side View\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tmodelPanel -edit -l (localizedPanelLabel(\"Side View\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"|side\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"smoothShaded\" \n -activeOnly 0\n -ignorePanZoom 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -holdOuts 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 0\n -backfaceCulling 0\n -xray 0\n -jointXray 0\n -activeComponentsXray 0\n -displayTextures 0\n -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n" + + " -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 32768\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -depthOfFieldPreview 1\n -maxConstantTransparency 1\n -rendererName \"vp2Renderer\" \n -objectFilterShowInHUD 1\n -isFiltered 0\n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -shadingModel 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n" + + " -interactiveBackFaceCull 0\n -sortTransparent 1\n -controllers 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -imagePlane 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -particleInstancers 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nParticles 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -pluginShapes 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -motionTrails 1\n -clipGhosts 1\n -bluePencil 1\n -greasePencils 0\n -excludeObjectPreset \"All\" \n" + + " -shadows 0\n -captureSequenceNumber -1\n -width 1\n -height 1\n -sceneRenderFilter 0\n $editorName;\n modelEditor -e -viewSelected 0 $editorName;\n modelEditor -e \n -pluginObjects \"gpuCacheDisplayFilter\" 1 \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Front View\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tmodelPanel -edit -l (localizedPanelLabel(\"Front View\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"|front\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"smoothShaded\" \n -activeOnly 0\n -ignorePanZoom 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -holdOuts 1\n -selectionHiliteDisplay 1\n" + + " -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 0\n -backfaceCulling 0\n -xray 0\n -jointXray 0\n -activeComponentsXray 0\n -displayTextures 0\n -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 32768\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -depthOfFieldPreview 1\n -maxConstantTransparency 1\n -rendererName \"vp2Renderer\" \n -objectFilterShowInHUD 1\n -isFiltered 0\n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n" + + " -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -shadingModel 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -controllers 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -imagePlane 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -particleInstancers 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nParticles 1\n -nRigids 1\n -dynamicConstraints 1\n" + + " -locators 1\n -manipulators 1\n -pluginShapes 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -motionTrails 1\n -clipGhosts 1\n -bluePencil 1\n -greasePencils 0\n -excludeObjectPreset \"All\" \n -shadows 0\n -captureSequenceNumber -1\n -width 1\n -height 1\n -sceneRenderFilter 0\n $editorName;\n modelEditor -e -viewSelected 0 $editorName;\n modelEditor -e \n -pluginObjects \"gpuCacheDisplayFilter\" 1 \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Persp View\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tmodelPanel -edit -l (localizedPanelLabel(\"Persp View\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n modelEditor -e \n" + + " -camera \"|persp\" \n -useInteractiveMode 0\n -displayLights \"all\" \n -displayAppearance \"smoothShaded\" \n -activeOnly 0\n -ignorePanZoom 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -holdOuts 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 0\n -backfaceCulling 0\n -xray 0\n -jointXray 0\n -activeComponentsXray 0\n -displayTextures 0\n -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 32768\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -depthOfFieldPreview 1\n" + + " -maxConstantTransparency 1\n -rendererName \"vp2Renderer\" \n -rendererOverrideName \"mayaHydraRenderOverride_HdStormRendererPlugin\" \n -objectFilterShowInHUD 1\n -isFiltered 0\n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -shadingModel 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -controllers 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n" + + " -controlVertices 1\n -hulls 1\n -grid 1\n -imagePlane 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -particleInstancers 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nParticles 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -pluginShapes 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -motionTrails 1\n -clipGhosts 1\n -bluePencil 1\n -greasePencils 0\n -excludeObjectPreset \"All\" \n -shadows 0\n -captureSequenceNumber -1\n -width 1117\n -height 714\n -sceneRenderFilter 0\n $editorName;\n modelEditor -e -viewSelected 0 $editorName;\n modelEditor -e \n -pluginObjects \"gpuCacheDisplayFilter\" 1 \n" + + " $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"outlinerPanel\" (localizedPanelLabel(\"ToggledOutliner\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\toutlinerPanel -edit -l (localizedPanelLabel(\"ToggledOutliner\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n outlinerEditor -e \n -docTag \"isolOutln_fromSeln\" \n -showShapes 1\n -showAssignedMaterials 0\n -showTimeEditor 1\n -showReferenceNodes 1\n -showReferenceMembers 1\n -showAttributes 0\n -showConnected 0\n -showAnimCurvesOnly 0\n -showMuteInfo 0\n -organizeByLayer 1\n -organizeByClip 1\n -showAnimLayerWeight 1\n -autoExpandLayers 1\n -autoExpand 0\n -showDagOnly 1\n -showAssets 1\n -showContainedOnly 1\n -showPublishedAsConnected 0\n" + + " -showParentContainers 0\n -showContainerContents 1\n -ignoreDagHierarchy 0\n -expandConnections 0\n -showUpstreamCurves 1\n -showUnitlessCurves 1\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 0\n -highlightActive 1\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"defaultSetFilter\" \n -showSetMembers 1\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -isSet 0\n -isSetMember 0\n -showUfeItems 1\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -containersIgnoreFilters 0\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n" + + " -animLayerFilterOptions \"allAffecting\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -selectCommand \"print(\\\"\\\")\" \n -showNamespace 1\n -showPinIcons 0\n -mapMotionTrails 0\n -ignoreHiddenAttribute 0\n -ignoreOutlinerColor 0\n -renderFilterVisible 0\n -renderFilterIndex 0\n -selectionOrder \"chronological\" \n -expandAttribute 0\n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"outlinerPanel\" (localizedPanelLabel(\"Outliner\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\toutlinerPanel -edit -l (localizedPanelLabel(\"Outliner\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n outlinerEditor -e \n -showShapes 0\n -showAssignedMaterials 0\n -showTimeEditor 1\n -showReferenceNodes 0\n -showReferenceMembers 0\n" + + " -showAttributes 0\n -showConnected 0\n -showAnimCurvesOnly 0\n -showMuteInfo 0\n -organizeByLayer 1\n -organizeByClip 1\n -showAnimLayerWeight 1\n -autoExpandLayers 1\n -autoExpand 0\n -showDagOnly 1\n -showAssets 1\n -showContainedOnly 1\n -showPublishedAsConnected 0\n -showParentContainers 0\n -showContainerContents 1\n -ignoreDagHierarchy 0\n -expandConnections 0\n -showUpstreamCurves 1\n -showUnitlessCurves 1\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 0\n -highlightActive 1\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"defaultSetFilter\" \n -showSetMembers 1\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n" + + " -showUfeItems 1\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -containersIgnoreFilters 0\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -animLayerFilterOptions \"allAffecting\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n -showPinIcons 0\n -mapMotionTrails 0\n -ignoreHiddenAttribute 0\n -ignoreOutlinerColor 0\n -renderFilterVisible 0\n -ufeFilter \"USD\" \"InactivePrims\" -ufeFilterValue 1\n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"graphEditor\" (localizedPanelLabel(\"Graph Editor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Graph Editor\")) -mbv $menusOkayInPanels $panelName;\n" + + "\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -showShapes 1\n -showAssignedMaterials 0\n -showTimeEditor 1\n -showReferenceNodes 0\n -showReferenceMembers 0\n -showAttributes 1\n -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -organizeByLayer 1\n -organizeByClip 1\n -showAnimLayerWeight 1\n -autoExpandLayers 1\n -autoExpand 1\n -showDagOnly 0\n -showAssets 1\n -showContainedOnly 0\n -showPublishedAsConnected 0\n -showParentContainers 0\n -showContainerContents 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n -showUpstreamCurves 1\n -showUnitlessCurves 1\n -showCompounds 0\n -showLeafs 1\n -showNumericAttrsOnly 1\n" + + " -highlightActive 0\n -autoSelectNewObjects 1\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 1\n -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -showUfeItems 1\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -containersIgnoreFilters 0\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -animLayerFilterOptions \"allAffecting\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n -showPinIcons 1\n -mapMotionTrails 1\n -ignoreHiddenAttribute 0\n" + + " -ignoreOutlinerColor 0\n -renderFilterVisible 0\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"GraphEd\");\n animCurveEditor -e \n -displayValues 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -showPlayRangeShades \"on\" \n -lockPlayRangeShades \"off\" \n -smoothness \"fine\" \n -resultSamples 1\n -resultScreenSamples 0\n -resultUpdate \"delayed\" \n -showUpstreamCurves 1\n -tangentScale 1\n -tangentLineThickness 1\n -keyMinScale 1\n -stackedCurvesMin -1\n -stackedCurvesMax 1\n -stackedCurvesSpace 0.2\n -preSelectionHighlight 0\n -limitToSelectedCurves 0\n -constrainDrag 0\n -valueLinesToggle 0\n -highlightAffectedCurves 0\n $editorName;\n\t\tif (!$useSceneConfig) {\n" + + "\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"dopeSheetPanel\" (localizedPanelLabel(\"Dope Sheet\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Dope Sheet\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -showShapes 1\n -showAssignedMaterials 0\n -showTimeEditor 1\n -showReferenceNodes 0\n -showReferenceMembers 0\n -showAttributes 1\n -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -organizeByLayer 1\n -organizeByClip 1\n -showAnimLayerWeight 1\n -autoExpandLayers 1\n -autoExpand 1\n -showDagOnly 0\n -showAssets 1\n -showContainedOnly 0\n -showPublishedAsConnected 0\n" + + " -showParentContainers 0\n -showContainerContents 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n -showUpstreamCurves 1\n -showUnitlessCurves 0\n -showCompounds 0\n -showLeafs 1\n -showNumericAttrsOnly 1\n -highlightActive 0\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 1\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"0\" \n -showSetMembers 1\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -showUfeItems 1\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -containersIgnoreFilters 0\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n" + + " -attrAlphaOrder \"default\" \n -animLayerFilterOptions \"allAffecting\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n -showPinIcons 0\n -mapMotionTrails 1\n -ignoreHiddenAttribute 0\n -ignoreOutlinerColor 0\n -renderFilterVisible 0\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"DopeSheetEd\");\n dopeSheetEditor -e \n -displayValues 0\n -snapTime \"none\" \n -snapValue \"none\" \n -outliner \"dopeSheetPanel1OutlineEd\" \n -hierarchyBelow 0\n -selectionWindow 0 0 0 0 \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"timeEditorPanel\" (localizedPanelLabel(\"Time Editor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n" + + "\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Time Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"clipEditorPanel\" (localizedPanelLabel(\"Trax Editor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Trax Editor\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = clipEditorNameFromPanel($panelName);\n clipEditor -e \n -displayValues 0\n -snapTime \"none\" \n -snapValue \"none\" \n -initialized 0\n -manageSequencer 0 \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"sequenceEditorPanel\" (localizedPanelLabel(\"Camera Sequencer\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Camera Sequencer\")) -mbv $menusOkayInPanels $panelName;\n" + + "\n\t\t\t$editorName = sequenceEditorNameFromPanel($panelName);\n clipEditor -e \n -displayValues 0\n -snapTime \"none\" \n -snapValue \"none\" \n -initialized 0\n -manageSequencer 1 \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"hyperGraphPanel\" (localizedPanelLabel(\"Hypergraph Hierarchy\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Hypergraph Hierarchy\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = ($panelName+\"HyperGraphEd\");\n hyperGraph -e \n -graphLayoutStyle \"hierarchicalLayout\" \n -orientation \"horiz\" \n -mergeConnections 0\n -zoom 1\n -animateTransition 0\n -showRelationships 1\n -showShapes 0\n -showDeformers 0\n -showExpressions 0\n" + + " -showConstraints 0\n -showConnectionFromSelected 0\n -showConnectionToSelected 0\n -showConstraintLabels 0\n -showUnderworld 0\n -showInvisible 0\n -transitionFrames 1\n -opaqueContainers 0\n -freeform 0\n -imagePosition 0 0 \n -imageScale 1\n -imageEnabled 0\n -graphType \"DAG\" \n -heatMapDisplay 0\n -updateSelection 1\n -updateNodeAdded 1\n -useDrawOverrideColor 0\n -limitGraphTraversal -1\n -range 0 0 \n -iconSize \"smallIcons\" \n -showCachedConnections 0\n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"hyperShadePanel\" (localizedPanelLabel(\"Hypershade\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n" + + "\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Hypershade\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"visorPanel\" (localizedPanelLabel(\"Visor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Visor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"nodeEditorPanel\" (localizedPanelLabel(\"Node Editor\")) `;\n\tif ($nodeEditorPanelVisible || $nodeEditorWorkspaceControlOpen) {\n\t\tif (\"\" == $panelName) {\n\t\t\tif ($useSceneConfig) {\n\t\t\t\t$panelName = `scriptedPanel -unParent -type \"nodeEditorPanel\" -l (localizedPanelLabel(\"Node Editor\")) -mbv $menusOkayInPanels `;\n\n\t\t\t$editorName = ($panelName+\"NodeEditorEd\");\n nodeEditor -e \n -allAttributes 0\n -allNodes 0\n -autoSizeNodes 1\n" + + " -consistentNameSize 1\n -createNodeCommand \"nodeEdCreateNodeCommand\" \n -connectNodeOnCreation 0\n -connectOnDrop 0\n -copyConnectionsOnPaste 0\n -connectionStyle \"bezier\" \n -defaultPinnedState 0\n -additiveGraphingMode 0\n -connectedGraphingMode 1\n -settingsChangedCallback \"nodeEdSyncControls\" \n -traversalDepthLimit -1\n -keyPressCommand \"nodeEdKeyPressCommand\" \n -nodeTitleMode \"name\" \n -gridSnap 0\n -gridVisibility 1\n -crosshairOnEdgeDragging 0\n -popupMenuScript \"nodeEdBuildPanelMenus\" \n -showNamespace 1\n -showShapes 1\n -showSGShapes 0\n -showTransforms 1\n -useAssets 1\n -syncedSelection 1\n -extendToShapes 1\n -showUnitConversions 0\n -editorMode \"default\" \n" + + " -hasWatchpoint 0\n $editorName;\n\t\t\t}\n\t\t} else {\n\t\t\t$label = `panel -q -label $panelName`;\n\t\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Node Editor\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = ($panelName+\"NodeEditorEd\");\n nodeEditor -e \n -allAttributes 0\n -allNodes 0\n -autoSizeNodes 1\n -consistentNameSize 1\n -createNodeCommand \"nodeEdCreateNodeCommand\" \n -connectNodeOnCreation 0\n -connectOnDrop 0\n -copyConnectionsOnPaste 0\n -connectionStyle \"bezier\" \n -defaultPinnedState 0\n -additiveGraphingMode 0\n -connectedGraphingMode 1\n -settingsChangedCallback \"nodeEdSyncControls\" \n -traversalDepthLimit -1\n -keyPressCommand \"nodeEdKeyPressCommand\" \n -nodeTitleMode \"name\" \n -gridSnap 0\n -gridVisibility 1\n" + + " -crosshairOnEdgeDragging 0\n -popupMenuScript \"nodeEdBuildPanelMenus\" \n -showNamespace 1\n -showShapes 1\n -showSGShapes 0\n -showTransforms 1\n -useAssets 1\n -syncedSelection 1\n -extendToShapes 1\n -showUnitConversions 0\n -editorMode \"default\" \n -hasWatchpoint 0\n $editorName;\n\t\t\tif (!$useSceneConfig) {\n\t\t\t\tpanel -e -l $label $panelName;\n\t\t\t}\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"createNodePanel\" (localizedPanelLabel(\"Create Node\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Create Node\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"polyTexturePlacementPanel\" (localizedPanelLabel(\"UV Editor\")) `;\n\tif (\"\" != $panelName) {\n" + + "\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"UV Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"renderWindowPanel\" (localizedPanelLabel(\"Render View\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Render View\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"shapePanel\" (localizedPanelLabel(\"Shape Editor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tshapePanel -edit -l (localizedPanelLabel(\"Shape Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"posePanel\" (localizedPanelLabel(\"Pose Editor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n" + + "\t\tposePanel -edit -l (localizedPanelLabel(\"Pose Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"dynRelEdPanel\" (localizedPanelLabel(\"Dynamic Relationships\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Dynamic Relationships\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"relationshipPanel\" (localizedPanelLabel(\"Relationship Editor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Relationship Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"referenceEditorPanel\" (localizedPanelLabel(\"Reference Editor\")) `;\n\tif (\"\" != $panelName) {\n" + + "\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Reference Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"dynPaintScriptedPanelType\" (localizedPanelLabel(\"Paint Effects\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Paint Effects\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"scriptEditorPanel\" (localizedPanelLabel(\"Script Editor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Script Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"profilerPanel\" (localizedPanelLabel(\"Profiler Tool\")) `;\n" + + "\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Profiler Tool\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"contentBrowserPanel\" (localizedPanelLabel(\"Content Browser\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Content Browser\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\tif ($useSceneConfig) {\n string $configName = `getPanel -cwl (localizedPanelLabel(\"Current Layout\"))`;\n if (\"\" != $configName) {\n\t\t\tpanelConfiguration -edit -label (localizedPanelLabel(\"Current Layout\")) \n\t\t\t\t-userCreated false\n\t\t\t\t-defaultImage \"vacantCell.xP:/\"\n\t\t\t\t-image \"\"\n\t\t\t\t-sc false\n\t\t\t\t-configString \"global string $gMainPane; paneLayout -e -cn \\\"single\\\" -ps 1 100 100 $gMainPane;\"\n\t\t\t\t-removeAllPanels\n\t\t\t\t-ap false\n" + + "\t\t\t\t\t(localizedPanelLabel(\"Persp View\")) \n\t\t\t\t\t\"modelPanel\"\n" + + "\t\t\t\t\t\"$panelName = `modelPanel -unParent -l (localizedPanelLabel(\\\"Persp View\\\")) -mbv $menusOkayInPanels `;\\n$editorName = $panelName;\\nmodelEditor -e \\n -cam `findStartUpCamera persp` \\n -useInteractiveMode 0\\n -displayLights \\\"all\\\" \\n -displayAppearance \\\"smoothShaded\\\" \\n -activeOnly 0\\n -ignorePanZoom 0\\n -wireframeOnShaded 0\\n -headsUpDisplay 1\\n -holdOuts 1\\n -selectionHiliteDisplay 1\\n -useDefaultMaterial 0\\n -bufferMode \\\"double\\\" \\n -twoSidedLighting 0\\n -backfaceCulling 0\\n -xray 0\\n -jointXray 0\\n -activeComponentsXray 0\\n -displayTextures 0\\n -smoothWireframe 0\\n -lineWidth 1\\n -textureAnisotropic 0\\n -textureHilight 1\\n -textureSampling 2\\n -textureDisplay \\\"modulate\\\" \\n -textureMaxSize 32768\\n -fogging 0\\n -fogSource \\\"fragment\\\" \\n -fogMode \\\"linear\\\" \\n -fogStart 0\\n -fogEnd 100\\n -fogDensity 0.1\\n -fogColor 0.5 0.5 0.5 1 \\n -depthOfFieldPreview 1\\n -maxConstantTransparency 1\\n -rendererName \\\"vp2Renderer\\\" \\n -rendererOverrideName \\\"mayaHydraRenderOverride_HdStormRendererPlugin\\\" \\n -objectFilterShowInHUD 1\\n -isFiltered 0\\n -colorResolution 256 256 \\n -bumpResolution 512 512 \\n -textureCompression 0\\n -transparencyAlgorithm \\\"frontAndBackCull\\\" \\n -transpInShadows 0\\n -cullingOverride \\\"none\\\" \\n -lowQualityLighting 0\\n -maximumNumHardwareLights 1\\n -occlusionCulling 0\\n -shadingModel 0\\n -useBaseRenderer 0\\n -useReducedRenderer 0\\n -smallObjectCulling 0\\n -smallObjectThreshold -1 \\n -interactiveDisableShadows 0\\n -interactiveBackFaceCull 0\\n -sortTransparent 1\\n -controllers 1\\n -nurbsCurves 1\\n -nurbsSurfaces 1\\n -polymeshes 1\\n -subdivSurfaces 1\\n -planes 1\\n -lights 1\\n -cameras 1\\n -controlVertices 1\\n -hulls 1\\n -grid 1\\n -imagePlane 1\\n -joints 1\\n -ikHandles 1\\n -deformers 1\\n -dynamics 1\\n -particleInstancers 1\\n -fluids 1\\n -hairSystems 1\\n -follicles 1\\n -nCloths 1\\n -nParticles 1\\n -nRigids 1\\n -dynamicConstraints 1\\n -locators 1\\n -manipulators 1\\n -pluginShapes 1\\n -dimensions 1\\n -handles 1\\n -pivots 1\\n -textures 1\\n -strokes 1\\n -motionTrails 1\\n -clipGhosts 1\\n -bluePencil 1\\n -greasePencils 0\\n -excludeObjectPreset \\\"All\\\" \\n -shadows 0\\n -captureSequenceNumber -1\\n -width 1117\\n -height 714\\n -sceneRenderFilter 0\\n $editorName;\\nmodelEditor -e -viewSelected 0 $editorName;\\nmodelEditor -e \\n -pluginObjects \\\"gpuCacheDisplayFilter\\\" 1 \\n $editorName\"\n" + + "\t\t\t\t\t\"modelPanel -edit -l (localizedPanelLabel(\\\"Persp View\\\")) -mbv $menusOkayInPanels $panelName;\\n$editorName = $panelName;\\nmodelEditor -e \\n -cam `findStartUpCamera persp` \\n -useInteractiveMode 0\\n -displayLights \\\"all\\\" \\n -displayAppearance \\\"smoothShaded\\\" \\n -activeOnly 0\\n -ignorePanZoom 0\\n -wireframeOnShaded 0\\n -headsUpDisplay 1\\n -holdOuts 1\\n -selectionHiliteDisplay 1\\n -useDefaultMaterial 0\\n -bufferMode \\\"double\\\" \\n -twoSidedLighting 0\\n -backfaceCulling 0\\n -xray 0\\n -jointXray 0\\n -activeComponentsXray 0\\n -displayTextures 0\\n -smoothWireframe 0\\n -lineWidth 1\\n -textureAnisotropic 0\\n -textureHilight 1\\n -textureSampling 2\\n -textureDisplay \\\"modulate\\\" \\n -textureMaxSize 32768\\n -fogging 0\\n -fogSource \\\"fragment\\\" \\n -fogMode \\\"linear\\\" \\n -fogStart 0\\n -fogEnd 100\\n -fogDensity 0.1\\n -fogColor 0.5 0.5 0.5 1 \\n -depthOfFieldPreview 1\\n -maxConstantTransparency 1\\n -rendererName \\\"vp2Renderer\\\" \\n -rendererOverrideName \\\"mayaHydraRenderOverride_HdStormRendererPlugin\\\" \\n -objectFilterShowInHUD 1\\n -isFiltered 0\\n -colorResolution 256 256 \\n -bumpResolution 512 512 \\n -textureCompression 0\\n -transparencyAlgorithm \\\"frontAndBackCull\\\" \\n -transpInShadows 0\\n -cullingOverride \\\"none\\\" \\n -lowQualityLighting 0\\n -maximumNumHardwareLights 1\\n -occlusionCulling 0\\n -shadingModel 0\\n -useBaseRenderer 0\\n -useReducedRenderer 0\\n -smallObjectCulling 0\\n -smallObjectThreshold -1 \\n -interactiveDisableShadows 0\\n -interactiveBackFaceCull 0\\n -sortTransparent 1\\n -controllers 1\\n -nurbsCurves 1\\n -nurbsSurfaces 1\\n -polymeshes 1\\n -subdivSurfaces 1\\n -planes 1\\n -lights 1\\n -cameras 1\\n -controlVertices 1\\n -hulls 1\\n -grid 1\\n -imagePlane 1\\n -joints 1\\n -ikHandles 1\\n -deformers 1\\n -dynamics 1\\n -particleInstancers 1\\n -fluids 1\\n -hairSystems 1\\n -follicles 1\\n -nCloths 1\\n -nParticles 1\\n -nRigids 1\\n -dynamicConstraints 1\\n -locators 1\\n -manipulators 1\\n -pluginShapes 1\\n -dimensions 1\\n -handles 1\\n -pivots 1\\n -textures 1\\n -strokes 1\\n -motionTrails 1\\n -clipGhosts 1\\n -bluePencil 1\\n -greasePencils 0\\n -excludeObjectPreset \\\"All\\\" \\n -shadows 0\\n -captureSequenceNumber -1\\n -width 1117\\n -height 714\\n -sceneRenderFilter 0\\n $editorName;\\nmodelEditor -e -viewSelected 0 $editorName;\\nmodelEditor -e \\n -pluginObjects \\\"gpuCacheDisplayFilter\\\" 1 \\n $editorName\"\n" + + "\t\t\t\t$configName;\n\n setNamedPanelLayout (localizedPanelLabel(\"Current Layout\"));\n }\n\n panelHistory -e -clear mainPanelHistory;\n sceneUIReplacement -clear;\n\t}\n\n\ngrid -spacing 5 -size 12 -divisions 5 -displayAxes yes -displayGridLines yes -displayDivisionLines yes -displayPerspectiveLabels no -displayOrthographicLabels no -displayAxesBold yes -perspectiveLabelPosition axis -orthographicLabelPosition edge;\nviewManip -drawCompass 0 -compassAngle 0 -frontParameters \"\" -homeParameters \"\" -selectionLockParameters \"\";\n}\n"); + setAttr ".st" 3; +createNode script -n "sceneConfigurationScriptNode"; + rename -uid "B8B4C604-461A-B114-B415-90A91A74457A"; + setAttr ".b" -type "string" "playbackOptions -min 0 -max 36 -ast 0 -aet 36 "; + setAttr ".st" 6; +createNode mayaUsdLayerManager -n "mayaUsdLayerManager1"; + rename -uid "613F9194-4462-41DF-5491-A39AC288ABD6"; + setAttr -s 2 ".lyr"; + setAttr ".lyr[0].id" -type "string" "anon:000001E17AF1CCC0:AllKindOfLights-session.usda"; + setAttr ".lyr[0].fid" -type "string" "usda"; + setAttr ".lyr[0].szd" -type "string" ""; + setAttr ".lyr[0].ann" yes; + setAttr ".lyr[1].id" -type "string" "d:/GIT/maya/builds/main/maya-hydra-open-source/build/RelWithDebInfo/lib/mayaHydra/mayaPlugin/AllKindOfLights.usd"; + setAttr ".lyr[1].fid" -type "string" "usd"; + setAttr ".lyr[1].szd" -type "string" "#usda 1.0\n\ndef SphereLight \"SphereLight1\"\n{\n color3f inputs:shadow:color\n bool inputs:shadow:enable = 1\n double3 xformOp:translate = (-0.9811053747118219, 0.6951812663725798, 1.2390338283878015)\n uniform token[] xformOpOrder = [\"xformOp:translate\"]\n}\n\n"; +select -ne :time1; + setAttr ".o" 0; +select -ne :hardwareRenderingGlobals; + setAttr ".otfna" -type "stringArray" 22 "NURBS Curves" "NURBS Surfaces" "Polygons" "Subdiv Surface" "Particles" "Particle Instance" "Fluids" "Strokes" "Image Planes" "UI" "Lights" "Cameras" "Locators" "Joints" "IK Handles" "Deformers" "Motion Trails" "Components" "Hair Systems" "Follicles" "Misc. UI" "Ornaments" ; + setAttr ".otfva" -type "Int32Array" 22 0 1 1 1 1 1 + 1 1 1 0 0 0 0 0 0 0 0 0 + 0 0 0 0 ; + setAttr ".fprt" yes; + setAttr ".rtfm" 1; +select -ne :renderPartition; + setAttr -s 2 ".st"; +select -ne :renderGlobalsList1; +select -ne :defaultShaderList1; + setAttr -s 5 ".s"; +select -ne :postProcessList1; + setAttr -s 2 ".p"; +select -ne :defaultRenderUtilityList1; +select -ne :defaultRenderingList1; +select -ne :lightList1; + setAttr -s 3 ".l"; +select -ne :defaultTextureList1; +select -ne :standardSurface1; + setAttr ".bc" -type "float3" 0.40000001 0.40000001 0.40000001 ; + setAttr ".sr" 0.5; +select -ne :initialShadingGroup; + setAttr ".ro" yes; +select -ne :initialParticleSE; + setAttr ".ro" yes; +select -ne :defaultRenderGlobals; + addAttr -ci true -sn "mtohMotionSampleStart" -ln "mtohMotionSampleStart" -at "float"; + addAttr -ci true -sn "mtohMotionSampleEnd" -ln "mtohMotionSampleEnd" -at "float"; + addAttr -ci true -sn "mayaHydraRenderPurpose" -ln "mayaHydraRenderPurpose" -min + 0 -max 1 -at "bool"; + addAttr -ci true -sn "mayaHydraProxyPurpose" -ln "mayaHydraProxyPurpose" -dv 1 -min + 0 -max 1 -at "bool"; + addAttr -ci true -sn "mayaHydraGuidePurpose" -ln "mayaHydraGuidePurpose" -min 0 + -max 1 -at "bool"; + addAttr -ci true -sn "mtohTextureMemoryPerTexture" -ln "mtohTextureMemoryPerTexture" + -dv 4096 -min 1 -max 262144 -smn 16384 -at "long"; + addAttr -ci true -sn "mtohMaximumShadowMapResolution" -ln "mtohMaximumShadowMapResolution" + -dv 2048 -min 32 -max 8192 -at "long"; + addAttr -ci true -sn "mayaHydraRefinementLevel" -ln "mayaHydraRefinementLevel" -min + 0 -max 8 -at "long"; + addAttr -ci true -sn "HdStormRendererPlugin__enableTinyPrimCulling" -ln "HdStormRendererPlugin__enableTinyPrimCulling" + -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "HdStormRendererPlugin__volumeRaymarchingStepSize" -ln "HdStormRendererPlugin__volumeRaymarchingStepSize" + -dv 1 -at "float"; + addAttr -ci true -sn "HdStormRendererPlugin__volumeRaymarchingStepSizeLighting" + -ln "HdStormRendererPlugin__volumeRaymarchingStepSizeLighting" -dv 10 -at "float"; + addAttr -ci true -sn "HdStormRendererPlugin__volumeMaxTextureMemoryPerField" -ln "HdStormRendererPlugin__volumeMaxTextureMemoryPerField" + -dv 128 -at "float"; + addAttr -ci true -sn "HdStormRendererPlugin__maxLights" -ln "HdStormRendererPlugin__maxLights" + -dv 16 -at "long"; + addAttr -ci true -h true -sn "dss" -ln "defaultSurfaceShader" -dt "string"; + setAttr ".dss" -type "string" "standardSurface1"; +select -ne :defaultResolution; + setAttr ".pa" 1; +select -ne :defaultLightSet; + setAttr -s 3 ".dsm"; +select -ne :defaultColorMgtGlobals; + setAttr ".cfe" yes; + setAttr ".cfp" -type "string" "/OCIO-configs/Maya2022-default/config.ocio"; + setAttr ".vtn" -type "string" "ACES 1.0 SDR-video (sRGB)"; + setAttr ".vn" -type "string" "ACES 1.0 SDR-video"; + setAttr ".dn" -type "string" "sRGB"; + setAttr ".wsn" -type "string" "ACEScg"; + setAttr ".otn" -type "string" "ACES 1.0 SDR-video (sRGB)"; + setAttr ".potn" -type "string" "ACES 1.0 SDR-video (sRGB)"; +select -ne :hardwareRenderGlobals; + setAttr ".ctrs" 256; + setAttr ".btrs" 512; +connectAttr "polySphere1.out" "pSphereShape1.i"; +connectAttr "file1.oc" "aiSkyDomeLightShape1.sc"; +connectAttr ":time1.o" "stageShape1.tm"; +relationship "link" ":lightLinker1" ":initialShadingGroup.message" ":defaultLightSet.message"; +relationship "link" ":lightLinker1" ":initialParticleSE.message" ":defaultLightSet.message"; +relationship "shadowLink" ":lightLinker1" ":initialShadingGroup.message" ":defaultLightSet.message"; +relationship "shadowLink" ":lightLinker1" ":initialParticleSE.message" ":defaultLightSet.message"; +connectAttr "layerManager.dli[0]" "defaultLayer.id"; +connectAttr "renderLayerManager.rlmi[0]" "defaultRenderLayer.rlid"; +connectAttr ":defaultArnoldDenoiser.msg" ":defaultArnoldRenderOptions.imagers" -na + ; +connectAttr ":defaultArnoldDisplayDriver.msg" ":defaultArnoldRenderOptions.drivers" + -na; +connectAttr ":defaultArnoldFilter.msg" ":defaultArnoldRenderOptions.filt"; +connectAttr ":defaultArnoldDriver.msg" ":defaultArnoldRenderOptions.drvr"; +connectAttr ":defaultColorMgtGlobals.cme" "file1.cme"; +connectAttr ":defaultColorMgtGlobals.cfe" "file1.cmcf"; +connectAttr ":defaultColorMgtGlobals.cfp" "file1.cmcp"; +connectAttr ":defaultColorMgtGlobals.wsn" "file1.ws"; +connectAttr "place2dTexture1.c" "file1.c"; +connectAttr "place2dTexture1.tf" "file1.tf"; +connectAttr "place2dTexture1.rf" "file1.rf"; +connectAttr "place2dTexture1.mu" "file1.mu"; +connectAttr "place2dTexture1.mv" "file1.mv"; +connectAttr "place2dTexture1.s" "file1.s"; +connectAttr "place2dTexture1.wu" "file1.wu"; +connectAttr "place2dTexture1.wv" "file1.wv"; +connectAttr "place2dTexture1.re" "file1.re"; +connectAttr "place2dTexture1.of" "file1.of"; +connectAttr "place2dTexture1.r" "file1.ro"; +connectAttr "place2dTexture1.n" "file1.n"; +connectAttr "place2dTexture1.vt1" "file1.vt1"; +connectAttr "place2dTexture1.vt2" "file1.vt2"; +connectAttr "place2dTexture1.vt3" "file1.vt3"; +connectAttr "place2dTexture1.vc1" "file1.vc1"; +connectAttr "place2dTexture1.o" "file1.uv"; +connectAttr "place2dTexture1.ofs" "file1.fs"; +connectAttr "place2dTexture1.msg" ":defaultRenderUtilityList1.u" -na; +connectAttr "defaultRenderLayer.msg" ":defaultRenderingList1.r" -na; +connectAttr "aiSkyDomeLightShape1.ltd" ":lightList1.l" -na; +connectAttr "pointLightShape1.ltd" ":lightList1.l" -na; +connectAttr "file1.msg" ":defaultTextureList1.tx" -na; +connectAttr "pSphereShape1.iog" ":initialShadingGroup.dsm" -na; +connectAttr "aiSkyDomeLight1.iog" ":defaultLightSet.dsm" -na; +connectAttr "pointLight1.iog" ":defaultLightSet.dsm" -na; +// End of AllKindsOfLights.ma diff --git a/test/testSamples/testMayaLightingModes/UVChecker.png b/test/testSamples/testMayaLightingModes/UVChecker.png new file mode 100644 index 0000000000..e5db154641 Binary files /dev/null and b/test/testSamples/testMayaLightingModes/UVChecker.png differ