Integrating up through commit 90f050496

This commit is contained in:
alexpete
2021-04-07 14:03:29 -07:00
parent 8f2ed080a9
commit c2cbd430fe
2694 changed files with 285622 additions and 176874 deletions
@@ -27,8 +27,10 @@ namespace AtomToolsFramework
{
AzQtComponents::Text::addPrimaryStyle(this);
AzQtComponents::Text::addLabelStyle(this);
setStyleSheet("background-color: rgb(35, 35, 35)");
setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Maximum);
setStyleSheet("background-color: #333333; border-style: solid; border-color: #1B1B1B; border-width: 1px; border-left: none; border-right: none;");
setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed);
setFixedHeight(24);
setMargin(0);
}
void InspectorGroupHeaderWidget::SetExpanded(bool expanded)
@@ -36,8 +36,7 @@ namespace AtomToolsFramework
{
qDeleteAll(m_ui->m_propertyContent->children());
m_layout = new QVBoxLayout(m_ui->m_propertyContent);
// 5 pixels added on the right to fix occlusion by the scrollbar. Remove after switching to UI 2.0.
m_layout->setContentsMargins(0, 0, 5, 0);
m_layout->setContentsMargins(0, 0, 0, 0);
m_layout->setSpacing(0);
}
@@ -3,14 +3,13 @@
"Version": 1,
"ClassName": "AZ::Render::LightingPreset",
"ClassData": {
"autoSelect": false,
"displayName": "Daytime Hotel Interior",
"skyboxImageAsset": {
"iblDiffuseImageAsset": {
"assetId": {
"guid": "{720DF96E-6A6E-552F-AC82-835BB4888FE3}",
"subId": 1000
"subId": 3000
},
"assetHint": "materialeditor/lightingpresets/lythwood_room_4k_latlong_iblskyboxcm.exr.streamingimage"
"assetHint": "materialeditor/lightingpresets/lythwood_room_4k_latlong_iblskyboxcm_ibldiffuse.exr.streamingimage"
},
"iblSpecularImageAsset": {
"assetId": {
@@ -19,15 +18,21 @@
},
"assetHint": "materialeditor/lightingpresets/lythwood_room_4k_latlong_iblskyboxcm_iblspecular.exr.streamingimage"
},
"iblDiffuseImageAsset": {
"skyboxImageAsset": {
"assetId": {
"guid": "{720DF96E-6A6E-552F-AC82-835BB4888FE3}",
"subId": 1000
},
"assetHint": "materialeditor/lightingpresets/lythwood_room_4k_latlong_iblskyboxcm.exr.streamingimage"
},
"alternateSkyboxImageAsset": {
"assetId": {
"guid": "{720DF96E-6A6E-552F-AC82-835BB4888FE3}",
"subId": 3000
},
"assetHint": "materialeditor/lightingpresets/lythwood_room_4k_latlong_iblskyboxcm_ibldiffuse.exr.streamingimage"
},
"iblExposure": 0.0,
"skyboxExposure": 0.0,
"shadowCatcherOpacity": 0.30000001192092898,
"lights": [
{
"direction": [
@@ -35,20 +40,10 @@
1.0,
-0.25
],
"color": [
1.0,
1.0,
1.0,
1.0
],
"intensity": 1.0,
"shadowCascadeCount": 4,
"shadowRatioLogarithmUniform": 1.0,
"shadowFarClipDistance": 20.0,
"shadowmapSize": "Size2048",
"enableShadowDebugColoring": false
"shadowmapSize": "Size2048"
}
],
"shadowCatcherOpacity": 0.30000001192092898
]
}
}
@@ -1,54 +0,0 @@
{
"Type": "JsonSerialization",
"Version": 1,
"ClassName": "AZ::Render::LightingPreset",
"ClassData": {
"autoSelect": false,
"displayName": "Daytime Hotel Interior (Alt)",
"skyboxImageAsset": {
"assetId": {
"guid": "{720DF96E-6A6E-552F-AC82-835BB4888FE3}",
"subId": 3000
},
"assetHint": "materialeditor/lightingpresets/lythwood_room_4k_latlong_iblskyboxcm_ibldiffuse.exr.streamingimage"
},
"iblSpecularImageAsset": {
"assetId": {
"guid": "{720DF96E-6A6E-552F-AC82-835BB4888FE3}",
"subId": 2000
},
"assetHint": "materialeditor/lightingpresets/lythwood_room_4k_latlong_iblskyboxcm_iblspecular.exr.streamingimage"
},
"iblDiffuseImageAsset": {
"assetId": {
"guid": "{720DF96E-6A6E-552F-AC82-835BB4888FE3}",
"subId": 3000
},
"assetHint": "materialeditor/lightingpresets/lythwood_room_4k_latlong_iblskyboxcm_ibldiffuse.exr.streamingimage"
},
"iblExposure": 0.0,
"skyboxExposure": 0.0,
"lights": [
{
"direction": [
1.0,
1.0,
-0.25
],
"color": [
1.0,
1.0,
1.0,
1.0
],
"intensity": 1.0,
"shadowCascadeCount": 4,
"shadowRatioLogarithmUniform": 1.0,
"shadowFarClipDistance": 20.0,
"shadowmapSize": "Size2048",
"enableShadowDebugColoring": false
}
],
"shadowCatcherOpacity": 0.20000000298023225
}
}
@@ -5,12 +5,12 @@
"ClassData": {
"autoSelect": true,
"displayName": "Neutral Urban",
"skyboxImageAsset": {
"iblDiffuseImageAsset": {
"assetId": {
"guid": "{AA144B9D-68F6-5191-9DD1-211B8D72802C}",
"subId": 1000
"subId": 3000
},
"assetHint": "materialeditor/lightingpresets/konzerthaus_latlong_iblskyboxcm.exr.streamingimage"
"assetHint": "materialeditor/lightingpresets/konzerthaus_latlong_iblskyboxcm_ibldiffuse.exr.streamingimage"
},
"iblSpecularImageAsset": {
"assetId": {
@@ -19,15 +19,21 @@
},
"assetHint": "materialeditor/lightingpresets/konzerthaus_latlong_iblskyboxcm_iblspecular.exr.streamingimage"
},
"iblDiffuseImageAsset": {
"skyboxImageAsset": {
"assetId": {
"guid": "{AA144B9D-68F6-5191-9DD1-211B8D72802C}",
"subId": 1000
},
"assetHint": "materialeditor/lightingpresets/konzerthaus_latlong_iblskyboxcm.exr.streamingimage"
},
"alternateSkyboxImageAsset": {
"assetId": {
"guid": "{AA144B9D-68F6-5191-9DD1-211B8D72802C}",
"subId": 3000
},
"assetHint": "materialeditor/lightingpresets/konzerthaus_latlong_iblskyboxcm_ibldiffuse.exr.streamingimage"
},
"iblExposure": 0.0,
"skyboxExposure": 0.0,
"shadowCatcherOpacity": 0.25,
"lights": [
{
"direction": [
@@ -35,20 +41,10 @@
-0.15000000596046449,
-1.0
],
"color": [
1.0,
1.0,
1.0,
1.0
],
"intensity": 1.0,
"shadowCascadeCount": 4,
"shadowRatioLogarithmUniform": 1.0,
"shadowFarClipDistance": 20.0,
"shadowmapSize": "Size2048",
"enableShadowDebugColoring": false
"shadowmapSize": "Size2048"
}
],
"shadowCatcherOpacity": 0.25
]
}
}
@@ -1,54 +0,0 @@
{
"Type": "JsonSerialization",
"Version": 1,
"ClassName": "AZ::Render::LightingPreset",
"ClassData": {
"autoSelect": false,
"displayName": "Neutral Urban (Alt)",
"skyboxImageAsset": {
"assetId": {
"guid": "{AA144B9D-68F6-5191-9DD1-211B8D72802C}",
"subId": 3000
},
"assetHint": "materialeditor/lightingpresets/konzerthaus_latlong_iblskyboxcm_ibldiffuse.exr.streamingimage"
},
"iblSpecularImageAsset": {
"assetId": {
"guid": "{AA144B9D-68F6-5191-9DD1-211B8D72802C}",
"subId": 2000
},
"assetHint": "materialeditor/lightingpresets/konzerthaus_latlong_iblskyboxcm_iblspecular.exr.streamingimage"
},
"iblDiffuseImageAsset": {
"assetId": {
"guid": "{AA144B9D-68F6-5191-9DD1-211B8D72802C}",
"subId": 3000
},
"assetHint": "materialeditor/lightingpresets/konzerthaus_latlong_iblskyboxcm_ibldiffuse.exr.streamingimage"
},
"iblExposure": 0.0,
"skyboxExposure": 0.0,
"lights": [
{
"direction": [
0.15000000596046449,
-0.15000000596046449,
-1.0
],
"color": [
1.0,
1.0,
1.0,
1.0
],
"intensity": 1.0,
"shadowCascadeCount": 4,
"shadowRatioLogarithmUniform": 1.0,
"shadowFarClipDistance": 20.0,
"shadowmapSize": "Size2048",
"enableShadowDebugColoring": false
}
],
"shadowCatcherOpacity": 0.15000000596046449
}
}
@@ -0,0 +1,32 @@
{
"materialType": "Materials/Types/StandardPBR.materialtype",
"propertyLayoutVersion": 1,
"properties": {
"baseColor": {
"color": [ 0.18, 0.18, 0.18 ],
"factor": 1.0,
"useTexture": false,
"textureMap": ""
},
"metallic": {
"factor": 0.0,
"useTexture": false,
"textureMap": ""
},
"roughness": {
"factor": 1.0,
"useTexture": false,
"textureMap": ""
},
"specularF0": {
"factor": 0.5,
"useTexture": false,
"textureMap": ""
},
"normal": {
"factor": 1.0,
"useTexture": false,
"textureMap": ""
}
}
}
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c20311f6c144df79bf50ec34d1e2549d4777db55f7d260a614fa4cdefb0febc8
size 232768
oid sha256:620be514958df58a8fba11b286f1c5b3bc814333d60a2a7d446df7a60a7f373a
size 232704
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bbd129c71039a5f534308209177e29c14c4eb987e5e0ba5a355807a9b84dffea
size 42992
oid sha256:665dbc9994637538257d9db7fd7b0428d49d51a58ef8e7789c2faa3767e6fa26
size 42864
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:678f981fa53257a6929d9922a06e0f96cbff0752f26011f3c5d7ed128d2ba724
size 166528
oid sha256:ae659b468dec57978fb70be5b1e541cb09c8c42b81a04cb0db2fc51f54fddcdd
size 166352
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2de37b2334f21784cc399bf0378ddada4bc727061177c726a9d1d69bbda94433
size 412464
oid sha256:33daa7008f4942fbd9cf7c3552adce29e4993ef31b15de965ed54bb30e372386
size 414848
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d361d14ec7a9797907a1eb3a1714dcbe578cbe12c48a8847587820f185b32042
size 173168
oid sha256:36a483660a00fb104e3c7550703de1206ec0c7f7080387765e75837311a48c2f
size 173056
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a768115119a897dd42eb0c4428e7ef06213f94f739fc98e8786fea5a0cdea7ed
size 30784
oid sha256:9c9e212ad50c78cd759156f4f47bf5c9fe61149472648dfd467341895f6ed914
size 30656
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:91d85001a7d12da1fcfe4e32703cc6694ef0e8328936e836ceb333791968eaa9
size 104240
oid sha256:d5bfec31ebd8274809e071e2cedf63a4933563ecf51b7b4cc03e9eda5ce6c848
size 104160
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:47256719050c06a0f74e3f5dbdf252fe30a8a990a1536120c137805f0e45a599
size 29953424
oid sha256:ec4187f51a4b598fc075f48dd7edb7728b14b285a95530228428a8c3f43c25fc
size 10931856
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:dbfb8fe6bf9c43643cac7fb20443e5c8e9c19d6506e37f18dc16cf8ca77272a5
size 33536
oid sha256:703969f5dabf3a6ad5bcf26eca132558ba1e4eef7d0531b1108bce4bb3a9ad8f
size 33408
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a53841ca60ad8ed16e485c026592ea7ea46e4f4ea9edce34356b39afb8d95882
size 55312
oid sha256:28605d80c87a76a07cd40a052330f86aff31576450131f080ae28b63d3cd117d
size 54912
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cc1e4a4a55e3f621d056a70f967604c939f2ada53f6e0f9dfe646198932a8461
size 83808
oid sha256:91e64822552c58775c3e051cd11b11ae5ac35471614dfcdc51612fb65877d56c
size 83680
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:eeb9923c34d0cb1bc27bb1a2fb5ea3dd7d9e098163ffced166b4ffffc2a680a1
size 103600
oid sha256:838830c99f344f5b68e5e85c9bc52751350caf48e662c9c2b767ab77039bbd8f
size 103472
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2fc450c62b2ac29e6389e1ed0a6a2d0f73012523df7c85c93a9b7a7a618c891d
size 97776
oid sha256:963b315ba0d4e5024f177db17207a83a9b638200b43b5093f2512490131d6e8e
size 97632
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e3b8ecab6f2456b69079263b15b34985526427c7837c449cd658a2ff49f57a09
size 2479024
oid sha256:6e63a55a35c749a16a03e10a1f53a48bd426c61db80151de080235b14cf6b70d
size 2479344
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0357e7669e8a58ebbaf399c37d8618f17b720a3084d4c3d794b89d99e3c20e8b
size 461376
oid sha256:87b6f04d0a04499dd2c15885eac0cb5b741995c754fbf4e6b4339676ef69001a
size 461232
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:559d77b38701879963e43f8279c1d8c3202e19de038337de9a6183c16e829ca6
size 5661241
oid sha256:5e7af3745483bd3e7f79a41420dbaa7545965594e838a7e1c3c10e3285a7d63b
size 7643121
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:41523a807e5fab31061fb4229c859fad2c125f9726803972524a3f2245b520bd
size 11398023
oid sha256:997e84d92af486acb0e960ddd65ea95e8f088b15b8affcd5dce16257ddb1159c
size 11397337
@@ -0,0 +1,88 @@
//Maya 2020 Project Definition
workspace -fr "fluidCache" "";
workspace -fr "JT_ATF" "";
workspace -fr "images" "Assets/Textures";
workspace -fr "offlineEdit" ".maya_data/scenes/edits";
workspace -fr "STEP_ATF Export" "";
workspace -fr "furShadowMap" "";
workspace -fr "SVG" "";
workspace -fr "scripts" "Maya/Scripts";
workspace -fr "DAE_FBX" "";
workspace -fr "shaders" "Maya/Shaders";
workspace -fr "NX_ATF" "";
workspace -fr "CATIAV5_ATF Export" "";
workspace -fr "furFiles" "";
workspace -fr "OBJ" ".maya_data/obj";
workspace -fr "PARASOLID_ATF Export" "";
workspace -fr "FBX export" "Assets/Objects";
workspace -fr "furEqualMap" "";
workspace -fr "textures" "Assets/textures";
workspace -fr "BIF" "";
workspace -fr "lights" ".maya_data/renderData/shaders";
workspace -fr "DAE_FBX export" "";
workspace -fr "aliasWire" ".maya_data/data";
workspace -fr "CATIAV5_ATF" "";
workspace -fr "SAT_ATF Export" "";
workspace -fr "movie" ".maya_data/movies";
workspace -fr "ASS Export" "";
workspace -fr "mayaAscii" "";
workspace -fr "move" ".maya_data";
workspace -fr "autoSave" ".maya_data/autoSave";
workspace -fr "NX_ATF Export" "";
workspace -fr "sound" ".maya_data/sound";
workspace -fr "mayaBinary" "";
workspace -fr "timeEditor" "";
workspace -fr "RIBexport" ".maya_data/data";
workspace -fr "DWG_ATF" "";
workspace -fr "mentalray" ".maya_data/renderData/mentalray";
workspace -fr "JT_ATF Export" "";
workspace -fr "iprImages" ".maya_data/renderData/iprImages";
workspace -fr "FBX" "Assets/Objects";
workspace -fr "renderData" ".maya_data/renderData";
workspace -fr "CATIAV4_ATF" "";
workspace -fr "fileCache" "";
workspace -fr "Fbx" "Objects";
workspace -fr "eps" "";
workspace -fr "IGESexport" ".maya_data/data";
workspace -fr "3dPaintTextures" ".maya_data/3dPaintTextures";
workspace -fr "DXF_ATF Export" "";
workspace -fr "mel" ".maya_data/mel";
workspace -fr "translatorData" "";
workspace -fr "IGES" ".maya_data/data";
workspace -fr "particles" ".maya_data/particles";
workspace -fr "DXFexport" ".maya_data/data";
workspace -fr "DXF_ATF" "";
workspace -fr "scene" "Assets/Objects";
workspace -fr "renderScenes" ".maya_data/renderScenes";
workspace -fr "SAT_ATF" "";
workspace -fr "PROE_ATF" "";
workspace -fr "WIRE_ATF Export" "";
workspace -fr "sourceImages" "ArtSource/Images";
workspace -fr "RIB" ".maya_data/data";
workspace -fr "furImages" "";
workspace -fr "clips" ".maya_data/clips";
workspace -fr "Adobe(R) Illustrator(R)" ".maya_data/data";
workspace -fr "animExport" ".maya_data/data";
workspace -fr "mentalRay" ".maya_data/mentalRay";
workspace -fr "STEP_ATF" "";
workspace -fr "DWG_ATF Export" "";
workspace -fr "depth" ".maya_data/renderData/depth";
workspace -fr "sceneAssembly" "";
workspace -fr "IGES_ATF Export" "";
workspace -fr "teClipExports" "";
workspace -fr "IGES_ATF" "";
workspace -fr "PARASOLID_ATF" "";
workspace -fr "ASS" "";
workspace -fr "Substance" ".maya_data/data";
workspace -fr "audio" ".maya_data/sound";
workspace -fr "EPS" ".maya_data/data";
workspace -fr "Alembic" "Assets/Objects";
workspace -fr "diskCache" ".maya_data/cache";
workspace -fr "illustrator" "";
workspace -fr "WIRE_ATF" "";
workspace -fr "templates" "ArtSource/SceneTemplates";
workspace -fr "animImport" ".maya_data/data";
workspace -fr "OBJexport" "Assets/Objects";
workspace -fr "furAttrMap" "";
workspace -fr "DXF" ".maya_data/data";
@@ -102,14 +102,15 @@ namespace ShaderManagementConsole
bool result = false;
AZ::Data::AssetInfo sourceAssetInfo;
AZStd::string watchFolder;
AzToolsFramework::AssetSystemRequestBus::BroadcastResult(result, &AzToolsFramework::AssetSystem::AssetSystemRequest::GetSourceInfoBySourcePath,
m_absolutePath.c_str(), sourceAssetInfo, watchFolder);
AzToolsFramework::AssetSystemRequestBus::BroadcastResult(
result, &AzToolsFramework::AssetSystem::AssetSystemRequest::GetSourceInfoBySourcePath, m_absolutePath.c_str(), sourceAssetInfo,
watchFolder);
if (!result)
{
return AZ::Failure(AZStd::string::format("Could not find source data: '%s'.", m_absolutePath.c_str()));
}
m_relativePath = sourceAssetInfo.m_relativePath;
m_relativePath = m_shaderVariantListSourceData.m_shaderFilePath;
if (!AzFramework::StringFunc::Path::Normalize(m_relativePath))
{
return AZ::Failure(AZStd::string::format("Shader path could not be normalized: '%s'.", m_relativePath.c_str()));
@@ -117,7 +118,6 @@ namespace ShaderManagementConsole
AZStd::string shaderPath = m_relativePath;
AzFramework::StringFunc::Path::ReplaceExtension(shaderPath, AZ::RPI::ShaderAsset::Extension);
m_shaderAsset = AZ::RPI::AssetUtils::LoadAssetByProductPath<AZ::RPI::ShaderAsset>(shaderPath.c_str());
if (!m_shaderAsset)
@@ -20,6 +20,23 @@ import azlmbr.paths
import azlmbr.shadermanagementconsole
import azlmbr.shader
import collections
from PySide2 import QtWidgets
PROJECT_SHADER_VARIANTS_FOLDER = "ShaderVariants"
def prompt_message_box(text, informativeText = None, qButtons = QtWidgets.QMessageBox.Yes|QtWidgets.QMessageBox.No|QtWidgets.QMessageBox.Cancel):
msgBox = QtWidgets.QMessageBox()
msgBox.setText(text)
if informativeText:
msgBox.setInformativeText(informativeText)
msgBox.setStandardButtons(qButtons)
return msgBox.exec()
def clean_existing_shadervariantlist_files(filePaths):
for file in filePaths:
if os.path.exists(file):
os.remove(file)
def main():
print("==== Begin shader variant script ==========================================================")
@@ -49,7 +66,16 @@ def main():
shaderAssetInfo.relativePath
)
# TODO: [ATOM-14868] Add UI prompts in shader management console script once PySide2 is available
response = prompt_message_box(
"Generating .shadervariantlist File",
"This process may take a while. Would you like to save the generated .shadervariantlist file in the project folder? " \
"Otherwise, it will be saved in the same location as the .shader file."
)
is_save_in_project_folder = False
if response == QtWidgets.QMessageBox.Yes:
is_save_in_project_folder = True
elif response == QtWidgets.QMessageBox.Cancel:
return
# This loop collects all uniquely-identified shader items used by the materials based on its shader variant id.
shaderVariantIds = []
@@ -76,10 +102,9 @@ def main():
shaderVariantIds.append(shaderVariantId)
shaderVariantListShaderOptionGroups.append(shaderItem.GetShaderOptionGroup())
# Generate the shader variant list data by collecting shader option name-value pairs.
_, shaderFileName = os.path.split(filename)
# Generate the shader variant list data by collecting shader option name-value pairs.s
shaderVariantList = azlmbr.shader.ShaderVariantListSourceData ()
shaderVariantList.shaderFilePath = shaderFileName
shaderVariantList.shaderFilePath = shaderAssetInfo.relativePath
shaderVariants = []
stableId = 1
for shaderOptionGroup in shaderVariantListShaderOptionGroups:
@@ -104,9 +129,23 @@ def main():
shaderVariantList.shaderVariants = shaderVariants
# Save the shader variant list file
# clean previously generated shader variant list file so they don't clash.
pre, ext = os.path.splitext(shaderAssetInfo.relativePath)
projectShaderVariantListFilePath = os.path.join(azlmbr.paths.devassets, PROJECT_SHADER_VARIANTS_FOLDER, f'{pre}.shadervariantlist')
pre, ext = os.path.splitext(filename)
shaderVariantListFilePath = f'{pre}.shadervariantlist'
defaultShaderVariantListFilePath = f'{pre}.shadervariantlist'
clean_existing_shadervariantlist_files([
projectShaderVariantListFilePath
])
# Save the shader variant list file
if is_save_in_project_folder:
shaderVariantListFilePath = projectShaderVariantListFilePath
else:
shaderVariantListFilePath = defaultShaderVariantListFilePath
print(f"Saving .shadervariantlist file into: {shaderVariantListFilePath}")
azlmbr.shader.SaveShaderVariantListSourceData(shaderVariantListFilePath, shaderVariantList)
# Open the document in shader management console