From 590494d75edfa874f84f1851cab8a47ff33fc7c6 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Tue, 5 Feb 2019 23:00:21 +0100 Subject: [PATCH 01/98] make normal not inspactable on bump and lambert shaders --- shaders/metadata/arnold_shaders.mtd | 3 +++ 1 file changed, 3 insertions(+) diff --git a/shaders/metadata/arnold_shaders.mtd b/shaders/metadata/arnold_shaders.mtd index 8f256b9..09c3076 100644 --- a/shaders/metadata/arnold_shaders.mtd +++ b/shaders/metadata/arnold_shaders.mtd @@ -216,6 +216,7 @@ softmax FLOAT 1 [attr normal] desc STRING "The shader to be evaluated after the normal perturbation has been completed. Then, the perturbed normals are restored.\nIf this method is used the bump2d node should be connected to the surface parameter of the output node and not bump." +soft.inspectable BOOL false ############################################################################## [node bump3d] @@ -239,6 +240,7 @@ softmax FLOAT 1 [attr normal] desc STRING "The shader to be evaluated after the normal perturbation has been done is specified here. Optionally, a shader to specify the color and/or reflectance can be specified here, allowing the node to be connected to the Surface slot of the material (rather than connecting bump3d to the Bump Map slot and the other shader to the Surface slot separately). This may be useful in some situations." +soft.inspectable BOOL false ############################################################################## [node cache] @@ -1383,6 +1385,7 @@ desc STRING "Controls how opaque the shader is." [attr normal] desc STRING "If linked, the normal to use." +soft.inspectable BOOL false ############################################################################## [node layer_float] From 67e6d1d46445f5ed1517b97852ee3931d267b49b Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Tue, 5 Feb 2019 23:03:35 +0100 Subject: [PATCH 02/98] sitoa fix version bump --- plugins/sitoa/version.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/sitoa/version.cpp b/plugins/sitoa/version.cpp index 0fe7575..3b2050a 100644 --- a/plugins/sitoa/version.cpp +++ b/plugins/sitoa/version.cpp @@ -15,7 +15,7 @@ See the License for the specific language governing permissions and limitations #define SITOA_MAJOR_VERSION_NUM 5 #define SITOA_MINOR_VERSION_NUM 2 -#define SITOA_FIX_VERSION L"0" +#define SITOA_FIX_VERSION L"1" CString GetSItoAVersion(bool in_addPlatform) From a66ca22ddc68bc257c290c96ecd02471636ffecf Mon Sep 17 00:00:00 2001 From: Steven Caron Date: Fri, 15 Feb 2019 22:01:27 -0800 Subject: [PATCH 03/98] operator nodes are working with shader auto-generation now --- plugins/helpers/ArnoldShaderDef.js | 25 ++++++++- plugins/sitoa/common/Tools.h | 5 +- plugins/sitoa/loader/Loader.cpp | 14 +++++ plugins/sitoa/loader/Operators.cpp | 37 +++++++++++++ plugins/sitoa/loader/Operators.h | 19 +++++++ plugins/sitoa/loader/ShaderDef.cpp | 17 ++++-- plugins/sitoa/loader/ShaderDef.h | 2 + plugins/sitoa/renderer/Renderer.cpp | 28 ++++++++++ shaders/metadata/arnold_shaders.mtd | 81 +++++++++++++++++++++++++++++ 9 files changed, 222 insertions(+), 6 deletions(-) create mode 100644 plugins/sitoa/loader/Operators.cpp create mode 100644 plugins/sitoa/loader/Operators.h diff --git a/plugins/helpers/ArnoldShaderDef.js b/plugins/helpers/ArnoldShaderDef.js index 5ee9f3c..389e841 100644 --- a/plugins/helpers/ArnoldShaderDef.js +++ b/plugins/helpers/ArnoldShaderDef.js @@ -137,6 +137,14 @@ function XSILoadPlugin( in_reg ) in_reg.RegisterShader("volume_sample_float", 1, 0); in_reg.RegisterShader("volume_sample_rgb", 1, 0); in_reg.RegisterShader("wireframe", 1, 0); + // operators + in_reg.RegisterShader("materialx", 1, 0); + in_reg.RegisterShader("merge", 1, 0); + in_reg.RegisterShader("set_parameter", 1, 0); + in_reg.RegisterShader("disable", 1, 0); + in_reg.RegisterShader("switch_operator", 1, 0); + in_reg.RegisterShader("set_transform", 1, 0); + in_reg.RegisterShader("collection", 1, 0); // in_reg.Help = "https://support.solidangle.com/display/A5SItoAUG/Shaders"; @@ -377,7 +385,22 @@ function Arnold_volume_sample_rgb_1_0_DefineInfo(in_ctxt) { return true; } function Arnold_volume_sample_rgb_1_0_Define(in_ctxt) { return true; } function Arnold_wireframe_1_0_DefineInfo(in_ctxt) { return true; } function Arnold_wireframe_1_0_Define(in_ctxt) { return true; } - +// operators +function Arnold_materialx_1_0_DefineInfo(in_ctxt) { return true; } +function Arnold_materialx_1_0_Define(in_ctxt) { return true; } +function Arnold_merge_1_0_DefineInfo(in_ctxt) { return true; } +function Arnold_merge_1_0_Define(in_ctxt) { return true; } +function Arnold_set_parameter_1_0_DefineInfo(in_ctxt) { return true; } +function Arnold_set_parameter_1_0_Define(in_ctxt) { return true; } +function Arnold_disable_1_0_DefineInfo(in_ctxt) { return true; } +function Arnold_disable_1_0_Define(in_ctxt) { return true; } +function Arnold_switch_operator_1_0_DefineInfo(in_ctxt) { return true; } +function Arnold_switch_operator_1_0_Define(in_ctxt) { return true; } +function Arnold_set_transform_1_0_DefineInfo(in_ctxt) { return true; } +function Arnold_set_transform_1_0_Define(in_ctxt) { return true; } +function Arnold_collection_1_0_DefineInfo(in_ctxt) { return true; } +function Arnold_collection_1_0_Define(in_ctxt) { return true; } + /////////////////////////////////////////////////// /////////////// shaders that require a dedicated UI /////////////////////////////////////////////////// diff --git a/plugins/sitoa/common/Tools.h b/plugins/sitoa/common/Tools.h index b1070b9..4bd9c47 100644 --- a/plugins/sitoa/common/Tools.h +++ b/plugins/sitoa/common/Tools.h @@ -89,7 +89,7 @@ namespace ATSTRING const AtString softmax("softmax"); const AtString linkable("linkable"); const AtString deprecated("deprecated"); - // sitos-specific metadata + // sitoa-specific metadata const AtString soft_category("soft.category"); const AtString soft_order("soft.order"); const AtString soft_label("soft.label"); @@ -97,8 +97,9 @@ namespace ATSTRING const AtString soft_inspectable("soft.inspectable"); const AtString soft_viewport_guid("soft.viewport_guid"); const AtString soft_node_type("soft.node_type"); - // + // sitoa custom ports/types const AtString closure("closure"); + const AtString operator_node("operator"); }; namespace VERBOSITY diff --git a/plugins/sitoa/loader/Loader.cpp b/plugins/sitoa/loader/Loader.cpp index d5b6b87..7dedf25 100644 --- a/plugins/sitoa/loader/Loader.cpp +++ b/plugins/sitoa/loader/Loader.cpp @@ -18,6 +18,7 @@ See the License for the specific language governing permissions and limitations #include "loader/Polymeshes.h" #include "loader/Shaders.h" #include "loader/Procedurals.h" +#include "loader/Operators.h" #include "renderer/RenderMessages.h" #include "renderer/Renderer.h" @@ -258,6 +259,19 @@ CStatus LoadScene(const Property &in_arnoldOptions, const CString& in_renderType } } + //////////// Operators //////////// + if (!in_createStandIn) + { + AiMsgDebug("[sitoa] Loading Operators"); + status = LoadOperators(); + + if (progressBar.IsCancelPressed() || status == CStatus::Abort) + { + AbortFrameLoadScene(); + break; + } + } + //////////// Cameras //////////// if (!in_createStandIn && output_cameras == AI_NODE_CAMERA) { diff --git a/plugins/sitoa/loader/Operators.cpp b/plugins/sitoa/loader/Operators.cpp new file mode 100644 index 0000000..8af40be --- /dev/null +++ b/plugins/sitoa/loader/Operators.cpp @@ -0,0 +1,37 @@ +/************************************************************************************************************************************ +Copyright 2017 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. +************************************************************************************************************************************/ + +#include +#include +#include +#include + +#include "renderer/Renderer.h" + +// Load all operators into Arnold +// +// @return CStatus::OK if all went well, else the error code +// +CStatus LoadOperators() +{ + CStatus status(CStatus::OK); + + GetMessageQueue()->LogMsg(L"[sitoa] loading some operators..."); + + Pass pass(Application().GetActiveProject().GetActiveScene().GetActivePass()); + + CRef operatorRef; + operatorRef.Set(pass.GetFullName() + L".operator"); + CString idName = operatorRef.GetClassIDName(); + GetMessageQueue()->LogMsg(L"[sitoa] " + idName); + + return status; +} \ No newline at end of file diff --git a/plugins/sitoa/loader/Operators.h b/plugins/sitoa/loader/Operators.h new file mode 100644 index 0000000..875791e --- /dev/null +++ b/plugins/sitoa/loader/Operators.h @@ -0,0 +1,19 @@ +/************************************************************************************************************************************ +Copyright 2017 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. +************************************************************************************************************************************/ + +#pragma once + +#include + +using namespace XSI; + +// Load all hair primitives into Arnold +CStatus LoadOperators(); diff --git a/plugins/sitoa/loader/ShaderDef.cpp b/plugins/sitoa/loader/ShaderDef.cpp index 0100b13..8b60c8b 100644 --- a/plugins/sitoa/loader/ShaderDef.cpp +++ b/plugins/sitoa/loader/ShaderDef.cpp @@ -443,7 +443,9 @@ CShaderDefShader::CShaderDefShader(AtNodeEntry* in_node_entry, const bool in_clo else // since we're storing the names by so/dll + " " + name, we can't let this void m_so_name = L"core"; - m_is_camera_node = AiNodeEntryGetType(m_node_entry) == AI_NODE_CAMERA; + int entry_type = AiNodeEntryGetType(m_node_entry); + m_is_camera_node = entry_type == AI_NODE_CAMERA; + m_is_operator_node = entry_type == AI_NODE_OPERATOR; if (in_clone_vector_map) m_type = AI_TYPE_FLOAT; @@ -512,7 +514,7 @@ CString CShaderDefShader::Define(const bool in_clone_vector_map) CString shader_prog_id = L"Arnold." + m_name; shader_prog_id+= L".1.0"; - + m_sd = Application().GetShaderDef(shader_prog_id); m_sd_created = !m_sd.IsValid(); @@ -544,6 +546,13 @@ CString CShaderDefShader::Define(const bool in_clone_vector_map) category = category + L"/" + m_category; } + if (m_is_operator_node) + { + category = L"Arnold/Operators"; + if (m_has_category) + category = category + L"/" + m_category; + } + m_sd.PutCategory(category); if (m_has_deprecated && m_deprecated) @@ -566,6 +575,8 @@ CString CShaderDefShader::Define(const bool in_clone_vector_map) if (m_is_passthrough_closure) // hack the closure output for the closure connector to color outParamDef.AddParamDef("out", siShaderDataTypeColor4, outOpts); + else if (m_is_operator_node) + outParamDef.AddParamDef("out", L"operator", outOpts); else { if (m_type == AI_TYPE_CLOSURE) @@ -778,7 +789,7 @@ void CShaderDefSet::Load(const CString &in_plugin_origin_path) GetMessageQueue()->LogMsg(L"[sitoa] Missing shader metadata file " + metadata_path, siWarningMsg); // iterate the nodes - AtNodeEntryIterator* node_entry_it = AiUniverseGetNodeEntryIterator(AI_NODE_SHADER | AI_NODE_CAMERA); + AtNodeEntryIterator* node_entry_it = AiUniverseGetNodeEntryIterator(AI_NODE_SHADER | AI_NODE_CAMERA | AI_NODE_OPERATOR); while (!AiNodeEntryIteratorFinished(node_entry_it)) { AtNodeEntry* node_entry = AiNodeEntryIteratorGetNext(node_entry_it); diff --git a/plugins/sitoa/loader/ShaderDef.h b/plugins/sitoa/loader/ShaderDef.h index 72c53df..bcf14ba 100644 --- a/plugins/sitoa/loader/ShaderDef.h +++ b/plugins/sitoa/loader/ShaderDef.h @@ -120,6 +120,7 @@ class CShaderDefShader CString m_so_name; // the so/dll file name bool m_is_camera_node; // is this a custom camera node? bool m_is_passthrough_closure; // is this the SItoA shader called "closure" ? + bool m_is_operator_node; // is this an operator node? bool m_has_skip; bool m_skip; @@ -144,6 +145,7 @@ class CShaderDefShader m_so_name(in_arg.m_so_name), m_is_camera_node(in_arg.m_is_camera_node), m_is_passthrough_closure(in_arg.m_is_passthrough_closure), + m_is_operator_node(in_arg.m_is_operator_node), m_has_skip(in_arg.m_has_skip), m_skip(in_arg.m_skip) { } diff --git a/plugins/sitoa/renderer/Renderer.cpp b/plugins/sitoa/renderer/Renderer.cpp index ea628ee..801dac1 100644 --- a/plugins/sitoa/renderer/Renderer.cpp +++ b/plugins/sitoa/renderer/Renderer.cpp @@ -211,7 +211,35 @@ SITOA_CALLBACK ArnoldRender_Query(CRef &in_ctxt) return CStatus::OK; } +// github issue #19 +// support for operators +SITOA_CALLBACK ArnoldRender_Define(CRef &in_ctxt) +{ + + // github issue #19 + // register a new "operator" parameter type + CStringArray op_type_filter, family_filter; + op_type_filter.Add("operator"); + Application().RegisterShaderCustomParameterType(L"operator", L"operator", L"operator", 0, 5, 255, op_type_filter, family_filter); + + Context ctxt(in_ctxt); + + ShaderDef shaderDef(ctxt.GetAttribute(L"Definition")); + ShaderParamDefContainer inputDefs = shaderDef.GetInputParamDefs(); + + ShaderParamDef renderPassDef = inputDefs.GetParamDefByName("pass"); + Factory factory = Application().GetFactory(); + ShaderParamDefOptions paramOptions = ShaderParamDefOptions(factory.CreateShaderParamDefOptions()); + paramOptions.SetTexturable(true); + + ShaderStructParamDef structParam(renderPassDef); + ShaderParamDefContainer container = structParam.GetSubParamDefs(); + + container.AddParamDef(L"operator", L"operator", paramOptions); + + return CStatus::OK; +} LockSceneData::LockSceneData() : m_renderer((Renderer) GetRenderInstance()->GetRendererRef()) diff --git a/shaders/metadata/arnold_shaders.mtd b/shaders/metadata/arnold_shaders.mtd index 8f256b9..15f5892 100644 --- a/shaders/metadata/arnold_shaders.mtd +++ b/shaders/metadata/arnold_shaders.mtd @@ -4312,3 +4312,84 @@ desc STRING "The color used to represent the edges." [attr raster_space] desc STRING "By enabling Raster Space, the shader will interpret the Line Width parameter as a number of pixels, otherwise Line Width is measured in world space." + +########################################################################### +[node collection] + +[attr enable] +linkable BOOL false + +########################################################################### +[node disable] + +[attr enable] +linkable BOOL false + +[attr mode] +linkable BOOL false + +[attr shapes] +linkable BOOL false + +[attr lights] +linkable BOOL false + +[attr shaders] +linkable BOOL false + +[attr operators] +linkable BOOL false + +########################################################################### +[node materialx] + +[attr enable] +linkable BOOL false + +[attr assign_materials] +linkable BOOL false + +[attr assign_properties] +linkable BOOL false + +[attr assign_visibilities] +linkable BOOL false + +########################################################################### +[node merge] + +[attr enable] +linkable BOOL false + +########################################################################### +[node set_parameter] + +[attr enable] +linkable BOOL false + +[attr assignment] +linkable BOOL false + +########################################################################### +[node set_transform] + +[attr enable] +linkable BOOL false + +[attr translate] +linkable BOOL false + +[attr rotate] +linkable BOOL false + +[attr scale] +linkable BOOL false + +########################################################################### +[node switch_operator] + +[attr enable] +linkable BOOL false + +[attr index] +linkable BOOL false From e9282b25198cb11002c8de7b2d25ee617343eb74 Mon Sep 17 00:00:00 2001 From: Steven Caron Date: Mon, 18 Feb 2019 12:43:25 -0800 Subject: [PATCH 04/98] fixes from code review --- plugins/sitoa/loader/Loader.cpp | 2 +- plugins/sitoa/loader/Operators.cpp | 4 ++-- plugins/sitoa/loader/Operators.h | 4 ++-- plugins/sitoa/loader/ShaderDef.cpp | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/plugins/sitoa/loader/Loader.cpp b/plugins/sitoa/loader/Loader.cpp index 7dedf25..e86bf9a 100644 --- a/plugins/sitoa/loader/Loader.cpp +++ b/plugins/sitoa/loader/Loader.cpp @@ -263,7 +263,7 @@ CStatus LoadScene(const Property &in_arnoldOptions, const CString& in_renderType if (!in_createStandIn) { AiMsgDebug("[sitoa] Loading Operators"); - status = LoadOperators(); + status = LoadPassOperator(); if (progressBar.IsCancelPressed() || status == CStatus::Abort) { diff --git a/plugins/sitoa/loader/Operators.cpp b/plugins/sitoa/loader/Operators.cpp index 8af40be..e977dab 100644 --- a/plugins/sitoa/loader/Operators.cpp +++ b/plugins/sitoa/loader/Operators.cpp @@ -16,11 +16,11 @@ See the License for the specific language governing permissions and limitations #include "renderer/Renderer.h" -// Load all operators into Arnold +// Load the operators connected to a RenderPass into Arnold // // @return CStatus::OK if all went well, else the error code // -CStatus LoadOperators() +CStatus LoadPassOperator() { CStatus status(CStatus::OK); diff --git a/plugins/sitoa/loader/Operators.h b/plugins/sitoa/loader/Operators.h index 875791e..e51928f 100644 --- a/plugins/sitoa/loader/Operators.h +++ b/plugins/sitoa/loader/Operators.h @@ -15,5 +15,5 @@ See the License for the specific language governing permissions and limitations using namespace XSI; -// Load all hair primitives into Arnold -CStatus LoadOperators(); +// Load operators into Arnold +CStatus LoadPassOperator(); diff --git a/plugins/sitoa/loader/ShaderDef.cpp b/plugins/sitoa/loader/ShaderDef.cpp index 8b60c8b..e2cb55d 100644 --- a/plugins/sitoa/loader/ShaderDef.cpp +++ b/plugins/sitoa/loader/ShaderDef.cpp @@ -514,7 +514,7 @@ CString CShaderDefShader::Define(const bool in_clone_vector_map) CString shader_prog_id = L"Arnold." + m_name; shader_prog_id+= L".1.0"; - + m_sd = Application().GetShaderDef(shader_prog_id); m_sd_created = !m_sd.IsValid(); From 71c290dbb7b00a086007e5bc07b6caf531dd9543 Mon Sep 17 00:00:00 2001 From: Steven Caron Date: Mon, 18 Feb 2019 13:02:48 -0800 Subject: [PATCH 05/98] move operator metadata into its own file --- SConstruct | 2 + plugins/metadata/arnold_operators.mtd | 112 ++++++++++++++++++++++++++ plugins/sitoa/loader/ShaderDef.cpp | 7 +- shaders/metadata/arnold_shaders.mtd | 81 ------------------- 4 files changed, 120 insertions(+), 82 deletions(-) create mode 100644 plugins/metadata/arnold_operators.mtd diff --git a/SConstruct b/SConstruct index 5297b98..a1a0ce3 100644 --- a/SConstruct +++ b/SConstruct @@ -403,6 +403,7 @@ PACKAGE_FILES = [ [os.path.join('plugins', 'helpers', '*.py'), os.path.join(addon_path, plugins_path)], [os.path.join('plugins', 'helpers', 'Pictures', '*.bmp'), os.path.join(addon_path, pictures_path)], [os.path.join('shaders', 'metadata', '*.mtd'), os.path.join(addon_path, bin_path)], +[os.path.join('plugins', 'metadata', '*.mtd'), os.path.join(addon_path, bin_path)], [os.path.join(ARNOLD_HOME, 'license', 'lmuti*'), os.path.join(addon_path, license_path)], [os.path.join(ARNOLD_HOME, 'license', 'rl*'), os.path.join(addon_path, license_path)], [os.path.join(ARNOLD_HOME, 'license', 'solidangle.*'), os.path.join(addon_path, license_path)], @@ -475,6 +476,7 @@ env.Install(os.path.join(env['TARGET_WORKGROUP_PATH'], pictures_path), [glob.glo env.Install(os.path.join(env['TARGET_WORKGROUP_PATH'], license_path), [glob.glob(os.path.join(ARNOLD_HOME, 'license', '*'))]) env.Install(os.path.join(env['TARGET_WORKGROUP_PATH'], pit_path), [glob.glob(os.path.join(ARNOLD_HOME, 'license', 'pit', '*'))]) env.Install(os.path.join(env['TARGET_WORKGROUP_PATH'], bin_path), [glob.glob(os.path.join('shaders', 'metadata', '*.mtd'))]) +env.Install(os.path.join(env['TARGET_WORKGROUP_PATH'], bin_path), [glob.glob(os.path.join('plugins', 'metadata', '*.mtd'))]) ################################ ## TARGETS ALIASES AND DEPENDENCIES diff --git a/plugins/metadata/arnold_operators.mtd b/plugins/metadata/arnold_operators.mtd new file mode 100644 index 0000000..63bf5c5 --- /dev/null +++ b/plugins/metadata/arnold_operators.mtd @@ -0,0 +1,112 @@ +##################################################################################################################################### +# Copyright 2017 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. +##################################################################################################################################### + +########################################################################### +[node collection] + +[attr enable] +linkable BOOL false + +[attr inputs] +soft.node_type STRING "shader array" + +########################################################################### +[node disable] + +[attr enable] +linkable BOOL false + +[attr inputs] +soft.node_type STRING "shader array" + +[attr mode] +linkable BOOL false + +[attr shapes] +linkable BOOL false + +[attr lights] +linkable BOOL false + +[attr shaders] +linkable BOOL false + +[attr operators] +linkable BOOL false + +########################################################################### +[node materialx] + +[attr enable] +linkable BOOL false + +[attr inputs] +soft.node_type STRING "shader array" + +[attr assign_materials] +linkable BOOL false + +[attr assign_properties] +linkable BOOL false + +[attr assign_visibilities] +linkable BOOL false + +########################################################################### +[node merge] + +[attr enable] +linkable BOOL false + +[attr inputs] +soft.node_type STRING "shader array" + +########################################################################### +[node set_parameter] + +[attr enable] +linkable BOOL false + +[attr inputs] +soft.node_type STRING "shader array" + +[attr assignment] +linkable BOOL false + +########################################################################### +[node set_transform] + +[attr enable] +linkable BOOL false + +[attr inputs] +soft.node_type STRING "shader array" + +[attr translate] +linkable BOOL false + +[attr rotate] +linkable BOOL false + +[attr scale] +linkable BOOL false + +########################################################################### +[node switch_operator] + +[attr enable] +linkable BOOL false + +[attr inputs] +soft.node_type STRING "shader array" + +[attr index] +linkable BOOL false diff --git a/plugins/sitoa/loader/ShaderDef.cpp b/plugins/sitoa/loader/ShaderDef.cpp index e2cb55d..f76edbe 100644 --- a/plugins/sitoa/loader/ShaderDef.cpp +++ b/plugins/sitoa/loader/ShaderDef.cpp @@ -782,11 +782,16 @@ void CShaderDefSet::Load(const CString &in_plugin_origin_path) // load the plugins (installation, + the ones in the shader search path) GetRenderInstance()->GetPluginsSearchPath().Put(in_plugin_origin_path, true); GetRenderInstance()->GetPluginsSearchPath().LoadPlugins(); - // load the metadata file + // load the shader metadata file CString metadata_path = CUtils::BuildPath(in_plugin_origin_path, L"arnold_shaders.mtd"); bool metadata_exists = AiMetaDataLoadFile(metadata_path.GetAsciiString()); if (!metadata_exists) GetMessageQueue()->LogMsg(L"[sitoa] Missing shader metadata file " + metadata_path, siWarningMsg); + // load the operator metadata file + metadata_path = CUtils::BuildPath(in_plugin_origin_path, L"arnold_operators.mtd"); + metadata_exists = AiMetaDataLoadFile(metadata_path.GetAsciiString()); + if (!metadata_exists) + GetMessageQueue()->LogMsg(L"[sitoa] Missing operator metadata file " + metadata_path, siWarningMsg); // iterate the nodes AtNodeEntryIterator* node_entry_it = AiUniverseGetNodeEntryIterator(AI_NODE_SHADER | AI_NODE_CAMERA | AI_NODE_OPERATOR); diff --git a/shaders/metadata/arnold_shaders.mtd b/shaders/metadata/arnold_shaders.mtd index 15f5892..8f256b9 100644 --- a/shaders/metadata/arnold_shaders.mtd +++ b/shaders/metadata/arnold_shaders.mtd @@ -4312,84 +4312,3 @@ desc STRING "The color used to represent the edges." [attr raster_space] desc STRING "By enabling Raster Space, the shader will interpret the Line Width parameter as a number of pixels, otherwise Line Width is measured in world space." - -########################################################################### -[node collection] - -[attr enable] -linkable BOOL false - -########################################################################### -[node disable] - -[attr enable] -linkable BOOL false - -[attr mode] -linkable BOOL false - -[attr shapes] -linkable BOOL false - -[attr lights] -linkable BOOL false - -[attr shaders] -linkable BOOL false - -[attr operators] -linkable BOOL false - -########################################################################### -[node materialx] - -[attr enable] -linkable BOOL false - -[attr assign_materials] -linkable BOOL false - -[attr assign_properties] -linkable BOOL false - -[attr assign_visibilities] -linkable BOOL false - -########################################################################### -[node merge] - -[attr enable] -linkable BOOL false - -########################################################################### -[node set_parameter] - -[attr enable] -linkable BOOL false - -[attr assignment] -linkable BOOL false - -########################################################################### -[node set_transform] - -[attr enable] -linkable BOOL false - -[attr translate] -linkable BOOL false - -[attr rotate] -linkable BOOL false - -[attr scale] -linkable BOOL false - -########################################################################### -[node switch_operator] - -[attr enable] -linkable BOOL false - -[attr index] -linkable BOOL false From d28e7304b1ac46fca6a6afd9849f7a80b5dfaa40 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Mon, 18 Feb 2019 23:57:20 +0100 Subject: [PATCH 06/98] move pretty label to own function in tools --- plugins/sitoa/common/Tools.cpp | 28 ++++++++++++++++++++++++++++ plugins/sitoa/common/Tools.h | 2 ++ plugins/sitoa/loader/ShaderDef.cpp | 18 +----------------- 3 files changed, 31 insertions(+), 17 deletions(-) diff --git a/plugins/sitoa/common/Tools.cpp b/plugins/sitoa/common/Tools.cpp index 68770d3..0fd3dca 100644 --- a/plugins/sitoa/common/Tools.cpp +++ b/plugins/sitoa/common/Tools.cpp @@ -510,6 +510,34 @@ bool CStringUtilities::EndsWith(CString in_string, CString in_subString) } +// Converts a parameter name to prettier Title Case formated string +// +// @param in_string The input string +// +// @return the string in Title Case format +// +CString CStringUtilities::PrettifyParameterName(CString in_string) +{ + CString label; + // replace "_" with " ". "_" is very common in the Arnold nodes + // Ex: "emission_color" -> "emission color: + CString t_label = CStringUtilities().ReplaceString(L"_", L" ", in_string); + // capitalize the first char of the name, and each token after a space, as we do for the SItoA shaders + // Ex: "emission color" -> "Emission Color: + for (ULONG i=0; i "emission color: - CString t_label = CStringUtilities().ReplaceString(L"_", L" ", m_name); - - // capitalize the first char of the name, and each token after a space, as we do for the SItoA shaders - // Ex: "emission color" -> "Emission Color: - for (ULONG i=0; i Date: Mon, 18 Feb 2019 23:58:06 +0100 Subject: [PATCH 07/98] change operators metadata --- plugins/metadata/arnold_operators.mtd | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/plugins/metadata/arnold_operators.mtd b/plugins/metadata/arnold_operators.mtd index 63bf5c5..ed5e615 100644 --- a/plugins/metadata/arnold_operators.mtd +++ b/plugins/metadata/arnold_operators.mtd @@ -16,7 +16,8 @@ linkable BOOL false [attr inputs] -soft.node_type STRING "shader array" +soft.node_type STRING "operator" +soft.inspectable BOOL false ########################################################################### [node disable] @@ -25,7 +26,8 @@ soft.node_type STRING "shader array" linkable BOOL false [attr inputs] -soft.node_type STRING "shader array" +soft.node_type STRING "operator" +soft.inspectable BOOL false [attr mode] linkable BOOL false @@ -49,7 +51,8 @@ linkable BOOL false linkable BOOL false [attr inputs] -soft.node_type STRING "shader array" +soft.node_type STRING "operator" +soft.inspectable BOOL false [attr assign_materials] linkable BOOL false @@ -67,7 +70,8 @@ linkable BOOL false linkable BOOL false [attr inputs] -soft.node_type STRING "shader array" +soft.node_type STRING "operator" +soft.inspectable BOOL false ########################################################################### [node set_parameter] @@ -76,7 +80,8 @@ soft.node_type STRING "shader array" linkable BOOL false [attr inputs] -soft.node_type STRING "shader array" +soft.node_type STRING "operator" +soft.inspectable BOOL false [attr assignment] linkable BOOL false @@ -88,7 +93,8 @@ linkable BOOL false linkable BOOL false [attr inputs] -soft.node_type STRING "shader array" +soft.node_type STRING "operator" +soft.inspectable BOOL false [attr translate] linkable BOOL false @@ -106,7 +112,8 @@ linkable BOOL false linkable BOOL false [attr inputs] -soft.node_type STRING "shader array" +soft.node_type STRING "operator" +soft.inspectable BOOL false [attr index] linkable BOOL false From fd4f4bd4ba65d7ef1a45bed07ae9421ae95d89ee Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Mon, 18 Feb 2019 23:58:58 +0100 Subject: [PATCH 08/98] support shader parameter arrays --- plugins/sitoa/loader/ShaderDef.cpp | 80 +++++++++++++++++++----------- 1 file changed, 52 insertions(+), 28 deletions(-) diff --git a/plugins/sitoa/loader/ShaderDef.cpp b/plugins/sitoa/loader/ShaderDef.cpp index ef57850..7199046 100644 --- a/plugins/sitoa/loader/ShaderDef.cpp +++ b/plugins/sitoa/loader/ShaderDef.cpp @@ -226,39 +226,69 @@ void CShaderDefParameter::Define(ShaderParamDefContainer &in_paramDef, const CSt else if (!m_has_softmin && m_has_softmax) GetMessageQueue()->LogMsg(L"[sitoa] " + in_shader_name + L"." + m_name + " has softmax metadata, but no softmin.", siWarningMsg); - // if the Arnold type is an array, we create a single parameter of the type of the array elements - int paramType = m_type == AI_TYPE_ARRAY ? m_arrayType : m_type; - ShaderParamDef pDef; - if (m_type == AI_TYPE_CLOSURE) - pDef = in_paramDef.AddParamDef(m_name, L"closure", defOptions); - else + + bool paramIsArray = m_type == AI_TYPE_ARRAY; + int paramType = paramIsArray ? m_arrayType : m_type; + CString customNodeType = L""; + + // check for node type overrides + // strings can also be overriden to nodes + if ((paramType == AI_TYPE_STRING || paramType == AI_TYPE_NODE) && m_has_node_type) { - // adds the ability for string types to have a node picker - // also implements filter for the node types - if ((m_type == AI_TYPE_STRING || m_type == AI_TYPE_NODE) && m_has_node_type) + // override node type be AI_TYPE_NODE + paramType = AI_TYPE_NODE; + CStringArray nodeTypes = CStringUtilities().ToLower(m_node_type).Split(L" "); + CString nodeType = nodeTypes[0]; + if (nodeType == L"operator") + customNodeType = nodeType; + else { - CStringArray nodeTypes = CStringUtilities().ToLower(m_node_type).Split(L" "); - defOptions.SetAttribute(siReferenceFilterAttribute, GetShaderReferenceFilterType(nodeTypes[0])); + // force node type even if string (toon shader uses this) + paramType = AI_TYPE_NODE; + // set the reference filter type + defOptions.SetAttribute(siReferenceFilterAttribute, GetShaderReferenceFilterType(nodeType)); + } - if (nodeTypes.GetCount() > 1) + if (nodeTypes.GetCount() > 1) + { + if (nodeTypes[1] == L"array") { - if (nodeTypes[1] == L"array") - { - // shaderarrays doesn't use the label but uses SetLongName instead - // label has to be specified in .mtd or else it will just show the parameter name - if (m_has_label) - defOptions.SetLongName(m_label); - - pDef = in_paramDef.AddArrayParamDef(m_name, siShaderDataTypeReference, defOptions); - } + // if array is specified in the soft.node_type metadata, a parameter array will be created even though it's not an array in arnold + // toon shader uses this for lights, but it's data is converted to semicolon-delimited string on rendering/export + paramIsArray = true; } else - pDef = in_paramDef.AddParamDef(m_name, siShaderDataTypeReference, defOptions); + GetMessageQueue()->LogMsg(L"[sitoa] " + in_shader_name + L"." + m_name + " has unknown node type override: " + m_node_type, siWarningMsg); } + } + else if (paramType == AI_TYPE_CLOSURE) + customNodeType = L"closure"; + + ShaderParamDef pDef; + if (!paramIsArray) + { + if (customNodeType != "") + pDef = in_paramDef.AddParamDef(m_name, customNodeType, defOptions); else pDef = in_paramDef.AddParamDef(m_name, GetParamSdType(paramType), defOptions); } + if (paramIsArray) + { + // shaderarrays doesn't use the label but uses SetLongName instead + CString label; + if (m_has_label) + label = m_label; + else + label = CStringUtilities().PrettifyParameterName(m_name); + defOptions.SetLongName(label); + + if (customNodeType != "") + pDef = in_paramDef.AddArrayParamDef(m_name, customNodeType, defOptions); + else + pDef = in_paramDef.AddArrayParamDef(m_name, GetParamSdType(paramType), defOptions); + } + // setting the default for the struct parameters if (pDef.IsStructure()) { @@ -367,12 +397,6 @@ void CShaderDefParameter::Layout(PPGLayout &in_layout) } else { - // if the Arnold type is array, add " (array)" to the label of the parameter, - // which we expose as a single value. So, even if we don't support arrays yet, - // we have a way to spot the case by the label name. Also, this way the user gets - // "warned" that this parameter won't work as expected - if (m_arrayType != AI_TYPE_UNDEFINED) - label+= L" (array)"; item = in_layout.AddItem(m_name, label); item.PutAttribute(siUILabelMinPixels, 120); item.PutAttribute(siUILabelPercentage, 35); From bb815897f243eed9b96fb13c15d2346929be44b3 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Tue, 19 Feb 2019 01:38:06 +0100 Subject: [PATCH 09/98] change operator to ref type --- plugins/metadata/arnold_operators.mtd | 7 ------- plugins/sitoa/loader/ShaderDef.cpp | 2 +- plugins/sitoa/renderer/Renderer.cpp | 2 +- 3 files changed, 2 insertions(+), 9 deletions(-) diff --git a/plugins/metadata/arnold_operators.mtd b/plugins/metadata/arnold_operators.mtd index ed5e615..c31db90 100644 --- a/plugins/metadata/arnold_operators.mtd +++ b/plugins/metadata/arnold_operators.mtd @@ -16,7 +16,6 @@ linkable BOOL false [attr inputs] -soft.node_type STRING "operator" soft.inspectable BOOL false ########################################################################### @@ -26,7 +25,6 @@ soft.inspectable BOOL false linkable BOOL false [attr inputs] -soft.node_type STRING "operator" soft.inspectable BOOL false [attr mode] @@ -51,7 +49,6 @@ linkable BOOL false linkable BOOL false [attr inputs] -soft.node_type STRING "operator" soft.inspectable BOOL false [attr assign_materials] @@ -70,7 +67,6 @@ linkable BOOL false linkable BOOL false [attr inputs] -soft.node_type STRING "operator" soft.inspectable BOOL false ########################################################################### @@ -80,7 +76,6 @@ soft.inspectable BOOL false linkable BOOL false [attr inputs] -soft.node_type STRING "operator" soft.inspectable BOOL false [attr assignment] @@ -93,7 +88,6 @@ linkable BOOL false linkable BOOL false [attr inputs] -soft.node_type STRING "operator" soft.inspectable BOOL false [attr translate] @@ -112,7 +106,6 @@ linkable BOOL false linkable BOOL false [attr inputs] -soft.node_type STRING "operator" soft.inspectable BOOL false [attr index] diff --git a/plugins/sitoa/loader/ShaderDef.cpp b/plugins/sitoa/loader/ShaderDef.cpp index 7199046..3f02542 100644 --- a/plugins/sitoa/loader/ShaderDef.cpp +++ b/plugins/sitoa/loader/ShaderDef.cpp @@ -584,7 +584,7 @@ CString CShaderDefShader::Define(const bool in_clone_vector_map) if (m_is_passthrough_closure) // hack the closure output for the closure connector to color outParamDef.AddParamDef("out", siShaderDataTypeColor4, outOpts); else if (m_is_operator_node) - outParamDef.AddParamDef("out", L"operator", outOpts); + outParamDef.AddParamDef("out", siShaderDataTypeReference, outOpts); else { if (m_type == AI_TYPE_CLOSURE) diff --git a/plugins/sitoa/renderer/Renderer.cpp b/plugins/sitoa/renderer/Renderer.cpp index 801dac1..90d7079 100644 --- a/plugins/sitoa/renderer/Renderer.cpp +++ b/plugins/sitoa/renderer/Renderer.cpp @@ -236,7 +236,7 @@ SITOA_CALLBACK ArnoldRender_Define(CRef &in_ctxt) ShaderStructParamDef structParam(renderPassDef); ShaderParamDefContainer container = structParam.GetSubParamDefs(); - container.AddParamDef(L"operator", L"operator", paramOptions); + container.AddParamDef(L"operator", siShaderDataTypeReference, paramOptions); return CStatus::OK; } From 38ca3ff1e0ba48a375921665c8742d9cf51507e5 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Tue, 19 Feb 2019 01:58:04 +0100 Subject: [PATCH 10/98] small cleanup --- plugins/sitoa/loader/ShaderDef.cpp | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/plugins/sitoa/loader/ShaderDef.cpp b/plugins/sitoa/loader/ShaderDef.cpp index 3f02542..4e444c7 100644 --- a/plugins/sitoa/loader/ShaderDef.cpp +++ b/plugins/sitoa/loader/ShaderDef.cpp @@ -265,14 +265,6 @@ void CShaderDefParameter::Define(ShaderParamDefContainer &in_paramDef, const CSt customNodeType = L"closure"; ShaderParamDef pDef; - if (!paramIsArray) - { - if (customNodeType != "") - pDef = in_paramDef.AddParamDef(m_name, customNodeType, defOptions); - else - pDef = in_paramDef.AddParamDef(m_name, GetParamSdType(paramType), defOptions); - } - if (paramIsArray) { // shaderarrays doesn't use the label but uses SetLongName instead @@ -288,6 +280,13 @@ void CShaderDefParameter::Define(ShaderParamDefContainer &in_paramDef, const CSt else pDef = in_paramDef.AddArrayParamDef(m_name, GetParamSdType(paramType), defOptions); } + else + { + if (customNodeType != "") + pDef = in_paramDef.AddParamDef(m_name, customNodeType, defOptions); + else + pDef = in_paramDef.AddParamDef(m_name, GetParamSdType(paramType), defOptions); + } // setting the default for the struct parameters if (pDef.IsStructure()) From c71e217eac6d400492f65e0781082f2eb0556ca5 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Tue, 19 Feb 2019 10:29:32 +0100 Subject: [PATCH 11/98] remove more uses of operator type --- plugins/sitoa/loader/ShaderDef.cpp | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/plugins/sitoa/loader/ShaderDef.cpp b/plugins/sitoa/loader/ShaderDef.cpp index 4e444c7..647cb6c 100644 --- a/plugins/sitoa/loader/ShaderDef.cpp +++ b/plugins/sitoa/loader/ShaderDef.cpp @@ -239,15 +239,11 @@ void CShaderDefParameter::Define(ShaderParamDefContainer &in_paramDef, const CSt paramType = AI_TYPE_NODE; CStringArray nodeTypes = CStringUtilities().ToLower(m_node_type).Split(L" "); CString nodeType = nodeTypes[0]; - if (nodeType == L"operator") - customNodeType = nodeType; - else - { - // force node type even if string (toon shader uses this) - paramType = AI_TYPE_NODE; - // set the reference filter type - defOptions.SetAttribute(siReferenceFilterAttribute, GetShaderReferenceFilterType(nodeType)); - } + + // force node type even if string (toon shader uses this) + paramType = AI_TYPE_NODE; + // set the reference filter type + defOptions.SetAttribute(siReferenceFilterAttribute, GetShaderReferenceFilterType(nodeType)); if (nodeTypes.GetCount() > 1) { From 9aea1930f31f871efdcc0500146c91656d80d550 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Tue, 19 Feb 2019 10:29:58 +0100 Subject: [PATCH 12/98] add warning if unknown referencefiltertype --- plugins/sitoa/loader/ShaderDef.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/plugins/sitoa/loader/ShaderDef.cpp b/plugins/sitoa/loader/ShaderDef.cpp index 647cb6c..7bb54ed 100644 --- a/plugins/sitoa/loader/ShaderDef.cpp +++ b/plugins/sitoa/loader/ShaderDef.cpp @@ -117,7 +117,10 @@ siShaderReferenceFilterType GetShaderReferenceFilterType(CString in_type) else if (in_type == L"userdata") return siUserDataBlobReferenceFilter; else + { + GetMessageQueue()->LogMsg(L"[sitoa] Unknown ReferenceFilterType: \"" + in_type + L"\". Check your metadata file.", siWarningMsg); return siUnknownReferenceFilter; + } } From 6daec7e457834ee5f541a9e6c25bd0aaf21511ce Mon Sep 17 00:00:00 2001 From: Steven Caron Date: Sun, 24 Feb 2019 16:12:21 -0800 Subject: [PATCH 13/98] remove custom port type registration --- plugins/sitoa/renderer/Renderer.cpp | 7 ------- 1 file changed, 7 deletions(-) diff --git a/plugins/sitoa/renderer/Renderer.cpp b/plugins/sitoa/renderer/Renderer.cpp index 90d7079..3245ce1 100644 --- a/plugins/sitoa/renderer/Renderer.cpp +++ b/plugins/sitoa/renderer/Renderer.cpp @@ -215,13 +215,6 @@ SITOA_CALLBACK ArnoldRender_Query(CRef &in_ctxt) // support for operators SITOA_CALLBACK ArnoldRender_Define(CRef &in_ctxt) { - - // github issue #19 - // register a new "operator" parameter type - CStringArray op_type_filter, family_filter; - op_type_filter.Add("operator"); - Application().RegisterShaderCustomParameterType(L"operator", L"operator", L"operator", 0, 5, 255, op_type_filter, family_filter); - Context ctxt(in_ctxt); ShaderDef shaderDef(ctxt.GetAttribute(L"Definition")); From 468e1ff1748b69ee6b61d7de9fe7e773d2dff09d Mon Sep 17 00:00:00 2001 From: Steven Caron Date: Sun, 24 Feb 2019 16:27:59 -0800 Subject: [PATCH 14/98] Adding operator related switches to render options --- plugins/sitoa/renderer/RendererOptions.cpp | 6 ++++++ plugins/sitoa/renderer/RendererOptions.h | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/plugins/sitoa/renderer/RendererOptions.cpp b/plugins/sitoa/renderer/RendererOptions.cpp index c1a7fc9..7896c4a 100644 --- a/plugins/sitoa/renderer/RendererOptions.cpp +++ b/plugins/sitoa/renderer/RendererOptions.cpp @@ -217,6 +217,7 @@ void CRenderOptions::Read(const Property &in_cp) m_ignore_procedurals = (bool)ParAcc_GetValue(in_cp, L"ignore_procedurals", DBL_MAX); m_ignore_user_options = (bool)ParAcc_GetValue(in_cp, L"ignore_user_options", DBL_MAX); m_ignore_matte = (bool)ParAcc_GetValue(in_cp, L"ignore_matte", DBL_MAX); + m_ignore_operators = (bool)ParAcc_GetValue(in_cp, L"ignore_operators", DBL_MAX); // ass archive m_output_file_tagdir_ass = ParAcc_GetValue(in_cp, L"output_file_tagdir_ass", DBL_MAX).GetAsText(); @@ -232,6 +233,7 @@ void CRenderOptions::Read(const Property &in_cp) m_output_cameras = (bool)ParAcc_GetValue(in_cp, L"output_cameras", DBL_MAX); m_output_lights = (bool)ParAcc_GetValue(in_cp, L"output_lights", DBL_MAX); m_output_shaders = (bool)ParAcc_GetValue(in_cp, L"output_shaders", DBL_MAX); + m_output_operators = (bool)ParAcc_GetValue(in_cp, L"output_operators", DBL_MAX); // denoiser m_use_optix_on_main = (bool)ParAcc_GetValue(in_cp, L"use_optix_on_main", DBL_MAX); @@ -504,6 +506,7 @@ SITOA_CALLBACK CommonRenderOptions_Define(CRef& in_ctxt) cpset.AddParameter(L"ignore_procedurals", CValue::siBool, siPersistable, L"", L"", false, CValue(), CValue(), CValue(), CValue(), p); cpset.AddParameter(L"ignore_user_options", CValue::siBool, siPersistable, L"", L"", false, CValue(), CValue(), CValue(), CValue(), p); cpset.AddParameter(L"ignore_matte", CValue::siBool, siPersistable, L"", L"", false, CValue(), CValue(), CValue(), CValue(), p); + cpset.AddParameter(L"ignore_operators", CValue::siBool, siPersistable, L"", L"", false, CValue(), CValue(), CValue(), CValue(), p); cpset.AddParameter(L"show_samples", CValue::siString, siPersistable, L"", L"", L"off", 0, 10, 0, 10, p); // ass archive @@ -521,6 +524,7 @@ SITOA_CALLBACK CommonRenderOptions_Define(CRef& in_ctxt) cpset.AddParameter(L"output_cameras", CValue::siBool, siPersistable, L"", L"", true, CValue(), CValue(), CValue(), CValue(), p); cpset.AddParameter(L"output_lights", CValue::siBool, siPersistable, L"", L"", true, CValue(), CValue(), CValue(), CValue(), p); cpset.AddParameter(L"output_shaders", CValue::siBool, siPersistable, L"", L"", true, CValue(), CValue(), CValue(), CValue(), p); + cpset.AddParameter(L"output_operators", CValue::siBool, siPersistable, L"", L"", true, CValue(), CValue(), CValue(), CValue(), p); // denoiser cpset.AddParameter(L"use_optix_on_main", CValue::siBool, siPersistable, L"", L"", false, CValue(), CValue(), CValue(), CValue(), p); @@ -1078,6 +1082,7 @@ SITOA_CALLBACK CommonRenderOptions_DefineLayout(CRef& in_ctxt) layout.AddItem(L"ignore_procedurals", L"Procedurals"); layout.AddItem(L"ignore_user_options", L"User Options"); layout.AddItem(L"ignore_matte", L"Matte Properties"); + layout.AddItem(L"ignore_operators", L"Operators"); layout.EndGroup(); layout.AddTab(L"ASS Archives"); @@ -1104,6 +1109,7 @@ SITOA_CALLBACK CommonRenderOptions_DefineLayout(CRef& in_ctxt) layout.AddItem(L"output_cameras", L"Cameras"); layout.AddItem(L"output_lights", L"Lights"); layout.AddItem(L"output_shaders", L"Shaders"); + layout.AddItem(L"output_operators", L"Operators"); layout.EndGroup(); layout.AddRow(); item = layout.AddButton(L"ExportASS", L"Export Frame"); diff --git a/plugins/sitoa/renderer/RendererOptions.h b/plugins/sitoa/renderer/RendererOptions.h index 3ff5b8c..d4a868f 100644 --- a/plugins/sitoa/renderer/RendererOptions.h +++ b/plugins/sitoa/renderer/RendererOptions.h @@ -202,6 +202,7 @@ class CRenderOptions bool m_ignore_procedurals; bool m_ignore_user_options; bool m_ignore_matte; + bool m_ignore_operators; // ass archive CString m_output_file_tagdir_ass; @@ -218,6 +219,7 @@ class CRenderOptions bool m_output_cameras; bool m_output_lights; bool m_output_shaders; + bool m_output_operators; // denoiser bool m_use_optix_on_main; @@ -386,6 +388,7 @@ class CRenderOptions m_ignore_procedurals(false), m_ignore_user_options(false), m_ignore_matte(false), + m_ignore_operators(false), // ass archive m_output_file_tagdir_ass(L""), // this to be reviewed, see CommonRenderOptions_Define @@ -402,6 +405,7 @@ class CRenderOptions m_output_cameras(false), m_output_lights(false), m_output_shaders(false), + m_output_operators(false), // denoiser m_use_optix_on_main(false), From 281ce7b21f4a1dbbcecf9abfab091f67a68b6e43 Mon Sep 17 00:00:00 2001 From: Steven Caron Date: Sun, 24 Feb 2019 16:39:56 -0800 Subject: [PATCH 15/98] Support for outputting operators to ass files. --- plugins/sitoa/loader/Loader.cpp | 12 +++++++----- plugins/sitoa/loader/Options.cpp | 1 + 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/plugins/sitoa/loader/Loader.cpp b/plugins/sitoa/loader/Loader.cpp index e86bf9a..6c47f9d 100644 --- a/plugins/sitoa/loader/Loader.cpp +++ b/plugins/sitoa/loader/Loader.cpp @@ -111,16 +111,18 @@ CStatus LoadScene(const Property &in_arnoldOptions, const CString& in_renderType int output_cameras = AI_NODE_CAMERA; int output_lights = AI_NODE_LIGHT; int output_shaders = AI_NODE_SHADER; + int output_operators = AI_NODE_OPERATOR; CPathString outputAssDir, assOutputName; bool useTranslation; output_options = toRender || GetRenderOptions()->m_output_options ? AI_NODE_OPTIONS + AI_NODE_COLOR_MANAGER: 0; output_drivers_filters = toRender || GetRenderOptions()->m_output_drivers_filters ? AI_NODE_DRIVER + AI_NODE_FILTER : 0; - output_geometry = toRender || GetRenderOptions()->m_output_geometry ? AI_NODE_SHAPE : 0; - output_cameras = toRender || GetRenderOptions()->m_output_cameras ? AI_NODE_CAMERA : 0; - output_lights = toRender || GetRenderOptions()->m_output_lights ? AI_NODE_LIGHT : 0; - output_shaders = toRender || GetRenderOptions()->m_output_shaders ? AI_NODE_SHADER : 0; + output_geometry = toRender || GetRenderOptions()->m_output_geometry ? AI_NODE_SHAPE : 0; + output_cameras = toRender || GetRenderOptions()->m_output_cameras ? AI_NODE_CAMERA : 0; + output_lights = toRender || GetRenderOptions()->m_output_lights ? AI_NODE_LIGHT : 0; + output_shaders = toRender || GetRenderOptions()->m_output_shaders ? AI_NODE_SHADER : 0; + output_operators = toRender || GetRenderOptions()->m_output_operators ? AI_NODE_OPERATOR : 0; SceneRenderProperty sceneRenderProp(app.GetActiveProject().GetActiveScene().GetPassContainer().GetProperties().GetItem(L"Scene Render Options")); @@ -398,7 +400,7 @@ CStatus LoadScene(const Property &in_arnoldOptions, const CString& in_renderType // BypassClosurePassthroughForAss(); AiASSWrite(assOutputName.GetAsciiString(), - output_cameras + output_drivers_filters + output_lights + output_options + output_geometry + output_shaders, + output_cameras + output_drivers_filters + output_lights + output_options + output_geometry + output_shaders + output_operators, GetRenderOptions()->m_open_procs, GetRenderOptions()->m_binary_ass ); diff --git a/plugins/sitoa/loader/Options.cpp b/plugins/sitoa/loader/Options.cpp index 217b0eb..89ad6b9 100644 --- a/plugins/sitoa/loader/Options.cpp +++ b/plugins/sitoa/loader/Options.cpp @@ -741,6 +741,7 @@ void LoadOptionsParameters(AtNode* in_optionsNode, const Property &in_arnoldOpti CNodeSetter::SetBoolean(in_optionsNode, "ignore_smoothing", GetRenderOptions()->m_ignore_smoothing); CNodeSetter::SetBoolean(in_optionsNode, "ignore_sss", GetRenderOptions()->m_ignore_sss); CNodeSetter::SetBoolean(in_optionsNode, "ignore_dof", GetRenderOptions()->m_ignore_dof); + CNodeSetter::SetBoolean(in_optionsNode, "ignore_operators", GetRenderOptions()->m_ignore_operators); // Error colors CNodeSetter::SetRGB(in_optionsNode, "error_color_bad_texture", GetRenderOptions()->m_error_color_bad_map.GetR(), From 25beea41ea1ef77724d0bca46277bee8bd544f34 Mon Sep 17 00:00:00 2001 From: Steven Caron Date: Sun, 24 Feb 2019 17:56:55 -0800 Subject: [PATCH 16/98] adjust include order to match other files --- plugins/sitoa/loader/Operators.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/plugins/sitoa/loader/Operators.cpp b/plugins/sitoa/loader/Operators.cpp index e977dab..2f7e9e8 100644 --- a/plugins/sitoa/loader/Operators.cpp +++ b/plugins/sitoa/loader/Operators.cpp @@ -9,13 +9,15 @@ 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. ************************************************************************************************************************************/ +#include "common/ParamsShader.h" +#include "loader/Shaders.h" +#include "renderer/Renderer.h" + #include #include #include #include -#include "renderer/Renderer.h" - // Load the operators connected to a RenderPass into Arnold // // @return CStatus::OK if all went well, else the error code From e232892f4c38fa239c8797d5c918e3446883dc3e Mon Sep 17 00:00:00 2001 From: Steven Caron Date: Sun, 24 Feb 2019 18:13:30 -0800 Subject: [PATCH 17/98] adjust function signature to include frame --- plugins/sitoa/loader/Loader.cpp | 2 +- plugins/sitoa/loader/Operators.cpp | 2 +- plugins/sitoa/loader/Operators.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/sitoa/loader/Loader.cpp b/plugins/sitoa/loader/Loader.cpp index 6c47f9d..9c2a4c2 100644 --- a/plugins/sitoa/loader/Loader.cpp +++ b/plugins/sitoa/loader/Loader.cpp @@ -265,7 +265,7 @@ CStatus LoadScene(const Property &in_arnoldOptions, const CString& in_renderType if (!in_createStandIn) { AiMsgDebug("[sitoa] Loading Operators"); - status = LoadPassOperator(); + status = LoadPassOperator(iframe); if (progressBar.IsCancelPressed() || status == CStatus::Abort) { diff --git a/plugins/sitoa/loader/Operators.cpp b/plugins/sitoa/loader/Operators.cpp index 2f7e9e8..52eadf2 100644 --- a/plugins/sitoa/loader/Operators.cpp +++ b/plugins/sitoa/loader/Operators.cpp @@ -22,7 +22,7 @@ See the License for the specific language governing permissions and limitations // // @return CStatus::OK if all went well, else the error code // -CStatus LoadPassOperator() +CStatus LoadPassOperator(double in_frame) { CStatus status(CStatus::OK); diff --git a/plugins/sitoa/loader/Operators.h b/plugins/sitoa/loader/Operators.h index e51928f..eea34af 100644 --- a/plugins/sitoa/loader/Operators.h +++ b/plugins/sitoa/loader/Operators.h @@ -16,4 +16,4 @@ See the License for the specific language governing permissions and limitations using namespace XSI; // Load operators into Arnold -CStatus LoadPassOperator(); +CStatus LoadPassOperator(double in_frame); From a49c33e4b3e781e8e1d71bb7b321e0e5973bf6f2 Mon Sep 17 00:00:00 2001 From: Steven Caron Date: Mon, 25 Feb 2019 11:26:32 -0800 Subject: [PATCH 18/98] need inputs param to be inspectable trying to reuse existing shader parsing code which would skip params which are not inspectable --- plugins/metadata/arnold_operators.mtd | 21 --------------------- 1 file changed, 21 deletions(-) diff --git a/plugins/metadata/arnold_operators.mtd b/plugins/metadata/arnold_operators.mtd index c31db90..b5259e1 100644 --- a/plugins/metadata/arnold_operators.mtd +++ b/plugins/metadata/arnold_operators.mtd @@ -15,18 +15,12 @@ [attr enable] linkable BOOL false -[attr inputs] -soft.inspectable BOOL false - ########################################################################### [node disable] [attr enable] linkable BOOL false -[attr inputs] -soft.inspectable BOOL false - [attr mode] linkable BOOL false @@ -48,9 +42,6 @@ linkable BOOL false [attr enable] linkable BOOL false -[attr inputs] -soft.inspectable BOOL false - [attr assign_materials] linkable BOOL false @@ -66,18 +57,12 @@ linkable BOOL false [attr enable] linkable BOOL false -[attr inputs] -soft.inspectable BOOL false - ########################################################################### [node set_parameter] [attr enable] linkable BOOL false -[attr inputs] -soft.inspectable BOOL false - [attr assignment] linkable BOOL false @@ -87,9 +72,6 @@ linkable BOOL false [attr enable] linkable BOOL false -[attr inputs] -soft.inspectable BOOL false - [attr translate] linkable BOOL false @@ -105,8 +87,5 @@ linkable BOOL false [attr enable] linkable BOOL false -[attr inputs] -soft.inspectable BOOL false - [attr index] linkable BOOL false From 25798bd37a2c8fa7d6de93986dc77a85af0deafd Mon Sep 17 00:00:00 2001 From: Steven Caron Date: Mon, 25 Feb 2019 11:44:48 -0800 Subject: [PATCH 19/98] trying to use 'LoadShader' function to parse operator graph for siShaderArrayParameterID param type added support for arnold arrays of node type --- plugins/sitoa/common/ParamsShader.cpp | 31 ++++++++++++++++++++++++++- plugins/sitoa/loader/Operators.cpp | 16 ++++++++++---- 2 files changed, 42 insertions(+), 5 deletions(-) diff --git a/plugins/sitoa/common/ParamsShader.cpp b/plugins/sitoa/common/ParamsShader.cpp index 66eb625..4395d6d 100644 --- a/plugins/sitoa/common/ParamsShader.cpp +++ b/plugins/sitoa/common/ParamsShader.cpp @@ -188,7 +188,7 @@ CStatus LoadShaderParameter(AtNode* in_node, const CString &in_entryName, Parame // in certain cases, like 'lights' in the toon shader, // we have an array parameter in the shaderdef but the node input in Arnold is a string // let's itterate over the array and build a semicolon separated string of the objects - int paramType = GetArnoldParameterType(in_node, in_param.GetScriptName().GetAsciiString()); + int paramType = GetArnoldParameterType(in_node, in_param.GetScriptName().GetAsciiString(), true); if (paramType == AI_TYPE_STRING) { const char* aiParamName = in_param.GetScriptName().GetAsciiString(); @@ -215,6 +215,35 @@ CStatus LoadShaderParameter(AtNode* in_node, const CString &in_entryName, Parame } CNodeSetter::SetString(in_node, aiParamName, paramValue.GetAsciiString()); } + else if (paramType == AI_TYPE_NODE) + { + CRefArray connectedShadersArray; + if (paramArray.GetCount() > 0) + { + for (LONG i=0; i 0) + { + AtArray* shadersArray = AiArrayAllocate(connectedShadersArray.GetCount(), 1, AI_TYPE_NODE); + for (LONG i=0; iLogMsg(L"[sitoa] loading some operators..."); - Pass pass(Application().GetActiveProject().GetActiveScene().GetActivePass()); CRef operatorRef; operatorRef.Set(pass.GetFullName() + L".operator"); - CString idName = operatorRef.GetClassIDName(); - GetMessageQueue()->LogMsg(L"[sitoa] " + idName); + Parameter operatorParam(operatorRef); + + AtNode* options = AiUniverseGetOptions(); + + Shader operatorShader = GetConnectedShader(operatorParam); + if (operatorShader.IsValid()) + { + AtNode* operatorNode = LoadShader(operatorShader, in_frame, pass.GetRef(), RECURSE_FALSE); + + if (operatorNode) + CNodeSetter::SetPointer(options, "operator", operatorNode); + } return status; } \ No newline at end of file From df9c593221f8aa9e60380da64fe12ff7fd9d8ee1 Mon Sep 17 00:00:00 2001 From: Steven Caron Date: Tue, 26 Feb 2019 17:27:18 -0800 Subject: [PATCH 20/98] working on IPR updates for operators --- plugins/sitoa/renderer/IprOperators.cpp | 49 +++++++++++++++++++++++ plugins/sitoa/renderer/IprOperators.h | 19 +++++++++ plugins/sitoa/renderer/RenderInstance.cpp | 3 ++ 3 files changed, 71 insertions(+) create mode 100644 plugins/sitoa/renderer/IprOperators.cpp create mode 100644 plugins/sitoa/renderer/IprOperators.h diff --git a/plugins/sitoa/renderer/IprOperators.cpp b/plugins/sitoa/renderer/IprOperators.cpp new file mode 100644 index 0000000..3f9f22c --- /dev/null +++ b/plugins/sitoa/renderer/IprOperators.cpp @@ -0,0 +1,49 @@ +/************************************************************************************************************************************ +Copyright 2017 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. +************************************************************************************************************************************/ + +#include "common/ParamsShader.h" +#include "renderer/IprShader.h" +#include "renderer/Renderer.h" + +#include +#include +#include +#include + +// Update the operators connected to a RenderPass into Arnold +// +// @return CStatus::OK if all went well, else the error code +// +CStatus UpdatePassOperator(const Pass &in_pass, double in_frame) +{ + GetMessageQueue()->LogMsg(L"[sitoa] UpdatePassOperator"); + + CStatus status(CStatus::OK); + + CRef operatorRef; + operatorRef.Set(in_pass.GetFullName() + L".operator"); + Parameter operatorParam(operatorRef); + + AtNode* options = AiUniverseGetOptions(); + + Shader operatorShader = GetConnectedShader(operatorParam); + if (operatorShader.IsValid()) + { + AtNode* operatorNode = UpdateShader(operatorShader, in_frame); + + if (operatorNode) + CNodeSetter::SetPointer(options, "operator", operatorNode); + } + else + CNodeSetter::SetPointer(options, "operator", NULL); + + return status; +} \ No newline at end of file diff --git a/plugins/sitoa/renderer/IprOperators.h b/plugins/sitoa/renderer/IprOperators.h new file mode 100644 index 0000000..bfd31fc --- /dev/null +++ b/plugins/sitoa/renderer/IprOperators.h @@ -0,0 +1,19 @@ +/************************************************************************************************************************************ +Copyright 2017 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. +************************************************************************************************************************************/ + +#pragma once + +#include + +using namespace XSI; + +// Update operators into Arnold +CStatus UpdatePassOperator(const Pass &in_pass, double in_frame); diff --git a/plugins/sitoa/renderer/RenderInstance.cpp b/plugins/sitoa/renderer/RenderInstance.cpp index 605e83b..225b27a 100644 --- a/plugins/sitoa/renderer/RenderInstance.cpp +++ b/plugins/sitoa/renderer/RenderInstance.cpp @@ -19,6 +19,7 @@ See the License for the specific language governing permissions and limitations #include "renderer/IprCommon.h" #include "renderer/IprCreateDestroy.h" #include "renderer/IprLight.h" +#include "renderer/IprOperators.h" #include "renderer/IprShader.h" #include "renderer/Renderer.h" #include "renderer/RenderInstance.h" @@ -1484,6 +1485,8 @@ CStatus CRenderInstance::ProcessRegion() // We are going to update always what we have connected to current pass shader stack. UpdatePassShaderStack(m_pass, m_frame); + UpdatePassOperator(m_pass, m_frame); + CRefArray visibleObjects = m_renderContext.GetAttribute(L"ObjectList"); UpdateIsolateSelection(visibleObjects, m_frame); From 16c291ac682ff29a1fe02679b78ac7bd56abe993 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Sun, 24 Mar 2019 15:51:41 +0100 Subject: [PATCH 21/98] version bump to 5.3.0 --- README.md | 4 ++-- config/custom_linux.py | 2 +- config/custom_windows.py | 2 +- plugins/sitoa/version.cpp | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 30306dd..b7d76df 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ under an Apache 2.0 open source license. #### Requirements * Softimage 2015 SP1 -* Arnold 5.2.2.0 or newer +* Arnold 5.3.0.0 or newer * Python 2.6 or newer * Visual Studio 2012 (Windows) * GCC 4.2.4 (Linux) @@ -65,7 +65,7 @@ VS_HOME = r'C:/Program Files (x86)/Microsoft Visual Studio 11.0/VC' WINDOWS_KIT = r'C:/Program Files (x86)/Windows Kits/8.0' XSISDK_ROOT = r'C:/Program Files/Autodesk/Softimage 2015/XSISDK' -ARNOLD_HOME = r'C:/SolidAngle/Arnold-5.2.2.0/win64' +ARNOLD_HOME = r'C:/SolidAngle/Arnold-5.3.0.0/win64' TARGET_WORKGROUP_PATH = r'./Softimage_2015/Addons/SItoA' diff --git a/config/custom_linux.py b/config/custom_linux.py index e39af3e..beb7625 100644 --- a/config/custom_linux.py +++ b/config/custom_linux.py @@ -6,7 +6,7 @@ SHCXX = r'/usr/bin/gcc-4.2.4/bin/gcc-4.2.4' XSISDK_ROOT = r'/usr/Softimage/Softimage_2015/XSISDK' -ARNOLD_HOME = r'/usr/SolidAngle/Arnold-5.2.2.1/linux' +ARNOLD_HOME = r'/usr/SolidAngle/Arnold-5.3.0.0/linux' TARGET_WORKGROUP_PATH = './Softimage_2015/Addons/SItoA' diff --git a/config/custom_windows.py b/config/custom_windows.py index f622202..563eb84 100644 --- a/config/custom_windows.py +++ b/config/custom_windows.py @@ -9,7 +9,7 @@ WINDOWS_KIT = r'C:/Program Files (x86)/Windows Kits/8.0' XSISDK_ROOT = r'C:/Program Files/Autodesk/Softimage 2015/XSISDK' -ARNOLD_HOME = r'C:/SolidAngle/Arnold-5.2.2.1/win64' +ARNOLD_HOME = r'C:/SolidAngle/Arnold-5.3.0.0/win64' TARGET_WORKGROUP_PATH = r'./Softimage_2015/Addons/SItoA' diff --git a/plugins/sitoa/version.cpp b/plugins/sitoa/version.cpp index 3b2050a..a9addcd 100644 --- a/plugins/sitoa/version.cpp +++ b/plugins/sitoa/version.cpp @@ -14,8 +14,8 @@ See the License for the specific language governing permissions and limitations #include #define SITOA_MAJOR_VERSION_NUM 5 -#define SITOA_MINOR_VERSION_NUM 2 -#define SITOA_FIX_VERSION L"1" +#define SITOA_MINOR_VERSION_NUM 3 +#define SITOA_FIX_VERSION L"0" CString GetSItoAVersion(bool in_addPlatform) From 6dd6da17cd6f9897f5b8872bf9ab4b2fc320f5c6 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Sun, 24 Mar 2019 16:00:32 +0100 Subject: [PATCH 22/98] rename ignore_motion_blur to ignore_motion --- plugins/sitoa/loader/Options.cpp | 2 +- plugins/sitoa/renderer/RendererOptions.cpp | 6 +++--- plugins/sitoa/renderer/RendererOptions.h | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/plugins/sitoa/loader/Options.cpp b/plugins/sitoa/loader/Options.cpp index 217b0eb..1274a74 100644 --- a/plugins/sitoa/loader/Options.cpp +++ b/plugins/sitoa/loader/Options.cpp @@ -737,7 +737,7 @@ void LoadOptionsParameters(AtNode* in_optionsNode, const Property &in_arnoldOpti CNodeSetter::SetBoolean(in_optionsNode, "ignore_subdivision", GetRenderOptions()->m_ignore_subdivision); CNodeSetter::SetBoolean(in_optionsNode, "ignore_displacement", GetRenderOptions()->m_ignore_displacement); CNodeSetter::SetBoolean(in_optionsNode, "ignore_bump", GetRenderOptions()->m_ignore_bump); - CNodeSetter::SetBoolean(in_optionsNode, "ignore_motion_blur", GetRenderOptions()->m_ignore_motion_blur); + CNodeSetter::SetBoolean(in_optionsNode, "ignore_motion", GetRenderOptions()->m_ignore_motion); CNodeSetter::SetBoolean(in_optionsNode, "ignore_smoothing", GetRenderOptions()->m_ignore_smoothing); CNodeSetter::SetBoolean(in_optionsNode, "ignore_sss", GetRenderOptions()->m_ignore_sss); CNodeSetter::SetBoolean(in_optionsNode, "ignore_dof", GetRenderOptions()->m_ignore_dof); diff --git a/plugins/sitoa/renderer/RendererOptions.cpp b/plugins/sitoa/renderer/RendererOptions.cpp index c1a7fc9..00e56db 100644 --- a/plugins/sitoa/renderer/RendererOptions.cpp +++ b/plugins/sitoa/renderer/RendererOptions.cpp @@ -209,7 +209,7 @@ void CRenderOptions::Read(const Property &in_cp) m_ignore_displacement = (bool)ParAcc_GetValue(in_cp, L"ignore_displacement", DBL_MAX); m_ignore_bump = (bool)ParAcc_GetValue(in_cp, L"ignore_bump", DBL_MAX); m_ignore_smoothing = (bool)ParAcc_GetValue(in_cp, L"ignore_smoothing", DBL_MAX); - m_ignore_motion_blur = (bool)ParAcc_GetValue(in_cp, L"ignore_motion_blur", DBL_MAX); + m_ignore_motion = (bool)ParAcc_GetValue(in_cp, L"ignore_motion", DBL_MAX); m_ignore_dof = (bool)ParAcc_GetValue(in_cp, L"ignore_dof", DBL_MAX); m_ignore_sss = (bool)ParAcc_GetValue(in_cp, L"ignore_sss", DBL_MAX); m_ignore_hair = (bool)ParAcc_GetValue(in_cp, L"ignore_hair", DBL_MAX); @@ -496,7 +496,7 @@ SITOA_CALLBACK CommonRenderOptions_Define(CRef& in_ctxt) cpset.AddParameter(L"ignore_displacement", CValue::siBool, siPersistable, L"", L"", false, CValue(), CValue(), CValue(), CValue(), p); cpset.AddParameter(L"ignore_bump", CValue::siBool, siPersistable, L"", L"", false, CValue(), CValue(), CValue(), CValue(), p); cpset.AddParameter(L"ignore_smoothing", CValue::siBool, siPersistable, L"", L"", false, CValue(), CValue(), CValue(), CValue(), p); - cpset.AddParameter(L"ignore_motion_blur", CValue::siBool, siPersistable, L"", L"", false, CValue(), CValue(), CValue(), CValue(), p); + cpset.AddParameter(L"ignore_motion", CValue::siBool, siPersistable, L"", L"", false, CValue(), CValue(), CValue(), CValue(), p); cpset.AddParameter(L"ignore_dof", CValue::siBool, siPersistable, L"", L"", false, CValue(), CValue(), CValue(), CValue(), p); cpset.AddParameter(L"ignore_sss", CValue::siBool, siPersistable, L"", L"", false, CValue(), CValue(), CValue(), CValue(), p); cpset.AddParameter(L"ignore_hair", CValue::siBool, siPersistable, L"", L"", false, CValue(), CValue(), CValue(), CValue(), p); @@ -1070,7 +1070,7 @@ SITOA_CALLBACK CommonRenderOptions_DefineLayout(CRef& in_ctxt) layout.AddItem(L"ignore_displacement", L"Displacement"); layout.AddItem(L"ignore_bump", L"Bump"); layout.AddItem(L"ignore_smoothing", L"Normal Smoothing"); - layout.AddItem(L"ignore_motion_blur", L"Motion Blur"); + layout.AddItem(L"ignore_motion", L"Motion"); layout.AddItem(L"ignore_dof", L"Depth of Field"); layout.AddItem(L"ignore_sss", L"Sub-Surface Scattering"); layout.AddItem(L"ignore_hair", L"Hair"); diff --git a/plugins/sitoa/renderer/RendererOptions.h b/plugins/sitoa/renderer/RendererOptions.h index 3ff5b8c..e9690c2 100644 --- a/plugins/sitoa/renderer/RendererOptions.h +++ b/plugins/sitoa/renderer/RendererOptions.h @@ -194,7 +194,7 @@ class CRenderOptions bool m_ignore_displacement; bool m_ignore_bump; bool m_ignore_smoothing; - bool m_ignore_motion_blur; + bool m_ignore_motion; bool m_ignore_dof; bool m_ignore_sss; bool m_ignore_hair; @@ -378,7 +378,7 @@ class CRenderOptions m_ignore_displacement(false), m_ignore_bump(false), m_ignore_smoothing(false), - m_ignore_motion_blur(false), + m_ignore_motion(false), m_ignore_dof(false), m_ignore_sss(false), m_ignore_hair(false), From 24c7bf382cea04f5c19043c729125a9495cda3ac Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Mon, 25 Mar 2019 00:26:41 +0100 Subject: [PATCH 23/98] add new ignore_motion_blur functionality added as Instantaneous Shutter --- plugins/sitoa/loader/Options.cpp | 1 + plugins/sitoa/renderer/RendererOptions.cpp | 13 ++++++++++--- plugins/sitoa/renderer/RendererOptions.h | 2 ++ 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/plugins/sitoa/loader/Options.cpp b/plugins/sitoa/loader/Options.cpp index 1274a74..44b2629 100644 --- a/plugins/sitoa/loader/Options.cpp +++ b/plugins/sitoa/loader/Options.cpp @@ -738,6 +738,7 @@ void LoadOptionsParameters(AtNode* in_optionsNode, const Property &in_arnoldOpti CNodeSetter::SetBoolean(in_optionsNode, "ignore_displacement", GetRenderOptions()->m_ignore_displacement); CNodeSetter::SetBoolean(in_optionsNode, "ignore_bump", GetRenderOptions()->m_ignore_bump); CNodeSetter::SetBoolean(in_optionsNode, "ignore_motion", GetRenderOptions()->m_ignore_motion); + CNodeSetter::SetBoolean(in_optionsNode, "ignore_motion_blur", GetRenderOptions()->m_ignore_motion_blur); // property is located in motion blur tab on PPG CNodeSetter::SetBoolean(in_optionsNode, "ignore_smoothing", GetRenderOptions()->m_ignore_smoothing); CNodeSetter::SetBoolean(in_optionsNode, "ignore_sss", GetRenderOptions()->m_ignore_sss); CNodeSetter::SetBoolean(in_optionsNode, "ignore_dof", GetRenderOptions()->m_ignore_dof); diff --git a/plugins/sitoa/renderer/RendererOptions.cpp b/plugins/sitoa/renderer/RendererOptions.cpp index 00e56db..912f7b6 100644 --- a/plugins/sitoa/renderer/RendererOptions.cpp +++ b/plugins/sitoa/renderer/RendererOptions.cpp @@ -146,6 +146,7 @@ void CRenderOptions::Read(const Property &in_cp) m_motion_step_deform = (int) ParAcc_GetValue(in_cp, L"motion_step_deform", DBL_MAX); m_exact_ice_mb = (bool)ParAcc_GetValue(in_cp, L"exact_ice_mb", DBL_MAX); + m_ignore_motion_blur = (bool)ParAcc_GetValue(in_cp, L"ignore_motion_blur", DBL_MAX); m_motion_shutter_length = (float)ParAcc_GetValue(in_cp, L"motion_shutter_length", DBL_MAX); m_motion_shutter_custom_start = (float)ParAcc_GetValue(in_cp, L"motion_shutter_custom_start", DBL_MAX); m_motion_shutter_custom_end = (float)ParAcc_GetValue(in_cp, L"motion_shutter_custom_end", DBL_MAX); @@ -433,6 +434,7 @@ SITOA_CALLBACK CommonRenderOptions_Define(CRef& in_ctxt) cpset.AddParameter(L"enable_motion_deform", CValue::siBool, siPersistable, L"", L"", false, CValue(), CValue(), CValue(), CValue(), p); cpset.AddParameter(L"motion_step_deform", CValue::siInt4, siPersistable, L"", L"", 2, 2, 200, 2, 15, p); cpset.AddParameter(L"exact_ice_mb", CValue::siBool, siPersistable, L"", L"", false, CValue(), CValue(), CValue(), CValue(), p); + cpset.AddParameter(L"ignore_motion_blur", CValue::siBool, siPersistable, L"", L"", false, CValue(), CValue(), CValue(), CValue(), p); cpset.AddParameter(L"motion_shutter_length", CValue::siDouble, siPersistable | siAnimatable, L"", L"", 0.5f , 0, 999999, 0, 2, p); cpset.AddParameter(L"motion_shutter_custom_start", CValue::siDouble, siPersistable | siAnimatable, L"", L"", -0.25f , -100, 100, -100, 100, p); cpset.AddParameter(L"motion_shutter_custom_end", CValue::siDouble, siPersistable | siAnimatable, L"", L"", 0.25f , -100, 100, -100, 100, p); @@ -898,6 +900,7 @@ SITOA_CALLBACK CommonRenderOptions_DefineLayout(CRef& in_ctxt) item = layout.AddItem(L"exact_ice_mb", L"Exact ICE Blur"); layout.AddGroup(L"Geometry Shutter", true, 0); + item = layout.AddItem(L"ignore_motion_blur", L"Instantaneous Shutter (overrides camera settings)"); CValueArray onFrame, shutterType; onFrame.Add(L"Start on Frame"); onFrame.Add(eMbPos_Start); onFrame.Add(L"Center on Frame"); onFrame.Add(eMbPos_Center); @@ -1326,6 +1329,7 @@ SITOA_CALLBACK CommonRenderOptions_PPGEvent(const CRef& in_ctxt) if (paramName == L"enable_motion_blur" || paramName == L"enable_motion_deform" || + paramName == L"ignore_motion_blur" || paramName == L"motion_shutter_onframe") MotionBlurTabLogic(cpset); @@ -1395,19 +1399,22 @@ void MotionBlurTabLogic(CustomProperty &in_cp) // Enabling / Disabling Blur settings bool transfOn = (bool)ParAcc_GetValue(in_cp, L"enable_motion_blur", DBL_MAX); bool defOn = (bool)ParAcc_GetValue(in_cp, L"enable_motion_deform", DBL_MAX); + bool ignoreMB = (bool)ParAcc_GetValue(in_cp, L"ignore_motion_blur", DBL_MAX); bool transfOrDefOn = transfOn || defOn; + bool shuttersOn = transfOrDefOn && !ignoreMB; int onFrame = (int)ParAcc_GetValue(in_cp, L"motion_shutter_onframe", DBL_MAX); - bool customOn = transfOrDefOn && (onFrame == eMbPos_Custom); - bool lengthOn = transfOrDefOn && (onFrame != eMbPos_Custom); + bool customOn = shuttersOn && (onFrame == eMbPos_Custom); + bool lengthOn = shuttersOn && (onFrame != eMbPos_Custom); ParAcc_GetParameter(in_cp, L"motion_step_transform").PutCapabilityFlag(siReadOnly, !transfOn); ParAcc_GetParameter(in_cp, L"motion_step_deform").PutCapabilityFlag(siReadOnly, !defOn); ParAcc_GetParameter(in_cp, L"exact_ice_mb").PutCapabilityFlag(siReadOnly, !defOn); + ParAcc_GetParameter(in_cp, L"ignore_motion_blur").PutCapabilityFlag(siReadOnly, !transfOrDefOn); + ParAcc_GetParameter(in_cp, L"motion_shutter_onframe").PutCapabilityFlag(siReadOnly, !shuttersOn); ParAcc_GetParameter(in_cp, L"motion_shutter_length").PutCapabilityFlag(siReadOnly, !lengthOn); ParAcc_GetParameter(in_cp, L"motion_shutter_custom_start").PutCapabilityFlag(siReadOnly, !customOn); ParAcc_GetParameter(in_cp, L"motion_shutter_custom_end").PutCapabilityFlag(siReadOnly, !customOn); - ParAcc_GetParameter(in_cp, L"motion_shutter_onframe").PutCapabilityFlag(siReadOnly, !transfOrDefOn); } diff --git a/plugins/sitoa/renderer/RendererOptions.h b/plugins/sitoa/renderer/RendererOptions.h index e9690c2..06f2946 100644 --- a/plugins/sitoa/renderer/RendererOptions.h +++ b/plugins/sitoa/renderer/RendererOptions.h @@ -131,6 +131,7 @@ class CRenderOptions bool m_enable_motion_deform; int m_motion_step_deform; bool m_exact_ice_mb; + bool m_ignore_motion_blur; float m_motion_shutter_length; float m_motion_shutter_custom_start; float m_motion_shutter_custom_end; @@ -316,6 +317,7 @@ class CRenderOptions m_motion_step_deform(2), m_exact_ice_mb(false), // new mb + m_ignore_motion_blur(false), m_motion_shutter_length(0.5f), m_motion_shutter_custom_start(-0.25f), m_motion_shutter_custom_end(0.25f), From ffee2bfe770e8514c0479e00b8d02ea242f2b784 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Mon, 25 Mar 2019 00:51:08 +0100 Subject: [PATCH 24/98] add visibility to supported lights --- plugins/helpers/ArnoldLightShaderDef.js | 41 +++++++++++++------------ 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/plugins/helpers/ArnoldLightShaderDef.js b/plugins/helpers/ArnoldLightShaderDef.js index c03bd54..7dd41f7 100644 --- a/plugins/helpers/ArnoldLightShaderDef.js +++ b/plugins/helpers/ArnoldLightShaderDef.js @@ -49,7 +49,7 @@ function XSIUnloadPlugin(in_reg) var lightLabelMinPixels = 100; var lightLabelPcg = 25; -function LightCommonParams(in_params, in_normalize, in_exposeColor, in_is_skydome) +function LightCommonParams(in_params, in_normalize, in_exposeColor, in_has_visibility, in_visible) { var h = SItoAShaderDefHelpers(); // helper object h.AddColor3 (in_params, "color", 1, 1, 1, true, in_exposeColor, true, h.UiLightColorGuid); @@ -64,10 +64,13 @@ function LightCommonParams(in_params, in_normalize, in_exposeColor, in_is_skydom h.AddColor3 (in_params, "shadow_color", 0, 0, 0, true, false, true); h.AddScalar (in_params, "shadow_density", 1, 0, 1000000, 0, 1, true, false, true); - if (in_is_skydome) + if (in_has_visibility) { - h.AddScalar (in_params, "camera", 1, 0, 1, 0, 1, true, false, true); - h.AddScalar (in_params, "transmission", 1, 0, 1, 0, 1, true, false, true); + var default_visibility = 0; + if (in_visible) + default_visibility = 1; + h.AddScalar (in_params, "camera", default_visibility, 0, 1, 0, 1, true, false, true); + h.AddScalar (in_params, "transmission", default_visibility, 0, 1, 0, 1, true, false, true); } h.AddScalar (in_params, "diffuse", 1, 0, 1, 0, 1, true, false, true); h.AddScalar (in_params, "specular", 1, 0, 1, 0, 1, true, false, true); @@ -98,10 +101,10 @@ function LightCommonLayoutColor(in_layout) in_layout.EndGroup(); } -function LightCommonLayoutContribution(in_layout, in_is_skydome) +function LightCommonLayoutContribution(in_layout, in_has_visibility) { in_layout.AddGroup("Contribution"); - if (in_is_skydome) + if (in_has_visibility) { item = in_layout.AddItem("camera", "Camera"); SetLabelPixelsAndPcg(item, lightLabelMinPixels, lightLabelPcg); @@ -261,7 +264,7 @@ function ArnoldLightShaders_arnold_cylinder_light_1_0_Define(in_ctxt) // INPUT params = shaderDef.InputParamDefs; - LightCommonParams(params, true, false, false); + LightCommonParams(params, true, false, true, false); // OUTPUT h.AddOutputColor4(shaderDef.OutputParamDefs); @@ -278,7 +281,7 @@ function arnold_cylinder_light_Layout(in_layout) in_layout.SetAttribute(siUIHelpFile, "https://support.solidangle.com/display/A5SItoAUG/Cylinder+Light"); LightCommonLayoutColor(in_layout); - LightCommonLayoutContribution(in_layout, false); + LightCommonLayoutContribution(in_layout, true); in_layout.AddGroup("Area"); LightCommonLayoutArea(in_layout); in_layout.EndGroup(); @@ -304,7 +307,7 @@ function ArnoldLightShaders_arnold_disk_light_1_0_Define(in_ctxt) // INPUT params = shaderDef.InputParamDefs; - LightCommonParams(params, true, false, false); + LightCommonParams(params, true, false, true, false); h.AddScalar(params, "spread", 1, 0, 1, 0, 1, true, false, true); // OUTPUT @@ -321,7 +324,7 @@ function arnold_disk_light_Layout(in_layout) in_layout.Clear(); in_layout.SetAttribute(siUIHelpFile, "https://support.solidangle.com/display/A5SItoAUG/Disk+Light"); LightCommonLayoutColor(in_layout); - LightCommonLayoutContribution(in_layout, false); + LightCommonLayoutContribution(in_layout, true); in_layout.AddGroup("Area"); LightCommonLayoutArea(in_layout); item = in_layout.AddItem("spread", "Spread"); @@ -350,7 +353,7 @@ function ArnoldLightShaders_arnold_distant_light_1_0_Define(in_ctxt) // INPUT params = shaderDef.InputParamDefs; - LightCommonParams(params, true, false, false); + LightCommonParams(params, true, false, false, false); h.AddScalar(params, "angle", 0, 0, 180, 0, 10, true, false, true); // OUTPUT @@ -395,7 +398,7 @@ function ArnoldLightShaders_arnold_mesh_light_1_0_Define(in_ctxt) // INPUT params = shaderDef.InputParamDefs; - LightCommonParams(params, true, true, false); + LightCommonParams(params, true, true, false, false); // OUTPUT h.AddOutputColor4(shaderDef.OutputParamDefs); @@ -438,7 +441,7 @@ function ArnoldLightShaders_arnold_photometric_light_1_0_Define(in_ctxt) // INPUT params = shaderDef.InputParamDefs; - LightCommonParams(params, true, false, false); + LightCommonParams(params, true, false, false, false); h.AddLightProfile(params, "filename"); h.AddScalar(params, "radius", 0, 0, 1000000, 0, 2, true, false, true); @@ -490,7 +493,7 @@ function ArnoldLightShaders_arnold_point_light_1_0_Define(in_ctxt) // INPUT params = shaderDef.InputParamDefs; - LightCommonParams(params, true, false, false); + LightCommonParams(params, true, false, true, false); h.AddScalar (params, "radius", 0, 0, 1000000, 0, 10, true, false, true); // OUTPUT @@ -508,7 +511,7 @@ function arnold_point_light_Layout(in_layout) in_layout.SetAttribute(siUIHelpFile, "https://support.solidangle.com/display/A5SItoAUG/Point+Light"); LightCommonLayoutColor(in_layout); - LightCommonLayoutContribution(in_layout, false); + LightCommonLayoutContribution(in_layout, true); in_layout.AddGroup("Area"); item = in_layout.AddItem("radius", "Radius"); SetLabelPixelsAndPcg(item, lightLabelMinPixels, lightLabelPcg); @@ -536,7 +539,7 @@ function ArnoldLightShaders_arnold_quad_light_1_0_Define(in_ctxt) // INPUT params = shaderDef.InputParamDefs; - LightCommonParams(params, true, true, false); + LightCommonParams(params, true, true, true, false); h.AddInteger(params, "resolution", 512, 1, 1000000, 1, 4096, true, false, true); h.AddScalar(params, "spread", 1, 0, 1, 0, 1, true, false, true); h.AddBoolean(params, "portal", false, true, false, true); @@ -558,7 +561,7 @@ function arnold_quad_light_Layout(in_layout) in_layout.SetAttribute(siUIHelpFile, "https://support.solidangle.com/display/A5SItoAUG/Quad+Light"); LightCommonLayoutColor(in_layout); - LightCommonLayoutContribution(in_layout, false); + LightCommonLayoutContribution(in_layout, true); in_layout.AddGroup("Area"); item = in_layout.AddItem("portal", "Portal"); SetLabelPixelsAndPcg(item, lightLabelMinPixels, lightLabelPcg); @@ -595,7 +598,7 @@ function ArnoldLightShaders_arnold_skydome_light_1_0_Define(in_ctxt) // INPUT params = shaderDef.InputParamDefs; - LightCommonParams(params, false, true, true); // no "normalize" param, yes texturable color, yes camera and transmission + LightCommonParams(params, false, true, true, true); // no "normalize" param, yes texturable color, yes camera and transmission, yes camera and transmission on by default h.AddInteger(params, "resolution", 1000, 1, 1000000, 1, 4096, true, false, true); h.AddInteger(params, "format", 1, 0, 2, 0, 2, true, false, true); h.AddInteger(params, "portal_mode", 1, 0, 2, 0, 2, true, false, true); @@ -655,7 +658,7 @@ function ArnoldLightShaders_arnold_spot_light_1_0_Define(in_ctxt) // INPUT params = shaderDef.InputParamDefs; - LightCommonParams(params, true, false, false); + LightCommonParams(params, true, false, false, false); h.AddScalar(params, "radius", 0, 0, 1000000, 0, 10, true, false, true); h.AddScalar(params, "lens_radius", 0, 0, 1000000, 0, 10); h.AddScalar(params, "cone_angle", 65, 0, 1000000, 0, 100); From 965b9af6e4889cc4341cd9ec7f5f6073e0399541 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Tue, 26 Mar 2019 00:50:38 +0100 Subject: [PATCH 25/98] add new coord_space parameters to camera_projection and changed the category from Texture to Utility --- shaders/metadata/arnold_shaders.mtd | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/shaders/metadata/arnold_shaders.mtd b/shaders/metadata/arnold_shaders.mtd index 09c3076..4cab424 100644 --- a/shaders/metadata/arnold_shaders.mtd +++ b/shaders/metadata/arnold_shaders.mtd @@ -248,7 +248,7 @@ soft.category STRING "Utility" ############################################################################## [node camera_projection] -soft.category STRING "Texture" +soft.category STRING "Utility" [attr camera] desc STRING "The projecting camera. Leave blank to use the default render camera." @@ -283,6 +283,14 @@ desc STRING "Use the shading normal for visibility tests instead of the " "boundaries that can produce seams if the render camera is used for the " "projection." +[attr coord_space] +desc STRING "Specifies the coordinate space to use." + +[attr pref_name] +desc STRING "Specify the name of the reference position user-data array. Previously, the name was hard-coded as 'Pref', which is still the default. The array type can be RGB/RGBA as well as VECTOR." + +[attr P] + ############################################################################## [node car_paint] soft.category STRING "Surface" From bfdb598fee5d998f4a38d963c8990b759a35f1e9 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Tue, 26 Mar 2019 00:55:14 +0100 Subject: [PATCH 26/98] add new matrix_interpolate shader and added desc to the existing matrix shaders --- plugins/helpers/ArnoldShaderDef.js | 3 ++ shaders/metadata/arnold_shaders.mtd | 54 +++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+) diff --git a/plugins/helpers/ArnoldShaderDef.js b/plugins/helpers/ArnoldShaderDef.js index 5ee9f3c..9bcf070 100644 --- a/plugins/helpers/ArnoldShaderDef.js +++ b/plugins/helpers/ArnoldShaderDef.js @@ -71,6 +71,7 @@ function XSILoadPlugin( in_reg ) in_reg.RegisterShader("layer_shader", 1, 0); in_reg.RegisterShader("length", 1, 0); in_reg.RegisterShader("log", 1, 0); + in_reg.RegisterShader("matrix_interpolate", 1, 0); in_reg.RegisterShader("matrix_multiply_vector", 1, 0); in_reg.RegisterShader("matrix_transform", 1, 0); in_reg.RegisterShader("matte", 1, 0); @@ -245,6 +246,8 @@ function Arnold_length_1_0_DefineInfo(in_ctxt) { return true; } function Arnold_length_1_0_Define(in_ctxt) { return true; } function Arnold_log_1_0_DefineInfo(in_ctxt) { return true; } function Arnold_log_1_0_Define(in_ctxt) { return true; } +function Arnold_matrix_interpolate_1_0_DefineInfo(in_ctxt) { return true; } +function Arnold_matrix_interpolate_1_0_Define(in_ctxt) { return true; } function Arnold_matrix_multiply_vector_1_0_DefineInfo(in_ctxt) { return true; } function Arnold_matrix_multiply_vector_1_0_Define(in_ctxt) { return true; } function Arnold_matrix_transform_1_0_DefineInfo(in_ctxt) { return true; } diff --git a/shaders/metadata/arnold_shaders.mtd b/shaders/metadata/arnold_shaders.mtd index 4cab424..caf8d59 100644 --- a/shaders/metadata/arnold_shaders.mtd +++ b/shaders/metadata/arnold_shaders.mtd @@ -1879,14 +1879,68 @@ desc STRING "Input to calcute logarithm of." [attr base] desc STRING "Base for use in logarithm calculation." +############################################################################## +[node matrix_interpolate] +soft.category STRING "Math" + +[attr matrix] +desc STRING "The transformation matrix." + +[attr type] +desc STRING "Determines how to interpolate the matrix. This parameter is set to 'time' by default, which uses the current time inside the shutter range and allows to get motion blurred matrices in the shading tree." + +[attr value] +desc STRING "The value used to interpolate between the matrices." +min FLOAT 0 +max FLOAT 1 + ############################################################################## [node matrix_multiply_vector] soft.category STRING "Math" +[attr input] +desc STRING "The vector to transform." + +[attr type] +desc STRING "Specify a vector type (point, vector or normal). For the vector and normal type, the translation component is ignored. For the normal type the inverse transpose matrix is used to avoid streching the normals." + +[attr matrix] +desc STRING "The transformation matrix." + ############################################################################## [node matrix_transform] soft.category STRING "Math" +[attr transform_order] +desc STRING "Transform order of the Scale, Rotation and Translate can be modified." + +[attr rotation_type] +desc STRING "Rotation can be set using Euler-Angles or Axis/Angle." + +[attr units] +desc STRING "Rotation units, set to Radians or Degrees." + +[attr rotation_order] +desc STRING "The axes order in which the rotations are applied." + +[attr rotation] +desc STRING "The rotation angles about the X, Y and Z axes." + +[attr axis] +desc STRING "The direction of the axis of rotation." + +[attr angle] +desc STRING "The rotation angle." + +[attr translate] +desc STRING "The XYZ translation vector used to compose the transformation matrix." + +[attr scale] +desc STRING "The XYZ scaling vector used to compose the transformation matrix." + +[attr pivot] +desc STRING "The XYZ controls that allow you to offset the pivot." + ############################################################################## [node matte] soft.category STRING "Surface" From fecf80f54dc0eeaa5c28ef5d4bd11706acf5c768 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Tue, 26 Mar 2019 00:57:04 +0100 Subject: [PATCH 27/98] add coat anisotropy to standard_surface --- shaders/metadata/arnold_shaders.mtd | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/shaders/metadata/arnold_shaders.mtd b/shaders/metadata/arnold_shaders.mtd index caf8d59..a87e330 100644 --- a/shaders/metadata/arnold_shaders.mtd +++ b/shaders/metadata/arnold_shaders.mtd @@ -2933,7 +2933,7 @@ soft.order STRING "BeginGroup Base base base_color diffuse_roughness metalness E "BeginGroup Specular specular specular_color specular_roughness specular_IOR specular_anisotropy specular_rotation EndGroup " "BeginGroup Transmission transmission transmission_color transmission_depth transmission_scatter transmission_scatter_anisotropy transmission_dispersion transmission_extra_roughness transmit_aovs EndGroup " "BeginGroup Subsurface subsurface subsurface_color subsurface_radius subsurface_scale subsurface_type subsurface_anisotropy EndGroup " -"BeginGroup Coat coat coat_color coat_roughness coat_IOR coat_normal coat_affect_color coat_affect_roughness EndGroup " +"BeginGroup Coat coat coat_color coat_roughness coat_IOR coat_normal coat_anisotropy coat_rotation coat_affect_color coat_affect_roughness EndGroup " "BeginGroup Sheen sheen sheen_color sheen_roughness EndGroup " "BeginGroup Thin_Film thin_film_thickness thin_film_IOR EndGroup " "BeginGroup Emission emission emission_color EndGroup " @@ -3136,6 +3136,18 @@ desc STRING "Affects the Fresnel blending of the coat over the base, so dependin soft.label STRING "Normal" soft.inspectable BOOL false +[attr coat_anisotropy] +desc STRING "Anisotropy." +soft.label STRING "Anisotropy" +min FLOAT 0 +max FLOAT 1 + +[attr coat_rotation] +desc STRING "Rotation." +soft.label STRING "Rotation" +softmin FLOAT 0 +softmax FLOAT 1 + [attr coat_affect_color] desc STRING "Affect Color." soft.label STRING "Affect Color" From eae462ae6502de883a7c59db140ed203440ac599 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Tue, 26 Mar 2019 00:57:56 +0100 Subject: [PATCH 28/98] allow negative values in transmission_extra_roughness --- shaders/metadata/arnold_shaders.mtd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shaders/metadata/arnold_shaders.mtd b/shaders/metadata/arnold_shaders.mtd index a87e330..3710d38 100644 --- a/shaders/metadata/arnold_shaders.mtd +++ b/shaders/metadata/arnold_shaders.mtd @@ -3053,7 +3053,7 @@ softmax FLOAT 100 [attr transmission_extra_roughness] desc STRING "Additional refraction blurriness." soft.label STRING "Extra Roughness" -min FLOAT 0 +min FLOAT -1 max FLOAT 1 [attr transmit_aovs] From 994693ba523171e1856a92cd86053e2be01bf59f Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Tue, 26 Mar 2019 00:58:28 +0100 Subject: [PATCH 29/98] add new uv_projection shader --- plugins/helpers/ArnoldShaderDef.js | 3 +++ shaders/metadata/arnold_shaders.mtd | 30 +++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) diff --git a/plugins/helpers/ArnoldShaderDef.js b/plugins/helpers/ArnoldShaderDef.js index 9bcf070..2e65174 100644 --- a/plugins/helpers/ArnoldShaderDef.js +++ b/plugins/helpers/ArnoldShaderDef.js @@ -130,6 +130,7 @@ function XSILoadPlugin( in_reg ) in_reg.RegisterShader("user_data_rgba", 1, 0); in_reg.RegisterShader("user_data_string", 1, 0); in_reg.RegisterShader("utility", 1, 0); + in_reg.RegisterShader("uv_projection", 1, 0); in_reg.RegisterShader("uv_transform", 1, 0); in_reg.RegisterShader("vector_displacement", 1, 0); // extra, clone of vector_map with float output in_reg.RegisterShader("vector_map", 1, 0); @@ -364,6 +365,8 @@ function Arnold_user_data_string_1_0_DefineInfo(in_ctxt) { return true; } function Arnold_user_data_string_1_0_Define(in_ctxt) { return true; } function Arnold_utility_1_0_DefineInfo(in_ctxt) { return true; } function Arnold_utility_1_0_Define(in_ctxt) { return true; } +function Arnold_uv_projection_1_0_DefineInfo(in_ctxt) { return true; } +function Arnold_uv_projection_1_0_Define(in_ctxt) { return true; } function Arnold_uv_transform_1_0_DefineInfo(in_ctxt) { return true; } function Arnold_uv_transform_1_0_Define(in_ctxt) { return true; } function Arnold_vector_displacement_1_0_DefineInfo(in_ctxt) { return true; } // extra, clone of vector_map with float output diff --git a/shaders/metadata/arnold_shaders.mtd b/shaders/metadata/arnold_shaders.mtd index 3710d38..df9725e 100644 --- a/shaders/metadata/arnold_shaders.mtd +++ b/shaders/metadata/arnold_shaders.mtd @@ -3994,6 +3994,36 @@ soft.label STRING "Front Material" desc STRING "The material when the surface normal is opposite to the camera." soft.label STRING "Back Material" +############################################################################## +[node uv_projection] +soft.category STRING "Utility" + +[attr projection_color] +desc STRING "The 2D texture to be used as a map." + +[attr projection_type] + +[attr cord_space] +desc STRING "Specifies the coordinate space to use." + +[attr pref_name] +desc STRING "Specify the name of the reference position user-data array. Previously, the name was hard-coded as 'Pref', which is still the default. The array type can be RGB/RGBA as well as VECTOR." + +[attr P] + +[attr u_angle] +desc STRING "Changes the U angle (for spherical and cylindrical mapping only)." +softmin FLOAT 0 +softmax FLOAT 360 + +[attr v_angle] +desc STRING "Changes the V angle (for spherical mapping only)." +softmin FLOAT 0 +softmax FLOAT 360 + +[attr matrix] +desc STRING "Defines the 3D texture’s positioning and orientation in world space." + ############################################################################## [node user_data_float] soft.category STRING "User Data" From 2caa6ca2b3838d76d3a6a14337d9e7c0ec131ff6 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Tue, 26 Mar 2019 20:31:23 +0100 Subject: [PATCH 30/98] change adaptive AA defaults to core defaults --- plugins/sitoa/renderer/RendererOptions.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/sitoa/renderer/RendererOptions.cpp b/plugins/sitoa/renderer/RendererOptions.cpp index 912f7b6..48267d3 100644 --- a/plugins/sitoa/renderer/RendererOptions.cpp +++ b/plugins/sitoa/renderer/RendererOptions.cpp @@ -411,8 +411,8 @@ SITOA_CALLBACK CommonRenderOptions_Define(CRef& in_ctxt) cpset.AddParameter(L"enable_progressive_render", CValue::siBool, siPersistable, L"", L"", false, CValue(), CValue(), CValue(), CValue(), p); cpset.AddParameter(L"enable_adaptive_sampling", CValue::siBool, siPersistable, L"", L"", false, CValue(), CValue(), CValue(), CValue(), p); - cpset.AddParameter(L"AA_samples_max", CValue::siInt4, siPersistable, L"", L"", 8, -3, 100, 0, 10, p); - cpset.AddParameter(L"AA_adaptive_threshold", CValue::siDouble, siPersistable, L"", L"", 0.05f, 0.0f, 1.0f, 0.0f, 100.0f, p); + cpset.AddParameter(L"AA_samples_max", CValue::siInt4, siPersistable, L"", L"", 20, -3, 1000, 0, 50, p); + cpset.AddParameter(L"AA_adaptive_threshold", CValue::siDouble, siPersistable, L"", L"", 0.015f, 0.0f, 1.0f, 0.0f, 0.1f, p); cpset.AddParameter(L"indirect_specular_blur", CValue::siDouble, siPersistable | siAnimatable, L"", L"", 1.0f, 0.0f, 2.0f, 0.0f, 100.0f, p); From 3663a8cfbd374aa7f47294a226070f222985fa6b Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Tue, 26 Mar 2019 20:32:42 +0100 Subject: [PATCH 31/98] change shader label width so that color controls aren't collapsed by default --- plugins/sitoa/loader/ShaderDef.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/sitoa/loader/ShaderDef.cpp b/plugins/sitoa/loader/ShaderDef.cpp index 0100b13..8eaa095 100644 --- a/plugins/sitoa/loader/ShaderDef.cpp +++ b/plugins/sitoa/loader/ShaderDef.cpp @@ -378,7 +378,7 @@ void CShaderDefParameter::Layout(PPGLayout &in_layout) dropdown.Add(enum_string); dropdown.Add(enum_string); } item = in_layout.AddEnumControl(m_name, dropdown, label, siControlCombo); - item.PutAttribute(siUILabelMinPixels, 120); + item.PutAttribute(siUILabelMinPixels, 110); item.PutAttribute(siUILabelPercentage, 35); } else @@ -390,7 +390,7 @@ void CShaderDefParameter::Layout(PPGLayout &in_layout) if (m_arrayType != AI_TYPE_UNDEFINED) label+= L" (array)"; item = in_layout.AddItem(m_name, label); - item.PutAttribute(siUILabelMinPixels, 120); + item.PutAttribute(siUILabelMinPixels, 110); item.PutAttribute(siUILabelPercentage, 35); } From 0854667bb461367ba5f580a038caf33a38054520 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Tue, 26 Mar 2019 22:27:19 +0100 Subject: [PATCH 32/98] Revert "Fix/closure shader inspect" --- plugins/sitoa/loader/ShaderDef.cpp | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/plugins/sitoa/loader/ShaderDef.cpp b/plugins/sitoa/loader/ShaderDef.cpp index 0100b13..518f8a9 100644 --- a/plugins/sitoa/loader/ShaderDef.cpp +++ b/plugins/sitoa/loader/ShaderDef.cpp @@ -736,22 +736,7 @@ void CShaderDefShader::Layout() } // unfortunately the following does not work (in the case the definition already exists) else // if there is no specific desc metadata, set the help to the shader page - layout.PutAttribute(siUIHelpFile, m_has_desc ? m_desc : SITOA_SHADERS_URL); - - // setup ppg logic - layout.PutLanguage(L"JScript"); - if (m_name == L"closure") - { - // github issue #33 - // for closure connector node whenever it's inspected show the shader connected to it - layout.PutLogic( - L"function OnInit()\n" - L"{\n" - L" var src = PPG.closure.Source;\n" - L" if (src != null) InspectObj(src.Parent);\n" - L"}\n" - ); - } + layout.PutAttribute(siUIHelpFile, m_has_desc ? m_desc : SITOA_SHADERS_URL); } From 599d1d87baf224b645093264f9ac0a8f4941d83d Mon Sep 17 00:00:00 2001 From: Steven Caron Date: Tue, 26 Mar 2019 16:45:51 -0700 Subject: [PATCH 33/98] refined LoadShaderParameter function with better support for node arrays since we are reusing shader parsing functions the operator's 'inputs' parameter was using the wrong method for node arrays, the existing code would call AiNodeLink on each array item. this was causing arnold to spit back warnings about not being able to link the nodes. note about this implementation... the array is allocated and set prior to parsing the array values, this means we need to retrieve the array at a later time once the value of the array item is known. then we can set that value in the array and set it on the node again. --- plugins/sitoa/common/ParamsShader.cpp | 54 +++++++++++---------------- 1 file changed, 21 insertions(+), 33 deletions(-) diff --git a/plugins/sitoa/common/ParamsShader.cpp b/plugins/sitoa/common/ParamsShader.cpp index 4395d6d..10fc98d 100644 --- a/plugins/sitoa/common/ParamsShader.cpp +++ b/plugins/sitoa/common/ParamsShader.cpp @@ -175,10 +175,27 @@ CStatus LoadShaderParameter(AtNode* in_node, const CString &in_entryName, Parame CNodeSetter::SetPointer(in_node, paramScriptName.GetAsciiString(), shaderLinked); else { - if (in_arrayElement != -1) - paramScriptName = in_arrayParamName + L"[" + CString(CValue(in_arrayElement).GetAsText()) + L"]"; + // if we have an arrayParamName then let's get the arnold array type + if(!in_arrayParamName.IsEmpty()) + paramType = GetArnoldParameterType(in_node, in_arrayParamName.GetAsciiString(), true); - AiNodeLink(shaderLinked, paramScriptName.GetAsciiString(), in_node); + // if we have an arnold node array type and in_arrayElement was passed in + if (paramType == AI_TYPE_NODE && in_arrayElement != -1) + { + AtArray* nodes = AiNodeGetArray(in_node, in_arrayParamName.GetAsciiString()); + if (nodes) + { + AiArraySetPtr(nodes, in_arrayElement, shaderLinked); + AiNodeSetArray(in_node, in_arrayParamName.GetAsciiString(), nodes); + } + } + else + { + if (in_arrayElement != -1) + paramScriptName = in_arrayParamName + L"[" + CString(CValue(in_arrayElement).GetAsText()) + L"]"; + + AiNodeLink(shaderLinked, paramScriptName.GetAsciiString(), in_node); + } } } else if (sourceID == siShaderArrayParameterID) @@ -188,7 +205,7 @@ CStatus LoadShaderParameter(AtNode* in_node, const CString &in_entryName, Parame // in certain cases, like 'lights' in the toon shader, // we have an array parameter in the shaderdef but the node input in Arnold is a string // let's itterate over the array and build a semicolon separated string of the objects - int paramType = GetArnoldParameterType(in_node, in_param.GetScriptName().GetAsciiString(), true); + int paramType = GetArnoldParameterType(in_node, in_param.GetScriptName().GetAsciiString()); if (paramType == AI_TYPE_STRING) { const char* aiParamName = in_param.GetScriptName().GetAsciiString(); @@ -215,35 +232,6 @@ CStatus LoadShaderParameter(AtNode* in_node, const CString &in_entryName, Parame } CNodeSetter::SetString(in_node, aiParamName, paramValue.GetAsciiString()); } - else if (paramType == AI_TYPE_NODE) - { - CRefArray connectedShadersArray; - if (paramArray.GetCount() > 0) - { - for (LONG i=0; i 0) - { - AtArray* shadersArray = AiArrayAllocate(connectedShadersArray.GetCount(), 1, AI_TYPE_NODE); - for (LONG i=0; i Date: Thu, 28 Mar 2019 11:11:22 -0700 Subject: [PATCH 34/98] implement operators connected to the output shader stack this is an alternative method for implementing operators which will use a dummy shader connected to the output shader stack. this works better with IPR --- plugins/helpers/ArnoldShaderDef.js | 28 ++++++++++ plugins/helpers/ArnoldShaderDefHelpers.js | 7 +++ plugins/sitoa/loader/Operators.cpp | 59 ++++++++++++++++---- plugins/sitoa/loader/Shaders.cpp | 3 + plugins/sitoa/renderer/IprOperators.cpp | 67 +++++++++++++++++++---- plugins/sitoa/renderer/IprShader.cpp | 3 + 6 files changed, 145 insertions(+), 22 deletions(-) diff --git a/plugins/helpers/ArnoldShaderDef.js b/plugins/helpers/ArnoldShaderDef.js index 389e841..d2b8e48 100644 --- a/plugins/helpers/ArnoldShaderDef.js +++ b/plugins/helpers/ArnoldShaderDef.js @@ -138,6 +138,7 @@ function XSILoadPlugin( in_reg ) in_reg.RegisterShader("volume_sample_rgb", 1, 0); in_reg.RegisterShader("wireframe", 1, 0); // operators + in_reg.RegisterShader("operator", 1, 0); in_reg.RegisterShader("materialx", 1, 0); in_reg.RegisterShader("merge", 1, 0); in_reg.RegisterShader("set_parameter", 1, 0); @@ -539,3 +540,30 @@ function physical_sky_RemoveExpression_OnClicked() RemoveAnimation(pset + ".Z.y", null, null, null, null, null); RemoveAnimation(pset + ".Z.z", null, null, null, null, null); } + +function Arnold_operator_1_0_DefineInfo(in_ctxt) +{ + in_ctxt.SetAttribute("DisplayName", "operator"); + in_ctxt.SetAttribute("Category", "Arnold/Operators"); + return true; +} + +function Arnold_operator_1_0_Define(in_ctxt) +{ + var h = SItoAShaderDefHelpers(); // helper object + + var shaderDef = in_ctxt.GetAttribute("Definition"); + shaderDef.AddShaderFamily(siShaderFamilyTexture); + + // INPUT + params = shaderDef.InputParamDefs; + h.AddNode(params, "operator"); + + // OUTPUT + h.AddOutputColor4(shaderDef.OutputParamDefs); + + // Renderer definition + h.AddArnoldRendererDef(shaderDef); + + return true; +} diff --git a/plugins/helpers/ArnoldShaderDefHelpers.js b/plugins/helpers/ArnoldShaderDefHelpers.js index f50f1d3..af35eec 100644 --- a/plugins/helpers/ArnoldShaderDefHelpers.js +++ b/plugins/helpers/ArnoldShaderDefHelpers.js @@ -202,6 +202,13 @@ function ShaderHelperObj() var paramDef = in_params.AddParamDef(in_name, siShaderDataTypeImage, paramOptions); } + this.AddNode = function(in_params, in_name) + { + paramOptions = XSIFactory.CreateShaderParamDefOptions(); + this.SetCapability(paramOptions, false, true, false); + var paramDef = in_params.AddParamDef(in_name, siShaderDataTypeReference, paramOptions); + } + this.AddOutputColor3 = function(in_params) { paramOptions = XSIFactory.CreateShaderParamDefOptions(); diff --git a/plugins/sitoa/loader/Operators.cpp b/plugins/sitoa/loader/Operators.cpp index 71c8d2f..bda8aba 100644 --- a/plugins/sitoa/loader/Operators.cpp +++ b/plugins/sitoa/loader/Operators.cpp @@ -17,6 +17,7 @@ See the License for the specific language governing permissions and limitations #include #include #include +#include // Load the operators connected to a RenderPass into Arnold // @@ -28,20 +29,58 @@ CStatus LoadPassOperator(double in_frame) Pass pass(Application().GetActiveProject().GetActiveScene().GetActivePass()); - CRef operatorRef; - operatorRef.Set(pass.GetFullName() + L".operator"); - Parameter operatorParam(operatorRef); + // CRef operatorRef; + // operatorRef.Set(pass.GetFullName() + L".operator"); + // Parameter operatorParam(operatorRef); + + // AtNode* options = AiUniverseGetOptions(); + + // Shader operatorShader = GetConnectedShader(operatorParam); + // if (operatorShader.IsValid()) + // { + // AtNode* operatorNode = LoadShader(operatorShader, in_frame, pass.GetRef(), RECURSE_FALSE); + + // if (operatorNode) + // CNodeSetter::SetPointer(options, "operator", operatorNode); + // } + + CRef outputStackRef; + outputStackRef.Set(pass.GetFullName() + L".OutputShaderStack"); + ShaderArrayParameter arrayParam = ShaderArrayParameter(outputStackRef); AtNode* options = AiUniverseGetOptions(); - Shader operatorShader = GetConnectedShader(operatorParam); - if (operatorShader.IsValid()) - { - AtNode* operatorNode = LoadShader(operatorShader, in_frame, pass.GetRef(), RECURSE_FALSE); + if (arrayParam.GetCount() > 0) + { + Shader operatorShader; + for (LONG i=0; i #include #include +#include // Update the operators connected to a RenderPass into Arnold // @@ -28,22 +29,64 @@ CStatus UpdatePassOperator(const Pass &in_pass, double in_frame) CStatus status(CStatus::OK); - CRef operatorRef; - operatorRef.Set(in_pass.GetFullName() + L".operator"); - Parameter operatorParam(operatorRef); + // CRef operatorRef; + // operatorRef.Set(in_pass.GetFullName() + L".operator"); + // Parameter operatorParam(operatorRef); + + // AtNode* options = AiUniverseGetOptions(); + + // Shader operatorShader = GetConnectedShader(operatorParam); + // if (operatorShader.IsValid()) + // { + // AtNode* operatorNode = UpdateShader(operatorShader, in_frame); + + // if (operatorNode) + // CNodeSetter::SetPointer(options, "operator", operatorNode); + // } + // else + // CNodeSetter::SetPointer(options, "operator", NULL); + + CRef outputStackRef; + outputStackRef.Set(in_pass.GetFullName() + L".OutputShaderStack"); + ShaderArrayParameter arrayParam = ShaderArrayParameter(outputStackRef); AtNode* options = AiUniverseGetOptions(); - Shader operatorShader = GetConnectedShader(operatorParam); - if (operatorShader.IsValid()) - { - AtNode* operatorNode = UpdateShader(operatorShader, in_frame); + if (arrayParam.GetCount() > 0) + { + Shader operatorShader; + for (LONG i=0; i Date: Thu, 28 Mar 2019 12:36:38 -0700 Subject: [PATCH 35/98] behavior of GetConnectedShader wasn't working well for this case GetConnectedShader function wants to return the node that owns the parameter if nothing is connected. in this case we never want to export the dummy operator shader node. --- plugins/sitoa/loader/Operators.cpp | 19 ++---------------- plugins/sitoa/renderer/IprOperators.cpp | 26 ++++--------------------- 2 files changed, 6 insertions(+), 39 deletions(-) diff --git a/plugins/sitoa/loader/Operators.cpp b/plugins/sitoa/loader/Operators.cpp index bda8aba..77b282b 100644 --- a/plugins/sitoa/loader/Operators.cpp +++ b/plugins/sitoa/loader/Operators.cpp @@ -29,21 +29,6 @@ CStatus LoadPassOperator(double in_frame) Pass pass(Application().GetActiveProject().GetActiveScene().GetActivePass()); - // CRef operatorRef; - // operatorRef.Set(pass.GetFullName() + L".operator"); - // Parameter operatorParam(operatorRef); - - // AtNode* options = AiUniverseGetOptions(); - - // Shader operatorShader = GetConnectedShader(operatorParam); - // if (operatorShader.IsValid()) - // { - // AtNode* operatorNode = LoadShader(operatorShader, in_frame, pass.GetRef(), RECURSE_FALSE); - - // if (operatorNode) - // CNodeSetter::SetPointer(options, "operator", operatorNode); - // } - CRef outputStackRef; outputStackRef.Set(pass.GetFullName() + L".OutputShaderStack"); ShaderArrayParameter arrayParam = ShaderArrayParameter(outputStackRef); @@ -72,7 +57,7 @@ CStatus LoadPassOperator(double in_frame) { // get what's connected to that dummy shader's operator parameter Parameter operatorParam = operatorShader.GetParameter(L"operator"); - operatorShader = GetConnectedShader(operatorParam); + operatorShader = GetShaderFromSource(operatorParam.GetSource()); if (operatorShader.IsValid()) { AtNode* operatorNode = LoadShader(operatorShader, in_frame, pass.GetRef(), RECURSE_FALSE); @@ -83,4 +68,4 @@ CStatus LoadPassOperator(double in_frame) } } return status; -} \ No newline at end of file +} diff --git a/plugins/sitoa/renderer/IprOperators.cpp b/plugins/sitoa/renderer/IprOperators.cpp index 6b7e5e1..8bcb914 100644 --- a/plugins/sitoa/renderer/IprOperators.cpp +++ b/plugins/sitoa/renderer/IprOperators.cpp @@ -12,6 +12,7 @@ See the License for the specific language governing permissions and limitations #include "common/ParamsShader.h" #include "renderer/IprShader.h" #include "renderer/Renderer.h" +#include "loader/Operators.h" #include #include @@ -25,27 +26,8 @@ See the License for the specific language governing permissions and limitations // CStatus UpdatePassOperator(const Pass &in_pass, double in_frame) { - GetMessageQueue()->LogMsg(L"[sitoa] UpdatePassOperator"); - CStatus status(CStatus::OK); - // CRef operatorRef; - // operatorRef.Set(in_pass.GetFullName() + L".operator"); - // Parameter operatorParam(operatorRef); - - // AtNode* options = AiUniverseGetOptions(); - - // Shader operatorShader = GetConnectedShader(operatorParam); - // if (operatorShader.IsValid()) - // { - // AtNode* operatorNode = UpdateShader(operatorShader, in_frame); - - // if (operatorNode) - // CNodeSetter::SetPointer(options, "operator", operatorNode); - // } - // else - // CNodeSetter::SetPointer(options, "operator", NULL); - CRef outputStackRef; outputStackRef.Set(in_pass.GetFullName() + L".OutputShaderStack"); ShaderArrayParameter arrayParam = ShaderArrayParameter(outputStackRef); @@ -74,7 +56,7 @@ CStatus UpdatePassOperator(const Pass &in_pass, double in_frame) { // get what's connected to that dummy shader's operator parameter Parameter operatorParam = operatorShader.GetParameter(L"operator"); - operatorShader = GetConnectedShader(operatorParam); + operatorShader = GetShaderFromSource(operatorParam.GetSource()); if (operatorShader.IsValid()) { AtNode* operatorNode = UpdateShader(operatorShader, in_frame); @@ -83,10 +65,10 @@ CStatus UpdatePassOperator(const Pass &in_pass, double in_frame) CNodeSetter::SetPointer(options, "operator", operatorNode); } else - CNodeSetter::SetPointer(options, "operator", NULL); + CNodeSetter::SetPointer(options, "operator", NULL); } else CNodeSetter::SetPointer(options, "operator", NULL); } return status; -} \ No newline at end of file +} From 61e61b5771369cc4d67c986b2cb17a41f2ba44cc Mon Sep 17 00:00:00 2001 From: Steven Caron Date: Thu, 28 Mar 2019 12:52:06 -0700 Subject: [PATCH 36/98] removed custom port from the pass so bummed this didn't work! --- plugins/sitoa/renderer/Renderer.cpp | 23 ----------------------- 1 file changed, 23 deletions(-) diff --git a/plugins/sitoa/renderer/Renderer.cpp b/plugins/sitoa/renderer/Renderer.cpp index 3245ce1..9131c4a 100644 --- a/plugins/sitoa/renderer/Renderer.cpp +++ b/plugins/sitoa/renderer/Renderer.cpp @@ -211,29 +211,6 @@ SITOA_CALLBACK ArnoldRender_Query(CRef &in_ctxt) return CStatus::OK; } -// github issue #19 -// support for operators -SITOA_CALLBACK ArnoldRender_Define(CRef &in_ctxt) -{ - Context ctxt(in_ctxt); - - ShaderDef shaderDef(ctxt.GetAttribute(L"Definition")); - ShaderParamDefContainer inputDefs = shaderDef.GetInputParamDefs(); - - ShaderParamDef renderPassDef = inputDefs.GetParamDefByName("pass"); - - Factory factory = Application().GetFactory(); - ShaderParamDefOptions paramOptions = ShaderParamDefOptions(factory.CreateShaderParamDefOptions()); - paramOptions.SetTexturable(true); - - ShaderStructParamDef structParam(renderPassDef); - ShaderParamDefContainer container = structParam.GetSubParamDefs(); - - container.AddParamDef(L"operator", siShaderDataTypeReference, paramOptions); - - return CStatus::OK; -} - LockSceneData::LockSceneData() : m_renderer((Renderer) GetRenderInstance()->GetRendererRef()) { From 92f393283599e68b534a951a5e09706bf8463ea6 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Thu, 28 Mar 2019 20:52:29 +0100 Subject: [PATCH 37/98] bump minimum arnold version --- README.md | 4 ++-- config/custom_linux.py | 2 +- config/custom_windows.py | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index b7d76df..f8359d9 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ under an Apache 2.0 open source license. #### Requirements * Softimage 2015 SP1 -* Arnold 5.3.0.0 or newer +* Arnold 5.3.0.1 or newer * Python 2.6 or newer * Visual Studio 2012 (Windows) * GCC 4.2.4 (Linux) @@ -65,7 +65,7 @@ VS_HOME = r'C:/Program Files (x86)/Microsoft Visual Studio 11.0/VC' WINDOWS_KIT = r'C:/Program Files (x86)/Windows Kits/8.0' XSISDK_ROOT = r'C:/Program Files/Autodesk/Softimage 2015/XSISDK' -ARNOLD_HOME = r'C:/SolidAngle/Arnold-5.3.0.0/win64' +ARNOLD_HOME = r'C:/SolidAngle/Arnold-5.3.0.1/win64' TARGET_WORKGROUP_PATH = r'./Softimage_2015/Addons/SItoA' diff --git a/config/custom_linux.py b/config/custom_linux.py index beb7625..1ac54c7 100644 --- a/config/custom_linux.py +++ b/config/custom_linux.py @@ -6,7 +6,7 @@ SHCXX = r'/usr/bin/gcc-4.2.4/bin/gcc-4.2.4' XSISDK_ROOT = r'/usr/Softimage/Softimage_2015/XSISDK' -ARNOLD_HOME = r'/usr/SolidAngle/Arnold-5.3.0.0/linux' +ARNOLD_HOME = r'/usr/SolidAngle/Arnold-5.3.0.1/linux' TARGET_WORKGROUP_PATH = './Softimage_2015/Addons/SItoA' diff --git a/config/custom_windows.py b/config/custom_windows.py index 563eb84..b6a8e78 100644 --- a/config/custom_windows.py +++ b/config/custom_windows.py @@ -9,7 +9,7 @@ WINDOWS_KIT = r'C:/Program Files (x86)/Windows Kits/8.0' XSISDK_ROOT = r'C:/Program Files/Autodesk/Softimage 2015/XSISDK' -ARNOLD_HOME = r'C:/SolidAngle/Arnold-5.3.0.0/win64' +ARNOLD_HOME = r'C:/SolidAngle/Arnold-5.3.0.1/win64' TARGET_WORKGROUP_PATH = r'./Softimage_2015/Addons/SItoA' From 57dd3a4734e6a28020b856a4e1c53be30c8a1d85 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Thu, 28 Mar 2019 20:57:26 +0100 Subject: [PATCH 38/98] add gpu device options --- plugins/sitoa/loader/Options.cpp | 21 ++++++++++++++++++--- plugins/sitoa/renderer/RendererOptions.cpp | 18 ++++++++++++++++-- plugins/sitoa/renderer/RendererOptions.h | 4 ++++ 3 files changed, 38 insertions(+), 5 deletions(-) diff --git a/plugins/sitoa/loader/Options.cpp b/plugins/sitoa/loader/Options.cpp index 44b2629..5ec6530 100644 --- a/plugins/sitoa/loader/Options.cpp +++ b/plugins/sitoa/loader/Options.cpp @@ -800,9 +800,24 @@ void LoadOptionsParameters(AtNode* in_optionsNode, const Property &in_arnoldOpti int nb_threads = GetRenderOptions()->m_autodetect_threads ? 0 : GetRenderOptions()->m_threads; CNodeSetter::SetInt(in_optionsNode, "threads", nb_threads); - // GPU devices - CNodeSetter::SetString(in_optionsNode, "gpu_default_names", GetRenderOptions()->m_gpu_default_names.GetAsciiString()); - CNodeSetter::SetInt(in_optionsNode, "gpu_default_min_memory_MB", GetRenderOptions()->m_gpu_default_min_memory_MB); + // Devices + CNodeSetter::SetString(in_optionsNode, "render_device", GetRenderOptions()->m_render_device.GetAsciiString()); + CNodeSetter::SetString(in_optionsNode, "render_device_fallback", GetRenderOptions()->m_render_device_fallback.GetAsciiString()); + bool gpuRender = (GetRenderOptions()->m_render_device.GetAsciiString() == "GPU"); + bool optixDenoiser = GetRenderOptions()->m_use_optix_on_main; + + // For GPU render, we want to force options.enable_progressive_render to be ON, even if its value is ignored by Arnold. + // At least we can take this parameter into account later on, for example when IPR needs to do special things depending on + // whether this option is enabled or not. See MtoA #3627 + if (gpuRender && Application().IsInteractive()) + CNodeSetter::SetBoolean(in_optionsNode, "enable_progressive_render", true); + + // Only export GPU settings if we use a GPU for something; + if (gpuRender || optixDenoiser) + { + CNodeSetter::SetString(in_optionsNode, "gpu_default_names", GetRenderOptions()->m_gpu_default_names.GetAsciiString()); + CNodeSetter::SetInt(in_optionsNode, "gpu_default_min_memory_MB", GetRenderOptions()->m_gpu_default_min_memory_MB); + } // #680 LoadUserOptions(in_optionsNode, in_arnoldOptions, in_frame); diff --git a/plugins/sitoa/renderer/RendererOptions.cpp b/plugins/sitoa/renderer/RendererOptions.cpp index 48267d3..cf7caaa 100644 --- a/plugins/sitoa/renderer/RendererOptions.cpp +++ b/plugins/sitoa/renderer/RendererOptions.cpp @@ -35,6 +35,8 @@ void CRenderOptions::Read(const Property &in_cp) m_autodetect_threads = (bool)ParAcc_GetValue(in_cp, L"autodetect_threads", DBL_MAX); m_threads = (int) ParAcc_GetValue(in_cp, L"threads", DBL_MAX); + m_render_device = ParAcc_GetValue(in_cp, L"render_device", DBL_MAX).GetAsText(); + m_render_device_fallback = ParAcc_GetValue(in_cp, L"render_device_fallback", DBL_MAX).GetAsText(); m_gpu_default_names = ParAcc_GetValue(in_cp, L"gpu_default_names", DBL_MAX).GetAsText(); m_gpu_default_min_memory_MB = (int) ParAcc_GetValue(in_cp, L"gpu_default_min_memory_MB", DBL_MAX); @@ -314,6 +316,8 @@ SITOA_CALLBACK CommonRenderOptions_Define(CRef& in_ctxt) cpset.AddParameter(L"autodetect_threads", CValue::siBool, siPersistable, L"", L"", true, CValue(), CValue(), CValue(), CValue(), p); cpset.AddParameter(L"threads", CValue::siInt4, siPersistable, L"", L"", 4, -AI_MAX_THREADS, AI_MAX_THREADS, 1, AI_MAX_THREADS, p); + cpset.AddParameter(L"render_device", CValue::siString, siPersistable, L"", L"", L"CPU", CValue(), CValue(), CValue(), CValue(), p); + cpset.AddParameter(L"render_device_fallback", CValue::siString, siPersistable, L"", L"", L"error", CValue(), CValue(), CValue(), CValue(), p); cpset.AddParameter(L"gpu_default_names", CValue::siString, siPersistable, L"", L"", L"*", CValue(), CValue(), CValue(), CValue(), p); cpset.AddParameter(L"gpu_default_min_memory_MB", CValue::siInt4, siPersistable, L"", L"", 512, 0, 10000000, 256, 1024, p); @@ -614,10 +618,20 @@ SITOA_CALLBACK CommonRenderOptions_DefineLayout(CRef& in_ctxt) item.PutAttribute(siUILabelPercentage, 100); layout.EndGroup(); layout.AddGroup(L"Devices"); + CValueArray devices; + devices.Add(L"CPU"); devices.Add(L"CPU"); + devices.Add(L"GPU (BETA)"); devices.Add(L"GPU"); + item = layout.AddEnumControl(L"render_device", devices, L"Render Device", siControlCombo); + item.PutAttribute(siUILabelMinPixels, 120); + CValueArray device_fallbacks; + device_fallbacks.Add(L"error"); device_fallbacks.Add(L"error"); + device_fallbacks.Add(L"CPU"); device_fallbacks.Add(L"CPU"); + item = layout.AddEnumControl(L"render_device_fallback", device_fallbacks, L"Render Device Fallback", siControlCombo); + item.PutAttribute(siUILabelMinPixels, 120); item = layout.AddItem(L"gpu_default_names", L"GPU Names"); - item.PutAttribute(siUILabelMinPixels, 100); + item.PutAttribute(siUILabelMinPixels, 120); item = layout.AddItem(L"gpu_default_min_memory_MB", L"Min. Memory (MB)"); - item.PutAttribute(siUILabelMinPixels, 100); + item.PutAttribute(siUILabelMinPixels, 120); layout.EndGroup(); layout.AddGroup(L"Buckets", true, 0); CValueArray scanning; diff --git a/plugins/sitoa/renderer/RendererOptions.h b/plugins/sitoa/renderer/RendererOptions.h index 06f2946..24e0a22 100644 --- a/plugins/sitoa/renderer/RendererOptions.h +++ b/plugins/sitoa/renderer/RendererOptions.h @@ -46,6 +46,8 @@ class CRenderOptions // system bool m_autodetect_threads; int m_threads; + CString m_render_device; + CString m_render_device_fallback; CString m_gpu_default_names; int m_gpu_default_min_memory_MB; CString m_bucket_scanning; @@ -235,6 +237,8 @@ class CRenderOptions // system m_autodetect_threads(true), m_threads(4), + m_render_device(L"CPU"), + m_render_device_fallback(L"error"), m_gpu_default_names(L"*"), m_gpu_default_min_memory_MB(512), m_bucket_scanning(L"spiral"), From 10e862778eb26e8ed9865afb9744ffb6a3a322a5 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Thu, 28 Mar 2019 20:59:26 +0100 Subject: [PATCH 39/98] get progressive enabled from arnold --- plugins/sitoa/renderer/RenderInstance.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/plugins/sitoa/renderer/RenderInstance.cpp b/plugins/sitoa/renderer/RenderInstance.cpp index 605e83b..e4c6c2d 100644 --- a/plugins/sitoa/renderer/RenderInstance.cpp +++ b/plugins/sitoa/renderer/RenderInstance.cpp @@ -225,8 +225,11 @@ int CRenderInstance::RenderProgressiveScene() aa_steps.insert(-2); if ((aa_max > -1) && GetRenderOptions()->m_progressive_minus1) aa_steps.insert(-1); + + AtNode* options = AiUniverseGetOptions(); + // if progressive rendering, ignore the 1 aa step because that is already the first step in progressive - if (!GetRenderOptions()->m_enable_progressive_render) + if (!AiNodeGetBool(options, "enable_progressive_render")) { if ((aa_max > 1) && GetRenderOptions()->m_progressive_plus1) aa_steps.insert(1); @@ -235,7 +238,6 @@ int CRenderInstance::RenderProgressiveScene() aa_steps.insert(aa_max); // the main value for aa, so aa_steps is never empty, and aaMax will always be the final step used // We need to change some values of the aspect ratio and camera when we are in an IPR render - AtNode* options = AiUniverseGetOptions(); // override the aspect ratio, for the viewport is always 1.0 CNodeSetter::SetFloat(options, "pixel_aspect_ratio", 1.0); // disable adaptive sampling during negative aa passes From a2b20e2cf42b2267ac0d9a04d3a2670e2cb13ae6 Mon Sep 17 00:00:00 2001 From: Steven Caron Date: Thu, 28 Mar 2019 13:22:01 -0700 Subject: [PATCH 40/98] new operator node added in arnold 5.3, 'include_graph' --- plugins/helpers/ArnoldShaderDef.js | 3 +++ plugins/metadata/arnold_operators.mtd | 12 ++++++++++++ 2 files changed, 15 insertions(+) diff --git a/plugins/helpers/ArnoldShaderDef.js b/plugins/helpers/ArnoldShaderDef.js index d2b8e48..8eb968d 100644 --- a/plugins/helpers/ArnoldShaderDef.js +++ b/plugins/helpers/ArnoldShaderDef.js @@ -146,6 +146,7 @@ function XSILoadPlugin( in_reg ) in_reg.RegisterShader("switch_operator", 1, 0); in_reg.RegisterShader("set_transform", 1, 0); in_reg.RegisterShader("collection", 1, 0); + in_reg.RegisterShader("include_graph", 1, 0); // in_reg.Help = "https://support.solidangle.com/display/A5SItoAUG/Shaders"; @@ -401,6 +402,8 @@ function Arnold_set_transform_1_0_DefineInfo(in_ctxt) { return true; } function Arnold_set_transform_1_0_Define(in_ctxt) { return true; } function Arnold_collection_1_0_DefineInfo(in_ctxt) { return true; } function Arnold_collection_1_0_Define(in_ctxt) { return true; } +function Arnold_include_graph_1_0_DefineInfo(in_ctxt) { return true; } +function Arnold_include_graph_1_0_Define(in_ctxt) { return true; } /////////////////////////////////////////////////// /////////////// shaders that require a dedicated UI diff --git a/plugins/metadata/arnold_operators.mtd b/plugins/metadata/arnold_operators.mtd index b5259e1..e1fbeb8 100644 --- a/plugins/metadata/arnold_operators.mtd +++ b/plugins/metadata/arnold_operators.mtd @@ -89,3 +89,15 @@ linkable BOOL false [attr index] linkable BOOL false + +########################################################################### +[node include_graph] + +[attr enable] +linkable BOOL false + +[attr filename] +linkable BOOL false + +[attr target] +linkable BOOL false From 0a8fb2a6a68e069c57e0652e479c539963e73477 Mon Sep 17 00:00:00 2001 From: Steven Caron Date: Thu, 28 Mar 2019 14:24:37 -0700 Subject: [PATCH 41/98] use the proper method for checking shader type was stoopidly just checking the name and it failed as soon as you renamed the node. --- plugins/sitoa/loader/Operators.cpp | 2 +- plugins/sitoa/loader/Shaders.cpp | 2 +- plugins/sitoa/renderer/IprOperators.cpp | 2 +- plugins/sitoa/renderer/IprShader.cpp | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/plugins/sitoa/loader/Operators.cpp b/plugins/sitoa/loader/Operators.cpp index 77b282b..4838237 100644 --- a/plugins/sitoa/loader/Operators.cpp +++ b/plugins/sitoa/loader/Operators.cpp @@ -45,7 +45,7 @@ CStatus LoadPassOperator(double in_frame) if (outputShader.IsValid()) { // find the first 'operator' shader, dummy shader node for supporting arnold operators - if (outputShader.GetName() == L"operator") + if (GetShaderNameFromProgId(outputShader.GetProgID()) == L"operator") { operatorShader = outputShader.GetRef(); break; diff --git a/plugins/sitoa/loader/Shaders.cpp b/plugins/sitoa/loader/Shaders.cpp index 716567e..5d0fdec 100644 --- a/plugins/sitoa/loader/Shaders.cpp +++ b/plugins/sitoa/loader/Shaders.cpp @@ -400,7 +400,7 @@ CStatus LoadPassShaders(double in_frame, bool in_selectionOnly) if (outputShader.IsValid()) { // skip 'operator' dummy shader - if (outputShader.GetName() == L"operator") + if (GetShaderNameFromProgId(outputShader.GetProgID()) == L"operator") continue; outputShadersArray.Add(outputShader.GetRef()); } diff --git a/plugins/sitoa/renderer/IprOperators.cpp b/plugins/sitoa/renderer/IprOperators.cpp index 8bcb914..ca45e68 100644 --- a/plugins/sitoa/renderer/IprOperators.cpp +++ b/plugins/sitoa/renderer/IprOperators.cpp @@ -44,7 +44,7 @@ CStatus UpdatePassOperator(const Pass &in_pass, double in_frame) if (outputShader.IsValid()) { // find the first 'operator' shader, dummy shader node for supporting arnold operators - if (outputShader.GetName() == L"operator") + if (GetShaderNameFromProgId(outputShader.GetProgID()) == L"operator") { operatorShader = outputShader.GetRef(); break; diff --git a/plugins/sitoa/renderer/IprShader.cpp b/plugins/sitoa/renderer/IprShader.cpp index c7d942e..c7f33c4 100644 --- a/plugins/sitoa/renderer/IprShader.cpp +++ b/plugins/sitoa/renderer/IprShader.cpp @@ -310,7 +310,7 @@ void UpdatePassShaderStack(const Pass &in_pass, double in_frame) if (outputShader.IsValid()) { // skip 'operator' dummy shader - if (outputShader.GetName() == L"operator") + if (GetShaderNameFromProgId(outputShader.GetProgID()) == L"operator") continue; outputShadersArray.Add(outputShader.GetRef()); } From a9bc5bbb61dd533b18b74f728eb3201144087b4e Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Sat, 30 Mar 2019 14:40:48 +0100 Subject: [PATCH 42/98] fix gpu check for enabling progressive --- plugins/sitoa/loader/Options.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/sitoa/loader/Options.cpp b/plugins/sitoa/loader/Options.cpp index 5ec6530..1ea8da7 100644 --- a/plugins/sitoa/loader/Options.cpp +++ b/plugins/sitoa/loader/Options.cpp @@ -803,13 +803,13 @@ void LoadOptionsParameters(AtNode* in_optionsNode, const Property &in_arnoldOpti // Devices CNodeSetter::SetString(in_optionsNode, "render_device", GetRenderOptions()->m_render_device.GetAsciiString()); CNodeSetter::SetString(in_optionsNode, "render_device_fallback", GetRenderOptions()->m_render_device_fallback.GetAsciiString()); - bool gpuRender = (GetRenderOptions()->m_render_device.GetAsciiString() == "GPU"); + bool gpuRender = (GetRenderOptions()->m_render_device == L"GPU"); bool optixDenoiser = GetRenderOptions()->m_use_optix_on_main; // For GPU render, we want to force options.enable_progressive_render to be ON, even if its value is ignored by Arnold. // At least we can take this parameter into account later on, for example when IPR needs to do special things depending on // whether this option is enabled or not. See MtoA #3627 - if (gpuRender && Application().IsInteractive()) + if (gpuRender && Application().IsInteractive() && (renderType != L"Export")) CNodeSetter::SetBoolean(in_optionsNode, "enable_progressive_render", true); // Only export GPU settings if we use a GPU for something; From 89a50b399ef8ea1752abf41a712f1a315dc7a609 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Sat, 30 Mar 2019 14:43:06 +0100 Subject: [PATCH 43/98] beatify code a bit --- plugins/sitoa/renderer/RendererOptions.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/plugins/sitoa/renderer/RendererOptions.cpp b/plugins/sitoa/renderer/RendererOptions.cpp index cf7caaa..85093ed 100644 --- a/plugins/sitoa/renderer/RendererOptions.cpp +++ b/plugins/sitoa/renderer/RendererOptions.cpp @@ -35,10 +35,10 @@ void CRenderOptions::Read(const Property &in_cp) m_autodetect_threads = (bool)ParAcc_GetValue(in_cp, L"autodetect_threads", DBL_MAX); m_threads = (int) ParAcc_GetValue(in_cp, L"threads", DBL_MAX); - m_render_device = ParAcc_GetValue(in_cp, L"render_device", DBL_MAX).GetAsText(); - m_render_device_fallback = ParAcc_GetValue(in_cp, L"render_device_fallback", DBL_MAX).GetAsText(); - m_gpu_default_names = ParAcc_GetValue(in_cp, L"gpu_default_names", DBL_MAX).GetAsText(); - m_gpu_default_min_memory_MB = (int) ParAcc_GetValue(in_cp, L"gpu_default_min_memory_MB", DBL_MAX); + m_render_device = ParAcc_GetValue(in_cp, L"render_device", DBL_MAX).GetAsText(); + m_render_device_fallback = ParAcc_GetValue(in_cp, L"render_device_fallback", DBL_MAX).GetAsText(); + m_gpu_default_names = ParAcc_GetValue(in_cp, L"gpu_default_names", DBL_MAX).GetAsText(); + m_gpu_default_min_memory_MB = (int)ParAcc_GetValue(in_cp, L"gpu_default_min_memory_MB", DBL_MAX); m_bucket_scanning = ParAcc_GetValue(in_cp, L"bucket_scanning", DBL_MAX).GetAsText(); m_bucket_size = (int)ParAcc_GetValue(in_cp, L"bucket_size", DBL_MAX); @@ -316,10 +316,10 @@ SITOA_CALLBACK CommonRenderOptions_Define(CRef& in_ctxt) cpset.AddParameter(L"autodetect_threads", CValue::siBool, siPersistable, L"", L"", true, CValue(), CValue(), CValue(), CValue(), p); cpset.AddParameter(L"threads", CValue::siInt4, siPersistable, L"", L"", 4, -AI_MAX_THREADS, AI_MAX_THREADS, 1, AI_MAX_THREADS, p); - cpset.AddParameter(L"render_device", CValue::siString, siPersistable, L"", L"", L"CPU", CValue(), CValue(), CValue(), CValue(), p); - cpset.AddParameter(L"render_device_fallback", CValue::siString, siPersistable, L"", L"", L"error", CValue(), CValue(), CValue(), CValue(), p); - cpset.AddParameter(L"gpu_default_names", CValue::siString, siPersistable, L"", L"", L"*", CValue(), CValue(), CValue(), CValue(), p); - cpset.AddParameter(L"gpu_default_min_memory_MB", CValue::siInt4, siPersistable, L"", L"", 512, 0, 10000000, 256, 1024, p); + cpset.AddParameter(L"render_device", CValue::siString, siPersistable, L"", L"", L"CPU", CValue(), CValue(), CValue(), CValue(), p); + cpset.AddParameter(L"render_device_fallback", CValue::siString, siPersistable, L"", L"", L"error", CValue(), CValue(), CValue(), CValue(), p); + cpset.AddParameter(L"gpu_default_names", CValue::siString, siPersistable, L"", L"", L"*", CValue(), CValue(), CValue(), CValue(), p); + cpset.AddParameter(L"gpu_default_min_memory_MB", CValue::siInt4, siPersistable, L"", L"", 512, 0, 10000000, 256, 1024, p); cpset.AddParameter(L"bucket_scanning", CValue::siString, siPersistable, L"", L"", L"spiral", CValue(), CValue(), CValue(), CValue(), p); cpset.AddParameter(L"bucket_size", CValue::siInt4, siPersistable, L"", L"", 64, 16, 256, 16, 256, p); From c6b4a21dfd9eceae74d3e1a63bde299d12f23512 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Sat, 30 Mar 2019 14:44:55 +0100 Subject: [PATCH 44/98] add gpu device selection in subgroup --- plugins/sitoa/renderer/RendererOptions.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/plugins/sitoa/renderer/RendererOptions.cpp b/plugins/sitoa/renderer/RendererOptions.cpp index 85093ed..f3e734b 100644 --- a/plugins/sitoa/renderer/RendererOptions.cpp +++ b/plugins/sitoa/renderer/RendererOptions.cpp @@ -628,10 +628,13 @@ SITOA_CALLBACK CommonRenderOptions_DefineLayout(CRef& in_ctxt) device_fallbacks.Add(L"CPU"); device_fallbacks.Add(L"CPU"); item = layout.AddEnumControl(L"render_device_fallback", device_fallbacks, L"Render Device Fallback", siControlCombo); item.PutAttribute(siUILabelMinPixels, 120); - item = layout.AddItem(L"gpu_default_names", L"GPU Names"); - item.PutAttribute(siUILabelMinPixels, 120); - item = layout.AddItem(L"gpu_default_min_memory_MB", L"Min. Memory (MB)"); item.PutAttribute(siUILabelMinPixels, 120); + layout.AddGroup(L"Auto Device Selection"); + item = layout.AddItem(L"gpu_default_names", L"GPU Names"); + item.PutAttribute(siUILabelMinPixels, 120); + item = layout.AddItem(L"gpu_default_min_memory_MB", L"Min. Memory (MB)"); + item.PutAttribute(siUILabelMinPixels, 120); + layout.EndGroup(); layout.EndGroup(); layout.AddGroup(L"Buckets", true, 0); CValueArray scanning; From 5177ed49b29b69631f685aa1045ae09e2f3763f2 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Sat, 30 Mar 2019 14:59:03 +0100 Subject: [PATCH 45/98] add gpu_max_texture_resolution param --- plugins/sitoa/loader/Options.cpp | 3 +++ plugins/sitoa/renderer/RendererOptions.cpp | 3 +++ plugins/sitoa/renderer/RendererOptions.h | 2 ++ 3 files changed, 8 insertions(+) diff --git a/plugins/sitoa/loader/Options.cpp b/plugins/sitoa/loader/Options.cpp index 1ea8da7..8b9ed31 100644 --- a/plugins/sitoa/loader/Options.cpp +++ b/plugins/sitoa/loader/Options.cpp @@ -806,6 +806,9 @@ void LoadOptionsParameters(AtNode* in_optionsNode, const Property &in_arnoldOpti bool gpuRender = (GetRenderOptions()->m_render_device == L"GPU"); bool optixDenoiser = GetRenderOptions()->m_use_optix_on_main; + if (gpuRender) + CNodeSetter::SetInt(in_optionsNode, "gpu_max_texture_resolution", GetRenderOptions()->m_gpu_max_texture_resolution); + // For GPU render, we want to force options.enable_progressive_render to be ON, even if its value is ignored by Arnold. // At least we can take this parameter into account later on, for example when IPR needs to do special things depending on // whether this option is enabled or not. See MtoA #3627 diff --git a/plugins/sitoa/renderer/RendererOptions.cpp b/plugins/sitoa/renderer/RendererOptions.cpp index f3e734b..9e9a769 100644 --- a/plugins/sitoa/renderer/RendererOptions.cpp +++ b/plugins/sitoa/renderer/RendererOptions.cpp @@ -37,6 +37,7 @@ void CRenderOptions::Read(const Property &in_cp) m_render_device = ParAcc_GetValue(in_cp, L"render_device", DBL_MAX).GetAsText(); m_render_device_fallback = ParAcc_GetValue(in_cp, L"render_device_fallback", DBL_MAX).GetAsText(); + m_gpu_max_texture_resolution = (int)ParAcc_GetValue(in_cp, L"gpu_max_texture_resolution", DBL_MAX); m_gpu_default_names = ParAcc_GetValue(in_cp, L"gpu_default_names", DBL_MAX).GetAsText(); m_gpu_default_min_memory_MB = (int)ParAcc_GetValue(in_cp, L"gpu_default_min_memory_MB", DBL_MAX); @@ -318,6 +319,7 @@ SITOA_CALLBACK CommonRenderOptions_Define(CRef& in_ctxt) cpset.AddParameter(L"render_device", CValue::siString, siPersistable, L"", L"", L"CPU", CValue(), CValue(), CValue(), CValue(), p); cpset.AddParameter(L"render_device_fallback", CValue::siString, siPersistable, L"", L"", L"error", CValue(), CValue(), CValue(), CValue(), p); + cpset.AddParameter(L"gpu_max_texture_resolution", CValue::siInt4, siPersistable, L"", L"", 0, 0, 10000000, 0, 8192, p); cpset.AddParameter(L"gpu_default_names", CValue::siString, siPersistable, L"", L"", L"*", CValue(), CValue(), CValue(), CValue(), p); cpset.AddParameter(L"gpu_default_min_memory_MB", CValue::siInt4, siPersistable, L"", L"", 512, 0, 10000000, 256, 1024, p); @@ -628,6 +630,7 @@ SITOA_CALLBACK CommonRenderOptions_DefineLayout(CRef& in_ctxt) device_fallbacks.Add(L"CPU"); device_fallbacks.Add(L"CPU"); item = layout.AddEnumControl(L"render_device_fallback", device_fallbacks, L"Render Device Fallback", siControlCombo); item.PutAttribute(siUILabelMinPixels, 120); + item = layout.AddItem(L"gpu_max_texture_resolution", L"Max Texture Resolution"); item.PutAttribute(siUILabelMinPixels, 120); layout.AddGroup(L"Auto Device Selection"); item = layout.AddItem(L"gpu_default_names", L"GPU Names"); diff --git a/plugins/sitoa/renderer/RendererOptions.h b/plugins/sitoa/renderer/RendererOptions.h index 24e0a22..efed00d 100644 --- a/plugins/sitoa/renderer/RendererOptions.h +++ b/plugins/sitoa/renderer/RendererOptions.h @@ -48,6 +48,7 @@ class CRenderOptions int m_threads; CString m_render_device; CString m_render_device_fallback; + int m_gpu_max_texture_resolution; CString m_gpu_default_names; int m_gpu_default_min_memory_MB; CString m_bucket_scanning; @@ -239,6 +240,7 @@ class CRenderOptions m_threads(4), m_render_device(L"CPU"), m_render_device_fallback(L"error"), + m_gpu_max_texture_resolution(0), m_gpu_default_names(L"*"), m_gpu_default_min_memory_MB(512), m_bucket_scanning(L"spiral"), From cc6505d3c28d24147f502989d583311f807ddc0e Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Sat, 30 Mar 2019 14:59:23 +0100 Subject: [PATCH 46/98] add gpu ppg logic --- plugins/sitoa/renderer/RendererOptions.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/plugins/sitoa/renderer/RendererOptions.cpp b/plugins/sitoa/renderer/RendererOptions.cpp index 9e9a769..8b088ff 100644 --- a/plugins/sitoa/renderer/RendererOptions.cpp +++ b/plugins/sitoa/renderer/RendererOptions.cpp @@ -1358,7 +1358,8 @@ SITOA_CALLBACK CommonRenderOptions_PPGEvent(const CRef& in_ctxt) paramName == L"output_filter") SamplingTabLogic(cpset); - else if (paramName == L"autodetect_threads") + else if (paramName == L"autodetect_threads" || + paramName == L"render_device") SystemTabLogic(cpset); else if (paramName == L"overscan" || @@ -1473,6 +1474,17 @@ void SystemTabLogic(CustomProperty &in_cp) { bool autoDetect = (bool)ParAcc_GetValue(in_cp, L"autodetect_threads", DBL_MAX); ParAcc_GetParameter(in_cp, L"threads").PutCapabilityFlag(siReadOnly, autoDetect); + + // GPU logic + bool useGPU = (bool)(ParAcc_GetValue(in_cp, L"render_device", DBL_MAX) == L"GPU"); + ParAcc_GetParameter(in_cp, L"render_device_fallback").PutCapabilityFlag(siReadOnly, !useGPU); + ParAcc_GetParameter(in_cp, L"gpu_max_texture_resolution").PutCapabilityFlag(siReadOnly, !useGPU); + // When rendering with GPU, disable all secondary sample params on the Sampling tab + ParAcc_GetParameter(in_cp, L"GI_diffuse_samples").PutCapabilityFlag(siReadOnly, useGPU); + ParAcc_GetParameter(in_cp, L"GI_specular_samples").PutCapabilityFlag(siReadOnly, useGPU); + ParAcc_GetParameter(in_cp, L"GI_transmission_samples").PutCapabilityFlag(siReadOnly, useGPU); + ParAcc_GetParameter(in_cp, L"GI_sss_samples").PutCapabilityFlag(siReadOnly, useGPU); + ParAcc_GetParameter(in_cp, L"GI_volume_samples").PutCapabilityFlag(siReadOnly, useGPU); } From 37087783551309d66deda9c182d53187cbbf450b Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Sun, 31 Mar 2019 14:55:18 +0200 Subject: [PATCH 47/98] add autobump visibility --- plugins/helpers/ArnoldProperties.js | 36 ++++++++++++++++++++-- plugins/sitoa/loader/Properties.cpp | 48 +++++++++++++++++++++++++++++ plugins/sitoa/loader/Properties.h | 2 ++ 3 files changed, 84 insertions(+), 2 deletions(-) diff --git a/plugins/helpers/ArnoldProperties.js b/plugins/helpers/ArnoldProperties.js index 68e2743..b61863a 100644 --- a/plugins/helpers/ArnoldProperties.js +++ b/plugins/helpers/ArnoldProperties.js @@ -541,7 +541,15 @@ function AddParamsSubdivision(in_prop, strands) in_prop.AddParameter2("disp_padding", siFloat, 0.0, -100000, 100000, 0.0, 10.0, 0, siPersistable|siAnimatable); in_prop.AddParameter2("subdiv_iterations", siInt4, 0, 0, 255, 0, 10, 0, siPersistable|siAnimatable); in_prop.AddParameter2("subdiv_adaptive_error", siFloat, 2.0, 0.0, 100.0, 0.0, 10.0, 0, siPersistable|siAnimatable); - in_prop.AddParameter2("disp_autobump", siBool, 1, 0, 1, 0, 1, 0, siPersistable|siAnimatable); + + in_prop.AddParameter2("disp_autobump", siBool, 1, 0, 1, 0, 1, 0, siPersistable|siAnimatable); + in_prop.AddParameter2("autobump_camera", siBool, 1, 0, 1, 0, 1, 0, siPersistable|siAnimatable); + in_prop.AddParameter2("autobump_diffuse_reflection", siBool, 0, 0, 1, 0, 1, 0, siPersistable|siAnimatable); + in_prop.AddParameter2("autobump_specular_reflection", siBool, 0, 0, 1, 0, 1, 0, siPersistable|siAnimatable); + in_prop.AddParameter2("autobump_diffuse_transmission", siBool, 0, 0, 1, 0, 1, 0, siPersistable|siAnimatable); + in_prop.AddParameter2("autobump_specular_transmission", siBool, 0, 0, 1, 0, 1, 0, siPersistable|siAnimatable); + in_prop.AddParameter2("autobump_volume_scattering", siBool, 0, 0, 1, 0, 1, 0, siPersistable|siAnimatable); + in_prop.AddParameter2("adaptive_subdivision", siBool, 0, 0, 1, 0, 1, 0, siPersistable|siAnimatable); in_prop.AddParameter2("subdiv_adaptive_metric", siString, "auto", null, null, null, null, 0, siPersistable|siAnimatable); in_prop.AddParameter2("subdiv_adaptive_space", siString, "raster", null, null, null, null, 0, siPersistable|siAnimatable); @@ -726,7 +734,15 @@ function arnold_parameters_DefineLayout(io_Context) item = xsiLayout.AddItem("disp_zero_value", "Zero Value"); item.setAttribute(siUILabelMinPixels, 130); item.SetAttribute(siUILabelPercentage, 50); - item = xsiLayout.AddItem("disp_autobump", "AutoBump"); + item = xsiLayout.AddItem("disp_autobump", "Autobump"); + xsiLayout.AddGroup("Autobump Visibility", true); + item = xsiLayout.AddItem("autobump_camera", "Camera (primary)"); + item = xsiLayout.AddItem("autobump_diffuse_reflection", "Diffuse Reflection"); + item = xsiLayout.AddItem("autobump_specular_reflection", "Specular Reflection"); + item = xsiLayout.AddItem("autobump_diffuse_transmission", "Diffuse Transmission"); + item = xsiLayout.AddItem("autobump_specular_transmission", "Specular Transmission"); + item = xsiLayout.AddItem("autobump_volume_scattering", "Volume Scattering"); + xsiLayout.EndGroup(); xsiLayout.EndGroup(); xsiLayout.AddGroup("Subdivision", true); item = xsiLayout.AddItem("subdiv_iterations", "Additional Iterations"); @@ -1159,6 +1175,8 @@ function arnold_parameters_OnInit() var oCustomProperty = PPG.Inspected.Item(0); if (oCustomProperty.Parameters("override_motion_step") != null) arnold_parameters_override_motion_step_OnChanged(); + + arnold_parameters_disp_autobump_OnChanged(); if (oCustomProperty.Parameters("adaptive_subdivision") != null) arnold_parameters_adaptive_subdivision_OnChanged(); @@ -1202,6 +1220,20 @@ function arnold_parameters_motion_deform_OnChanged() arnold_parameters_override_motion_step_OnChanged(); } +function arnold_parameters_disp_autobump_OnChanged() +{ + var oCustomProperty = PPG.Inspected.Item(0); + var autobump_on = PPG.disp_autobump.Value; + if (oCustomProperty.Parameters("autobump_camera") != null) + { + PPG.autobump_camera.Enable(autobump_on); + PPG.autobump_diffuse_reflection.Enable(autobump_on); + PPG.autobump_specular_reflection.Enable(autobump_on); + PPG.autobump_diffuse_transmission.Enable(autobump_on); + PPG.autobump_specular_transmission.Enable(autobump_on); + PPG.autobump_volume_scattering.Enable(autobump_on); + } +} function arnold_parameters_adaptive_subdivision_OnChanged() { diff --git a/plugins/sitoa/loader/Properties.cpp b/plugins/sitoa/loader/Properties.cpp index 7234a7f..55a406c 100644 --- a/plugins/sitoa/loader/Properties.cpp +++ b/plugins/sitoa/loader/Properties.cpp @@ -365,6 +365,15 @@ void LoadArnoldParameters(AtNode* in_node, CParameterRefArray &in_paramsArray, d AiNodeSetArray(in_node, "trace_sets", a); } + // Skip Autobump Visibility. We handle it later. + if (!strcmp(charParamName, "autobump_camera") || + !strcmp(charParamName, "autobump_diffuse_reflection") || + !strcmp(charParamName, "autobump_specular_reflection") || + !strcmp(charParamName, "autobump_diffuse_transmission") || + !strcmp(charParamName, "autobump_specular_transmission") || + !strcmp(charParamName, "autobump_volume_scatter")) + continue; + // As XSI Custom Parameter, colors are defined as individual parameters // we need to treat it as special & very ugly case. if (strstr(charParamName, "_R") == NULL) @@ -386,9 +395,48 @@ void LoadArnoldParameters(AtNode* in_node, CParameterRefArray &in_paramsArray, d i+=2; } } + // set the autobump visibility introduced in arnold 5.3 + CNodeSetter::SetByte(in_node, "autobump_visibility", GetAutobumpVisibility(in_paramsArray, in_frame)); } +// Return the rays visibility of autobump +// +// Evaluates the Autobump Visibility in the Arnold Parameter property and returns a bitfield that specifies +// the visibility for each ray type. +// +// @param in_paramsArray Array of parameters +// @param in_frame the evaluation time +// +// @return the autobump visibility bitfield +// +uint8_t GetAutobumpVisibility(CParameterRefArray &in_paramsArray, double in_frame) +{ + uint8_t autobump_visibility = AI_RAY_CAMERA; // default is camera only + + CRef ab_camera = in_paramsArray.GetItem(L"autobump_camera"); + if (ab_camera.IsValid()) + { + autobump_visibility = AI_RAY_UNDEFINED; + + bool camera = (bool)in_paramsArray.GetValue(L"autobump_camera", in_frame); + bool diffuse_reflection = (bool)in_paramsArray.GetValue(L"autobump_diffuse_reflection", in_frame); + bool specular_reflection = (bool)in_paramsArray.GetValue(L"autobump_specular_reflection", in_frame); + bool diffuse_transmission = (bool)in_paramsArray.GetValue(L"autobump_diffuse_transmission", in_frame); + bool specular_transmission = (bool)in_paramsArray.GetValue(L"autobump_specular_transmission", in_frame); + bool volume = (bool)in_paramsArray.GetValue(L"autobump_volume", in_frame); + + if (camera) autobump_visibility += AI_RAY_CAMERA; + if (diffuse_reflection) autobump_visibility += AI_RAY_DIFFUSE_REFLECT; + if (specular_reflection) autobump_visibility += AI_RAY_SPECULAR_REFLECT; + if (diffuse_transmission) autobump_visibility += AI_RAY_DIFFUSE_TRANSMIT; + if (specular_transmission) autobump_visibility += AI_RAY_SPECULAR_TRANSMIT; + if (volume) autobump_visibility += AI_RAY_VOLUME; + } + + return autobump_visibility; +} + // Evaluate the Arnold Matte property // // @param in_node The node diff --git a/plugins/sitoa/loader/Properties.h b/plugins/sitoa/loader/Properties.h index 88c6ded..87f19f4 100644 --- a/plugins/sitoa/loader/Properties.h +++ b/plugins/sitoa/loader/Properties.h @@ -25,6 +25,8 @@ uint8_t GetVisibility(const CRefArray &in_polyProperties, double in_frame, bool uint8_t GetVisibilityFromObject(const X3DObject in_obj, double in_frame, const bool in_checkHideMasterFlag=true); // Returns the rays visibility of an xsi object by its id uint8_t GetVisibilityFromObjectId(const int in_id, double in_frame, const bool in_checkHideMasterFlag=true); +// Returns the autobump visibility from Arnold Parameters +uint8_t GetAutobumpVisibility(CParameterRefArray &in_paramsArray, double in_frame); // Evaluates the Arnold Sidedness property and compute the sidedness bitfield. bool GetSidedness(const CRefArray &in_polyProperties, double in_frame, uint8_t &out_result); // Load the Arnold Parameters property for an Arnold node From eb4a28e94164e2096b21782c1cbb8e2ad0c94469 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Mon, 1 Apr 2019 22:42:23 +0200 Subject: [PATCH 48/98] add manual device selection capability --- plugins/sitoa/loader/Options.cpp | 30 ++++++++++++++++ plugins/sitoa/renderer/RendererOptions.cpp | 41 ++++++++++++++++++++++ plugins/sitoa/renderer/RendererOptions.h | 6 ++++ 3 files changed, 77 insertions(+) diff --git a/plugins/sitoa/loader/Options.cpp b/plugins/sitoa/loader/Options.cpp index 8b9ed31..d431913 100644 --- a/plugins/sitoa/loader/Options.cpp +++ b/plugins/sitoa/loader/Options.cpp @@ -820,6 +820,36 @@ void LoadOptionsParameters(AtNode* in_optionsNode, const Property &in_arnoldOpti { CNodeSetter::SetString(in_optionsNode, "gpu_default_names", GetRenderOptions()->m_gpu_default_names.GetAsciiString()); CNodeSetter::SetInt(in_optionsNode, "gpu_default_min_memory_MB", GetRenderOptions()->m_gpu_default_min_memory_MB); + + // Device Selection + bool autoDeviceSelect = true; + bool tryManualDeviceSelect = GetRenderOptions()->m_enable_manual_devices; + if (tryManualDeviceSelect) + { + CString manualDeviceSelectionString = GetRenderOptions()->m_manual_device_selection; + if (manualDeviceSelectionString != L"") + { + CStringArray manualDevices = manualDeviceSelectionString.Split(L";"); + int numManualDevicesSelected = manualDevices.GetCount(); + AtArray* selectedDevices = AiArrayAllocate(1, (uint8_t)numManualDevicesSelected, AI_TYPE_UINT); + for (LONG i=0; iLogMsg(L"[sitoa] Could not select manual rendering device. Automatic selection will be used.", siWarningMsg); + + AiArrayDestroy(selectedDevices); + } + } + + if (autoDeviceSelect) + AiDeviceAutoSelect(); } // #680 diff --git a/plugins/sitoa/renderer/RendererOptions.cpp b/plugins/sitoa/renderer/RendererOptions.cpp index 8b088ff..bb0118d 100644 --- a/plugins/sitoa/renderer/RendererOptions.cpp +++ b/plugins/sitoa/renderer/RendererOptions.cpp @@ -40,6 +40,8 @@ void CRenderOptions::Read(const Property &in_cp) m_gpu_max_texture_resolution = (int)ParAcc_GetValue(in_cp, L"gpu_max_texture_resolution", DBL_MAX); m_gpu_default_names = ParAcc_GetValue(in_cp, L"gpu_default_names", DBL_MAX).GetAsText(); m_gpu_default_min_memory_MB = (int)ParAcc_GetValue(in_cp, L"gpu_default_min_memory_MB", DBL_MAX); + m_enable_manual_devices = (bool)ParAcc_GetValue(in_cp, L"enable_manual_devices", DBL_MAX); + m_manual_device_selection = ParAcc_GetValue(in_cp, L"manual_device_selection", DBL_MAX).GetAsText(); m_bucket_scanning = ParAcc_GetValue(in_cp, L"bucket_scanning", DBL_MAX).GetAsText(); m_bucket_size = (int)ParAcc_GetValue(in_cp, L"bucket_size", DBL_MAX); @@ -322,6 +324,8 @@ SITOA_CALLBACK CommonRenderOptions_Define(CRef& in_ctxt) cpset.AddParameter(L"gpu_max_texture_resolution", CValue::siInt4, siPersistable, L"", L"", 0, 0, 10000000, 0, 8192, p); cpset.AddParameter(L"gpu_default_names", CValue::siString, siPersistable, L"", L"", L"*", CValue(), CValue(), CValue(), CValue(), p); cpset.AddParameter(L"gpu_default_min_memory_MB", CValue::siInt4, siPersistable, L"", L"", 512, 0, 10000000, 256, 1024, p); + cpset.AddParameter(L"enable_manual_devices", CValue::siBool, siPersistable, L"", L"", false, CValue(), CValue(), CValue(), CValue(), p); + cpset.AddParameter(L"manual_device_selection", CValue::siString, siPersistable, L"", L"", L"", CValue(), CValue(), CValue(), CValue(), p); cpset.AddParameter(L"bucket_scanning", CValue::siString, siPersistable, L"", L"", L"spiral", CValue(), CValue(), CValue(), CValue(), p); cpset.AddParameter(L"bucket_size", CValue::siInt4, siPersistable, L"", L"", 64, 16, 256, 16, 256, p); @@ -638,6 +642,13 @@ SITOA_CALLBACK CommonRenderOptions_DefineLayout(CRef& in_ctxt) item = layout.AddItem(L"gpu_default_min_memory_MB", L"Min. Memory (MB)"); item.PutAttribute(siUILabelMinPixels, 120); layout.EndGroup(); + layout.AddGroup(L"Manual Device Selection"); + layout.AddItem(L"enable_manual_devices", L"Enable Manual Device Selection"); + item = layout.AddItem(L"manual_device_selection", L"", siControlListBox); + item.PutAttribute(siUIMultiSelectionListBox, true); + item.PutAttribute(siUIValueOnly, true); // hide label + item.PutAttribute(siUICY, 60); + layout.EndGroup(); layout.EndGroup(); layout.AddGroup(L"Buckets", true, 0); CValueArray scanning; @@ -1183,6 +1194,7 @@ SITOA_CALLBACK CommonRenderOptions_PPGEvent(const CRef& in_ctxt) MotionBlurTabLogic(cpset); SamplingTabLogic(cpset); SystemTabLogic(cpset); + DeviceSelectionLogic(cpset); OutputTabLogic(cpset); TexturesTabLogic(cpset); ColorManagersTabLogic(cpset, ctxt); @@ -1488,6 +1500,34 @@ void SystemTabLogic(CustomProperty &in_cp) } +// Logic for Manual Device Selection in the system tab +// +// @param in_cp The arnold rendering options property +// +void DeviceSelectionLogic(CustomProperty &in_cp) +{ + // Get a list of GPU rendering devices + const AtArray* gpuDeviceIdsArray = AiDeviceGetIds(AI_DEVICE_TYPE_GPU); + int gpuDeviceCount = AiArrayGetNumElements(gpuDeviceIdsArray); + CValueArray gpuDevices(gpuDeviceCount*2); + + for (LONG i=0; i Date: Mon, 1 Apr 2019 15:57:17 -0700 Subject: [PATCH 49/98] unused string constant --- plugins/sitoa/common/Tools.h | 1 - 1 file changed, 1 deletion(-) diff --git a/plugins/sitoa/common/Tools.h b/plugins/sitoa/common/Tools.h index b6f6a96..66ab5dd 100644 --- a/plugins/sitoa/common/Tools.h +++ b/plugins/sitoa/common/Tools.h @@ -99,7 +99,6 @@ namespace ATSTRING const AtString soft_node_type("soft.node_type"); // sitoa custom ports/types const AtString closure("closure"); - const AtString operator_node("operator"); }; namespace VERBOSITY From 7fb65594b929f38c8019585c5d45ea381756ccd7 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Tue, 2 Apr 2019 21:52:18 +0200 Subject: [PATCH 50/98] add operator to pass shader menu --- plugins/helpers/ArnoldMenu.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/plugins/helpers/ArnoldMenu.js b/plugins/helpers/ArnoldMenu.js index 741141f..546b5fb 100644 --- a/plugins/helpers/ArnoldMenu.js +++ b/plugins/helpers/ArnoldMenu.js @@ -290,6 +290,8 @@ function ArnoldPassShaders_Init(io_Context) xsiMenu.AddCallbackItem("Fog", "OnShadersMenu"); xsiMenu.AddSeparatorItem(); xsiMenu.AddCallbackItem("Cryptomatte", "OnShadersMenu"); + xsiMenu.AddSeparatorItem(); + xsiMenu.AddCallbackItem("Operator", "OnShadersMenu"); } // lights sub-menu @@ -516,6 +518,9 @@ function OnShadersMenu(in_ctxt) case "Cryptomatte": SITOA_AddShaderStack("Arnold.cryptomatte.1.0", "OutputShaderStack"); break; + case "Operator": + SITOA_AddShaderStack("Arnold.operator.1.0", "OutputShaderStack"); + break; } } From ae53f20ada1789925422e6eac983c6186028e1f1 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Tue, 2 Apr 2019 22:34:24 +0200 Subject: [PATCH 51/98] only export autobump_visibility if node supports it --- plugins/sitoa/loader/Properties.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/plugins/sitoa/loader/Properties.cpp b/plugins/sitoa/loader/Properties.cpp index 55a406c..b753854 100644 --- a/plugins/sitoa/loader/Properties.cpp +++ b/plugins/sitoa/loader/Properties.cpp @@ -395,8 +395,15 @@ void LoadArnoldParameters(AtNode* in_node, CParameterRefArray &in_paramsArray, d i+=2; } } + // set the autobump visibility introduced in arnold 5.3 - CNodeSetter::SetByte(in_node, "autobump_visibility", GetAutobumpVisibility(in_paramsArray, in_frame)); + // need to do some logic from LoadParameterValue manually here because that function can't be used for this. + const char* aiParamName = "autobump_visibility"; + int aiParamType = GetArnoldParameterType(in_node, aiParamName, true); + if (aiParamType != AI_TYPE_NONE) + AiNodeUnlink(in_node, aiParamName); + if (aiParamType == AI_TYPE_BYTE) + CNodeSetter::SetByte(in_node, aiParamName, GetAutobumpVisibility(in_paramsArray, in_frame)); } From 958a69c534a54d7cd7f635126cc13f03e66265d4 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Tue, 2 Apr 2019 23:41:12 +0200 Subject: [PATCH 52/98] bypass closure node --- plugins/sitoa/common/ParamsShader.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/plugins/sitoa/common/ParamsShader.cpp b/plugins/sitoa/common/ParamsShader.cpp index 10fc98d..d6fc07d 100644 --- a/plugins/sitoa/common/ParamsShader.cpp +++ b/plugins/sitoa/common/ParamsShader.cpp @@ -432,7 +432,19 @@ Shader GetShaderFromSource(const CRef &in_refCnxSrc) { if (in_refCnxSrc.IsA(siShaderID)) - return in_refCnxSrc; + { + // check if it's a closure node and bypass it + Shader thisShader = in_refCnxSrc; + CString shaderName = GetShaderNameFromProgId(thisShader.GetProgID()); + if (shaderName == L"closure") + { + CRef nextShader = GetParameterSource(ParAcc_GetParameter(thisShader, L"closure")); + if (nextShader.IsA(siShaderID)) + return nextShader; + } + else + return in_refCnxSrc; + } // If the source is a parameter of any type, get the parent, and attempt to return it as a shader. if (in_refCnxSrc.IsA(siParameterID)) From a9648e2947bceac00a8cffa5156dbd2d6d8e42cc Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Thu, 4 Apr 2019 00:04:40 +0200 Subject: [PATCH 53/98] change noice output aovs --- plugins/sitoa/loader/Options.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/sitoa/loader/Options.cpp b/plugins/sitoa/loader/Options.cpp index 0eeabb2..1485389 100644 --- a/plugins/sitoa/loader/Options.cpp +++ b/plugins/sitoa/loader/Options.cpp @@ -534,7 +534,7 @@ bool LoadDrivers(AtNode *in_optionsNode, Pass &in_pass, double in_frame, bool in // Do checks if Arnold Denoising AOVs already exist and if they have the right filter if they do if (masterFb.m_fullName == mainFb.m_fullName) // only check if it's a layer in the same exr as main (multilayer-exr) { - if (thisFb.m_layerName == L"diffuse_albedo") + if (thisFb.m_layerName == L"denoise_albedo") noiceDA = L"exist"; if (thisFb.m_layerName == L"N") @@ -591,7 +591,7 @@ bool LoadDrivers(AtNode *in_optionsNode, Pass &in_pass, double in_frame, bool in int i = 0; if (noiceDA != L"exist") { - AiArraySetStr(outputs, activeBuffers+i, CString(L"diffuse_albedo RGB " + colorFilter + L" " + mainFb.m_fullName).GetAsciiString()); + AiArraySetStr(outputs, activeBuffers+i, CString(L"denoise_albedo RGB " + colorFilter + L" " + mainFb.m_fullName).GetAsciiString()); i++; } if (noiceN != L"exist") From ea08cff4e9aa850355e2d5fd972516cf906edab5 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Thu, 4 Apr 2019 01:13:56 +0200 Subject: [PATCH 54/98] fix autobump logic only on supported nodes --- plugins/helpers/ArnoldProperties.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/helpers/ArnoldProperties.js b/plugins/helpers/ArnoldProperties.js index b61863a..cee09a1 100644 --- a/plugins/helpers/ArnoldProperties.js +++ b/plugins/helpers/ArnoldProperties.js @@ -1176,7 +1176,8 @@ function arnold_parameters_OnInit() if (oCustomProperty.Parameters("override_motion_step") != null) arnold_parameters_override_motion_step_OnChanged(); - arnold_parameters_disp_autobump_OnChanged(); + if (oCustomProperty.Parameters("disp_autobump") != null) + arnold_parameters_disp_autobump_OnChanged(); if (oCustomProperty.Parameters("adaptive_subdivision") != null) arnold_parameters_adaptive_subdivision_OnChanged(); From 8787f259cac972eba3763566d48675ef703717f3 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Sun, 7 Apr 2019 01:49:43 +0200 Subject: [PATCH 55/98] add nbStrandPoints arg to functions that need it --- plugins/sitoa/loader/ICE.cpp | 6 ++++-- plugins/sitoa/loader/ICE.h | 4 ++-- plugins/sitoa/loader/ICEHelpers.cpp | 8 +++++--- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/plugins/sitoa/loader/ICE.cpp b/plugins/sitoa/loader/ICE.cpp index e82cd7a..57875a4 100644 --- a/plugins/sitoa/loader/ICE.cpp +++ b/plugins/sitoa/loader/ICE.cpp @@ -887,6 +887,7 @@ CStatus LoadSinglePointCloud(const X3DObject &in_xsiObj, double in_frame, { strandIndex = 0; int offset=0; + int nbStrandPoints; for (LONG pointOffset=0; pointOffset < pointCount; pointOffset+=ICE_CHUNK_SIZE) { LONG nbPoints = pointCount - pointOffset < ICE_CHUNK_SIZE ? pointCount - pointOffset : ICE_CHUNK_SIZE; @@ -901,9 +902,10 @@ CStatus LoadSinglePointCloud(const X3DObject &in_xsiObj, double in_frame, // just once in one of the previous points loops if (iceAttributes.GetStrandPosition(pointIndex, strandPos) && (strandPos.GetCount() > 1)) { - iceObjects.m_strands[0].DeclareAttributes(&iceAttributes, in_frame, pointIndex, strandIndex, offset); + nbStrandPoints = (int)strandPos.GetCount(); + iceObjects.m_strands[0].DeclareAttributes(&iceAttributes, in_frame, pointIndex, strandIndex, offset, nbStrandPoints); // the index for the array to be written. So, increment it by the strand's number of points - offset+= (int)iceObjects.m_strands[0].m_strands[strandIndex].m_points.size(); + offset+= nbStrandPoints; strandIndex++; } } diff --git a/plugins/sitoa/loader/ICE.h b/plugins/sitoa/loader/ICE.h index c94f92d..d104202 100644 --- a/plugins/sitoa/loader/ICE.h +++ b/plugins/sitoa/loader/ICE.h @@ -437,7 +437,7 @@ class CIceObjectBase // Attach a given attributes to this node void DeclareICEAttributeOnNode(LONG in_index, LONG in_dataArrayIndex, CIceAttribute* in_attribute, double in_frame, eDeclICEAttr in_declareType = eDeclICEAttr_Constant, LONG in_count=0, LONG in_offset=0, - int in_strandCount=0); + int in_strandCount=0, int in_nbStrandPoints=0); // Attach a given attributes to a polymesh node void DeclareICEAttributeOnMeshNode(CIceAttribute* in_attribute, const AtArray *in_indices); // Attach a given attributes to a volume node @@ -831,7 +831,7 @@ class CIceObjectStrand : public CIceObjectBase, public CHair // Build all the curves stuff bool MakeCurve(CustomProperty in_arnoldParameters, double in_frame, CDoubleArray in_defKeys, float in_secondsPerFrame, bool in_exactMb); // Attach all the required attributes for a strand - void DeclareAttributes(CIceAttributesSet *in_attributes, double in_frame, int in_pointIndex, int in_dataArrayIndex, int in_offset); + void DeclareAttributes(CIceAttributesSet *in_attributes, double in_frame, int in_pointIndex, int in_dataArrayIndex, int in_offset, int nbStrandPoints); // Set the Arnold Parameters set void SetArnoldParameters(CustomProperty in_property, double in_frame); }; diff --git a/plugins/sitoa/loader/ICEHelpers.cpp b/plugins/sitoa/loader/ICEHelpers.cpp index 508408e..5a12c83 100644 --- a/plugins/sitoa/loader/ICEHelpers.cpp +++ b/plugins/sitoa/loader/ICEHelpers.cpp @@ -1904,10 +1904,11 @@ bool CIceObjectBase::SetICEAttributeAsNodeParameter(CIceAttribute *in_attr, CMat // @param in_count: The size of the array to be allocated // @param in_offset: Used only for varying type, ie for strands. It's the offset where to start writing data into the array // @param in_strandCount: For strands only: the total number of strands +// @param in_nbStrandPoints: For strands only: The number of points on this single strand // void CIceObjectBase::DeclareICEAttributeOnNode(LONG in_index, LONG in_dataArrayIndex, CIceAttribute *in_attr, double in_frame, eDeclICEAttr in_declareType, LONG in_count, - LONG in_offset, int in_strandCount) + LONG in_offset, int in_strandCount, int in_nbStrandPoints) { // check if pointers are valid if (m_node == NULL || in_attr == NULL || !in_attr->m_isDefined) @@ -3971,12 +3972,13 @@ bool CIceObjectStrand::MakeCurve(CustomProperty in_arnoldParameters, double in_f // @param in_pointIndex: The index of the ice point // @param in_dataArrayIndex: The index of the point. // @param in_offset: Where the strand points begin in the points array +// @param in_nbStrandPoints: Number of strand points on this strand // -void CIceObjectStrand::DeclareAttributes(CIceAttributesSet *in_attributes, double in_frame, int in_pointIndex, int in_dataArrayIndex, int in_offset) +void CIceObjectStrand::DeclareAttributes(CIceAttributesSet *in_attributes, double in_frame, int in_pointIndex, int in_dataArrayIndex, int in_offset, int in_nbStrandPoints) { AttrMap::iterator attribIt; for (attribIt = in_attributes->m_requiredAttributesMap.begin(); attribIt != in_attributes->m_requiredAttributesMap.end(); attribIt++) - DeclareICEAttributeOnNode(in_pointIndex, in_dataArrayIndex, attribIt->second, in_frame, eDeclICEAttr_Varying, m_nbPoints, in_offset, this->GetNbStrands()); + DeclareICEAttributeOnNode(in_pointIndex, in_dataArrayIndex, attribIt->second, in_frame, eDeclICEAttr_Varying, m_nbPoints, in_offset, this->GetNbStrands(), in_nbStrandPoints); } From c7f2999c99a43512c98cee7678d0a196582b31fd Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Sun, 7 Apr 2019 02:02:45 +0200 Subject: [PATCH 56/98] handle array count mismatches of ice strand attributes --- plugins/sitoa/loader/ICEHelpers.cpp | 161 +++++++++++++++++++++------- 1 file changed, 120 insertions(+), 41 deletions(-) diff --git a/plugins/sitoa/loader/ICEHelpers.cpp b/plugins/sitoa/loader/ICEHelpers.cpp index 5a12c83..9dc8430 100644 --- a/plugins/sitoa/loader/ICEHelpers.cpp +++ b/plugins/sitoa/loader/ICEHelpers.cpp @@ -2255,6 +2255,9 @@ void CIceObjectBase::DeclareICEAttributeOnNode(LONG in_index, LONG in_dataArrayI { case siICENodeDataBool: { + // get the subarray + in_attr->m_bData2D.GetSubArray(attrIndex, in_attr->m_bData); + int nbAttributeValues = in_attr->m_bData.GetCount(); if (in_index == 0) { // The first time we try to write into the array, we must also allocate it. @@ -2263,8 +2266,7 @@ void CIceObjectBase::DeclareICEAttributeOnNode(LONG in_index, LONG in_dataArrayI // so we must default to "uniform", which in the case of curves means "one data per curve strand". // For instance, one could use "Set Particle Color" on a strand, to give the same color to the entire strand. // In this case, the size of the array to be allocated is, of course, equal to the number of strands - in_attr->m_bData2D.GetSubArray(attrIndex, in_attr->m_bData); - if (in_attr->m_bData.GetCount() == 1) + if (nbAttributeValues == 1) { if (AiNodeDeclare(m_node, in_attr->m_name.GetAsciiString(), "uniform BOOL")) AiNodeSetArray(m_node, in_attr->m_name.GetAsciiString(), AiArrayAllocate(in_strandCount, 1, AI_TYPE_BOOLEAN)); @@ -2277,21 +2279,35 @@ void CIceObjectBase::DeclareICEAttributeOnNode(LONG in_index, LONG in_dataArrayI } AtArray * dataArray = AiNodeGetArray(m_node, in_attr->m_name.GetAsciiString()); - // get the sub array - in_attr->m_bData2D.GetSubArray(attrIndex, in_attr->m_bData); - if (in_attr->m_bData2D.GetCount() == 1) // the offset, so WHERE to write, is then equal to incoming strand index + int nbArrayValues = nbAttributeValues; + if (nbAttributeValues == 1) // the offset, so WHERE to write, is then equal to incoming strand index in_offset = in_index; + else + { + if (nbAttributeValues != in_nbStrandPoints) + { + nbArrayValues = in_nbStrandPoints; // override nbArrayValues if it's mismatch so that we always set the right amount ov values to the array, Github #70 + GetMessageQueue()->LogMsg(L"[sitoa] Strand #" + CString(in_index) + L": " + in_attr->m_name + L" array count mismatch. ("+ in_attr->m_name + L": " + CString(nbAttributeValues) + L", StrandPosition: " + CString(in_nbStrandPoints) + L")", siWarningMsg); + } + } - for (ULONG i=0; im_bData.GetCount(); i++, in_offset++) - AiArraySetBool(dataArray, in_offset, in_attr->GetBool(i)); + for (ULONG i=0; iGetBool(i)); + else + AiArraySetBool(dataArray, in_offset, false); + } break; } // all the other cases work the same way, except for the data type case siICENodeDataLong: { + // get the sub array + in_attr->m_lData2D.GetSubArray(attrIndex, in_attr->m_lData); + int nbAttributeValues = in_attr->m_lData.GetCount(); if (in_index == 0) { - in_attr->m_lData2D.GetSubArray(attrIndex, in_attr->m_lData); - if (in_attr->m_lData.GetCount() == 1) + if (nbAttributeValues == 1) { if (AiNodeDeclare(m_node, in_attr->m_name.GetAsciiString(), "uniform INT")) AiNodeSetArray(m_node, in_attr->m_name.GetAsciiString(), AiArrayAllocate(in_strandCount, 1, AI_TYPE_INT)); @@ -2304,21 +2320,35 @@ void CIceObjectBase::DeclareICEAttributeOnNode(LONG in_index, LONG in_dataArrayI } AtArray * dataArray = AiNodeGetArray(m_node, in_attr->m_name.GetAsciiString()); - // get the sub array - in_attr->m_lData2D.GetSubArray(attrIndex, in_attr->m_lData); - if (in_attr->m_lData2D.GetCount() == 1) + int nbArrayValues = nbAttributeValues; + if (nbAttributeValues == 1) in_offset = in_index; + else + { + if (nbAttributeValues != in_nbStrandPoints) + { + nbArrayValues = in_nbStrandPoints; // override nbArrayValues if it's mismatch so that we always set the right amount ov values to the array, Github #70 + GetMessageQueue()->LogMsg(L"[sitoa] Strand #" + CString(in_index) + L": " + in_attr->m_name + L" array count mismatch. ("+ in_attr->m_name + L": " + CString(nbAttributeValues) + L", StrandPosition: " + CString(in_nbStrandPoints) + L")", siWarningMsg); + } + } - for (ULONG i=0; im_lData.GetCount(); i++, in_offset++) - AiArraySetInt(dataArray, in_offset, in_attr->GetInt(i)); + for (ULONG i=0; iGetInt(i)); + else + AiArraySetInt(dataArray, in_offset, 0); + } break; } case siICENodeDataFloat: { + // get the sub array + in_attr->m_fData2D.GetSubArray(attrIndex, in_attr->m_fData); + int nbAttributeValues = in_attr->m_fData.GetCount(); if (in_index == 0) { - in_attr->m_fData2D.GetSubArray(attrIndex, in_attr->m_fData); - if (in_attr->m_fData.GetCount() == 1) + if (nbAttributeValues == 1) { if (AiNodeDeclare(m_node, in_attr->m_name.GetAsciiString(), "uniform FLOAT")) AiNodeSetArray(m_node, in_attr->m_name.GetAsciiString(), AiArrayAllocate(in_strandCount, 1, AI_TYPE_FLOAT)); @@ -2331,20 +2361,35 @@ void CIceObjectBase::DeclareICEAttributeOnNode(LONG in_index, LONG in_dataArrayI } AtArray * dataArray = AiNodeGetArray(m_node, in_attr->m_name.GetAsciiString()); - in_attr->m_fData2D.GetSubArray(attrIndex, in_attr->m_fData); - if (in_attr->m_fData.GetCount() == 1) + int nbArrayValues = nbAttributeValues; + if (nbAttributeValues == 1) in_offset = in_index; + else + { + if (nbAttributeValues != in_nbStrandPoints) + { + nbArrayValues = in_nbStrandPoints; // override nbArrayValues if it's mismatch so that we always set the right amount ov values to the array, Github #70 + GetMessageQueue()->LogMsg(L"[sitoa] Strand #" + CString(in_index) + L": " + in_attr->m_name + L" array count mismatch. ("+ in_attr->m_name + L": " + CString(nbAttributeValues) + L", StrandPosition: " + CString(in_nbStrandPoints) + L")", siWarningMsg); + } + } - for (ULONG i=0; im_fData.GetCount(); i++, in_offset++) - AiArraySetFlt(dataArray, in_offset, in_attr->GetFloat(i)); + for (ULONG i=0; iGetFloat(i)); + else + AiArraySetFlt(dataArray, in_offset, 0.0f); + } break; } case siICENodeDataVector3: { + // get the sub array + in_attr->m_v3Data2D.GetSubArray(attrIndex, in_attr->m_v3Data); + int nbAttributeValues = in_attr->m_v3Data.GetCount(); if (in_index == 0) { - in_attr->m_v3Data2D.GetSubArray(attrIndex, in_attr->m_v3Data); - if (in_attr->m_v3Data2D.GetCount() == 1) + if (nbAttributeValues == 1) { if (AiNodeDeclare(m_node, in_attr->m_name.GetAsciiString(), "uniform VECTOR")) AiNodeSetArray(m_node, in_attr->m_name.GetAsciiString(), AiArrayAllocate(in_strandCount, 1, AI_TYPE_VECTOR)); @@ -2357,25 +2402,37 @@ void CIceObjectBase::DeclareICEAttributeOnNode(LONG in_index, LONG in_dataArrayI } AtArray * dataArray = AiNodeGetArray(m_node, in_attr->m_name.GetAsciiString()); - // get the sub array - in_attr->m_v3Data2D.GetSubArray(attrIndex, in_attr->m_v3Data); - if (in_attr->m_v3Data2D.GetCount() == 1) + int nbArrayValues = nbAttributeValues; + if (nbAttributeValues == 1) in_offset = in_index; + else + { + if (nbAttributeValues != in_nbStrandPoints) + { + nbArrayValues = in_nbStrandPoints; // override nbArrayValues if it's mismatch so that we always set the right amount ov values to the array, Github #70 + GetMessageQueue()->LogMsg(L"[sitoa] Strand #" + CString(in_index) + L": " + in_attr->m_name + L" array count mismatch. ("+ in_attr->m_name + L": " + CString(nbAttributeValues) + L", StrandPosition: " + CString(in_nbStrandPoints) + L")", siWarningMsg); + } + } AtVector vec; - for (ULONG i=0; im_v3Data.GetCount(); i++, in_offset++) + for (ULONG i=0; iGetVector3f(i), vec); + if (i < nbAttributeValues) + CUtilities().S2A(in_attr->GetVector3f(i), vec); + else + vec = AtVector(0.0f, 0.0f, 0.0f); AiArraySetVec(dataArray, in_offset, vec); } break; } case siICENodeDataColor4: { + // get the sub array + in_attr->m_cData2D.GetSubArray(attrIndex, in_attr->m_cData); + int nbAttributeValues = in_attr->m_cData.GetCount(); if (in_index == 0) { - in_attr->m_cData2D.GetSubArray(attrIndex, in_attr->m_cData); - if (in_attr->m_cData.GetCount() == 1) + if (nbAttributeValues == 1) { if (AiNodeDeclare(m_node, in_attr->m_name.GetAsciiString(), "uniform RGBA")) AiNodeSetArray(m_node, in_attr->m_name.GetAsciiString(), AiArrayAllocate(in_strandCount, 1, AI_TYPE_RGBA)); @@ -2388,25 +2445,37 @@ void CIceObjectBase::DeclareICEAttributeOnNode(LONG in_index, LONG in_dataArrayI } AtArray * dataArray = AiNodeGetArray(m_node, in_attr->m_name.GetAsciiString()); - // get the sub array - in_attr->m_cData2D.GetSubArray(attrIndex, in_attr->m_cData); - if (in_attr->m_cData.GetCount() == 1) + int nbArrayValues = nbAttributeValues; + if (nbAttributeValues == 1) in_offset = in_index; + else + { + if (nbAttributeValues != in_nbStrandPoints) + { + nbArrayValues = in_nbStrandPoints; // override nbArrayValues if it's mismatch so that we always set the right amount ov values to the array, Github #70 + GetMessageQueue()->LogMsg(L"[sitoa] Strand #" + CString(in_index) + L": " + in_attr->m_name + L" array count mismatch. ("+ in_attr->m_name + L": " + CString(nbAttributeValues) + L", StrandPosition: " + CString(in_nbStrandPoints) + L")", siWarningMsg); + } + } AtRGBA rgba; - for (ULONG i=0; im_cData.GetCount(); i++, in_offset++) + for (ULONG i=0; iGetColor4f(i), rgba); + if (i < nbAttributeValues) + CUtilities().S2A(in_attr->GetColor4f(i), rgba); + else + rgba = AI_RGBA_ZERO; AiArraySetRGBA(dataArray, in_offset, rgba); } break; } case siICENodeDataMatrix44: { + // get the sub array + in_attr->m_m4Data2D.GetSubArray(attrIndex, in_attr->m_m4Data); + int nbAttributeValues = in_attr->m_m4Data.GetCount(); if (in_index == 0) { - in_attr->m_m4Data2D.GetSubArray(attrIndex, in_attr->m_m4Data); - if (in_attr->m_m4Data2D.GetCount() == 1) + if (nbAttributeValues == 1) { if (AiNodeDeclare(m_node, in_attr->m_name.GetAsciiString(), "uniform MATRIX")) AiNodeSetArray(m_node, in_attr->m_name.GetAsciiString(), AiArrayAllocate(in_strandCount, 1, AI_TYPE_MATRIX)); @@ -2419,15 +2488,25 @@ void CIceObjectBase::DeclareICEAttributeOnNode(LONG in_index, LONG in_dataArrayI } AtArray * dataArray = AiNodeGetArray(m_node, in_attr->m_name.GetAsciiString()); - // get the sub array - in_attr->m_m4Data2D.GetSubArray(attrIndex, in_attr->m_m4Data); - if (in_attr->m_m4Data2D.GetCount() == 1) + int nbArrayValues = nbAttributeValues; + if (nbAttributeValues == 1) in_offset = in_index; + else + { + if (nbAttributeValues != in_nbStrandPoints) + { + nbArrayValues = in_nbStrandPoints; // override nbArrayValues if it's mismatch so that we always set the right amount ov values to the array, Github #70 + GetMessageQueue()->LogMsg(L"[sitoa] Strand #" + CString(in_index) + L": " + in_attr->m_name + L" array count mismatch. ("+ in_attr->m_name + L": " + CString(nbAttributeValues) + L", StrandPosition: " + CString(in_nbStrandPoints) + L")", siWarningMsg); + } + } AtMatrix matrix; - for (ULONG i=0; im_m4Data.GetCount(); i++, in_offset++) + for (ULONG i=0; iGetMatrix4f(i), matrix); + if (i < nbAttributeValues) + CUtilities().S2A(in_attr->GetMatrix4f(i), matrix); + else + matrix = AiM4Identity(); AiArraySetMtx(dataArray, in_offset, matrix); } break; From 7f14a01163a2db1636239299389ab3fd360fa896 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Sun, 7 Apr 2019 17:10:27 +0200 Subject: [PATCH 57/98] remove some old bypass clusure code --- plugins/sitoa/loader/Loader.cpp | 44 --------------------------------- plugins/sitoa/loader/Loader.h | 2 -- 2 files changed, 46 deletions(-) diff --git a/plugins/sitoa/loader/Loader.cpp b/plugins/sitoa/loader/Loader.cpp index 9c2a4c2..9f1c2b6 100644 --- a/plugins/sitoa/loader/Loader.cpp +++ b/plugins/sitoa/loader/Loader.cpp @@ -398,7 +398,6 @@ CStatus LoadScene(const Property &in_arnoldOptions, const CString& in_renderType AiMsgDebug("[sitoa] Writing ASS file"); - // BypassClosurePassthroughForAss(); AiASSWrite(assOutputName.GetAsciiString(), output_cameras + output_drivers_filters + output_lights + output_options + output_geometry + output_shaders + output_operators, GetRenderOptions()->m_open_procs, @@ -534,46 +533,3 @@ CStatus PostLoadSingleObject(const CRef in_ref, double in_frame, CRefArray &in_s return CStatus::Unexpected; } - -// remove all the SItoA closure nodes, for a clean ass. -// -/* -void BypassClosurePassthroughForAss() -{ - set closures; - AtNodeIterator *iter = AiUniverseGetNodeIterator(AI_NODE_SHAPE); - while (!AiNodeIteratorFinished(iter)) - { - AtNode *node = AiNodeIteratorGetNext(iter); - if (!node) - break; - - const AtNodeEntry* node_entry = AiNodeGetNodeEntry(node); - if (AiNodeEntryLookUpParameter(node_entry, "shader")) - { - AtNode* shader = (AtNode*)AiNodeGetPtr(node, "shader"); - if (shader) - { - const AtNodeEntry* shader_node_entry = AiNodeGetNodeEntry(shader); - AtString shader_node_entry_name(AiNodeEntryGetName(shader_node_entry)); - if (shader_node_entry_name == ATSTRING::closure) - { - // bypass: - AtNode* main_shader = AiNodeGetLink(shader, "closure"); - if (main_shader) - { - AiNodeSetPtr(node, "shader", main_shader); - closures.insert(shader); // add to the set of closure nodes, to be destroyed at the end - } - } - } - } - } - - AiNodeIteratorDestroy(iter); - - for (set ::iterator it = closures.begin(); it != closures.end(); it++) - AiNodeDestroy(*it); -} -*/ - diff --git a/plugins/sitoa/loader/Loader.h b/plugins/sitoa/loader/Loader.h index cc3872f..dd773f0 100644 --- a/plugins/sitoa/loader/Loader.h +++ b/plugins/sitoa/loader/Loader.h @@ -23,5 +23,3 @@ CStatus LoadScene(const Property &in_arnoldOptions, const CString& in_renderType void AbortFrameLoadScene(); // postload a single object. CStatus PostLoadSingleObject(const CRef in_ref, double in_frame, CRefArray &in_selectedObjs, bool in_selectionOnly); -//void BypassClosurePassthroughForAss(); - From 785fd492b62010fd424ca28bfaaca33becb52e46 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Sun, 7 Apr 2019 23:28:20 +0200 Subject: [PATCH 58/98] make standard_surface the default shader on Scene_Material --- plugins/helpers/ArnoldScenePreferences.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/plugins/helpers/ArnoldScenePreferences.js b/plugins/helpers/ArnoldScenePreferences.js index b7eeca1..46c358c 100644 --- a/plugins/helpers/ArnoldScenePreferences.js +++ b/plugins/helpers/ArnoldScenePreferences.js @@ -76,6 +76,18 @@ function SetSceneForArnold() DisconnectAndDeleteOrUnnestShaders("light.light.soft_light", "light.light"); } + // Modify Scene_Material to use standard_surface + var sceneMaterial = Dictionary.GetObject("Sources.Materials.DefaultLib.Scene_Material"); + var currentShader = sceneMaterial.Surface.Source.Parent; + if (currentShader.Name == "Phong") + { + var shader = CreateShaderFromProgID("Arnold.standard_surface.1.0", sceneMaterial, null); + var closure = CreateShaderFromProgID("Arnold.closure.1.0", sceneMaterial, null); + SIConnectShaderToCnxPoint(shader, closure.closure, false); + SIConnectShaderToCnxPoint(closure, sceneMaterial.Surface, false); + DisconnectAndDeleteOrUnnestShaders(sceneMaterial + ".Phong", sceneMaterial); + } + // Use pass render options as the view render options are not supported for the moment SetValue("Views.ViewA.RenderRegion.UsePassOptions,Views.ViewB.RenderRegion.UsePassOptions,"+ "Views.ViewC.RenderRegion.UsePassOptions,Views.ViewD.RenderRegion.UsePassOptions", From c8cef0ee3d81cdfa15c3dec0d2f01d77ac96ab43 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Sun, 7 Apr 2019 23:28:48 +0200 Subject: [PATCH 59/98] increase light intensity and add a little soft shadow --- plugins/helpers/ArnoldScenePreferences.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/plugins/helpers/ArnoldScenePreferences.js b/plugins/helpers/ArnoldScenePreferences.js index 46c358c..78f45f8 100644 --- a/plugins/helpers/ArnoldScenePreferences.js +++ b/plugins/helpers/ArnoldScenePreferences.js @@ -74,6 +74,8 @@ function SetSceneForArnold() SIConnectShaderToCnxPoint(shader, light.ActivePrimitive + ".LightShader", true); DisconnectAndDeleteOrUnnestShaders("light.light.soft_light", "light.light"); + SetValue(shader + ".intensity", 3.5, ""); + SetValue(shader + ".angle", 0.53, ""); } // Modify Scene_Material to use standard_surface From 5b07dbccf412264df1173fa878efa7567c238f00 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Mon, 8 Apr 2019 00:08:37 +0200 Subject: [PATCH 60/98] increase light intesity a little more --- plugins/helpers/ArnoldScenePreferences.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/helpers/ArnoldScenePreferences.js b/plugins/helpers/ArnoldScenePreferences.js index 78f45f8..c0253d3 100644 --- a/plugins/helpers/ArnoldScenePreferences.js +++ b/plugins/helpers/ArnoldScenePreferences.js @@ -74,7 +74,7 @@ function SetSceneForArnold() SIConnectShaderToCnxPoint(shader, light.ActivePrimitive + ".LightShader", true); DisconnectAndDeleteOrUnnestShaders("light.light.soft_light", "light.light"); - SetValue(shader + ".intensity", 3.5, ""); + SetValue(shader + ".intensity", 4.0, ""); SetValue(shader + ".angle", 0.53, ""); } From 6c8955b296b25be588a65b9b023e589a21ca0a64 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Mon, 8 Apr 2019 01:03:26 +0200 Subject: [PATCH 61/98] add operators test --- testsuite/XSIProject/Scenes/test_0268/README | 5 ++ .../XSIProject/Scenes/test_0268/data/test.scn | Bin 0 -> 593920 bytes .../Scenes/test_0268/ref/reference.log | 57 ++++++++++++++++++ .../Scenes/test_0268/ref/reference.tif | Bin 0 -> 17630 bytes 4 files changed, 62 insertions(+) create mode 100644 testsuite/XSIProject/Scenes/test_0268/README create mode 100644 testsuite/XSIProject/Scenes/test_0268/data/test.scn create mode 100644 testsuite/XSIProject/Scenes/test_0268/ref/reference.log create mode 100644 testsuite/XSIProject/Scenes/test_0268/ref/reference.tif diff --git a/testsuite/XSIProject/Scenes/test_0268/README b/testsuite/XSIProject/Scenes/test_0268/README new file mode 100644 index 0000000..cf9805c --- /dev/null +++ b/testsuite/XSIProject/Scenes/test_0268/README @@ -0,0 +1,5 @@ +Pass Operators + +Github #19 and #68 + +author: Steven Caron and Jens Lindgren diff --git a/testsuite/XSIProject/Scenes/test_0268/data/test.scn b/testsuite/XSIProject/Scenes/test_0268/data/test.scn new file mode 100644 index 0000000000000000000000000000000000000000..08260a2414789515a32597703926400eb8081c4d GIT binary patch literal 593920 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ΞO6^y8y-zQRU>%MatBF^X!?o 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 literal 0 HcmV?d00001 diff --git a/testsuite/XSIProject/Scenes/test_0268/ref/reference.log b/testsuite/XSIProject/Scenes/test_0268/ref/reference.log new file mode 100644 index 0000000..914e735 --- /dev/null +++ b/testsuite/XSIProject/Scenes/test_0268/ref/reference.log @@ -0,0 +1,57 @@ +======================================================= + Autodesk Softimage 13.2.163.0 +======================================================= + +License information: using [Processing] +00:00:00 205MB | log started Mon Apr 8 00:59:43 2019 +00:00:00 205MB | Arnold 5.3.0.1 [567ba37e] windows icc-17.0.2 oiio-2.1.0 osl-1.11.0 vdb-4.0.0 clm-1.0.3.513 rlm-12.4.2 optix-6.0.0 2019/03/26 14:03:19 +00:00:00 205MB | running on Jenus, pid=21380 +00:00:00 205MB | 1 x Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz (4 cores, 8 logical) with 16333MB +00:00:00 205MB | NVIDIA driver version 419.67 +00:00:00 205MB | GPU 0: GeForce GTX 1070 @ 1771MHz (compute 6.1) with 8192MB (6696MB available) (NVLink:0) +00:00:00 205MB | Windows 8 Professional (version 6.2, build 9200) +00:00:00 205MB | soft limit for open files raised from 512 to 2048 +00:00:00 205MB | +00:00:00 205MB | loading plugins from C:\Users\lindg\GitHub\sitoa\dist\Softimage_2015_SP2\Addons\SItoA\Application\Plugins\bin\nt-x86-64\..\plugins ... +00:00:00 205MB | loaded 4 plugins from 2 lib(s) in 0:00.00 +00:00:00 205MB | loading plugins from C:\Users\lindg\GitHub\sitoa\dist\Softimage_2015_SP2\Addons\SItoA\Application\Plugins\bin\nt-x86-64 ... +00:00:00 206MB | loaded 103 plugins from 1 lib(s) in 0:00.03 + + + + +00:00:00 213MB | +00:00:00 213MB | releasing resources +00:00:00 213MB | Arnold shutdown +// INFO : [sitoa] SItoA 5.3.0 win loaded. +// INFO : [sitoa] Arnold 5.3.0.1 detected. +RefreshCustomPreferences(); +COMMAND: -processing -script "execute_test.js" -main main +// INFO : C:\Users\lindg\GitHub\sitoa\dist\Softimage_2015_SP2\Addons\SItoA\Application\Plugins\bin\nt-x86-64\ +>Loading: C:\Users\lindg\GitHub\sitoa\build\windows_x86_64\msvc_opt\si_13000\testsuite\test_0268\test.scn... +// INFO : 4034 - Loaded scene was created with build number: 13.2.163.0 - compatibility version: 1300 +OpenScene("C:\\Users\\lindg\\GitHub\\sitoa\\build\\windows_x86_64\\msvc_opt\\si_13000\\testsuite\\test_0268\\test.scn", null, null); +SetValue("Passes.RenderOptions.ImageLockAspectRatio", false, null); +SetValue("Passes.RenderOptions.ImageWidth", 160, null); +SetValue("Passes.RenderOptions.ImageHeight", 120, null); +SetValue("Passes.Default_Pass.Main.Filename", "C:\\Users\\lindg\\GitHub\\sitoa\\build\\windows_x86_64\\msvc_opt\\si_13000\\testsuite\\test_0268\\testrender.####.tif", null); +SetValue("Passes.Default_Pass.Main.Format", "tif", null); +SetValue("Passes.Arnold_Render_Options.output_tiff_tiled", 0, null); +SetValue("Passes.Arnold_Render_Options.enable_log_file", true, null); +SetValue("Passes.Arnold_Render_Options.log_level", 1, null); +SetValue("Passes.Arnold_Render_Options.output_file_tagdir_log", "C:\\Users\\lindg\\GitHub\\sitoa\\build\\windows_x86_64\\msvc_opt\\si_13000\\testsuite\\test_0268", null); +SetValue("Passes.Arnold_Render_Options.textures_path", "C:\\Users\\lindg\\GitHub\\sitoa\\testsuite\\XSIProject\\Pictures", null); +SetValue("Passes.Arnold_Render_Options.save_texture_paths", false, null); +// INFO : Rendering pass 'Default_Pass'... +// INFO : Rendering frame 1 (0.0% done) +// INFO : [sitoa] Frame 1 exported to Arnold in 0.105 sec. +// INFO : Render completed (100% done) +RenderAllPasses(null, null, null, null, siRenderVerbosityDefault); +Warning: return value of the executed script is not an integer +// INFO : Characters has been unloaded. +// INFO : polymatricksPlugin has been unloaded. +// INFO : [sitoa] SItoA 5.3.0 win has been unloaded. +// INFO : TransformUVsPlugin has been unloaded. +// INFO : FBX-XSI import/export Plug-in has been unloaded. +// INFO : Unfold3D Plugin has been unloaded. + diff --git a/testsuite/XSIProject/Scenes/test_0268/ref/reference.tif b/testsuite/XSIProject/Scenes/test_0268/ref/reference.tif new file mode 100644 index 0000000000000000000000000000000000000000..d45a131cfe86c3468cbb5573362244e20c96a893 GIT binary patch literal 17630 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 Date: Sat, 13 Apr 2019 15:01:31 +0200 Subject: [PATCH 62/98] translate shader names in set_parameter operator also updates the operator test to use the new functionality --- plugins/sitoa/common/ParamsShader.cpp | 59 ++++++++++++++++++ .../XSIProject/Scenes/test_0268/data/test.scn | Bin 593920 -> 593920 bytes .../Scenes/test_0268/ref/reference.log | 34 +++++----- .../Scenes/test_0268/ref/reference.tif | Bin 17630 -> 18372 bytes 4 files changed, 76 insertions(+), 17 deletions(-) diff --git a/plugins/sitoa/common/ParamsShader.cpp b/plugins/sitoa/common/ParamsShader.cpp index d6fc07d..e91433e 100644 --- a/plugins/sitoa/common/ParamsShader.cpp +++ b/plugins/sitoa/common/ParamsShader.cpp @@ -232,6 +232,65 @@ CStatus LoadShaderParameter(AtNode* in_node, const CString &in_entryName, Parame } CNodeSetter::SetString(in_node, aiParamName, paramValue.GetAsciiString()); } + else if (in_entryName == L"set_parameter" && in_param.GetScriptName() == L"assignment") + { + // set_parameters could be used to override a shader on a node + // since sitoa shaders have their name translated, we should do a name lookup and translate the name + AtArray* entries = AiArrayAllocate(paramArray.GetCount(), 1, AI_TYPE_STRING); + AiNodeSetArray(in_node, in_param.GetScriptName().GetAsciiString(), entries); + + // Iterate through all the parameters of the parameters array + for (LONG i=0; iShaderMap().Get(surfaceShader, in_frame); + if (!shaderNode) + shaderNode = LoadShader(surfaceShader, in_frame, in_ref, RECURSE_FALSE); + } + } + + if (shaderNode) + { + CString shaderName = CNodeUtilities().GetName(shaderNode); + CString newParamValue = L"shader = \"" + shaderName + "\""; + AiArraySetStr(entries, i, newParamValue.GetAsciiString()); + ordinaryParamLoad = false; + } + } + } + if (ordinaryParamLoad) + LoadShaderParameter(in_node, in_entryName, theParam, in_frame, in_ref, in_recursively, paramArray.GetScriptName(), i); + } + } // end of special case for set_parameter operator else { AtArray *values(NULL); diff --git a/testsuite/XSIProject/Scenes/test_0268/data/test.scn b/testsuite/XSIProject/Scenes/test_0268/data/test.scn index 08260a2414789515a32597703926400eb8081c4d..db86ecadcf2b882433f5cd31cd87802b8f96bfdd 100644 GIT binary patch delta 32199 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 delta 29877 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 diff --git a/testsuite/XSIProject/Scenes/test_0268/ref/reference.log b/testsuite/XSIProject/Scenes/test_0268/ref/reference.log index 914e735..734e136 100644 --- a/testsuite/XSIProject/Scenes/test_0268/ref/reference.log +++ b/testsuite/XSIProject/Scenes/test_0268/ref/reference.log @@ -3,29 +3,29 @@ ======================================================= License information: using [Processing] -00:00:00 205MB | log started Mon Apr 8 00:59:43 2019 -00:00:00 205MB | Arnold 5.3.0.1 [567ba37e] windows icc-17.0.2 oiio-2.1.0 osl-1.11.0 vdb-4.0.0 clm-1.0.3.513 rlm-12.4.2 optix-6.0.0 2019/03/26 14:03:19 -00:00:00 205MB | running on Jenus, pid=21380 -00:00:00 205MB | 1 x Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz (4 cores, 8 logical) with 16333MB -00:00:00 205MB | NVIDIA driver version 419.67 -00:00:00 205MB | GPU 0: GeForce GTX 1070 @ 1771MHz (compute 6.1) with 8192MB (6696MB available) (NVLink:0) -00:00:00 205MB | Windows 8 Professional (version 6.2, build 9200) -00:00:00 205MB | soft limit for open files raised from 512 to 2048 -00:00:00 205MB | -00:00:00 205MB | loading plugins from C:\Users\lindg\GitHub\sitoa\dist\Softimage_2015_SP2\Addons\SItoA\Application\Plugins\bin\nt-x86-64\..\plugins ... -00:00:00 205MB | loaded 4 plugins from 2 lib(s) in 0:00.00 -00:00:00 205MB | loading plugins from C:\Users\lindg\GitHub\sitoa\dist\Softimage_2015_SP2\Addons\SItoA\Application\Plugins\bin\nt-x86-64 ... -00:00:00 206MB | loaded 103 plugins from 1 lib(s) in 0:00.03 +00:00:00 204MB | log started Sat Apr 13 14:59:16 2019 +00:00:00 204MB | Arnold 5.3.0.2 [f7602f75] windows icc-17.0.2 oiio-2.1.0 osl-1.11.0 vdb-4.0.0 clm-1.0.3.513 rlm-12.4.2 optix-6.0.0 2019/04/09 17:16:44 +00:00:00 204MB | running on Jenus, pid=25616 +00:00:00 204MB | 1 x Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz (4 cores, 8 logical) with 16333MB +00:00:00 204MB | NVIDIA driver version 419.67 +00:00:00 204MB | GPU 0: GeForce GTX 1070 @ 1771MHz (compute 6.1) with 8192MB (6646MB available) (NVLink:0) +00:00:00 204MB | Windows 8 Professional (version 6.2, build 9200) +00:00:00 204MB | soft limit for open files raised from 512 to 2048 +00:00:00 204MB | +00:00:00 204MB | loading plugins from C:\Users\lindg\GitHub\sitoa\dist\Softimage_2015_SP2\Addons\SItoA\Application\Plugins\bin\nt-x86-64\..\plugins ... +00:00:00 204MB | loaded 4 plugins from 2 lib(s) in 0:00.00 +00:00:00 204MB | loading plugins from C:\Users\lindg\GitHub\sitoa\dist\Softimage_2015_SP2\Addons\SItoA\Application\Plugins\bin\nt-x86-64 ... +00:00:00 205MB | loaded 103 plugins from 1 lib(s) in 0:00.03 00:00:00 213MB | 00:00:00 213MB | releasing resources -00:00:00 213MB | Arnold shutdown +00:00:00 212MB | Arnold shutdown // INFO : [sitoa] SItoA 5.3.0 win loaded. -// INFO : [sitoa] Arnold 5.3.0.1 detected. -RefreshCustomPreferences(); +// INFO : [sitoa] Arnold 5.3.0.2 detected. +InstallCustomPreferences("ArnoldRenderPreferences", "Arnold Render"); COMMAND: -processing -script "execute_test.js" -main main // INFO : C:\Users\lindg\GitHub\sitoa\dist\Softimage_2015_SP2\Addons\SItoA\Application\Plugins\bin\nt-x86-64\ >Loading: C:\Users\lindg\GitHub\sitoa\build\windows_x86_64\msvc_opt\si_13000\testsuite\test_0268\test.scn... @@ -44,7 +44,7 @@ SetValue("Passes.Arnold_Render_Options.textures_path", "C:\\Users\\lindg\\GitHub SetValue("Passes.Arnold_Render_Options.save_texture_paths", false, null); // INFO : Rendering pass 'Default_Pass'... // INFO : Rendering frame 1 (0.0% done) -// INFO : [sitoa] Frame 1 exported to Arnold in 0.105 sec. +// INFO : [sitoa] Frame 1 exported to Arnold in 0.112 sec. // INFO : Render completed (100% done) RenderAllPasses(null, null, null, null, siRenderVerbosityDefault); Warning: return value of the executed script is not an integer diff --git a/testsuite/XSIProject/Scenes/test_0268/ref/reference.tif b/testsuite/XSIProject/Scenes/test_0268/ref/reference.tif index d45a131cfe86c3468cbb5573362244e20c96a893..26bc83aba93e05d6605530f76bdfdc4a2063c3e5 100644 GIT binary patch delta 17827 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 delta 17079 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 From 91d4b8ae13bc178df895b2de9e774425d667d491 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Sun, 14 Apr 2019 16:48:44 +0200 Subject: [PATCH 63/98] add enlargment of buckets during progressive IPR --- plugins/sitoa/renderer/RenderInstance.cpp | 24 +++++++++++++++++----- plugins/sitoa/renderer/RenderInstance.h | 2 +- plugins/sitoa/renderer/RendererOptions.cpp | 4 ++++ plugins/sitoa/renderer/RendererOptions.h | 2 ++ 4 files changed, 26 insertions(+), 6 deletions(-) diff --git a/plugins/sitoa/renderer/RenderInstance.cpp b/plugins/sitoa/renderer/RenderInstance.cpp index 9ce4fa7..9b31d5f 100644 --- a/plugins/sitoa/renderer/RenderInstance.cpp +++ b/plugins/sitoa/renderer/RenderInstance.cpp @@ -206,7 +206,7 @@ unsigned int CRenderInstance::UpdateRenderRegion(unsigned int in_width, unsigned } -int CRenderInstance::RenderProgressiveScene() +int CRenderInstance::RenderProgressiveScene(int displayArea) { int render_result = AI_INTERRUPT; @@ -215,6 +215,7 @@ int CRenderInstance::RenderProgressiveScene() int aa_max = GetRenderOptions()->m_AA_samples; bool dither = GetRenderOptions()->m_dither; + int bucket_size = GetRenderOptions()->m_bucket_size; int verbosity = AiMsgGetConsoleFlags(); // current log level @@ -227,11 +228,23 @@ int CRenderInstance::RenderProgressiveScene() if ((aa_max > -1) && GetRenderOptions()->m_progressive_minus1) aa_steps.insert(-1); + // calculate a good bucket size for the progressive passes, and round down to nearest 8 + int progressiveBucketSize = AiMax(((int)sqrt(displayArea / 16) & (INT_MAX-7)), bucket_size); + AtNode* options = AiUniverseGetOptions(); - // if progressive rendering, ignore the 1 aa step because that is already the first step in progressive - if (!AiNodeGetBool(options, "enable_progressive_render")) + // set a larger bucket size if we render progressive (or GPU), Github #67 + if (AiNodeGetBool(options, "enable_progressive_render")) + { + if ((progressiveBucketSize > bucket_size) && GetRenderOptions()->m_larger_ipr_buckets) + { + CNodeSetter::SetInt(options, "bucket_size", progressiveBucketSize); + AiMsgInfo(CString(L"[sitoa] Bucket size have been enlarged to " + CString(progressiveBucketSize) + L" to get a faster response in Softimage Render Region.").GetAsciiString()); + } + } + else { + // if not progressive rendering, we can set the 1 aa step if ((aa_max > 1) && GetRenderOptions()->m_progressive_plus1) aa_steps.insert(1); } @@ -1472,6 +1485,7 @@ CStatus CRenderInstance::ProcessRegion() return status; } + unsigned int displayArea; { // do not remove the {} as we need the local scope for the thread lock (see trac#1044) LockSceneData lock; if (lock.m_status != CStatus::OK) @@ -1516,7 +1530,7 @@ CStatus CRenderInstance::ProcessRegion() } // Updating RenderRegion and DisplayArea - unsigned int displayArea = UpdateRenderRegion(m_renderWidth, m_renderHeight); + displayArea = UpdateRenderRegion(m_renderWidth, m_renderHeight); // for these new render options (1.12), let's check their existance. Else, filterColorAov defaults to false, // and all the previously saved scenes render aliased @@ -1527,7 +1541,7 @@ CStatus CRenderInstance::ProcessRegion() SetLogSettings(L"Region", m_frame); } - int renderStatus = RenderProgressiveScene(); + int renderStatus = RenderProgressiveScene(displayArea); if (renderStatus != AI_SUCCESS) { diff --git a/plugins/sitoa/renderer/RenderInstance.h b/plugins/sitoa/renderer/RenderInstance.h index 0ee1b2c..563a9e3 100644 --- a/plugins/sitoa/renderer/RenderInstance.h +++ b/plugins/sitoa/renderer/RenderInstance.h @@ -212,7 +212,7 @@ class CRenderInstance // Create the directories for all the output filenames of all the buffers bool OutputDirectoryExists(); - int RenderProgressiveScene(); + int RenderProgressiveScene(int displayArea); // Detect what type of Update we have to do for the given Reference CRef GetUpdateType(const CRef &in_ref, eUpdateType &out_updateType); diff --git a/plugins/sitoa/renderer/RendererOptions.cpp b/plugins/sitoa/renderer/RendererOptions.cpp index 5cf0aa9..371f764 100644 --- a/plugins/sitoa/renderer/RendererOptions.cpp +++ b/plugins/sitoa/renderer/RendererOptions.cpp @@ -45,6 +45,7 @@ void CRenderOptions::Read(const Property &in_cp) m_bucket_scanning = ParAcc_GetValue(in_cp, L"bucket_scanning", DBL_MAX).GetAsText(); m_bucket_size = (int)ParAcc_GetValue(in_cp, L"bucket_size", DBL_MAX); + m_larger_ipr_buckets = (bool)ParAcc_GetValue(in_cp, L"larger_ipr_buckets", DBL_MAX); m_progressive_minus3 = (bool)ParAcc_GetValue(in_cp, L"progressive_minus3", DBL_MAX); m_progressive_minus2 = (bool)ParAcc_GetValue(in_cp, L"progressive_minus2", DBL_MAX); m_progressive_minus1 = (bool)ParAcc_GetValue(in_cp, L"progressive_minus1", DBL_MAX); @@ -331,6 +332,7 @@ SITOA_CALLBACK CommonRenderOptions_Define(CRef& in_ctxt) cpset.AddParameter(L"bucket_scanning", CValue::siString, siPersistable, L"", L"", L"spiral", CValue(), CValue(), CValue(), CValue(), p); cpset.AddParameter(L"bucket_size", CValue::siInt4, siPersistable, L"", L"", 64, 16, 256, 16, 256, p); + cpset.AddParameter(L"larger_ipr_buckets", CValue::siBool, siPersistable, L"", L"", false, CValue(), CValue(), CValue(), CValue(), p); cpset.AddParameter(L"progressive_minus3", CValue::siBool, siPersistable, L"", L"", true, CValue(), CValue(), CValue(), CValue(), p); cpset.AddParameter(L"progressive_minus2", CValue::siBool, siPersistable, L"", L"", true, CValue(), CValue(), CValue(), CValue(), p); cpset.AddParameter(L"progressive_minus1", CValue::siBool, siPersistable, L"", L"", true, CValue(), CValue(), CValue(), CValue(), p); @@ -666,6 +668,7 @@ SITOA_CALLBACK CommonRenderOptions_DefineLayout(CRef& in_ctxt) item.PutAttribute(siUIWidthPercentage, 60); layout.AddItem(L"bucket_size", L"Size"); layout.EndRow(); + layout.AddItem(L"larger_ipr_buckets", L"Enlarge buckets in progressive IPR"); layout.EndGroup(); layout.AddGroup(L"Progressive Refinement", true, 0); layout.AddRow(); @@ -1503,6 +1506,7 @@ void SystemTabLogic(CustomProperty &in_cp) ParAcc_GetParameter(in_cp, L"GI_transmission_samples").PutCapabilityFlag(siReadOnly, useGPU); ParAcc_GetParameter(in_cp, L"GI_sss_samples").PutCapabilityFlag(siReadOnly, useGPU); ParAcc_GetParameter(in_cp, L"GI_volume_samples").PutCapabilityFlag(siReadOnly, useGPU); + ParAcc_GetParameter(in_cp, L"enable_progressive_render").PutCapabilityFlag(siReadOnly, useGPU); } diff --git a/plugins/sitoa/renderer/RendererOptions.h b/plugins/sitoa/renderer/RendererOptions.h index 16a489f..ba722d0 100644 --- a/plugins/sitoa/renderer/RendererOptions.h +++ b/plugins/sitoa/renderer/RendererOptions.h @@ -55,6 +55,7 @@ class CRenderOptions CString m_manual_device_selection; CString m_bucket_scanning; int m_bucket_size; + bool m_larger_ipr_buckets; bool m_progressive_minus3; bool m_progressive_minus2; bool m_progressive_minus1; @@ -251,6 +252,7 @@ class CRenderOptions m_manual_device_selection(L""), m_bucket_scanning(L"spiral"), m_bucket_size(64), + m_larger_ipr_buckets(false), m_progressive_minus3(true), m_progressive_minus2(true), m_progressive_minus1(true), From 0205f7a645589d2ff8344b3745e25c28cab94ebb Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Mon, 29 Apr 2019 20:55:48 +0200 Subject: [PATCH 64/98] set array after bending instance on strands and hair --- plugins/sitoa/loader/Hairs.cpp | 55 ++++++++++++----------------- plugins/sitoa/loader/ICEHelpers.cpp | 8 ++--- 2 files changed, 27 insertions(+), 36 deletions(-) diff --git a/plugins/sitoa/loader/Hairs.cpp b/plugins/sitoa/loader/Hairs.cpp index e6b97e2..3576702 100644 --- a/plugins/sitoa/loader/Hairs.cpp +++ b/plugins/sitoa/loader/Hairs.cpp @@ -918,41 +918,23 @@ CStatus LoadSingleHairInstance(const X3DObject &in_xsiObj, SIObject in_group, do // Clone the master node, and assign it to the clonedNodes array cloneNode = AiNodeClone(masterNode); clonedNodes[currentStrandIndex][j] = cloneNode; - - if (CNodeUtilities().GetEntryName(cloneNode) == L"curves") - { - // allocate the points array for the curves node - vlist = AiArrayAllocate((int)strandInstance->m_points.size(), (uint8_t)nbDefKeys, AI_TYPE_VECTOR); - nlist = NULL; - // Give the arrays to the cloned node - AiNodeSetArray(cloneNode, "points", vlist); - } - else - { - // Allocate as many vertices and normals as needed. - // We need to allocate, instead of re-using the master vectors, since the number - // of mb keys could differ from the master ones. - vlist = AiArrayAllocate((int)strandInstance->m_points.size(), (uint8_t)nbDefKeys, AI_TYPE_VECTOR); - nlist = AiArrayAllocate((int)strandInstance->m_normals.size(), (uint8_t)nbDefKeys, AI_TYPE_VECTOR); - // Give the arrays to the cloned node - AiNodeSetArray(cloneNode, "vlist", vlist); - AiNodeSetArray(cloneNode, "nlist", nlist); - } } else // Retrieve the clone from the currentStrandIndex-th strand, so to store the extra mb points/vectors - { cloneNode = clonedNodes[currentStrandIndex][j]; - if (CNodeUtilities().GetEntryName(cloneNode) == L"curves") - { - // for curves, get the points array into vlist - vlist = AiNodeGetArray(cloneNode, "points"); - nlist = NULL; - } - else - { - vlist = AiNodeGetArray(cloneNode, "vlist"); - nlist = AiNodeGetArray(cloneNode, "nlist"); - } + + if (CNodeUtilities().GetEntryName(cloneNode) == L"curves") + { + // allocate the points array for the curves node + vlist = AiArrayAllocate((int)strandInstance->m_points.size(), (uint8_t)nbDefKeys, AI_TYPE_VECTOR); + nlist = NULL; + } + else + { + // Allocate as many vertices and normals as needed. + // We need to allocate, instead of re-using the master vectors, since the number + // of mb keys could differ from the master ones. + vlist = AiArrayAllocate((int)strandInstance->m_points.size(), (uint8_t)nbDefKeys, AI_TYPE_VECTOR); + nlist = AiArrayAllocate((int)strandInstance->m_normals.size(), (uint8_t)nbDefKeys, AI_TYPE_VECTOR); } // Bend the instanced objects along the strand @@ -960,6 +942,15 @@ CStatus LoadSingleHairInstance(const X3DObject &in_xsiObj, SIObject in_group, do // Assign the bended points/normals to the iDefKey-th array of vlist and nlist strandInstance->Get(vlist, nlist, iDefKey); + // Give the arrays to the cloned node + if (CNodeUtilities().GetEntryName(cloneNode) == L"curves") + AiNodeSetArray(cloneNode, "points", vlist); + else + { + AiNodeSetArray(cloneNode, "vlist", vlist); + AiNodeSetArray(cloneNode, "nlist", nlist); + } + // Set the matrices on the clone. Let's do it only once, not for every deform step if (iDefKey == 0) { diff --git a/plugins/sitoa/loader/ICEHelpers.cpp b/plugins/sitoa/loader/ICEHelpers.cpp index 9dc8430..6b810f4 100644 --- a/plugins/sitoa/loader/ICEHelpers.cpp +++ b/plugins/sitoa/loader/ICEHelpers.cpp @@ -4839,10 +4839,6 @@ bool CIceObjectStrandInstance::LoadStrandInstance(Model in_modelMaster, CRefArra vlist = AiArrayAllocate((int)strandInstance->m_points.size(), (uint8_t)nbDefKeys, AI_TYPE_VECTOR); nlist = AiArrayAllocate((int)strandInstance->m_normals.size(), (uint8_t)nbDefKeys, AI_TYPE_VECTOR); - // Give the arrays to the cloned node - AiNodeSetArray(shape.m_node, "vlist", vlist); - AiNodeSetArray(shape.m_node, "nlist", nlist); - if (nbDefKeys == 1) { // Bend the instanced objects along the strand @@ -4883,6 +4879,10 @@ bool CIceObjectStrandInstance::LoadStrandInstance(Model in_modelMaster, CRefArra } } + // Give the arrays to the cloned node + AiNodeSetArray(shape.m_node, "vlist", vlist); + AiNodeSetArray(shape.m_node, "nlist", nlist); + // get the matrices of the masterNode, just to get their count AtArray* masterNodeMatrices = AiNodeGetArray(masterNode, "matrix"); // allocs the same number matrices for the cloned shape, and set them to identity. From c56f91373bffd3f5ac51af75d1284f0fa2f14f5a Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Tue, 30 Apr 2019 01:57:33 +0200 Subject: [PATCH 65/98] tiny cleanup --- plugins/sitoa/renderer/DisplayDriver.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/sitoa/renderer/DisplayDriver.cpp b/plugins/sitoa/renderer/DisplayDriver.cpp index 41c6e18..1dd1d69 100644 --- a/plugins/sitoa/renderer/DisplayDriver.cpp +++ b/plugins/sitoa/renderer/DisplayDriver.cpp @@ -451,7 +451,7 @@ void DisplayDriver::UpdateDisplayDriver(RendererContext& in_rendererContext, uns // if layerName is RGBA (Main) and use_optix_on_main is ON, // we will add the denoised main to the new_outputs - if (layerName == "RGBA" && m_useOptixOnMain) + if (layerName == L"RGBA" && m_useOptixOnMain) { // we need to check if the optix filter exist. If it doesn't exist, we create one. CString optixFilterName = L"sitoa_RGBA_denoise_optix_filter_display"; From 87d07f45cf8eb6d9b93f36b4ba4a5ad44ff3c91c Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Tue, 30 Apr 2019 02:35:14 +0200 Subject: [PATCH 66/98] support optix denoiser with gpu --- plugins/sitoa/renderer/DisplayDriver.cpp | 12 ++++++++++++ plugins/sitoa/renderer/DisplayDriver.h | 1 + 2 files changed, 13 insertions(+) diff --git a/plugins/sitoa/renderer/DisplayDriver.cpp b/plugins/sitoa/renderer/DisplayDriver.cpp index 1dd1d69..3bd5c12 100644 --- a/plugins/sitoa/renderer/DisplayDriver.cpp +++ b/plugins/sitoa/renderer/DisplayDriver.cpp @@ -203,6 +203,7 @@ driver_process_bucket // don't update progressbar if Main (RGBA) is being denoised if (!displayDriver->m_useOptixOnMain || + displayDriver->m_gpu || // TODO FIXIT: Temporary workaround for GPU to work with Optix Denoiser (displayDriver->m_useOptixOnMain && !strcmp(aov_name, "RGBA_denoise") == 0)) { @@ -381,6 +382,17 @@ void DisplayDriver::UpdateDisplayDriver(RendererContext& in_rendererContext, uns CString layerName = GetLayerName(renderchannel.GetName()); CString layerdataType; + // TODO FIXIT + // Temporary workaround for GPU to work with Optix Denoiser + // GPU can only work with one filter at the time, so we can only send the denoised output. + m_gpu = strcmp(AiNodeGetStr(options, "render_device"), "GPU") == 0; + if (layerName == L"RGBA" && m_useOptixOnMain && m_gpu) + { + layerName = L"RGBA_denoise"; + m_onlyShowDenoise = true; + } + // END TODO FIXIT + if (m_renderContext.GetAttribute(L"FileOutput")) { // Display Driver format will use the DataType of the MAIN framebuffer Softimage diff --git a/plugins/sitoa/renderer/DisplayDriver.h b/plugins/sitoa/renderer/DisplayDriver.h index d3219a2..e6ed536 100644 --- a/plugins/sitoa/renderer/DisplayDriver.h +++ b/plugins/sitoa/renderer/DisplayDriver.h @@ -72,6 +72,7 @@ class DisplayDriver int m_paintedDisplayArea; bool m_useOptixOnMain; bool m_onlyShowDenoise; + bool m_gpu; // TODO FIXIT: Temporary workaround for GPU to work with Optix Denoiser }; From da39843d63d351b4d6134ec658b3ad65e2272140 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Tue, 30 Apr 2019 02:37:15 +0200 Subject: [PATCH 67/98] makes progressive bucket size dependent on number of cpu cores --- plugins/sitoa/renderer/RenderInstance.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/plugins/sitoa/renderer/RenderInstance.cpp b/plugins/sitoa/renderer/RenderInstance.cpp index 9b31d5f..24c257f 100644 --- a/plugins/sitoa/renderer/RenderInstance.cpp +++ b/plugins/sitoa/renderer/RenderInstance.cpp @@ -9,6 +9,8 @@ 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. ************************************************************************************************************************************/ +#include + #include "common/ParamsCamera.h" #include "common/Tools.h" #include "loader/Cameras.h" @@ -228,8 +230,9 @@ int CRenderInstance::RenderProgressiveScene(int displayArea) if ((aa_max > -1) && GetRenderOptions()->m_progressive_minus1) aa_steps.insert(-1); - // calculate a good bucket size for the progressive passes, and round down to nearest 8 - int progressiveBucketSize = AiMax(((int)sqrt(displayArea / 16) & (INT_MAX-7)), bucket_size); + // calculate a good bucket size for the progressive passes so that the total number of buckets = CPU_cores * 2 + int numCores = std::thread::hardware_concurrency(); + int progressiveBucketSize = AiMax(((int)sqrt(displayArea / (numCores*2))), bucket_size); AtNode* options = AiUniverseGetOptions(); From 5cfcc761d339b8376e3b878b155d4adc48c2499a Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Fri, 3 May 2019 00:27:56 +0200 Subject: [PATCH 68/98] add visible area lights test --- testsuite/XSIProject/Scenes/test_0269/README | 5 ++ .../XSIProject/Scenes/test_0269/data/test.scn | Bin 0 -> 577536 bytes .../Scenes/test_0269/ref/reference.log | 57 ++++++++++++++++++ .../Scenes/test_0269/ref/reference.tif | Bin 0 -> 12303 bytes 4 files changed, 62 insertions(+) create mode 100644 testsuite/XSIProject/Scenes/test_0269/README create mode 100644 testsuite/XSIProject/Scenes/test_0269/data/test.scn create mode 100644 testsuite/XSIProject/Scenes/test_0269/ref/reference.log create mode 100644 testsuite/XSIProject/Scenes/test_0269/ref/reference.tif diff --git a/testsuite/XSIProject/Scenes/test_0269/README b/testsuite/XSIProject/Scenes/test_0269/README new file mode 100644 index 0000000..36e23d0 --- /dev/null +++ b/testsuite/XSIProject/Scenes/test_0269/README @@ -0,0 +1,5 @@ +Visible area lights + +Github #63 and #68 + +author: Jens Lindgren diff --git a/testsuite/XSIProject/Scenes/test_0269/data/test.scn b/testsuite/XSIProject/Scenes/test_0269/data/test.scn new file mode 100644 index 0000000000000000000000000000000000000000..745d9848258ce170c23c5950d51b13176c348629 GIT binary patch literal 577536 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 z zh-sK#*2vL3H?gm(F+y$3JA68Ac!lwmFNe;&Q#O5k#k)zPxN;9rzM;a_cd5b!`Q@&9 z-cAz;qUk2-4cQv`C6to&OM4MxSlwGYo0sYC75n#O$6p?HI>fvkT1F>b+D_MWiklLW z^H!TL@4HuCc*3rPCbPr*$1R)UG zQt!Jqg@*0rABr`fY=vGJ*0@sED$iprqe$2D7>^jmD|$O0X+Fbe%bEU1%PlV-$#l?! zcYQhOe{K9VYA6m#)xCc0Q4)C#*+@f!PUXI@<~J&2%Di^leMZyjuM&mwV zr`%fQaQ}8{)Y2bXcwc0Mk^3ZHN+;b(m7KS!K)gw%T@Ni1|1)CDp7OF%z%_5Tx%Zu3 z@18Pc93!53spdA4CHMV1VS%yw&o(t*wV+9M{#%QcdbTn&?i0oWs$pffm6}0eCth;i zz7ygzLxXuQO;@XlJ-)qP+{@8>xZn3TH!m!9XYXff;#p5rDf|L!tba=_sCpJP^j4+) zt8$GFoTv^Tm}k!(#E7dNys`PBoWXIej*lweXu?y*9_nsN zJ6=-e*!u3BNCh=E=E=SS(sEDqcX~E4#&e!ysS9iqZ`r3lZa=UoV$Aw!zV7?vpBYpDk&3nYoIz0EtwB+6{J= zx6v?dQVqM1sWcIO{L)VyU(VXbm>X<=%L-o%itN)xvLFz9s)2JJb{l0L20ak(9lpRb=1F|;j?MyD@14QvdaL~pZhrSCMTgLtQkz1W_Gi{5AqnBXTpIQc@}nHB0-iyswIqSYr~UC zxiRTC)+?Fz$IkxMzG><|arm$mZa?lU#7L!{hf?|(xwgJb4YJwj<{sdS{)l?uW+?@_ zsb&@Qu6t4o^+>1E z&E}f+u>-Jc&X51J!7utoA$0v^6nWYgcRujbnt+%f|)qygxw-EDkk}f80f(~Y7 z&_^-o7zg2q9=dSYQSwKZtTw{Rc9H|(P@+nF%?QVB(ov&=1k$lJj;h?)VLnRiToIR~ zq$kgh&iF-#%1J|nBTdU9l;KU+yo>a?qC8hz9!=B`_98{nT-YVkbQL*)z%3;<#8Y{# zO0TIEaO=x+DF|h?12nq4xi=-o@^wU?yQBy)5!l7Pm&0ryy8)I0wNU+dPZxjov zncn=+gSiX8=~`4lwir({N$Q69Nr$xwmx@Ox@km;GqU5+hDj8Sxd0iD$inU4CbTbT? z28g-S)yG0kWaqk~#^@OFvPrTkEl~@9;sLv4T*!w>xilqRf-Kh+QEy0Vq*PJ8kk*RV z3@T+%D3kHQi;u6SjAGHjM4iEHQI>_g=&E4S5l3hSX|!BctMUA!i=FH8x<-ffmct=h zgsCI0S@g%H!QN;w8sS?gF3xpFdLiEdh(+IoUn~V-(Hbp=BTAx+lp_IBiiu-HE$O%; zFcUsWH~S>zB-R*7jEHX&KCO9KV7$pBDOKQ_kWOj^m@QG3z~qU^0Hcs`SU)FGLr4-u zx&;iB`AKy_$dgjg_4DjXdnvYL$+UB&H`*x}#^qoKg(CtP4s<-4K$p4>>F7W@_@8_L zvhSoN^qDf3$m?6g@(OF~$W=h8=Ke@Z<@ph|)beymlBP`Hjr6)~sr4+cc&EH*yq~Tn z6IN8ZJa4gd#$DmcaDmg-X`(Yq5H&Fj+UF1bYm`XWfF$~ubc$LdwFY!lon9L%+A`uZ zlUWn%rt7$o%k}M~2 zuMJn;OsxKh!D5+@*#|T`A}>ZG=_&n@1(!>@T#n`MENhNZtEA=8JGorT%aXrS>x>{l z$`XX%LOH^J+jYYQ7>c?}Il8+7Fq_0`C73KyZ%L9$MG>yA8I zLED9VE24)W^{pzxM-h&IB-+>{bw%_cyZn ztrJG;swQIMj$fXL>x5X8t{P$uR2+US#e|LRt1qn}{-|*x?$p4aC(j`dlIw|JkiQF{QX)no9fAYY=GWS6ib zUP(DavP*Ixm174}4=hPCB=SRo$>**8O zU@rj4Gg&pl#E1W-t|3n=YDjD+sIMushvJAGwFPpWr;7%p{W0;nHL^$~cY?RUE~la# z)bYiUtW2<*wv@{x$XKZq+qN?0evGI;+LS6|+g4^Pw8S(2t4uCwyo{2J{ zkB44P#5GZ`<=SAGOHxlwk2kjSN6!K%OQjwu_0nlhk32P|A40uIuMyI|nvadPN$bXF z*`l0iUw&>*Hsmdzbjh>49&Evd_(1&?;c_&w_0YB#QYz#rZQ+S>$%L3Ys~LScHJ8>F zT!>zwZ$1@G)dF;~lb_@e^@}Zs177RqchE@sC(p9=ph2fxI8)7=L z5y_WOd4A$aGS*@uO=$~1lv2j)*^%&pfIbC}3&viTNON`X9`ks4BBq4ZxY zwIs^;wv;JKmq?3c&D2h1OZigmQevQA|9Yux!9ZzcjALOgr4$p(njzQ&CeNfBM4>Q4 z&T50{rF6taT8f_MqRyLq73*6jhMo1=rp7=X!YI_QZ?R6~Cwm(6-Q=Yaca=3~83Sbs z5hGi15Os)^Zmty)V<*34srIn4^?5Iio&2)JO)soufof^bfyN?ilWb}Kj9G5$TQcLC zB)_=blD!tWCqGrob_t?Uo$kDcX~fSK%NMmseJ-P|*w6~ozVKVg$LNl>y}iummDaDb ztagoBM>bMu-a5*4-5Oe?`P*h8Sq`>ZNS2-`6zE_fOjq=^R36`2pIx3hWh^Ai)7Cl= zEgqxZn0-ucxl((_O4jGQG4JtfiFaQaf2yW+(MpB{4tBo$YiGE`z1j z`{EcKNwGA4<0EvIZL}PV)+kpfTYl-Xawfx=ZII{9uJV-UETzlZ3$lrC$-5p~SYdBO z?&P$P^$O}03>9+`4bO|HF)>9^xN;!3OrMPebvl?4lv`Umj zc{$pWs70eKW0rDR5hYTNgR~}7QX*YtmRFln3MD=ZV`s#3VWgj|w)OSNBvoFrl)mIi zs&M5!;cP@w1=<8VBCMaYg(j(t%IVUVQL10-xkva4)>2*$g{!TlK%G!?DQ7F?B};40 z7RjVB75Q2)vNY0hLBTg5YeU?Wu2L|9vHFYMQodNs7_O}awQSnX?L zFXY5Vql7hlRF=S_lrD#P%GQ))$y=g*vE=Cs;|1cVf%e)!p&pz}!oE=HMfGf@Wk;+( zWP3(ew3JeM369&1-ga+=-B9z0&&S_EubK z|6<9?{1-2b^Zs`9;~Oz~{x_e*lXLrcsXeTuZI{}&i8@~PR>@QTOJCP2RkYdThXO-C z>`U#Fef{F$BRhVLuGcbT*@MDsvkabnl}Q<$YNlKeXEaRvObLyX&d3s5K7xTAC(#P| zQVNx+Fm|2&uM=kbjIQ52Ab#bD32Rr?Y9kz)^5I^;xFKWqZbrP>j z5iavf6DOT%UR0Q5)^(4IBC|fC!TwfmXGRB3E3wbD|E+s=tgfi~-}6alnp7Pkv82XI zm#W2xQFq*_2KRjaaG&Y$Mc9tWw?!CLbmElQu`~BeTeCDy^om24YRys}&%@5!W1mQ* zdwEkM@ZNMC5i|~NksKww8!-mI%6N3aG(Y$0aknORh`yJR8Cu#{BDE>P;V70usLs_# zd-X{37fb(Asl=a^`(^dp?A|i`X<(&O?2sm^Lvq2}@W8IsC_JEUz{D{nH{_|+Y@)Qr{!8|zd*JcEMwD$55P!E=@2LMxTp+bK z@&RG8K$b$Z?M=@#Z*KyWGQwe=$VzkZHA-C%3+ zz>Qbh{{GnW*9?rFG-GcxX)|VT+6|sGVRWu<{MN_jcK>H{gBFaoG+=KusWN77*7wa{ z=lj#OeRqs^=(*hg2s-1SC-LmvG;eRLxL`Tv*x1({rKwl@>QPXv+-i((Kl-Sc7e&ld$mTWA9e51m~8+4#~9BkcZ!GX4u7(K z__6GXy~i|luCxYi#;nnae22YX*=2CwS$#y${mnvgtf8Q{X}}sKqsD&TQ9i!%KL-QX z7JUBYyhR<7B+y*{O8)L0^tM#KxUnnr);udeY1Gt%9$V9|`m|9F|81_W=axHj2%o`(5F>ZRt_JGx-` z&%9@T9kebiXv@YTZsqQ_+#+qmK=UBzhK!u;eNq{PhNV=$i(H& z*MH4Qrez;$8#eQBoz36$sOT~8v{%jM9okJ}^rRV&8gim;pN+L)`?!bCCl)K_F|*Fi zU;2A@N*ZnXu-mZLOk$2i^Uk#Vq;g@;??3O*>-hML%UFAs z64xhN&ciTYY;U(zl49(F<*NtkoWHpBm~X|%t-ax1=-3MRgxJ#35BUbor3JRD|m79vOdeD>B#t2pIl(B1Bj-KAvTbHoR*={a@q*>K zjea;^=|)uWhN<^o)hpAbEUQttbJ)ly{cpI2;*eC`>sQXqBN85YJE)S%wTNPV)xmhg zC>=WV%ecZ@{6>ynQ~t`>>d{gf*wxBJNk4u*ItA@K^2C!OG<@!`xo)`=bv^@6~Qx|GV9_14i8WF;DNjzkb6ABj-v!*(zOQo}9O-K)m_} zS!2XMu2UeNefLhJ zf?7QDhK_C*{%PlxKZf1sf;Mg*U9RCLFZwXDQ}W(mV|k?pQ}lYHR@^Rpwqeb52S?Tk zS&{XdjOR;doXh+qT3<^lK}M4u+-x*Vn^cW8x7zK2^4hZ$T66n#3H!h6dDwZ4c(l0t z^hp6jSi4QwihWD1Zz<@9u+@$1Ga3EOB|Deh9v(6#bXB=#eHzr6-k;G!OidGO;52F5 z3+&AMiL~bSk7_-~&zP1u^oMVMTVDKCG2B%PV~d^{ncVlh=2nv`WBtu>k8kIhUZ|Jb zx2+ByzmnZ`5u=J~ERBqyYxJd!-7cKNCw||ZzgmUPy}Ib~tY5k%`5q~8cd+F=v@MRt zN>y!(qve6BoiJm!3opsoVw_XU&;3>m>-%EQpVv3CN~ZJo*&bl&X@}N^YkM6Z#_hs+ zN-P`K!F0lBeW7kEr{2DjFAhp>JcZ4RZ;+l6CZkDk)^$K9U8{=Ro$+~aiVnS(-I z68%H0lJi!ZJ!$lI;d?Jfw~V@4)hlj9ogKjie4Us!(SVhxO|1K3O=vPrhUGyL4O43D zcHz%o)|(I$urX*xsMD3t%8YPfB0-jdTy=J4E2G-l@MKc1Wh~V*$-L&M$-{B&hve47QTO`$dh+*`wJ9o)2(G%V%JlGjG98-6Lp0{`&3txr* z*G&zvXN46`*ZVbwF`!SnY?LlKj^@DO$4C?w+Q^aeDl1KI;rnA&s|$b;IShK;tY7iY zbO8U+t&5hMC(Wt!Z*JzlwKx=ffh_UKn-beLn zd_6qp8Ha?;*hW2celA8es|G!)4r*1i7I2@Ti_w~#?-dhfDAF^TSC@kQ_gL)*Ng6=n``>%!bJg7dc2~B0%m3qrP z9w6FrCtTyj?072}T%t;Oj~tx|N4JQv`$vq#X@`7-d*hkurF-H@r^zh0!*^eNkKz1~ zvv9vV{i3_coAX0TgoD;C@)7)vLv)LLgya_aHb_IKj8YllxKoUBa>sYQ`{l!cNiSeQ z*a-L6i!E2Uq!ztUuWfN(bVtOJKKbxN+S*k?sbbwn8`UrR5^tfAV{f@e_H7if#A9PblX+#Xnf6kko4I|pV&-=QEG-F`O0JEa2vPg`_CEdGJl(!+c;?EhL1U9v z*HV_Gl<#GSHc7RL9%Eyj`P`Pw_saaQ|HM~^Ht#JJF`MZrG4(?qo&I`$?C>X^cJ7N; zt^aAz+ptJRn_zdS>51a>z8khdahlSnXM;prq)}rznBCDm5#mo2_VC4v1Jhzlc&xP_ zF!MsOACmSc(e##b>YR?mq6W4-8Zug^7|o?*EW zVmu18|F%)p>cJbY9a-47UR2VWMe4FCuUax1mg>~T>b6R;kW$k4pSMXKgryCR6SO0@o7SufJoDY@@S%Z;^G$sslEwN}n=`W8M} z{h;5xA6~7?vwKnrW&uCc*2;78rYprtKk{GDw|2h`>H4%|^!yiEtD*(Jsk+MfC%^TM zt!K_`dj1DSn_deg4L59?;-Cm>UrEmrn{BP~GJB-kTK$c}e#&v{<-U>^f|s@aqT6TD zeUnar$)&0B>h>z7;~D0ZZEY6%7V5Kdo`6>KZPp3I2)VU6{p0CtLzkRw6P;`4{o<_t zX&hZ`8~wRZ4DH(bE`_-O4Dqe(=&0Z|)2HnC zmGO)GJT<>azvx=|7;udSYEm-R`{0qWHTEI1>t-xhFQ5D9N9lHs9aT7KPp&YmLX-To zs)KpR)`Y$fnvGc#mvxIf<{cO8y|r|~GxJ=EzF=}e7DGI5gboU)UV$JDw!V7@T+kb@ z`5tAPOspkRc*c*DMnp(X!lK&E{$Hz=zT+QPFBTN&jlD5=-0V1NVe~j6^+8iQo;KIs z_xOh0z!Sp@6%7v=p7rbTPZ})E$K-~v{Se1Dx-Hm0|F%~%x45gHk2>_@fTZ!7|ANOj z>CXL&2|vAXi_aHwIBe}cOohNFOv9`1jCqW^%56Ay<-lRzMc=qI8`E|}6-JeL{S&Xp zO6hpodTR4%G+7;vb9CoFcwb3>;(8HTw`>-z+XLivZSK5;1wYL2+R}DhExUn!Sk8tA z)-4Y{^sSq)G>5JgrpdC@imT1R_igF^m+gG3aXYqojJvVvf3*iR$BA5m_Pl3Hr!nSb zY$SKg<%wDLW*P6ktI7Oyvp($-!{|vvmQI7Vy^v4yeIuGp`tDfk+sz~Y7rfc@Nwa^a zE=uz!b+l$WtJ^nrM~t_TfnR;vFq_}*T#qXpu0F(>)mSkrbe7J^SNDO^LJrzmZ?oML z`%JOBIlVrUt3|%k+*p}SyY}xnu_55Qggsv8xvzg?e9v!|?=-e9^r(6!dCc!3MGEr~ zG~zkz!G9#SKdMpo1{V2P1uQR7 z|BGv4tPM9zs%^u8z*2Wr;y9FTdWHzR23KjY!IWOSi~7Ar4cD>EKA zcl4>n1!=c6rQ&FF>U}$L7k_Q~=J5D~f%7vhJCSu&t?W!b2-^>_yZSQ6G56x8q2BX{ zOe*>H#tb;)dUPuMgq;G<;}}^}eHz{lO&QL)F%}j#XAaFLA~5hkDb4|5@SRlhN~E(AK>f?$6oZHqI|0 zphfKEB8^@%+R})&s$AAg7G2gm(9pBniX6@6aM)*b#`N(AZaU>+ROz>p;_juCileQY zHg}9b6&_&{iQ^r54GUeyB6sW&qxi{-#pX(~~CRvPky^Ws&S0p=DX_YiEz!^M(uFvgOYe9j3KApA+jl$w#A2vD&SM_L#&1X>z3rsEMLw(A}^ExevZ~<~pgDWf>cyYPNOA)tV(QcuYR= z?aN8amo;PZMfQ?b?MLCSE5GYR@0VdZQ{G?iin2|=08{h+`bNZv>oBg{#=}cPW=<_T z+VyRb?#vIsra1|nQZL<>H`=^--yV7Pv+;BNyVMQbIi^gf-Q4=htd0rW578q(Q+Rmg zJfo+1Ppq`X{qop=zZpIMg*Kl1r}I&-5eNK6SByCJX5%P(Mq65K@2e~T7yq15kp%mZEoGg77CQ1mDjx5=`voKA4uAU z80Aj%E%EYxpP)ID=l}0-`%7=wCSI~VF|fY03nwDc#MAw}ZD^CP)o%>buiX-94j$=s z%?hC~o$Y^ilID3D$e7#bWZ1q-RXygvS^c=in9$sUNfvHKr7b@_`R$#Z`R#w^eruCw z*y#SDXlU84gfP8b32TA7`L6YN#Q4hR<%z?`JVMqE_8a};{JnjG$Y5T)vwgG@Zx zCvZ_a2gYb{UQ=lOwyCo{#>I7ix~Ju-a#9*n^~^zrJNrxq4Z+br{;nH4XJwOAj6$~5)FD<<49VAITQ^?MyfTl5u?+YFYWD*SM{Dz#--T2?VsFYT9X0q zXw_6#>@6UdO}LfOQb^j=oxe}cc#yU1u%Ip5$`lT?|EZ+3&OQ{~X_`LDchHaB1GoJ) zbs}yX`cg{6hoU<-FTV=wo~^on{PR+IH_u)bC8gn=>yB!8VK37c-RX+Ch~Yjc$JRsq6gp_P|<-?gX}KbyiQD6OYGD*jLCXly+>W2Wd^XHWv)Huc@@_uiDL1K3kU^_8)!v@vtKc z=KaI!m9YH~J2hL&$E{j?wobszaTOmmbG(zZ#_GS&sR_*eqVpy1Z9cQ^J9nGC@nCgU zSEP4oV46W?S&ZF$67h6kSi-kML&n#;W;duphNPi6+8HJ4mwG-ux$m|0F~zKs=FQl~ z_V{&edv|Z$^*;vAKC}94xx!y2?U$kbd?H7LeG*2)QkYs`g2%$X2xFbv2m6D3*VmpF zJic?IT^;)rzQm-Ox~w9#TEnp^5hI29BK1BT=3=w|MmfpduQTd{;yo5y>* zZyFwa^u?;F=@?&V{e#FC<-UjHyiH+V08c#f6VLTL_nIhMX9!a2xziBj;ViwnR`MR^ zv9)CUt+;Z3$ZP2-M?|+EYo**zbdP#`Zhz?Q|sm&ck{^ zOL9J__Hh5m4NSgh7o#{R+ZKbfoiRcgkr>t*b8u|GT57~hVSbTpaj~C!^PhTaPK~wq zYgT!7`E^=s$kJzPucrI^>L-j})S_$gOYr}a^ENejVaX>n<^exjGQL7DS8vae3*w$s zjhySrctPH76r@GEx6f!;s!%IkoS;7n5sR`-_kg?kQ3#r9{%p5EY|XiCY`>(PAB63PI6BdO zXh@AMzXiFCKH98ryNO>V`VIe$8`@%a)@ahD@IC+e=lm9wK0UK3)7dmKI-%F|XhOQF zJ!gWcI7!N!foc_cer<=at z4m>gJ$H7r$7;R}p<5c4wN1-Qt3#hv*WEoux_E1S$0M!F)g zHG+=r>;PShriEzuv>c|bYZ^TaVx6t~K60@&9J=H^M(%IAwR?NI>66eAe>GhBMUeuf z7Psv>vB;)dU`5EIyLnpt z`ET%e|6Jj#s^_iG*hG7vX`dC@S?V)%!+$#Uk@^jEsvqsTqBVUf9WNDFqwbU%Tj^V} z+xbVg|Lqi%u=bBv&aGP}ZLXx|h@^tH^O4*LU3U4wc_|eqne5OzmI)N#A*WhnrLVDJ zjn;9^zJIXL-giZ&&~f{QIjm+zkp?W(+)*ARlajIC2aooFO5VikuIQbQ7#_do%Gi=C zR$}%lwH0thH8IBl1 zCp~&U8|djjeEHwmqg)o?9!5N%k+2nL)BBe84!i3))xP@i@9+9=%R6{V-?(p+*8LF$ z@39-CF|0;iSo2dGixK0n*X@&cR^Rg)x39y5E>ano zHPUm^;yHaL=e|&y(UvBhG7YNsF{;d3jDNhRd)58lb?-HeS7q{8IC71i#c)ws46P87 zTeX%McE?i5V$5GW?cstvuYLX_@c%1LT+13 zD;wuu`^h>cg&(TL*wQy=xzQeNyoR;g-TjZ*zDY*|{}(LA#5x^b)mpgNYvsrtBTr9T zku(wWVOxx6VMVq#ZuT&AWt-CR^-A2#uV*n_RTe`lByC!Z!T(lUCyl8bii|?A|euV;#|-o7{A=FT;Vqd2hU9rx$>X=_DNbfB}1cEY-}83{GjR~n_F`}3%@y7_OCZ# zNxiK9g2m`u>-BEeM^{3(kLoe1M&^H$79oGw79-oMfZu=F@t5D4k+mx~EtMtdECb~@ zXLXgu&u)`%v>4TsEQa!1+OrrQS1LBku_H8SL%Tvb zRy6SXjI~=Is*f?D+2{R_ZtxGC5?yoV_*s=UGkX3D7Gvx!Zs>+A-MuEdjcdR2FC0y{_&maPJUX&--SuxhiWlSohx{`Yn26V3nq8jQZ(X^ zq-$pW3l`(diT&5@x@`%W@4dWLjv`0?BXcDqvwZt};lM9^*Tx68?cs0?X8~zjjG8Ko zp%s!gEyf&=)4tzN=n^>M%=&c2o4!7!v=}v$EQa!1+Orrh(`DLKB3&oHiLMW3FLB@X z!OyOa9rwl430>Q|tzJ8S*x|wx9y1I0U$7V*KV91=SKfWzlRkB^=ZZbp&1g#_J_bAV zZU9fbA(`EX zI~*C#Y&`If+rJ+T{chIf&i+$Id?i&zS`QV&E2GvowK8(26z904=WiNUuZbJpuXd$| zeQJ2j?V4-syy4GxaGN1tK3?I$PEO8FvA~L5`W=Svv{#l<= zOjO}PZIZyydU?8`OYi%8qV5_{GyQ~r=BZnb7{7LS-K0m5r{Ct77RAbTYME4zbk7={ z9z^E4J*X6njy0jFOuJHVxsj*@X1jfGU>CF9^~X_)Fv?@HPy; znse?*L1%V$MJ|-apU=sif72aOMWvD!v6}#!BOTp{-45YG8h2SOKBc-&kOlvAACkTpYacrzg!GN%i}LG&(!Ei7Z}5iJPIu*P54F-li_#N!agzVg zo&Qg_=urwewZS~ES^OqEUwiTSpfMGn$EN2}9wxu3%>Wh?msQ&g9#Wtij#rTTSe(s1 z7VZ71lk4lelLnvgn%eV1-74L-1?D9F!IG)@ZX`rozcqX>YWCFau+sNp`n(6RHCeJ0 zFVrl_43CF-JHshyli8gQTv`%1=k9`l%{$?(6Mk3a zT#>?+tByYpZXlPWhkt{>qZfMbI*{oFu=et*fN_UPb@t3#um_`um`b~y#AC(verdNf8cVI?kfpk%(c7pao^zx@ z+g^*b(L(vSCeL2|<5Vg%_Q$w}6+#pT!R=hr_R}Sed0p*3HJ_VELZI)7DnKFDK~q*E~TeVb>RAgda8G$p~<9K z>wszX_RBMjNPFp>4<^ar(>lb6@j5o+*3MIYi_RX3EL-R7-JH~A0FmSjM8o0g!gsWy z@ZCsAG6}n@bP<6B`FQlS0ieUGuFM-0=!RZ^Ze{L4jI*UW3>aKtli%|74jbF$Yzom8 zDwDc8)QP06#u4~0bmP0>4Do2r)_2L|g0bo?$^0K(veO~PmRg^=MpbVVv^ji}dzpv~ zuu=lq`DJAH=6wyJFGn}-QNLQrjCYYDH5jMoM8=>n({EsdmJ=yOY~LElnmU-=`*piIl1wuqPHNJb@Uc|2M7GfcjB>Q~oYdV_VtH0gOVjt@4XuX?j68 zGsD(*?}H0T9-6K`lZUpv)0$Ub%*p2!Tlz_hzNe>oFfNckCO`ARNJy&FX>;eI`K*ks z#?No+v-Zo^rN=KHi$O_2o~a|DJiWna*!!TCJO=aHI~_6FM)ZrQ^jVhRby?2VEB?dA zBzr~}lQc*3L-$(W)Ppf8V~u!SwYm1P7J4l~C;& z340&4XUz6`x)xd1X_JHhgq9Bm76{#6mr+Z$Rq9Mz`u#pAd;lDI`PA(f9zl!|C$f(+ zt^CY)`o&T%ZT9|qmGukJeL$Zu5}kcIj)x`&y7E(D(fqN@*1kz5{aXFSJCr9LH;)_~ zeOI+TN&bc|{p4?S=->aLy8h$;o}6!W=;tkncg$ zXB&WK51PCQULtf)h8T?)zn&?Yy^G^ipH(l{I{wow@L#stkuVlcj?w#;42xyW2@rJp zswrtSKsG1n$US+)cU0(vV__ba=5K{FX@&JQ>A7b~WAn3-(}i?-x_0y)<}>GP=5M-} zob`{;>C4IwgGkc}N9R}y(XLjFZk_fhdf0;z+-Tpk4r^|66U#KaF_g^%lG90#UMDwY zSyJ=r^|lYczu>>R)j^lCxu?bHu|zltM9LDakpBcr;&z`e-TifO_hq9>#g1ARi9@LH z;EZ~5#iR@njykXu@}FQy+hcbec6pz1-*JuGo_XUx*pIKx5@9d5lqFgr{|T0?%y=~< z$Ibh}WB>Il_hj%nZ#|X>n^mPO(F#drmZ%!c+o(VD4#PggC{{Qk>iQ?u{3myqx$xW% z-XmFqN#nO5cWm(b zF&-;s9xwa3)ET6X3sFxi7swej_dA&snjLD;bMAKmC%$fVN0DbCMz=O=XRWC8bcoXMOyIXOvYGLv@?A-*Mu=j<&;KDvm^teA&}Ez+M_#lxDP-M?V8 zGvQH8b>gUng6)CYZw+?BNO8y(e^sz)I#f&Cuf5$Crh8$N|N7{bo+5=m6^jSUcvg-h znVBb^pNEyfn0hl*z1eIOegG5O?3j zQ{jKjI&kko$%UCBcgD})aRDtvQ+LFBc&;^m(ARVlNs3rb{TIn!PqHs69*^;`j!x)l z;e2wEc|dwPBz{yTz6NOt^=2}^X8hdLQarfEhG}{XDZXsApIJ(${iabQE+nm^*oBrL z7m`MQ)hZw)14ngyIcCUuIL=FoPyHvNj;1!@xk?^LlKe>yu|rOR@5M_jrj90;iIHE= zlo_{4a{ba~qpx2&?RTypnH5iy!xvzVboq4xEMBxlTv{!s|Ej5B^nKJ}AO~S>@CD&_ zdBod!e>*CkODxXzSI2GXC?pQ9?sUfk2Yi?-F*P2VN=}9Kz~;x;uR5W_aE}Tf+B7k5 zE)w@8Uq}{fLZ|$i&HAH9CB@skYKSjF@$XYKRTN3Zp)V2%0#sEbI$0v6#Wun>?){~7 zqEmj=Y3b6X600;_K$BIPuwM_YxUxY~_|ksUbVySvNvC5smCVCzF;j^@H@6WkAKV%8 z0!%_k+AZhE)*V!)44*U#&;tX-~f}5I!q-jw_LM>-3 zIgz9hYOXIbf+TxMlP!r7;;PlvYW7bWQ{h#gsIt!RtkF~^aYigR} zOJ7^%V6EM$lApQ*-Ar_23L#K5dS2Hi{f<>o@x-L*@ij^eNED>R_@Axd2fPGv=ci3c zXF>d=O+)5yt>Eu^4B~pT+gI^`jwn)V`HXUY#ubE|jS7(g-4fe{$|sfcH|~=I1|Lcp zS0w_!4wvs{wc}!s*&X`~o7fHzNb_&hBt&-E!_$0s1G-CUlD|^2$yvGOKyuFNe+&*G?Qe)%sA)UU?>ru)X)r zy_~-;0BNYy@s=VerVu5tsI-&*K)Eu0L;z4uz(NG;iPGlk&QQ zQ`b+JFRm)*?}$Y@8@F@s0ZvnhI*1!1YuDJeg1>1ID&_t!n4Ta`f9W9pi>9M`fj)a* z1PwY^$0Fwi4~6sxeJNxB z=tm)1U;u>-1X>g_2n?ijBQ_xQ|<8s^ji)q2>OJzUEMnb@J1< z;o(1Q_9?pg8GTnhtq&Ztzq!1eaLHnCySU4@s^6S4011?R48b5uXY^76g$x6F6fztP zrH~Q8kU~ZRBMKP>hEd39pha237`Wz+E&tx@pk3tTRChsFJr@DktbfW|?smFW$gSwz zkBlZB5Q4IHZeEHiM;(uLzPfr2WS^RVH}O+P+QYl%sSR^{hYe_SGX)uiypqQsQ%w(s z^?xm_IaFi@8dGhfd9ByjCq6X_ssViq&4Fyp=fra7W7b>l^tNei)EHy|5-Iywg5i|T zR=}7-tbu?+Y=DqLY=Iet*a342u?H3u;s6Fw_HhKY`$JxT-05q#NBz)@8=0c*sL!$K z)Q2yMx(?AV{SqIAJzV1qHhdK=cyK?%YQy^l4}$LoiCjSEr}IB^?atbsT&umP@Y
uW%>4u#earp|qA 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

dI5kau0B_ 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 literal 0 HcmV?d00001 diff --git a/testsuite/XSIProject/Scenes/test_0269/ref/reference.log b/testsuite/XSIProject/Scenes/test_0269/ref/reference.log new file mode 100644 index 0000000..69c6fcc --- /dev/null +++ b/testsuite/XSIProject/Scenes/test_0269/ref/reference.log @@ -0,0 +1,57 @@ +======================================================= + Autodesk Softimage 13.2.163.0 +======================================================= + +License information: using [Processing] +00:00:00 204MB | log started Thu May 2 23:54:54 2019 +00:00:00 204MB | Arnold 5.3.0.2 [f7602f75] windows icc-17.0.2 oiio-2.1.0 osl-1.11.0 vdb-4.0.0 clm-1.0.3.513 rlm-12.4.2 optix-6.0.0 2019/04/09 17:16:44 +00:00:00 204MB | running on Jenus, pid=57844 +00:00:00 204MB | 1 x Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz (4 cores, 8 logical) with 16333MB +00:00:00 204MB | NVIDIA driver version 419.67 +00:00:00 204MB | GPU 0: GeForce GTX 1070 @ 1771MHz (compute 6.1) with 8192MB (6974MB available) (NVLink:0) +00:00:00 204MB | Windows 8 Professional (version 6.2, build 9200) +00:00:00 204MB | soft limit for open files raised from 512 to 2048 +00:00:00 204MB | +00:00:00 204MB | loading plugins from C:\Users\lindg\GitHub\sitoa\dist\Softimage_2015_SP2\Addons\SItoA\Application\Plugins\bin\nt-x86-64\..\plugins ... +00:00:00 204MB | loaded 4 plugins from 2 lib(s) in 0:00.00 +00:00:00 204MB | loading plugins from C:\Users\lindg\GitHub\sitoa\dist\Softimage_2015_SP2\Addons\SItoA\Application\Plugins\bin\nt-x86-64 ... +00:00:00 205MB | loaded 103 plugins from 1 lib(s) in 0:00.03 + + + + +00:00:00 212MB | +00:00:00 212MB | releasing resources +00:00:00 212MB | Arnold shutdown +# INFO : [sitoa] SItoA 5.3.0 win loaded. +# INFO : [sitoa] Arnold 5.3.0.2 detected. +Application.InstallCustomPreferences("ArnoldRenderPreferences", "Arnold Render") +COMMAND: -processing -script "execute_test.js" -main main +# INFO : C:\Users\lindg\GitHub\sitoa\dist\Softimage_2015_SP2\Addons\SItoA\Application\Plugins\bin\nt-x86-64\ +>Loading: C:\Users\lindg\GitHub\sitoa\build\windows_x86_64\msvc_opt\si_13000\testsuite\test_0269\test.scn... +# INFO : 4034 - Loaded scene was created with build number: 13.2.163.0 - compatibility version: 1300 +Application.OpenScene("C:\\Users\\lindg\\GitHub\\sitoa\\build\\windows_x86_64\\msvc_opt\\si_13000\\testsuite\\test_0269\\test.scn", "", "") +Application.SetValue("Passes.RenderOptions.ImageLockAspectRatio", False, "") +Application.SetValue("Passes.RenderOptions.ImageWidth", 160, "") +Application.SetValue("Passes.RenderOptions.ImageHeight", 120, "") +Application.SetValue("Passes.Default_Pass.Main.Filename", "C:\\Users\\lindg\\GitHub\\sitoa\\build\\windows_x86_64\\msvc_opt\\si_13000\\testsuite\\test_0269\\testrender.####.tif", "") +Application.SetValue("Passes.Default_Pass.Main.Format", "tif", "") +Application.SetValue("Passes.Arnold_Render_Options.output_tiff_tiled", 0, "") +Application.SetValue("Passes.Arnold_Render_Options.enable_log_file", True, "") +Application.SetValue("Passes.Arnold_Render_Options.log_level", 1, "") +Application.SetValue("Passes.Arnold_Render_Options.output_file_tagdir_log", "C:\\Users\\lindg\\GitHub\\sitoa\\build\\windows_x86_64\\msvc_opt\\si_13000\\testsuite\\test_0269", "") +Application.SetValue("Passes.Arnold_Render_Options.textures_path", "C:\\Users\\lindg\\GitHub\\sitoa\\testsuite\\XSIProject\\Pictures", "") +Application.SetValue("Passes.Arnold_Render_Options.save_texture_paths", False, "") +# INFO : Rendering pass 'Default_Pass'... +# INFO : Rendering frame 1 (0.0% done) +# INFO : [sitoa] Frame 1 exported to Arnold in 0.086 sec. +# INFO : Render completed (100% done) +Application.RenderAllPasses("", "", "", "", "siRenderVerbosityDefault") +Warning: return value of the executed script is not an integer +# INFO : Characters has been unloaded. +# INFO : polymatricksPlugin has been unloaded. +# INFO : [sitoa] SItoA 5.3.0 win has been unloaded. +# INFO : TransformUVsPlugin has been unloaded. +# INFO : FBX-XSI import/export Plug-in has been unloaded. +# INFO : Unfold3D Plugin has been unloaded. + diff --git a/testsuite/XSIProject/Scenes/test_0269/ref/reference.tif b/testsuite/XSIProject/Scenes/test_0269/ref/reference.tif new file mode 100644 index 0000000000000000000000000000000000000000..effc1bcd6655f9919794c1498e2bc7f89283f01a GIT binary patch literal 12303 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 z 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 Date: Fri, 3 May 2019 00:28:22 +0200 Subject: [PATCH 69/98] add autobump visibility test --- testsuite/XSIProject/Scenes/test_0270/README | 5 ++ .../XSIProject/Scenes/test_0270/data/test.scn | Bin 0 -> 626688 bytes .../Scenes/test_0270/ref/reference.log | 57 ++++++++++++++++++ .../Scenes/test_0270/ref/reference.tif | Bin 0 -> 14872 bytes 4 files changed, 62 insertions(+) create mode 100644 testsuite/XSIProject/Scenes/test_0270/README create mode 100644 testsuite/XSIProject/Scenes/test_0270/data/test.scn create mode 100644 testsuite/XSIProject/Scenes/test_0270/ref/reference.log create mode 100644 testsuite/XSIProject/Scenes/test_0270/ref/reference.tif diff --git a/testsuite/XSIProject/Scenes/test_0270/README b/testsuite/XSIProject/Scenes/test_0270/README new file mode 100644 index 0000000..07761f4 --- /dev/null +++ b/testsuite/XSIProject/Scenes/test_0270/README @@ -0,0 +1,5 @@ +Autobump visibility + +Github #63 and #68 + +author: Jens Lindgren diff --git a/testsuite/XSIProject/Scenes/test_0270/data/test.scn b/testsuite/XSIProject/Scenes/test_0270/data/test.scn new file mode 100644 index 0000000000000000000000000000000000000000..26c8925dd135777faccb111952ada73ff70db2f6 GIT binary patch literal 626688 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 D$~u{| literal 0 HcmV?d00001 diff --git a/testsuite/XSIProject/Scenes/test_0270/ref/reference.log b/testsuite/XSIProject/Scenes/test_0270/ref/reference.log new file mode 100644 index 0000000..11c5c5a --- /dev/null +++ b/testsuite/XSIProject/Scenes/test_0270/ref/reference.log @@ -0,0 +1,57 @@ +======================================================= + Autodesk Softimage 13.2.163.0 +======================================================= + +License information: using [Processing] +00:00:00 203MB | log started Thu May 2 23:55:18 2019 +00:00:00 203MB | Arnold 5.3.0.2 [f7602f75] windows icc-17.0.2 oiio-2.1.0 osl-1.11.0 vdb-4.0.0 clm-1.0.3.513 rlm-12.4.2 optix-6.0.0 2019/04/09 17:16:44 +00:00:00 203MB | running on Jenus, pid=37272 +00:00:00 203MB | 1 x Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz (4 cores, 8 logical) with 16333MB +00:00:00 203MB | NVIDIA driver version 419.67 +00:00:00 203MB | GPU 0: GeForce GTX 1070 @ 1771MHz (compute 6.1) with 8192MB (6914MB available) (NVLink:0) +00:00:00 203MB | Windows 8 Professional (version 6.2, build 9200) +00:00:00 203MB | soft limit for open files raised from 512 to 2048 +00:00:00 203MB | +00:00:00 203MB | loading plugins from C:\Users\lindg\GitHub\sitoa\dist\Softimage_2015_SP2\Addons\SItoA\Application\Plugins\bin\nt-x86-64\..\plugins ... +00:00:00 203MB | loaded 4 plugins from 2 lib(s) in 0:00.00 +00:00:00 203MB | loading plugins from C:\Users\lindg\GitHub\sitoa\dist\Softimage_2015_SP2\Addons\SItoA\Application\Plugins\bin\nt-x86-64 ... +00:00:00 204MB | loaded 103 plugins from 1 lib(s) in 0:00.03 + + + + +00:00:00 211MB | +00:00:00 211MB | releasing resources +00:00:00 211MB | Arnold shutdown +# INFO : [sitoa] SItoA 5.3.0 win loaded. +# INFO : [sitoa] Arnold 5.3.0.2 detected. +Application.RefreshCustomPreferences() +COMMAND: -processing -script "execute_test.js" -main main +# INFO : C:\Users\lindg\GitHub\sitoa\dist\Softimage_2015_SP2\Addons\SItoA\Application\Plugins\bin\nt-x86-64\ +>Loading: C:\Users\lindg\GitHub\sitoa\build\windows_x86_64\msvc_opt\si_13000\testsuite\test_0270\test.scn... +# INFO : 4034 - Loaded scene was created with build number: 13.2.163.0 - compatibility version: 1300 +Application.OpenScene("C:\\Users\\lindg\\GitHub\\sitoa\\build\\windows_x86_64\\msvc_opt\\si_13000\\testsuite\\test_0270\\test.scn", "", "") +Application.SetValue("Passes.RenderOptions.ImageLockAspectRatio", False, "") +Application.SetValue("Passes.RenderOptions.ImageWidth", 160, "") +Application.SetValue("Passes.RenderOptions.ImageHeight", 120, "") +Application.SetValue("Passes.Default_Pass.Main.Filename", "C:\\Users\\lindg\\GitHub\\sitoa\\build\\windows_x86_64\\msvc_opt\\si_13000\\testsuite\\test_0270\\testrender.####.tif", "") +Application.SetValue("Passes.Default_Pass.Main.Format", "tif", "") +Application.SetValue("Passes.Arnold_Render_Options.output_tiff_tiled", 0, "") +Application.SetValue("Passes.Arnold_Render_Options.enable_log_file", True, "") +Application.SetValue("Passes.Arnold_Render_Options.log_level", 1, "") +Application.SetValue("Passes.Arnold_Render_Options.output_file_tagdir_log", "C:\\Users\\lindg\\GitHub\\sitoa\\build\\windows_x86_64\\msvc_opt\\si_13000\\testsuite\\test_0270", "") +Application.SetValue("Passes.Arnold_Render_Options.textures_path", "C:\\Users\\lindg\\GitHub\\sitoa\\testsuite\\XSIProject\\Pictures", "") +Application.SetValue("Passes.Arnold_Render_Options.save_texture_paths", False, "") +# INFO : Rendering pass 'Default_Pass'... +# INFO : Rendering frame 1 (0.0% done) +# INFO : [sitoa] Frame 1 exported to Arnold in 0.104 sec. +# INFO : Render completed (100% done) +Application.RenderAllPasses("", "", "", "", "siRenderVerbosityDefault") +Warning: return value of the executed script is not an integer +# INFO : Characters has been unloaded. +# INFO : polymatricksPlugin has been unloaded. +# INFO : [sitoa] SItoA 5.3.0 win has been unloaded. +# INFO : TransformUVsPlugin has been unloaded. +# INFO : FBX-XSI import/export Plug-in has been unloaded. +# INFO : Unfold3D Plugin has been unloaded. + diff --git a/testsuite/XSIProject/Scenes/test_0270/ref/reference.tif b/testsuite/XSIProject/Scenes/test_0270/ref/reference.tif new file mode 100644 index 0000000000000000000000000000000000000000..16154381c7719acbe86dd9200694d9cc13957516 GIT binary patch literal 14872 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 literal 0 HcmV?d00001 From 0ff666070a15c1877973b4cbf2eece7007d5e1a0 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Fri, 3 May 2019 00:30:51 +0200 Subject: [PATCH 70/98] add gpu rendering test --- testsuite/XSIProject/Scenes/test_0271/README | 5 ++ .../XSIProject/Scenes/test_0271/data/test.scn | Bin 0 -> 589824 bytes .../Scenes/test_0271/ref/reference.log | 57 ++++++++++++++++++ .../Scenes/test_0271/ref/reference.tif | Bin 0 -> 24785 bytes 4 files changed, 62 insertions(+) create mode 100644 testsuite/XSIProject/Scenes/test_0271/README create mode 100644 testsuite/XSIProject/Scenes/test_0271/data/test.scn create mode 100644 testsuite/XSIProject/Scenes/test_0271/ref/reference.log create mode 100644 testsuite/XSIProject/Scenes/test_0271/ref/reference.tif diff --git a/testsuite/XSIProject/Scenes/test_0271/README b/testsuite/XSIProject/Scenes/test_0271/README new file mode 100644 index 0000000..da92f5f --- /dev/null +++ b/testsuite/XSIProject/Scenes/test_0271/README @@ -0,0 +1,5 @@ +GPU rendering + +Github #63 and #68 + +author: Jens Lindgren diff --git a/testsuite/XSIProject/Scenes/test_0271/data/test.scn b/testsuite/XSIProject/Scenes/test_0271/data/test.scn new file mode 100644 index 0000000000000000000000000000000000000000..6d5dfbd6c747b1f7aed1b862d3c9fbd3628c9154 GIT binary patch literal 589824 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∈j4Oe+;qF}!P6ps9lFim;(UYn07P4*ea3jl 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 literal 0 HcmV?d00001 diff --git a/testsuite/XSIProject/Scenes/test_0271/ref/reference.log b/testsuite/XSIProject/Scenes/test_0271/ref/reference.log new file mode 100644 index 0000000..b53de0b --- /dev/null +++ b/testsuite/XSIProject/Scenes/test_0271/ref/reference.log @@ -0,0 +1,57 @@ +======================================================= + Autodesk Softimage 13.2.163.0 +======================================================= + +License information: using [Processing] +00:00:00 204MB | log started Fri May 3 00:29:18 2019 +00:00:00 204MB | Arnold 5.3.0.2 [f7602f75] windows icc-17.0.2 oiio-2.1.0 osl-1.11.0 vdb-4.0.0 clm-1.0.3.513 rlm-12.4.2 optix-6.0.0 2019/04/09 17:16:44 +00:00:00 204MB | running on Jenus, pid=54740 +00:00:00 204MB | 1 x Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz (4 cores, 8 logical) with 16333MB +00:00:00 204MB | NVIDIA driver version 419.67 +00:00:00 204MB | GPU 0: GeForce GTX 1070 @ 1771MHz (compute 6.1) with 8192MB (6842MB available) (NVLink:0) +00:00:00 204MB | Windows 8 Professional (version 6.2, build 9200) +00:00:00 204MB | soft limit for open files raised from 512 to 2048 +00:00:00 204MB | +00:00:00 204MB | loading plugins from C:\Users\lindg\GitHub\sitoa\dist\Softimage_2015_SP2\Addons\SItoA\Application\Plugins\bin\nt-x86-64\..\plugins ... +00:00:00 204MB | loaded 4 plugins from 2 lib(s) in 0:00.00 +00:00:00 204MB | loading plugins from C:\Users\lindg\GitHub\sitoa\dist\Softimage_2015_SP2\Addons\SItoA\Application\Plugins\bin\nt-x86-64 ... +00:00:00 205MB | loaded 103 plugins from 1 lib(s) in 0:00.03 + + + + +00:00:00 213MB | +00:00:00 213MB | releasing resources +00:00:00 212MB | Arnold shutdown +# INFO : [sitoa] SItoA 5.3.0 win loaded. +# INFO : [sitoa] Arnold 5.3.0.2 detected. +Application.InstallCustomPreferences("ArnoldRenderPreferences", "Arnold Render") +COMMAND: -processing -script "execute_test.js" -main main +# INFO : C:\Users\lindg\GitHub\sitoa\dist\Softimage_2015_SP2\Addons\SItoA\Application\Plugins\bin\nt-x86-64\ +>Loading: C:\Users\lindg\GitHub\sitoa\build\windows_x86_64\msvc_opt\si_13000\testsuite\test_0271\test.scn... +# INFO : 4034 - Loaded scene was created with build number: 13.2.163.0 - compatibility version: 1300 +Application.OpenScene("C:\\Users\\lindg\\GitHub\\sitoa\\build\\windows_x86_64\\msvc_opt\\si_13000\\testsuite\\test_0271\\test.scn", "", "") +Application.SetValue("Passes.RenderOptions.ImageLockAspectRatio", False, "") +Application.SetValue("Passes.RenderOptions.ImageWidth", 160, "") +Application.SetValue("Passes.RenderOptions.ImageHeight", 120, "") +Application.SetValue("Passes.Default_Pass.Main.Filename", "C:\\Users\\lindg\\GitHub\\sitoa\\build\\windows_x86_64\\msvc_opt\\si_13000\\testsuite\\test_0271\\testrender.####.tif", "") +Application.SetValue("Passes.Default_Pass.Main.Format", "tif", "") +Application.SetValue("Passes.Arnold_Render_Options.output_tiff_tiled", 0, "") +Application.SetValue("Passes.Arnold_Render_Options.enable_log_file", True, "") +Application.SetValue("Passes.Arnold_Render_Options.log_level", 1, "") +Application.SetValue("Passes.Arnold_Render_Options.output_file_tagdir_log", "C:\\Users\\lindg\\GitHub\\sitoa\\build\\windows_x86_64\\msvc_opt\\si_13000\\testsuite\\test_0271", "") +Application.SetValue("Passes.Arnold_Render_Options.textures_path", "C:\\Users\\lindg\\GitHub\\sitoa\\testsuite\\XSIProject\\Pictures", "") +Application.SetValue("Passes.Arnold_Render_Options.save_texture_paths", False, "") +# INFO : Rendering pass 'Default_Pass'... +# INFO : Rendering frame 1 (0.0% done) +# INFO : [sitoa] Frame 1 exported to Arnold in 0.095 sec. +# INFO : Render completed (100% done) +Application.RenderAllPasses("", "", "", "", "siRenderVerbosityDefault") +Warning: return value of the executed script is not an integer +# INFO : Characters has been unloaded. +# INFO : polymatricksPlugin has been unloaded. +# INFO : [sitoa] SItoA 5.3.0 win has been unloaded. +# INFO : TransformUVsPlugin has been unloaded. +# INFO : FBX-XSI import/export Plug-in has been unloaded. +# INFO : Unfold3D Plugin has been unloaded. + diff --git a/testsuite/XSIProject/Scenes/test_0271/ref/reference.tif b/testsuite/XSIProject/Scenes/test_0271/ref/reference.tif new file mode 100644 index 0000000000000000000000000000000000000000..79e1e60267bbc85b34b6fee87f50acf41acd2cac GIT binary patch literal 24785 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 Date: Fri, 3 May 2019 00:58:53 +0200 Subject: [PATCH 71/98] update visible area light test to have a textured light --- .../XSIProject/Scenes/test_0269/data/test.scn | Bin 577536 -> 622592 bytes .../Scenes/test_0269/ref/reference.log | 18 +++++++++--------- .../Scenes/test_0269/ref/reference.tif | Bin 12303 -> 16685 bytes 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/testsuite/XSIProject/Scenes/test_0269/data/test.scn b/testsuite/XSIProject/Scenes/test_0269/data/test.scn index 745d9848258ce170c23c5950d51b13176c348629..a5ce1a644b034133a9362dcc1ee66e304b0f98ed 100644 GIT binary patch delta 55675 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

vcDm%4i}pN|Im)_pAn-uNIWhs z5&BDK2f?bqP-8FDCyPKv7)HJpYwgnJFT@cHXJ4&O5Ny3&`u!Y?c-CH|%nyN$_BT0K zpWpph8@ueu6j*1kqrK!klI`m^>@W&PmJ!JEH=4A|f9SU!XY zHs);NTwnDbToPm|PcM4ieXxF0)&~&QI?|2X>}&CRvEoFwEeGdZ6OI0J%Q#nh(szYx zdc>raO%6YMw##Y&Vp4Z65bQNEBcM62oO6w;d1+wPmXp>!OMDkxPI~?bDBUC;tDc9K z^u)RB!#uqFx){v1_j_Bh;ObKfVEa zt@*giO;YZ_k%YP(cq*Zd4!oSuCI{YqQ-pm$&PI74;-7Acscee_Csu&8)q&>{+UCIP zDnJX8pbXb`2W*T$P*s4t+yYu%fFlX5DZo<+tu4UIZ-GHu&Srpw7G^Qn84v6D*17n} zZPCQm72vUzpjKaiX9EpwC^*X9_~XLu-=$8R;7Z-_T%qaOHUdiJv5R#V;DeQ75(il$ zA;3oOj_BeZ=53Mg>=It*xR$)FWL0t62T~+;YZX7}#kJ*am%B9n%kLsA5A%1BF>uPj z=3{OA=f5M5f6kr1({mBgn!igi4DISQfNOBr57{d2$FL?ifmdx4i@Cajj}%Y$qQFyq!4YkZRB%*{!Ci1nZlKi5}G oQ-PP|cscne(80p-$syt-DLL2ci|)8&saK#>1s`3=5ktd&0j-L{T>t<8 diff --git a/testsuite/XSIProject/Scenes/test_0269/ref/reference.log b/testsuite/XSIProject/Scenes/test_0269/ref/reference.log index 69c6fcc..ca3e0a6 100644 --- a/testsuite/XSIProject/Scenes/test_0269/ref/reference.log +++ b/testsuite/XSIProject/Scenes/test_0269/ref/reference.log @@ -3,29 +3,29 @@ ======================================================= License information: using [Processing] -00:00:00 204MB | log started Thu May 2 23:54:54 2019 +00:00:00 204MB | log started Fri May 3 00:57:25 2019 00:00:00 204MB | Arnold 5.3.0.2 [f7602f75] windows icc-17.0.2 oiio-2.1.0 osl-1.11.0 vdb-4.0.0 clm-1.0.3.513 rlm-12.4.2 optix-6.0.0 2019/04/09 17:16:44 -00:00:00 204MB | running on Jenus, pid=57844 +00:00:00 204MB | running on Jenus, pid=57608 00:00:00 204MB | 1 x Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz (4 cores, 8 logical) with 16333MB 00:00:00 204MB | NVIDIA driver version 419.67 -00:00:00 204MB | GPU 0: GeForce GTX 1070 @ 1771MHz (compute 6.1) with 8192MB (6974MB available) (NVLink:0) +00:00:00 204MB | GPU 0: GeForce GTX 1070 @ 1771MHz (compute 6.1) with 8192MB (6905MB available) (NVLink:0) 00:00:00 204MB | Windows 8 Professional (version 6.2, build 9200) 00:00:00 204MB | soft limit for open files raised from 512 to 2048 00:00:00 204MB | 00:00:00 204MB | loading plugins from C:\Users\lindg\GitHub\sitoa\dist\Softimage_2015_SP2\Addons\SItoA\Application\Plugins\bin\nt-x86-64\..\plugins ... 00:00:00 204MB | loaded 4 plugins from 2 lib(s) in 0:00.00 00:00:00 204MB | loading plugins from C:\Users\lindg\GitHub\sitoa\dist\Softimage_2015_SP2\Addons\SItoA\Application\Plugins\bin\nt-x86-64 ... -00:00:00 205MB | loaded 103 plugins from 1 lib(s) in 0:00.03 +00:00:00 204MB | loaded 103 plugins from 1 lib(s) in 0:00.03 -00:00:00 212MB | -00:00:00 212MB | releasing resources -00:00:00 212MB | Arnold shutdown +00:00:00 211MB | +00:00:00 211MB | releasing resources +00:00:00 211MB | Arnold shutdown # INFO : [sitoa] SItoA 5.3.0 win loaded. # INFO : [sitoa] Arnold 5.3.0.2 detected. -Application.InstallCustomPreferences("ArnoldRenderPreferences", "Arnold Render") +Application.RefreshCustomPreferences() COMMAND: -processing -script "execute_test.js" -main main # INFO : C:\Users\lindg\GitHub\sitoa\dist\Softimage_2015_SP2\Addons\SItoA\Application\Plugins\bin\nt-x86-64\ >Loading: C:\Users\lindg\GitHub\sitoa\build\windows_x86_64\msvc_opt\si_13000\testsuite\test_0269\test.scn... @@ -44,7 +44,7 @@ Application.SetValue("Passes.Arnold_Render_Options.textures_path", "C:\\Users\\l Application.SetValue("Passes.Arnold_Render_Options.save_texture_paths", False, "") # INFO : Rendering pass 'Default_Pass'... # INFO : Rendering frame 1 (0.0% done) -# INFO : [sitoa] Frame 1 exported to Arnold in 0.086 sec. +# INFO : [sitoa] Frame 1 exported to Arnold in 0.092 sec. # INFO : Render completed (100% done) Application.RenderAllPasses("", "", "", "", "siRenderVerbosityDefault") Warning: return value of the executed script is not an integer diff --git a/testsuite/XSIProject/Scenes/test_0269/ref/reference.tif b/testsuite/XSIProject/Scenes/test_0269/ref/reference.tif index effc1bcd6655f9919794c1498e2bc7f89283f01a..c41a87b18fe5fdcc7aeb77c15d83c82880963205 100644 GIT binary patch delta 16226 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 L+Q+i#lga-BxBYI9 delta 11777 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 Date: Sun, 26 May 2019 20:41:18 +0200 Subject: [PATCH 72/98] upped min arnold version --- README.md | 4 ++-- config/custom_linux.py | 2 +- config/custom_windows.py | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index f8359d9..3a74290 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ under an Apache 2.0 open source license. #### Requirements * Softimage 2015 SP1 -* Arnold 5.3.0.1 or newer +* Arnold 5.3.1.0 or newer * Python 2.6 or newer * Visual Studio 2012 (Windows) * GCC 4.2.4 (Linux) @@ -65,7 +65,7 @@ VS_HOME = r'C:/Program Files (x86)/Microsoft Visual Studio 11.0/VC' WINDOWS_KIT = r'C:/Program Files (x86)/Windows Kits/8.0' XSISDK_ROOT = r'C:/Program Files/Autodesk/Softimage 2015/XSISDK' -ARNOLD_HOME = r'C:/SolidAngle/Arnold-5.3.0.1/win64' +ARNOLD_HOME = r'C:/SolidAngle/Arnold-5.3.1.0/win64' TARGET_WORKGROUP_PATH = r'./Softimage_2015/Addons/SItoA' diff --git a/config/custom_linux.py b/config/custom_linux.py index 1ac54c7..361f4ac 100644 --- a/config/custom_linux.py +++ b/config/custom_linux.py @@ -6,7 +6,7 @@ SHCXX = r'/usr/bin/gcc-4.2.4/bin/gcc-4.2.4' XSISDK_ROOT = r'/usr/Softimage/Softimage_2015/XSISDK' -ARNOLD_HOME = r'/usr/SolidAngle/Arnold-5.3.0.1/linux' +ARNOLD_HOME = r'/usr/SolidAngle/Arnold-5.3.1.0/linux' TARGET_WORKGROUP_PATH = './Softimage_2015/Addons/SItoA' diff --git a/config/custom_windows.py b/config/custom_windows.py index b6a8e78..4b20428 100644 --- a/config/custom_windows.py +++ b/config/custom_windows.py @@ -9,7 +9,7 @@ WINDOWS_KIT = r'C:/Program Files (x86)/Windows Kits/8.0' XSISDK_ROOT = r'C:/Program Files/Autodesk/Softimage 2015/XSISDK' -ARNOLD_HOME = r'C:/SolidAngle/Arnold-5.3.0.1/win64' +ARNOLD_HOME = r'C:/SolidAngle/Arnold-5.3.1.0/win64' TARGET_WORKGROUP_PATH = r'./Softimage_2015/Addons/SItoA' From 4f6e0d7a88c721a0ef622f74bcdf4850384ca4ee Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Sun, 26 May 2019 20:42:03 +0200 Subject: [PATCH 73/98] add clamp and default_color to uv_projection shader --- shaders/metadata/arnold_shaders.mtd | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/shaders/metadata/arnold_shaders.mtd b/shaders/metadata/arnold_shaders.mtd index df9725e..cf6229b 100644 --- a/shaders/metadata/arnold_shaders.mtd +++ b/shaders/metadata/arnold_shaders.mtd @@ -4021,6 +4021,12 @@ desc STRING "Changes the V angle (for spherical mapping only)." softmin FLOAT 0 softmax FLOAT 360 +[attr clamp] +desc STRING "Only applies the projection if the position is inside a unit box/sphere/cylinder (depending on the projection mode), otherwise uses the Default Color (disabled by default)." + +[attr default_color] +desc STRING "The color to be used for unmapped points." + [attr matrix] desc STRING "Defines the 3D texture’s positioning and orientation in world space." From 1c1ae2177b31aeb1331cf3bcaf7fde75f30dacdc Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Sun, 30 Jun 2019 00:08:29 +0200 Subject: [PATCH 74/98] bump min arnold version to 5.3.1.1 --- README.md | 4 ++-- config/custom_linux.py | 2 +- config/custom_windows.py | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 3a74290..b4b0621 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ under an Apache 2.0 open source license. #### Requirements * Softimage 2015 SP1 -* Arnold 5.3.1.0 or newer +* Arnold 5.3.1.1 or newer * Python 2.6 or newer * Visual Studio 2012 (Windows) * GCC 4.2.4 (Linux) @@ -65,7 +65,7 @@ VS_HOME = r'C:/Program Files (x86)/Microsoft Visual Studio 11.0/VC' WINDOWS_KIT = r'C:/Program Files (x86)/Windows Kits/8.0' XSISDK_ROOT = r'C:/Program Files/Autodesk/Softimage 2015/XSISDK' -ARNOLD_HOME = r'C:/SolidAngle/Arnold-5.3.1.0/win64' +ARNOLD_HOME = r'C:/SolidAngle/Arnold-5.3.1.1/win64' TARGET_WORKGROUP_PATH = r'./Softimage_2015/Addons/SItoA' diff --git a/config/custom_linux.py b/config/custom_linux.py index 361f4ac..458f116 100644 --- a/config/custom_linux.py +++ b/config/custom_linux.py @@ -6,7 +6,7 @@ SHCXX = r'/usr/bin/gcc-4.2.4/bin/gcc-4.2.4' XSISDK_ROOT = r'/usr/Softimage/Softimage_2015/XSISDK' -ARNOLD_HOME = r'/usr/SolidAngle/Arnold-5.3.1.0/linux' +ARNOLD_HOME = r'/usr/SolidAngle/Arnold-5.3.1.1/linux' TARGET_WORKGROUP_PATH = './Softimage_2015/Addons/SItoA' diff --git a/config/custom_windows.py b/config/custom_windows.py index 4b20428..1e51368 100644 --- a/config/custom_windows.py +++ b/config/custom_windows.py @@ -9,7 +9,7 @@ WINDOWS_KIT = r'C:/Program Files (x86)/Windows Kits/8.0' XSISDK_ROOT = r'C:/Program Files/Autodesk/Softimage 2015/XSISDK' -ARNOLD_HOME = r'C:/SolidAngle/Arnold-5.3.1.0/win64' +ARNOLD_HOME = r'C:/SolidAngle/Arnold-5.3.1.1/win64' TARGET_WORKGROUP_PATH = r'./Softimage_2015/Addons/SItoA' From 03784bf89b86a34ab51a9604706315b9479e8bec Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Wed, 31 Jul 2019 23:58:07 +0200 Subject: [PATCH 75/98] sitoa version up to 5.4.0 --- plugins/sitoa/version.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/sitoa/version.cpp b/plugins/sitoa/version.cpp index a9addcd..26362a6 100644 --- a/plugins/sitoa/version.cpp +++ b/plugins/sitoa/version.cpp @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations #include #define SITOA_MAJOR_VERSION_NUM 5 -#define SITOA_MINOR_VERSION_NUM 3 +#define SITOA_MINOR_VERSION_NUM 4 #define SITOA_FIX_VERSION L"0" From 599db016091ab7729b9e500cf172015e7980a184 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Thu, 1 Aug 2019 00:00:10 +0200 Subject: [PATCH 76/98] add clip_geo shader --- plugins/helpers/ArnoldMenu.js | 7 ++++++- plugins/helpers/ArnoldShaderDef.js | 3 +++ shaders/metadata/arnold_shaders.mtd | 13 +++++++++++++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/plugins/helpers/ArnoldMenu.js b/plugins/helpers/ArnoldMenu.js index 546b5fb..80a2dc7 100644 --- a/plugins/helpers/ArnoldMenu.js +++ b/plugins/helpers/ArnoldMenu.js @@ -278,7 +278,9 @@ function AddShadersSubMenu(in_menu) in_menu.AddSeparatorItem(); in_menu.AddCallbackItem("Standard Volume", "OnShadersMenu"); in_menu.AddSeparatorItem(); - in_menu.AddCallbackItem("Physical Sky", "OnShadersMenu"); + in_menu.AddCallbackItem("Physical Sky", "OnShadersMenu"); + in_menu.AddSeparatorItem(); + in_menu.AddCallbackItem("Clip Geo", "OnShadersMenu"); } @@ -521,6 +523,9 @@ function OnShadersMenu(in_ctxt) case "Operator": SITOA_AddShaderStack("Arnold.operator.1.0", "OutputShaderStack"); break; + case "Clip Geo": + SITOA_AddShader("Arnold.clip_geo.1.0", "surface"); + break; } } diff --git a/plugins/helpers/ArnoldShaderDef.js b/plugins/helpers/ArnoldShaderDef.js index 54dc3cb..c13acef 100644 --- a/plugins/helpers/ArnoldShaderDef.js +++ b/plugins/helpers/ArnoldShaderDef.js @@ -39,6 +39,7 @@ function XSILoadPlugin( in_reg ) in_reg.RegisterShader("cell_noise", 1, 0); in_reg.RegisterShader("checkerboard", 1, 0); in_reg.RegisterShader("clamp", 1, 0); + in_reg.RegisterShader("clip_geo", 1, 0); in_reg.RegisterShader("closure", 1, 0); // SItoA in_reg.RegisterShader("color_convert", 1, 0); in_reg.RegisterShader("color_correct", 1, 0); @@ -193,6 +194,8 @@ function Arnold_checkerboard_1_0_DefineInfo(in_ctxt) { return true; } function Arnold_checkerboard_1_0_Define(in_ctxt) { return true; } function Arnold_clamp_1_0_DefineInfo(in_ctxt) { return true; } function Arnold_clamp_1_0_Define(in_ctxt) { return true; } +function Arnold_clip_geo_1_0_DefineInfo(in_ctxt) { return true; } +function Arnold_clip_geo_1_0_Define(in_ctxt) { return true; } function Arnold_closure_1_0_DefineInfo(in_ctxt) { return true; } // SItoA function Arnold_closure_1_0_Define(in_ctxt) { return true; } // SItoA function Arnold_color_convert_1_0_DefineInfo(in_ctxt) { return true; } diff --git a/shaders/metadata/arnold_shaders.mtd b/shaders/metadata/arnold_shaders.mtd index cf6229b..7df0ae5 100644 --- a/shaders/metadata/arnold_shaders.mtd +++ b/shaders/metadata/arnold_shaders.mtd @@ -590,6 +590,19 @@ desc STRING "The minimum value for the color channels to be used in the output." [attr max_color] desc STRING "The maximum value for the color channels to be used in the output." +############################################################################## +[node clip_geo] +soft.category STRING "Utility" + +[attr intersection] +desc STRING "The color or shader applied to the result of the clipping." + +[attr trace_set] +desc STRING "It is possible to tag objects to be part of one or many trace sets. You can use trace sets to control which objects are clipped." + +[attr inclusive] +desc STRING "If on, the tracing works in inclusive mode, else in exclusive, as described above." + # SItoA specific ############################################################################## [node closure] From e301b1327e5149cb98c8b911b4b46b4dcfffbf40 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Thu, 1 Aug 2019 00:00:40 +0200 Subject: [PATCH 77/98] add aov_read_* shaders --- plugins/helpers/ArnoldShaderDef.js | 12 ++++++++++++ shaders/metadata/arnold_shaders.mtd | 28 ++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/plugins/helpers/ArnoldShaderDef.js b/plugins/helpers/ArnoldShaderDef.js index c13acef..9871748 100644 --- a/plugins/helpers/ArnoldShaderDef.js +++ b/plugins/helpers/ArnoldShaderDef.js @@ -24,6 +24,10 @@ function XSILoadPlugin( in_reg ) in_reg.RegisterShader("abs", 1, 0); in_reg.RegisterShader("add", 1, 0); in_reg.RegisterShader("ambient_occlusion", 1, 0); + in_reg.RegisterShader("aov_read_float", 1, 0); + in_reg.RegisterShader("aov_read_int", 1, 0); + in_reg.RegisterShader("aov_read_rgb", 1, 0); + in_reg.RegisterShader("aov_read_rgba", 1, 0); in_reg.RegisterShader("aov_write_float", 1, 0); in_reg.RegisterShader("aov_write_int", 1, 0); in_reg.RegisterShader("aov_write_rgb", 1, 0); @@ -164,6 +168,14 @@ function Arnold_add_1_0_DefineInfo(in_ctxt) { return true; } function Arnold_add_1_0_Define(in_ctxt) { return true; } function Arnold_ambient_occlusion_1_0_DefineInfo(in_ctxt) { return true; } function Arnold_ambient_occlusion_1_0_Define(in_ctxt) { return true; } +function Arnold_aov_read_float_1_0_DefineInfo(in_ctxt) { return true; } +function Arnold_aov_read_float_1_0_Define(in_ctxt) { return true; } +function Arnold_aov_read_int_1_0_DefineInfo(in_ctxt) { return true; } +function Arnold_aov_read_int_1_0_Define(in_ctxt) { return true; } +function Arnold_aov_read_rgb_1_0_DefineInfo(in_ctxt) { return true; } +function Arnold_aov_read_rgb_1_0_Define(in_ctxt) { return true; } +function Arnold_aov_read_rgba_1_0_DefineInfo(in_ctxt) { return true; } +function Arnold_aov_read_rgba_1_0_Define(in_ctxt) { return true; } function Arnold_aov_write_float_1_0_DefineInfo(in_ctxt) { return true; } function Arnold_aov_write_float_1_0_Define(in_ctxt) { return true; } function Arnold_aov_write_int_1_0_DefineInfo(in_ctxt) { return true; } diff --git a/shaders/metadata/arnold_shaders.mtd b/shaders/metadata/arnold_shaders.mtd index 7df0ae5..59e1b10 100644 --- a/shaders/metadata/arnold_shaders.mtd +++ b/shaders/metadata/arnold_shaders.mtd @@ -85,6 +85,34 @@ desc STRING "If on, the tracing works in inclusive mode, else in exclusive, as d [attr self_only] desc STRING "Gather occlusion against the shaded object only." +############################################################################## +[node aov_read_float] +soft.category STRING "AOV" + +[attr aov_name] +desc STRING "Name of the AOV." + +############################################################################## +[node aov_read_int] +soft.category STRING "AOV" + +[attr aov_name] +desc STRING "Name of the AOV." + +############################################################################## +[node aov_read_rgb] +soft.category STRING "AOV" + +[attr aov_name] +desc STRING "Name of the AOV." + +############################################################################## +[node aov_read_rgba] +soft.category STRING "AOV" + +[attr aov_name] +desc STRING "Name of the AOV." + ############################################################################## [node aov_write_float] soft.label STRING "AOV Write Float" From d4112ba123e9443a230334723514c13180764dd1 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Sat, 3 Aug 2019 00:36:05 +0200 Subject: [PATCH 78/98] add deprecate comment to complex_ior --- plugins/helpers/ArnoldShaderDef.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/helpers/ArnoldShaderDef.js b/plugins/helpers/ArnoldShaderDef.js index 9871748..55354ff 100644 --- a/plugins/helpers/ArnoldShaderDef.js +++ b/plugins/helpers/ArnoldShaderDef.js @@ -220,8 +220,8 @@ function Arnold_compare_1_0_DefineInfo(in_ctxt) { return true; } function Arnold_compare_1_0_Define(in_ctxt) { return true; } function Arnold_complement_1_0_DefineInfo(in_ctxt) { return true; } function Arnold_complement_1_0_Define(in_ctxt) { return true; } -function Arnold_complex_ior_1_0_DefineInfo(in_ctxt) { return true; } -function Arnold_complex_ior_1_0_Define(in_ctxt) { return true; } +function Arnold_complex_ior_1_0_DefineInfo(in_ctxt) { return true; } // deprecated +function Arnold_complex_ior_1_0_Define(in_ctxt) { return true; } // deprecated function Arnold_composite_1_0_DefineInfo(in_ctxt) { return true; } function Arnold_composite_1_0_Define(in_ctxt) { return true; } function Arnold_cross_1_0_DefineInfo(in_ctxt) { return true; } From ec26a7ebcb2969060ca46f2da9cfe6e576ebb5ac Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Sat, 3 Aug 2019 00:36:43 +0200 Subject: [PATCH 79/98] sort operator definitions --- plugins/helpers/ArnoldShaderDef.js | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/plugins/helpers/ArnoldShaderDef.js b/plugins/helpers/ArnoldShaderDef.js index 55354ff..6d511e9 100644 --- a/plugins/helpers/ArnoldShaderDef.js +++ b/plugins/helpers/ArnoldShaderDef.js @@ -408,23 +408,25 @@ function Arnold_volume_sample_rgb_1_0_DefineInfo(in_ctxt) { return true; } function Arnold_volume_sample_rgb_1_0_Define(in_ctxt) { return true; } function Arnold_wireframe_1_0_DefineInfo(in_ctxt) { return true; } function Arnold_wireframe_1_0_Define(in_ctxt) { return true; } + // operators +function Arnold_collection_1_0_DefineInfo(in_ctxt) { return true; } +function Arnold_collection_1_0_Define(in_ctxt) { return true; } +function Arnold_disable_1_0_DefineInfo(in_ctxt) { return true; } +function Arnold_disable_1_0_Define(in_ctxt) { return true; } +function Arnold_include_graph_1_0_DefineInfo(in_ctxt) { return true; } +function Arnold_include_graph_1_0_Define(in_ctxt) { return true; } function Arnold_materialx_1_0_DefineInfo(in_ctxt) { return true; } function Arnold_materialx_1_0_Define(in_ctxt) { return true; } function Arnold_merge_1_0_DefineInfo(in_ctxt) { return true; } function Arnold_merge_1_0_Define(in_ctxt) { return true; } -function Arnold_set_parameter_1_0_DefineInfo(in_ctxt) { return true; } -function Arnold_set_parameter_1_0_Define(in_ctxt) { return true; } -function Arnold_disable_1_0_DefineInfo(in_ctxt) { return true; } -function Arnold_disable_1_0_Define(in_ctxt) { return true; } -function Arnold_switch_operator_1_0_DefineInfo(in_ctxt) { return true; } -function Arnold_switch_operator_1_0_Define(in_ctxt) { return true; } +//function Arnold_set_parameter_1_0_DefineInfo(in_ctxt) { return true; } +//function Arnold_set_parameter_1_0_Define(in_ctxt) { return true; } function Arnold_set_transform_1_0_DefineInfo(in_ctxt) { return true; } function Arnold_set_transform_1_0_Define(in_ctxt) { return true; } -function Arnold_collection_1_0_DefineInfo(in_ctxt) { return true; } -function Arnold_collection_1_0_Define(in_ctxt) { return true; } -function Arnold_include_graph_1_0_DefineInfo(in_ctxt) { return true; } -function Arnold_include_graph_1_0_Define(in_ctxt) { return true; } +function Arnold_switch_operator_1_0_DefineInfo(in_ctxt) { return true; } +function Arnold_switch_operator_1_0_Define(in_ctxt) { return true; } + /////////////////////////////////////////////////// /////////////// shaders that require a dedicated UI From 6185f97b356970bcf6d23dc015c1cba8b5ded716 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Sat, 3 Aug 2019 00:37:30 +0200 Subject: [PATCH 80/98] add AddOutputNode shader def helper --- plugins/helpers/ArnoldShaderDefHelpers.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/plugins/helpers/ArnoldShaderDefHelpers.js b/plugins/helpers/ArnoldShaderDefHelpers.js index af35eec..71fe774 100644 --- a/plugins/helpers/ArnoldShaderDefHelpers.js +++ b/plugins/helpers/ArnoldShaderDefHelpers.js @@ -245,6 +245,13 @@ function ShaderHelperObj() paramDef.MainPort = false; } + this.AddOutputNode = function(in_params) + { + paramOptions = XSIFactory.CreateShaderParamDefOptions(); + paramDef = in_params.AddParamDef("out", siShaderDataTypeReference, paramOptions); + paramDef.MainPort = false; + } + this.AddArnoldRendererDef = function(in_shaderDef) { var h = SItoAToolHelper(); From 0b012bdb72749815fc0e8e656f7a820ac04b48c4 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Sat, 3 Aug 2019 00:38:38 +0200 Subject: [PATCH 81/98] fix light expressions and add new expression to spot cones --- plugins/helpers/ArnoldLights.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/plugins/helpers/ArnoldLights.js b/plugins/helpers/ArnoldLights.js index cbd9bf8..7728bdc 100644 --- a/plugins/helpers/ArnoldLights.js +++ b/plugins/helpers/ArnoldLights.js @@ -76,7 +76,7 @@ function AddPointLight_Execute(in_name) light.Parameters("LightAreaGeom").value = 3; // Mapping Arnold Light Parameter to XSI Light Parameter.. var spotRadius = light.Parameters("LightAreaXformSX"); - spotRadius.AddExpression(light.FullName+".light.arnold_point_light.radius"); + spotRadius.AddExpression(light.FullName+".light.point_light.radius"); return light; // return the light } @@ -110,8 +110,10 @@ function AddSpotLight_Execute(in_name) ApplyLightShader(lightPrim, "arnold_spot_light"); // Mapping Arnold Light Parameters to XSI Light Parameters.. + var coneAngle = lightPrim.Parameters("LightCone"); + coneAngle.AddExpression(lightPrim.FullName+".light.spot_light.cone_angle"); var spotRadius = lightPrim.Parameters("LightAreaXformSX"); - spotRadius.AddExpression(lightPrim.FullName+".light.arnold_spot_light.radius") + spotRadius.AddExpression(lightPrim.FullName+".light.spot_light.radius"); lightPrim.LightArea = true; lightPrim.LightAreaGeom = 2; return lightPrim; From 2f469ff0563911024b605da94527b6a6103d9e40 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Tue, 13 Aug 2019 00:57:05 +0200 Subject: [PATCH 82/98] more sorting of operator defs --- plugins/helpers/ArnoldShaderDef.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/plugins/helpers/ArnoldShaderDef.js b/plugins/helpers/ArnoldShaderDef.js index 6d511e9..f36a84e 100644 --- a/plugins/helpers/ArnoldShaderDef.js +++ b/plugins/helpers/ArnoldShaderDef.js @@ -145,15 +145,15 @@ function XSILoadPlugin( in_reg ) in_reg.RegisterShader("volume_sample_rgb", 1, 0); in_reg.RegisterShader("wireframe", 1, 0); // operators - in_reg.RegisterShader("operator", 1, 0); + in_reg.RegisterShader("disable", 1, 0); + in_reg.RegisterShader("collection", 1, 0); + in_reg.RegisterShader("include_graph", 1, 0); in_reg.RegisterShader("materialx", 1, 0); in_reg.RegisterShader("merge", 1, 0); + in_reg.RegisterShader("operator", 1, 0); in_reg.RegisterShader("set_parameter", 1, 0); - in_reg.RegisterShader("disable", 1, 0); - in_reg.RegisterShader("switch_operator", 1, 0); in_reg.RegisterShader("set_transform", 1, 0); - in_reg.RegisterShader("collection", 1, 0); - in_reg.RegisterShader("include_graph", 1, 0); + in_reg.RegisterShader("switch_operator", 1, 0); // in_reg.Help = "https://support.solidangle.com/display/A5SItoAUG/Shaders"; From af7f722cd5d6325618677c348b4910c99bf49709 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Tue, 13 Aug 2019 01:05:21 +0200 Subject: [PATCH 83/98] add another deprecated comment to complex_ior --- plugins/helpers/ArnoldShaderDef.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/helpers/ArnoldShaderDef.js b/plugins/helpers/ArnoldShaderDef.js index f36a84e..e4ce4d8 100644 --- a/plugins/helpers/ArnoldShaderDef.js +++ b/plugins/helpers/ArnoldShaderDef.js @@ -50,7 +50,7 @@ function XSILoadPlugin( in_reg ) in_reg.RegisterShader("color_jitter", 1, 0); in_reg.RegisterShader("compare", 1, 0); in_reg.RegisterShader("complement", 1, 0); - in_reg.RegisterShader("complex_ior", 1, 0); + in_reg.RegisterShader("complex_ior", 1, 0); // deprecated in_reg.RegisterShader("composite", 1, 0); in_reg.RegisterShader("cross", 1, 0); in_reg.RegisterShader("cryptomatte", 1, 0); From c99bd158c182f336c19aef127bdbb6984bd06db9 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Wed, 14 Aug 2019 00:45:52 +0200 Subject: [PATCH 84/98] remove manual define of physical_sky some extensions to layout an logic is still defined manually --- plugins/helpers/ArnoldShaderDef.js | 73 +++++++---------------------- plugins/sitoa/loader/ShaderDef.cpp | 3 -- shaders/metadata/arnold_shaders.mtd | 5 +- 3 files changed, 20 insertions(+), 61 deletions(-) diff --git a/plugins/helpers/ArnoldShaderDef.js b/plugins/helpers/ArnoldShaderDef.js index e4ce4d8..d741bed 100644 --- a/plugins/helpers/ArnoldShaderDef.js +++ b/plugins/helpers/ArnoldShaderDef.js @@ -306,7 +306,7 @@ function Arnold_osl_1_0_DefineInfo(in_ctxt) { return true; } function Arnold_osl_1_0_Define(in_ctxt) { return true; } function Arnold_passthrough_1_0_DefineInfo(in_ctxt) { return true; } function Arnold_passthrough_1_0_Define(in_ctxt) { return true; } -// function Arnold_physical_sky_1_0_DefineInfo(in_ctxt) { return true; } +function Arnold_physical_sky_1_0_DefineInfo(in_ctxt) { return true; } // function Arnold_physical_sky_1_0_Define(in_ctxt) { return true; } function Arnold_pow_1_0_DefineInfo(in_ctxt) { return true; } function Arnold_pow_1_0_Define(in_ctxt) { return true; } @@ -432,39 +432,9 @@ function Arnold_switch_operator_1_0_Define(in_ctxt) { return true; } /////////////// shaders that require a dedicated UI /////////////////////////////////////////////////// -function Arnold_physical_sky_1_0_DefineInfo(in_ctxt) +function Arnold_physical_sky_1_0_Define(in_ctxt) { - return true; -} - -function Arnold_physical_sky_1_0_Define(in_ctxt) -{ - var h = SItoAShaderDefHelpers(); // helper object - var shaderDef = in_ctxt.GetAttribute("Definition"); - shaderDef.AddShaderFamily(siShaderFamilyTexture); - - // INPUT - params = shaderDef.InputParamDefs; - h.AddScalar (params, "turbidity", 3.0, 1.0, 10.0, 1.0, 10.0, true, false, true); - h.AddColor3 (params, "ground_albedo", 0.1, 0.1, 0.1, true, false, true); - h.AddScalar (params, "elevation", 45.0, 0.0, 180.0, 0.0, 180.0, true, false, true); - h.AddScalar (params, "azimuth", 90.0, 0.0, 360.0, 0.0, 360.0, true, false, true); - h.AddBoolean(params, "enable_sun", true, true, false, true); - h.AddScalar (params, "sun_size", 0.51, 0.0, 180.0, 0.0, 5.0, true, false, true); - h.AddScalar (params, "intensity", 1.0, 0.0, 10.0, 0.0, 10.0, true, false, true); - h.AddColor3 (params, "sky_tint", 1.0, 1.0, 1.0, true, false, true); - h.AddColor3 (params, "sun_tint", 1.0, 1.0, 1.0, true, false, true); - h.AddVector3(params, "X", 1.0, 0.0, 0.0, -1.0, 1.0, -1.0, 1.0); - h.AddVector3(params, "Y", 0.0, 1.0, 0.0, -1.0, 1.0, -1.0, 1.0); - h.AddVector3(params, "Z", 0.0, 0.0, 1.0, -1.0, 1.0, -1.0, 1.0); - - // OUTPUT - h.AddOutputColor4(shaderDef.OutputParamDefs); - - // Renderer definition - h.AddArnoldRendererDef(shaderDef); - physical_sky_Layout(shaderDef.PPGLayout); return true; @@ -472,29 +442,12 @@ function Arnold_physical_sky_1_0_Define(in_ctxt) function physical_sky_Layout(in_layout) { - in_layout.Clear(); - in_layout.SetAttribute(siUIHelpFile, "https://support.solidangle.com/display/SItoAUG/Physical+Sky"); + in_layout.SetAttribute(siUIHelpFile, "https://support.solidangle.com/display/SItoAUG/Physical+Sky"); - item = in_layout.AddItem("turbidity", "Turbidity"); - item = in_layout.AddItem("ground_albedo", "Ground Albedo"); - item = in_layout.AddItem("elevation", "Elevation"); - item = in_layout.AddItem("azimuth", "Azimuth"); - item = in_layout.AddItem("intensity", "Intensity"); - item = in_layout.AddItem("sky_tint", "Sky Tint"); - item = in_layout.AddItem("enable_sun", "Enable Sun"); - item = in_layout.AddItem("sun_tint", "Sun Tint"); - item = in_layout.AddItem("sun_size", "Sun Size"); - in_layout.AddGroup("Orientation"); - in_layout.AddGroup(""); - item = in_layout.AddItem("X", "X"); - item = in_layout.AddItem("Y", "Y"); - item = in_layout.AddItem("Z", "Z"); - in_layout.EndGroup(); - in_layout.AddRow(); - item = in_layout.AddButton("SetExpression", "Set Expression"); - item = in_layout.AddButton("RemoveExpression", "Remove Expression"); - in_layout.EndRow(); - in_layout.EndGroup(); + in_layout.AddRow(); + item = in_layout.AddButton("SetExpression", "Set Expression"); + item = in_layout.AddButton("RemoveExpression", "Remove Expression"); + in_layout.EndRow(); in_layout.SetAttribute(siUILogicPrefix, "physical_sky_"); } @@ -502,12 +455,20 @@ function physical_sky_Layout(in_layout) function physical_sky_OnInit() { physical_sky_enable_sun_OnChanged(); + physical_sky_use_degrees_OnChanged(); +} + +function physical_sky_use_degrees_OnChanged() +{ + PPG.azimuth.Enable(PPG.use_degrees.Value); + PPG.elevation.Enable(PPG.use_degrees.Value); + PPG.sun_direction.Enable(!PPG.use_degrees.Value); } function physical_sky_enable_sun_OnChanged() { - PPG.sun_size.Enable(PPG.enable_sun.Value); - PPG.sun_tint.Enable(PPG.enable_sun.Value); + PPG.sun_size.Enable(PPG.enable_sun.Value); + PPG.sun_tint.Enable(PPG.enable_sun.Value); } // Xx = cy*cz; diff --git a/plugins/sitoa/loader/ShaderDef.cpp b/plugins/sitoa/loader/ShaderDef.cpp index 0fd1eed..b0ec6c4 100644 --- a/plugins/sitoa/loader/ShaderDef.cpp +++ b/plugins/sitoa/loader/ShaderDef.cpp @@ -565,9 +565,6 @@ CString CShaderDefShader::Define(const bool in_clone_vector_map) m_sd.PutDisplayName(m_name + L" (deprecated)"); m_sd.AddRendererDef(L"Arnold Render"); - - if (m_name == L"physical_sky") // defined in js, just categorize and bail out - return L""; vector ::iterator it; for (it=m_parameters.begin(); it!=m_parameters.end(); it++) diff --git a/shaders/metadata/arnold_shaders.mtd b/shaders/metadata/arnold_shaders.mtd index 59e1b10..768ad66 100644 --- a/shaders/metadata/arnold_shaders.mtd +++ b/shaders/metadata/arnold_shaders.mtd @@ -2294,11 +2294,12 @@ soft.inspectable BOOL false ############################################################################## [node physical_sky] soft.category STRING "Environment" -soft.order STRING "use_degrees azimuth elevation sun_direction enable_sun sun_size sun_tint sky_tint ground_albedo intensity turbidity X Y Z" +soft.order STRING "turbidity ground_albedo use_degrees azimuth elevation sun_direction enable_sun sun_size sun_tint sky_tint intensity " +"BeginGroup Orientation X Y Z EndGroup" [attr use_degrees] linkable BOOL false -soft.label STRING "Azimuth / Elevation" +soft.label STRING "Use Azimuth / Elevation" desc STRING "Switch between Azimuth/Elevation mode and Direction for defining the sun position. " [attr azimuth] From 5a3835fdf2135a29ff735d18d3d0a22ecadcd380 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Wed, 14 Aug 2019 22:42:44 +0200 Subject: [PATCH 85/98] several updates to set_parameter the addition of the enable_assignment parameter caused quite a large change i made the parameter a struct and had to do special code to export that to arnold --- plugins/helpers/ArnoldShaderDef.js | 61 ++++++++++- plugins/sitoa/common/ParamsCommon.cpp | 3 + plugins/sitoa/common/ParamsShader.cpp | 151 ++++++++++++++++---------- plugins/sitoa/common/ParamsShader.h | 2 + plugins/sitoa/loader/ShaderDef.cpp | 3 + 5 files changed, 160 insertions(+), 60 deletions(-) diff --git a/plugins/helpers/ArnoldShaderDef.js b/plugins/helpers/ArnoldShaderDef.js index d741bed..0f60aa8 100644 --- a/plugins/helpers/ArnoldShaderDef.js +++ b/plugins/helpers/ArnoldShaderDef.js @@ -420,7 +420,7 @@ function Arnold_materialx_1_0_DefineInfo(in_ctxt) { return true; } function Arnold_materialx_1_0_Define(in_ctxt) { return true; } function Arnold_merge_1_0_DefineInfo(in_ctxt) { return true; } function Arnold_merge_1_0_Define(in_ctxt) { return true; } -//function Arnold_set_parameter_1_0_DefineInfo(in_ctxt) { return true; } +function Arnold_set_parameter_1_0_DefineInfo(in_ctxt) { return true; } //function Arnold_set_parameter_1_0_Define(in_ctxt) { return true; } function Arnold_set_transform_1_0_DefineInfo(in_ctxt) { return true; } function Arnold_set_transform_1_0_Define(in_ctxt) { return true; } @@ -554,3 +554,62 @@ function Arnold_operator_1_0_Define(in_ctxt) return true; } + +function Arnold_set_parameter_1_0_Define(in_ctxt) +{ + var h = SItoAShaderDefHelpers(); // helper object + + var shaderDef = in_ctxt.GetAttribute("Definition"); + shaderDef.AddShaderFamily(siShaderFamilyTexture); + + // INPUT + params = shaderDef.InputParamDefs; + + h.AddBoolean(params, "enable", true, true, false, true); + + paramOptions = XSIFactory.CreateShaderParamDefOptions(); + paramOptions.SetLongName("Inputs"); + h.SetCapability(paramOptions, false, true, true); + params.AddArrayParamDef("inputs", siShaderDataTypeReference, paramOptions); + + h.AddString(params, "selection", ""); + + paramOptions = XSIFactory.CreateShaderParamDefOptions(); + paramOptions.SetLongName("Assignments"); + var paramDef = params.AddArrayParamDef("assignments", siShaderDataTypeStructure, paramOptions); + var subParamDefs = paramDef.ItemDef.SubParamDefs; + + paramOptions = XSIFactory.CreateShaderParamDefOptions(); + h.SetCapability(paramOptions, true, false, true); + paramOptions.SetDefaultValue(true); + paramOptions.SetLongName("Enable"); + subParamDefs.AddParamDef("enable_assignment", siShaderDataTypeBoolean, paramOptions); + + paramOptions = XSIFactory.CreateShaderParamDefOptions(); + h.SetCapability(paramOptions, false, false, true); + paramOptions.SetLongName("Assignment"); + subParamDefs.AddParamDef("assignment", siShaderDataTypeString, paramOptions); + + // OUTPUT + h.AddOutputNode(shaderDef.OutputParamDefs); + + // Renderer definition + h.AddArnoldRendererDef(shaderDef); + + set_parameter_Layout(shaderDef.PPGLayout); + + return true; +} + +function set_parameter_Layout(in_layout) +{ + in_layout.Clear(); + in_layout.SetAttribute(siUIHelpFile, "https://docs.arnoldrenderer.com/display/A5NodeRef/set_parameter"); + + item = in_layout.AddItem("enable", "Enable"); + item = in_layout.AddItem("inputs", "Inputs"); + item = in_layout.AddItem("selection", "Selection"); + item = in_layout.AddItem("assignments"); + + in_layout.SetAttribute(siUILogicPrefix, "set_parameter_"); +} diff --git a/plugins/sitoa/common/ParamsCommon.cpp b/plugins/sitoa/common/ParamsCommon.cpp index 91cccab..835f3cd 100644 --- a/plugins/sitoa/common/ParamsCommon.cpp +++ b/plugins/sitoa/common/ParamsCommon.cpp @@ -79,6 +79,9 @@ CStatus LoadParameterValue(AtNode *in_node, const CString &in_entryName, const C in_entryName == L"ScalarSwitch" || in_entryName == L"Vector3Switch") return LoadArraySwitcherParameter(in_node, in_param, in_frame, arrayElement, in_ref); + + if (in_entryName == L"set_parameter" && in_paramName == L"assignments") + return LoadArrayAssignmentParameter(in_node, in_param, in_frame, arrayElement, in_ref); } // Compound param (with subcomponents) diff --git a/plugins/sitoa/common/ParamsShader.cpp b/plugins/sitoa/common/ParamsShader.cpp index e91433e..a4a6c6b 100644 --- a/plugins/sitoa/common/ParamsShader.cpp +++ b/plugins/sitoa/common/ParamsShader.cpp @@ -232,65 +232,6 @@ CStatus LoadShaderParameter(AtNode* in_node, const CString &in_entryName, Parame } CNodeSetter::SetString(in_node, aiParamName, paramValue.GetAsciiString()); } - else if (in_entryName == L"set_parameter" && in_param.GetScriptName() == L"assignment") - { - // set_parameters could be used to override a shader on a node - // since sitoa shaders have their name translated, we should do a name lookup and translate the name - AtArray* entries = AiArrayAllocate(paramArray.GetCount(), 1, AI_TYPE_STRING); - AiNodeSetArray(in_node, in_param.GetScriptName().GetAsciiString(), entries); - - // Iterate through all the parameters of the parameters array - for (LONG i=0; iShaderMap().Get(surfaceShader, in_frame); - if (!shaderNode) - shaderNode = LoadShader(surfaceShader, in_frame, in_ref, RECURSE_FALSE); - } - } - - if (shaderNode) - { - CString shaderName = CNodeUtilities().GetName(shaderNode); - CString newParamValue = L"shader = \"" + shaderName + "\""; - AiArraySetStr(entries, i, newParamValue.GetAsciiString()); - ordinaryParamLoad = false; - } - } - } - if (ordinaryParamLoad) - LoadShaderParameter(in_node, in_entryName, theParam, in_frame, in_ref, in_recursively, paramArray.GetScriptName(), i); - } - } // end of special case for set_parameter operator else { AtArray *values(NULL); @@ -312,6 +253,14 @@ CStatus LoadShaderParameter(AtNode* in_node, const CString &in_entryName, Parame AiNodeSetArray(in_node, "values", values); AiNodeSetArray(in_node, "index", index); } + else if (in_entryName == L"set_parameter") + { + AtArray* assignments = AiArrayAllocate(paramArray.GetCount(), 1, AI_TYPE_STRING); + AtArray* enable_assignments = AiArrayAllocate(paramArray.GetCount(), 1, AI_TYPE_BOOLEAN); + + AiNodeSetArray(in_node, "assignment", assignments); + AiNodeSetArray(in_node, "enable_assignment", enable_assignments); + } else { // array type @@ -487,6 +436,90 @@ CStatus LoadArraySwitcherParameter(AtNode *in_node, const Parameter &in_param, d } +// Load the n-th element of the asignments array parameter of the set_parameter operator. A dedicated function +// is needed, because the array has elements of struct type (enable_assignment-assignment) that can't be parsed otherwise +// +// @param *in_node the Arnold shader node +// @param in_param the n-th Item parameter of the assignments array +// @param in_frame the frame time. +// @param in_arrayElement the index of the array, so the n that in_param refers to +// @param in_ref the object owning the shader. +// +// @return CStatus::OK +// +CStatus LoadArrayAssignmentParameter(AtNode *in_node, const Parameter &in_param, double in_frame, int in_arrayElement, CRef in_ref) +{ + AtArray *assignments = AiNodeGetArray(in_node, "assignment"); + AtArray *enable_assignments = AiNodeGetArray(in_node, "enable_assignment"); + + // this gets the Item container, with the index-value pair + CParameterRefArray paramsArray = in_param.GetParameters(); + + for (LONG i=0; iShaderMap().Get(surfaceShader, in_frame); + if (!shaderNode) + shaderNode = LoadShader(surfaceShader, in_frame, in_ref, RECURSE_FALSE); + } + } + + if (shaderNode) + { + CString shaderName = CNodeUtilities().GetName(shaderNode); + CString newParamValue = L"shader = \"" + shaderName + "\""; + AiArraySetStr(assignments, in_arrayElement, newParamValue.GetAsciiString()); + ordinaryParamLoad = false; + } + } + } + if (ordinaryParamLoad) + AiArraySetStr(assignments, in_arrayElement, paramValue.GetAsciiString()); + } + + return CStatus::OK; +} + + Shader GetShaderFromSource(const CRef &in_refCnxSrc) { diff --git a/plugins/sitoa/common/ParamsShader.h b/plugins/sitoa/common/ParamsShader.h index a2079ee..ec11ee0 100644 --- a/plugins/sitoa/common/ParamsShader.h +++ b/plugins/sitoa/common/ParamsShader.h @@ -27,6 +27,8 @@ CStatus LoadShaderParameters(AtNode* in_node, CRefArray &in_paramsArray, double CStatus LoadShaderParameter(AtNode* in_node, const CString &in_entryName, Parameter &in_param, double in_frame, const CRef &in_ref, bool in_recursively, const CString& in_arrayParamName=CString(), int in_arrayElement=-1); // Load the n-th element of the array parameters of the array switcher shaders. CStatus LoadArraySwitcherParameter(AtNode *in_node, const Parameter &in_param, double in_frame, int in_arrayElement, CRef in_ref); +// Load the n-th element of the asignments array parameter of the set_parameter operator. +CStatus LoadArrayAssignmentParameter(AtNode *in_node, const Parameter &in_param, double in_frame, int in_arrayElement, CRef in_ref); // Get the shader from a given source Shader GetShaderFromSource(const CRef &in_refCnxSrc); // Get the shader from a parameter diff --git a/plugins/sitoa/loader/ShaderDef.cpp b/plugins/sitoa/loader/ShaderDef.cpp index b0ec6c4..b3ae617 100644 --- a/plugins/sitoa/loader/ShaderDef.cpp +++ b/plugins/sitoa/loader/ShaderDef.cpp @@ -566,6 +566,9 @@ CString CShaderDefShader::Define(const bool in_clone_vector_map) m_sd.AddRendererDef(L"Arnold Render"); + if (m_name == L"set_parameter") // defined in js, just categorize and bail out + return L""; + vector ::iterator it; for (it=m_parameters.begin(); it!=m_parameters.end(); it++) { From 7659d958d7b730d6ef3dfdd8ef26aa2f9557b6d4 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Wed, 14 Aug 2019 22:43:38 +0200 Subject: [PATCH 86/98] update operators test --- .../XSIProject/Scenes/test_0268/data/test.scn | Bin 593920 -> 598016 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/testsuite/XSIProject/Scenes/test_0268/data/test.scn b/testsuite/XSIProject/Scenes/test_0268/data/test.scn index db86ecadcf2b882433f5cd31cd87802b8f96bfdd..8f3c5a1b136fa2aebd44ab7da2276803946d9fcd 100644 GIT binary patch delta 23569 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 J`YO=X{$JNjJGuh! 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 From 771ac7d4b4fa7ca8e86d1210e125b579458a7033 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Wed, 14 Aug 2019 22:44:00 +0200 Subject: [PATCH 87/98] fix for #77 --- plugins/sitoa/loader/ShaderDef.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/plugins/sitoa/loader/ShaderDef.cpp b/plugins/sitoa/loader/ShaderDef.cpp index b3ae617..8ac9640 100644 --- a/plugins/sitoa/loader/ShaderDef.cpp +++ b/plugins/sitoa/loader/ShaderDef.cpp @@ -813,6 +813,15 @@ void CShaderDefSet::Load(const CString &in_plugin_origin_path) if (shader_def.m_so_name == L"core" && shader_def.m_is_camera_node) continue; + // xsibatch needs to completely skip the shaders defined in ArnoldShaderDef.js + // there's no need to categorize them when in batch anyway + // https://github.com/Autodesk/sitoa/issues/77 + if (!Application().IsInteractive()) + { + if (node_name == L"set_parameter") + continue; + } + progId = shader_def.Define(); // build parameters and the UI if (!progId.IsEmpty()) // enter in the list only the shaders whose definition was actually created From f291d671b0b231f638ecfe73ef1d60e33cfb7b44 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Fri, 16 Aug 2019 00:32:21 +0200 Subject: [PATCH 88/98] export Nref feature and test for Nref --- plugins/helpers/ArnoldProperties.js | 4 +- plugins/sitoa/loader/Polymeshes.cpp | 41 +++++++++++++ plugins/sitoa/loader/Polymeshes.h | 2 + plugins/sitoa/loader/Properties.cpp | 1 + plugins/sitoa/renderer/RenderInstance.cpp | 1 + testsuite/XSIProject/Scenes/test_0272/README | 5 ++ .../XSIProject/Scenes/test_0272/data/test.scn | Bin 0 -> 626688 bytes .../Scenes/test_0272/ref/reference.log | 57 ++++++++++++++++++ .../Scenes/test_0272/ref/reference.tif | Bin 0 -> 8749 bytes 9 files changed, 110 insertions(+), 1 deletion(-) create mode 100644 testsuite/XSIProject/Scenes/test_0272/README create mode 100644 testsuite/XSIProject/Scenes/test_0272/data/test.scn create mode 100644 testsuite/XSIProject/Scenes/test_0272/ref/reference.log create mode 100644 testsuite/XSIProject/Scenes/test_0272/ref/reference.tif diff --git a/plugins/helpers/ArnoldProperties.js b/plugins/helpers/ArnoldProperties.js index cee09a1..7a1fd95 100644 --- a/plugins/helpers/ArnoldProperties.js +++ b/plugins/helpers/ArnoldProperties.js @@ -510,6 +510,7 @@ function AddParamsShape(in_prop) in_prop.AddParameter2("self_shadows", siBool, 1, 0, 1, 0, 5, 0, siPersistable|siAnimatable); in_prop.AddParameter2("receive_shadows", siBool, 1, 0, 1, 0, 5, 0, siPersistable|siAnimatable); in_prop.AddParameter2("export_pref", siBool, false, null, null, null, null); + in_prop.AddParameter2("export_nref", siBool, false, null, null, null, null); in_prop.AddParameter2("subdiv_smooth_derivs", siBool, false, null, null, null, null); in_prop.AddParameter2("sss_setname", siString, "", null, null, null, null, 0, siPersistable|siAnimatable); in_prop.AddParameter2("toon_id", siString, "", null, null, null, null, 0, siPersistable|siAnimatable); @@ -686,7 +687,8 @@ function arnold_parameters_DefineLayout(io_Context) xsiLayout.AddItem("invert_normals", "Invert Normals"); xsiLayout.AddItem("self_shadows", "Self Shadows"); xsiLayout.AddItem("receive_shadows", "Receive Shadows"); - xsiLayout.AddItem("export_pref", "Export Bind Pose (Pref)"); + xsiLayout.AddItem("export_pref", "Export Bind Pose Positions (Pref)"); + xsiLayout.AddItem("export_nref", "Export Bind Pose Normals (Nref)"); xsiLayout.AddItem("subdiv_smooth_derivs", "Smooth Subdiv Tangents"); xsiLayout.EndGroup(); diff --git a/plugins/sitoa/loader/Polymeshes.cpp b/plugins/sitoa/loader/Polymeshes.cpp index 4a271f9..fd80ba2 100644 --- a/plugins/sitoa/loader/Polymeshes.cpp +++ b/plugins/sitoa/loader/Polymeshes.cpp @@ -1602,6 +1602,46 @@ void CMesh::ExportPref(double in_frame) } +// Export the nref normals, ie the normals at the modeling stage +// https://github.com/Autodesk/sitoa/issues/78 +// +// @param in_frame The frame time +// +void CMesh::ExportNref(double in_frame) +{ + // Export the Nref data if checked + if (!(bool)ParAcc_GetValue(m_paramProperty, L"export_nref", in_frame)) + return; + + AiNodeDeclare(m_node, "Nref", "indexed VECTOR"); // Nrefidxs seems to be defined automatically by this. + + PolygonMesh polyMeshBindPose = CObjectUtilities().GetGeometryAtFrame(m_xsiObj, siConstructionModeModeling, in_frame); + CGeometryAccessor geoAccessorBindPose = polyMeshBindPose.GetGeometryAccessor(siConstructionModeModeling, siCatmullClark, 0, false, + m_useDiscontinuity, m_discontinuityAngle); + + CLongArray NodeIndicesBindPose; + geoAccessorBindPose.GetNodeIndices(NodeIndicesBindPose); + AtArray* nidxsBindPose = AiArrayCopy(LongArrayToUIntArray(NodeIndicesBindPose)); + LONG nodeCountBindPose = AiArrayGetNumElements(nidxsBindPose); + + AtArray* nlistBindPose = AiArrayAllocate(nodeCountBindPose, 1, AI_TYPE_VECTOR); + CFloatArray nodeNormalsBindPose; + + if (m_hasIceNodeUserNormal) + GetIceNodeUserNormals(polyMeshBindPose, nodeNormalsBindPose); + else // Eric Mootz for #704 + GetGeoAccessorNormals(geoAccessorBindPose, nodeCountBindPose, nodeNormalsBindPose); + + for (LONG i=0; i < nodeCountBindPose; ++i) + { + AiArraySetVec(nlistBindPose, i, AtVector((float)nodeNormalsBindPose[3*i], (float)nodeNormalsBindPose[3*i + 1], (float)nodeNormalsBindPose[3*i + 2])); + } + + AiNodeSetArray(m_node, "Nrefidxs", nidxsBindPose); + AiNodeSetArray(m_node, "Nref", nlistBindPose); +} + + // Export the visibility, sidedness, custom parameters, user options and blob data // // @param in_frame The frame time @@ -1727,6 +1767,7 @@ CStatus LoadSinglePolymesh(X3DObject &in_xsiObj, double in_frame, CRefArray &in_ mesh.ExportEnvironment(); mesh.ExportLightGroup(); mesh.ExportPref(in_frame); + mesh.ExportNref(in_frame); mesh.ExportMotionStartEnd(); mesh.ExportVizSidednessAndOptions(in_frame); diff --git a/plugins/sitoa/loader/Polymeshes.h b/plugins/sitoa/loader/Polymeshes.h index 4afef51..92e1104 100644 --- a/plugins/sitoa/loader/Polymeshes.h +++ b/plugins/sitoa/loader/Polymeshes.h @@ -119,6 +119,8 @@ class CMesh void ExportSubdivision(double in_frame); // Export the pref points, ie the points at the modeling stage void ExportPref(double in_frame); + // Export the nref normals, ie the normals at the modeling stage + void ExportNref(double in_frame); // Export the visibility, sidedness, custom parameters, user options and blob data void ExportVizSidednessAndOptions(double in_frame); // Export motion_start, motion_end diff --git a/plugins/sitoa/loader/Properties.cpp b/plugins/sitoa/loader/Properties.cpp index b753854..c192ec5 100644 --- a/plugins/sitoa/loader/Properties.cpp +++ b/plugins/sitoa/loader/Properties.cpp @@ -297,6 +297,7 @@ void LoadArnoldParameters(AtNode* in_node, CParameterRefArray &in_paramsArray, d { // sss does not apply on curves, points, etc (just polymesh), so skip these params if ( !strcmp(charParamName, "export_pref") || + !strcmp(charParamName, "export_nref") || !strcmp(charParamName, "sss_setname")) { if (!isMesh) diff --git a/plugins/sitoa/renderer/RenderInstance.cpp b/plugins/sitoa/renderer/RenderInstance.cpp index 24c257f..0de8a26 100644 --- a/plugins/sitoa/renderer/RenderInstance.cpp +++ b/plugins/sitoa/renderer/RenderInstance.cpp @@ -389,6 +389,7 @@ CRef CRenderInstance::GetUpdateType(const CRef &in_ref, eUpdateType &out_updateT incompatible.Add(L"skip_license_check"); incompatible.Add(L"abort_on_license_fail"); incompatible.Add(L"export_pref"); + incompatible.Add(L"export_nref"); incompatible.Add(L"subdiv_smooth_derivs"); // #1240 incompatible.Add(L"procedurals_path"); diff --git a/testsuite/XSIProject/Scenes/test_0272/README b/testsuite/XSIProject/Scenes/test_0272/README new file mode 100644 index 0000000..17c914b --- /dev/null +++ b/testsuite/XSIProject/Scenes/test_0272/README @@ -0,0 +1,5 @@ +Export Nref + +Github #78 + +author: Jens Lindgren diff --git a/testsuite/XSIProject/Scenes/test_0272/data/test.scn b/testsuite/XSIProject/Scenes/test_0272/data/test.scn new file mode 100644 index 0000000000000000000000000000000000000000..a4d6ea33b26e351c297c45ef45fdd4f3a9c7d13a GIT binary patch literal 626688 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

P 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

)rZVMHB4 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: C:\Users\lindg\GitHub\sitoa\build\windows_x86_64\msvc_opt\si_13000\testsuite\test_0272\test.scn... +// INFO : 4034 - Loaded scene was created with build number: 13.2.163.0 - compatibility version: 1300 +OpenScene("C:\\Users\\lindg\\GitHub\\sitoa\\build\\windows_x86_64\\msvc_opt\\si_13000\\testsuite\\test_0272\\test.scn", null, null); +SetValue("Passes.RenderOptions.ImageLockAspectRatio", false, null); +SetValue("Passes.RenderOptions.ImageWidth", 160, null); +SetValue("Passes.RenderOptions.ImageHeight", 120, null); +SetValue("Passes.Default_Pass.Main.Filename", "C:\\Users\\lindg\\GitHub\\sitoa\\build\\windows_x86_64\\msvc_opt\\si_13000\\testsuite\\test_0272\\testrender.####.tif", null); +SetValue("Passes.Default_Pass.Main.Format", "tif", null); +SetValue("Passes.Arnold_Render_Options.output_tiff_tiled", 0, null); +SetValue("Passes.Arnold_Render_Options.enable_log_file", true, null); +SetValue("Passes.Arnold_Render_Options.log_level", 1, null); +SetValue("Passes.Arnold_Render_Options.output_file_tagdir_log", "C:\\Users\\lindg\\GitHub\\sitoa\\build\\windows_x86_64\\msvc_opt\\si_13000\\testsuite\\test_0272", null); +SetValue("Passes.Arnold_Render_Options.textures_path", "C:\\Users\\lindg\\GitHub\\sitoa\\testsuite\\XSIProject\\Pictures", null); +SetValue("Passes.Arnold_Render_Options.save_texture_paths", false, null); +// INFO : Rendering pass 'Default_Pass'... +// INFO : Rendering frame 1 (0.0% done) +// INFO : [sitoa] Frame 1 exported to Arnold in 0.137 sec. +// INFO : Render completed (100% done) +RenderAllPasses(null, null, null, null, siRenderVerbosityDefault); +Warning: return value of the executed script is not an integer +// INFO : Characters has been unloaded. +// INFO : polymatricksPlugin has been unloaded. +// INFO : [sitoa] SItoA 5.4.0 win has been unloaded. +// INFO : TransformUVsPlugin has been unloaded. +// INFO : FBX-XSI import/export Plug-in has been unloaded. +// INFO : Unfold3D Plugin has been unloaded. + diff --git a/testsuite/XSIProject/Scenes/test_0272/ref/reference.tif b/testsuite/XSIProject/Scenes/test_0272/ref/reference.tif new file mode 100644 index 0000000000000000000000000000000000000000..af0860fb488ca59abd0e3ee49de38e770295f715 GIT binary patch literal 8749 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�Q?h=JN}#w1=c6&gSDJN~m_ojv9!=v? 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 RmWFG1GWFRN$DD)Me*s3 Date: Fri, 16 Aug 2019 00:33:46 +0200 Subject: [PATCH 89/98] up min req Arnold version to 5.4.0.0 --- README.md | 4 ++-- config/custom_linux.py | 2 +- config/custom_windows.py | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index b4b0621..9972ec6 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ under an Apache 2.0 open source license. #### Requirements * Softimage 2015 SP1 -* Arnold 5.3.1.1 or newer +* Arnold 5.4.0.0 or newer * Python 2.6 or newer * Visual Studio 2012 (Windows) * GCC 4.2.4 (Linux) @@ -65,7 +65,7 @@ VS_HOME = r'C:/Program Files (x86)/Microsoft Visual Studio 11.0/VC' WINDOWS_KIT = r'C:/Program Files (x86)/Windows Kits/8.0' XSISDK_ROOT = r'C:/Program Files/Autodesk/Softimage 2015/XSISDK' -ARNOLD_HOME = r'C:/SolidAngle/Arnold-5.3.1.1/win64' +ARNOLD_HOME = r'C:/SolidAngle/Arnold-5.4.0.0/win64' TARGET_WORKGROUP_PATH = r'./Softimage_2015/Addons/SItoA' diff --git a/config/custom_linux.py b/config/custom_linux.py index 458f116..fc3aa8c 100644 --- a/config/custom_linux.py +++ b/config/custom_linux.py @@ -6,7 +6,7 @@ SHCXX = r'/usr/bin/gcc-4.2.4/bin/gcc-4.2.4' XSISDK_ROOT = r'/usr/Softimage/Softimage_2015/XSISDK' -ARNOLD_HOME = r'/usr/SolidAngle/Arnold-5.3.1.1/linux' +ARNOLD_HOME = r'/usr/SolidAngle/Arnold-5.4.0.0/linux' TARGET_WORKGROUP_PATH = './Softimage_2015/Addons/SItoA' diff --git a/config/custom_windows.py b/config/custom_windows.py index 1e51368..899144c 100644 --- a/config/custom_windows.py +++ b/config/custom_windows.py @@ -9,7 +9,7 @@ WINDOWS_KIT = r'C:/Program Files (x86)/Windows Kits/8.0' XSISDK_ROOT = r'C:/Program Files/Autodesk/Softimage 2015/XSISDK' -ARNOLD_HOME = r'C:/SolidAngle/Arnold-5.3.1.1/win64' +ARNOLD_HOME = r'C:/SolidAngle/Arnold-5.4.0.0/win64' TARGET_WORKGROUP_PATH = r'./Softimage_2015/Addons/SItoA' From 4a80c1c7db62966a86198e31d097f22e240c277d Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Fri, 16 Aug 2019 01:44:04 +0200 Subject: [PATCH 90/98] patch adlm with abuild --- README.md | 6 +++++ SConstruct | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+) diff --git a/README.md b/README.md index b4b0621..7354f8d 100644 --- a/README.md +++ b/README.md @@ -108,6 +108,12 @@ To build and install the plugins and the shaders in `TARGET_WORKGROUP_PATH` abuild install ``` +To patch AdLM (#74), run: + +``` +abuild patch +``` + To generate a Softimage add-on, run: ``` diff --git a/SConstruct b/SConstruct index a1a0ce3..502f3a7 100644 --- a/SConstruct +++ b/SConstruct @@ -454,6 +454,69 @@ env['BUILDERS']['PackageDeploy'] = Builder(action = Action(deploy, "Deploying DEPLOY = env.PackageDeploy('deploy', package_name) +################################ +## PATCH ADLM +################################ + +def patch_adlm(target, source, env): + new_adlmint_last_char = '2' # ONLY ONE CHARACTER + if system.os() == 'windows': + adclmhub_name = 'AdClmHub_1.dll' + adlmint_name = 'adlmint.dll' + size = 383280 + seek_pos = 266236 + else: + adclmhub_name = 'libAdClmHub.so' + adlmint_name = 'libadlmint.so' + size = 1853576 + seek_pos = 779034 + + new_adlmint_name = os.path.splitext(adlmint_name)[0][:-1] + new_adlmint_last_char + get_library_extension() + + wg_bin_path = os.path.normpath(os.path.join(env['TARGET_WORKGROUP_PATH'], bin_path)) + adclmhub_path = os.path.join(wg_bin_path, adclmhub_name) + adlmint_path = os.path.join(wg_bin_path, adlmint_name) + new_adlmint_path = os.path.join(wg_bin_path, new_adlmint_name) + + need_to_patch = False + + if os.path.isfile(adclmhub_path): + # check file size as a way to see if patching is needed + if os.path.getsize(adclmhub_path) == size: + need_to_patch = True + + if not os.path.isfile(adlmint_path): + need_to_patch = False + + if need_to_patch: + # patch AdClmHub_1 + with open(adclmhub_path, 'r+b') as f: + f.seek(seek_pos) + letter = f.read(1) + if letter == 't': + print 'Patching {} ...'.format(adclmhub_name) + f.seek(seek_pos) + f.write(new_adlmint_last_char) + print '{} patched!'.format(adclmhub_name) + else: + print '{} already patched. Skipping ...'.format(adclmhub_name) + + # rename adlmint.dll + if os.path.isfile(new_adlmint_path): + print 'Removing old {} ...'.format(new_adlmint_name) + os.remove(new_adlmint_path) + print 'Renaming {} to {} ...'.format(adlmint_name, new_adlmint_name) + os.rename(adlmint_path, new_adlmint_path) + + print 'done patching ADLM.' + + else: + print 'No need to patch.' + +env['BUILDERS']['Patch'] = Builder(action = Action(patch_adlm, "Patching AdLM ...")) + +PATCH = env.Patch('patch', SITOA) + ################################ ## INSTALL TO WORKGROUP ################################ @@ -495,6 +558,7 @@ top_level_alias(env, 'pack', PACKAGE) top_level_alias(env, 'deploy', DEPLOY) top_level_alias(env, 'install', env['TARGET_WORKGROUP_PATH']) top_level_alias(env, 'testsuite', TESTSUITE) +top_level_alias(env, 'patch', PATCH) env.AlwaysBuild(PACKAGE) env.AlwaysBuild('install') From c9ac9a1a5f2e88c8d5c883a2c9ad2731071bda57 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Fri, 16 Aug 2019 03:06:11 +0200 Subject: [PATCH 91/98] makes sure arnold plugins is updated on build --- SConstruct | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SConstruct b/SConstruct index a1a0ce3..f5d4ad7 100644 --- a/SConstruct +++ b/SConstruct @@ -462,7 +462,7 @@ env.Install(os.path.join(env['TARGET_WORKGROUP_PATH'], bin_path), [str(SITOA[0]) str(SITOA_SHADERS[0])]) env.Install(os.path.join(env['TARGET_WORKGROUP_PATH'], bin_path), [glob.glob(os.path.join(ARNOLD_BINARIES, '*'))]) -env.Install(os.path.join(env['TARGET_WORKGROUP_PATH'], bin_path, '..'), [glob.glob(ARNOLD_PLUGINS)]) +env.Install(os.path.join(env['TARGET_WORKGROUP_PATH'], bin_path, '..', 'plugins'), [glob.glob(os.path.join(ARNOLD_PLUGINS, '*'))]) # Copying Scripting Plugins # (if you modify the files directly on workgroup they will be overwritted with trunk version) From cc2a80f65d4ffc024e6a18ecf917868753719357 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Tue, 3 Sep 2019 23:15:12 +0200 Subject: [PATCH 92/98] minor cleanup --- SConstruct | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SConstruct b/SConstruct index 502f3a7..b111485 100644 --- a/SConstruct +++ b/SConstruct @@ -20,7 +20,7 @@ import SCons def make_package(target, source, env): package_name = str(target[0]) + ".xsiaddon" zip_name = str(target[0]) - base_pkg_dir = os.path.join('dist', 'package_temp' + get_softimage_version(env['XSISDK_ROOT'])); + base_pkg_dir = os.path.join('dist', 'package_temp' + get_softimage_version(env['XSISDK_ROOT'])) # First we make sure the temp directory doesn't exist #if os.path.exists(base_pkg_dir): From 0a0e420c4944ece65e4a731b9b3b738824db1060 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Wed, 4 Sep 2019 00:27:38 +0200 Subject: [PATCH 93/98] refactored patching so that it's a variable instead of own command --- README.md | 6 ------ SConstruct | 19 ++++++++++++++----- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 7354f8d..b4b0621 100644 --- a/README.md +++ b/README.md @@ -108,12 +108,6 @@ To build and install the plugins and the shaders in `TARGET_WORKGROUP_PATH` abuild install ``` -To patch AdLM (#74), run: - -``` -abuild patch -``` - To generate a Softimage add-on, run: ``` diff --git a/SConstruct b/SConstruct index b111485..a728cd1 100644 --- a/SConstruct +++ b/SConstruct @@ -46,6 +46,10 @@ def make_package(target, source, env): for f in file_list: shutil.copy2(f, target_dir) + if env['PATCH_ADLM']: + wg_bin_path = os.path.join(base_pkg_dir, 'Addons', 'SItoA', bin_path) + patch_adlm(wg_bin_path, env) + # Now we generate deploy scripts f = open(os.path.join(base_pkg_dir, 'deploy_sitoa.js'), 'w') f.write(''' @@ -115,6 +119,8 @@ vars.AddVariables( BoolVariable('UPDATE_REFERENCE', 'Update the reference log/image for the specified targets', False), ('TEST_PATTERN' , 'Glob pattern of tests to be run', 'test_*'), + BoolVariable('PATCH_ADLM' , 'Patches AdLM so that SItoA doesn\'t crash. See GitHub #74 for background info.', False), + PathVariable('XSISDK_ROOT', 'Where to find XSI libraries', get_default_path('XSISDK_ROOT', '.')), PathVariable('ARNOLD_HOME', 'Base Arnold dir', '.'), PathVariable('VS_HOME', 'Visual Studio 11 home', '.'), @@ -458,7 +464,12 @@ DEPLOY = env.PackageDeploy('deploy', package_name) ## PATCH ADLM ################################ -def patch_adlm(target, source, env): +def make_patch_adlm(target, source, env): + if env['PATCH_ADLM']: + wg_bin_path = os.path.normpath(os.path.join(env['TARGET_WORKGROUP_PATH'], bin_path)) + patch_adlm(wg_bin_path, env) + +def patch_adlm(wg_bin_path, env): new_adlmint_last_char = '2' # ONLY ONE CHARACTER if system.os() == 'windows': adclmhub_name = 'AdClmHub_1.dll' @@ -473,7 +484,6 @@ def patch_adlm(target, source, env): new_adlmint_name = os.path.splitext(adlmint_name)[0][:-1] + new_adlmint_last_char + get_library_extension() - wg_bin_path = os.path.normpath(os.path.join(env['TARGET_WORKGROUP_PATH'], bin_path)) adclmhub_path = os.path.join(wg_bin_path, adclmhub_name) adlmint_path = os.path.join(wg_bin_path, adlmint_name) new_adlmint_path = os.path.join(wg_bin_path, new_adlmint_name) @@ -513,8 +523,7 @@ def patch_adlm(target, source, env): else: print 'No need to patch.' -env['BUILDERS']['Patch'] = Builder(action = Action(patch_adlm, "Patching AdLM ...")) - +env['BUILDERS']['Patch'] = Builder(action = Action(make_patch_adlm, None)) PATCH = env.Patch('patch', SITOA) ################################ @@ -558,7 +567,6 @@ top_level_alias(env, 'pack', PACKAGE) top_level_alias(env, 'deploy', DEPLOY) top_level_alias(env, 'install', env['TARGET_WORKGROUP_PATH']) top_level_alias(env, 'testsuite', TESTSUITE) -top_level_alias(env, 'patch', PATCH) env.AlwaysBuild(PACKAGE) env.AlwaysBuild('install') @@ -567,6 +575,7 @@ env.Depends(PACKAGE, SITOA_SHADERS) env.Depends(DEPLOY, PACKAGE) env.Depends('install', SITOA) env.Depends('install', SITOA_SHADERS) +env.Depends('install', PATCH) Default(['sitoa', 'shaders']) From 01959e1ad8cc9943c547b04b916cb2342b755203 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Wed, 4 Sep 2019 00:28:28 +0200 Subject: [PATCH 94/98] update default config for windows and example in readme --- README.md | 2 ++ config/custom_windows.py | 2 ++ 2 files changed, 4 insertions(+) diff --git a/README.md b/README.md index b4b0621..00cf27d 100644 --- a/README.md +++ b/README.md @@ -72,6 +72,8 @@ TARGET_WORKGROUP_PATH = r'./Softimage_2015/Addons/SItoA' WARN_LEVEL = 'strict' MODE = 'debug' SHOW_CMDS = True + +PATCH_ADLM = True ``` Default configuration files for Windows and Linux reside in `config`. If you diff --git a/config/custom_windows.py b/config/custom_windows.py index 1e51368..e9ef46e 100644 --- a/config/custom_windows.py +++ b/config/custom_windows.py @@ -16,3 +16,5 @@ WARN_LEVEL = 'strict' MODE = 'opt' SHOW_CMDS = True + +PATCH_ADLM = True From 4b915718918c15ca06621ca74a5de6c908a8ae83 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Wed, 4 Sep 2019 01:13:31 +0200 Subject: [PATCH 95/98] make abuild use python launcher on windows --- abuild.bat | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/abuild.bat b/abuild.bat index 91d944b..429e709 100644 --- a/abuild.bat +++ b/abuild.bat @@ -1,3 +1,15 @@ +@echo off +set py=python + +REM Use python launcher if it's found in PATH. +WHERE py >nul 2>nul +IF NOT ERRORLEVEL 1 ( + set "py=py -2" +) + +@echo on + @REM invokes a local install of scons (forwarding all arguments) +@%py% contrib\scons\scons --site-dir=tools\site_scons %* -@python contrib\scons\scons --site-dir=tools\site_scons %* +@set py= From 28190d16523e153a4596c489df2213ba42c2e621 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Tue, 17 Sep 2019 20:54:45 +0200 Subject: [PATCH 96/98] bump arnold version to 5.4.0.1 --- README.md | 4 ++-- config/custom_linux.py | 2 +- config/custom_windows.py | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 9972ec6..04c15f9 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ under an Apache 2.0 open source license. #### Requirements * Softimage 2015 SP1 -* Arnold 5.4.0.0 or newer +* Arnold 5.4.0.1 or newer * Python 2.6 or newer * Visual Studio 2012 (Windows) * GCC 4.2.4 (Linux) @@ -65,7 +65,7 @@ VS_HOME = r'C:/Program Files (x86)/Microsoft Visual Studio 11.0/VC' WINDOWS_KIT = r'C:/Program Files (x86)/Windows Kits/8.0' XSISDK_ROOT = r'C:/Program Files/Autodesk/Softimage 2015/XSISDK' -ARNOLD_HOME = r'C:/SolidAngle/Arnold-5.4.0.0/win64' +ARNOLD_HOME = r'C:/SolidAngle/Arnold-5.4.0.1/win64' TARGET_WORKGROUP_PATH = r'./Softimage_2015/Addons/SItoA' diff --git a/config/custom_linux.py b/config/custom_linux.py index fc3aa8c..e6ba45e 100644 --- a/config/custom_linux.py +++ b/config/custom_linux.py @@ -6,7 +6,7 @@ SHCXX = r'/usr/bin/gcc-4.2.4/bin/gcc-4.2.4' XSISDK_ROOT = r'/usr/Softimage/Softimage_2015/XSISDK' -ARNOLD_HOME = r'/usr/SolidAngle/Arnold-5.4.0.0/linux' +ARNOLD_HOME = r'/usr/SolidAngle/Arnold-5.4.0.1/linux' TARGET_WORKGROUP_PATH = './Softimage_2015/Addons/SItoA' diff --git a/config/custom_windows.py b/config/custom_windows.py index 899144c..0dc975d 100644 --- a/config/custom_windows.py +++ b/config/custom_windows.py @@ -9,7 +9,7 @@ WINDOWS_KIT = r'C:/Program Files (x86)/Windows Kits/8.0' XSISDK_ROOT = r'C:/Program Files/Autodesk/Softimage 2015/XSISDK' -ARNOLD_HOME = r'C:/SolidAngle/Arnold-5.4.0.0/win64' +ARNOLD_HOME = r'C:/SolidAngle/Arnold-5.4.0.1/win64' TARGET_WORKGROUP_PATH = r'./Softimage_2015/Addons/SItoA' From 4b588d38da53923bd5c65d9ae5213b8d1a226820 Mon Sep 17 00:00:00 2001 From: Jens Lindgren Date: Tue, 17 Sep 2019 21:33:59 +0200 Subject: [PATCH 97/98] update light expressions and quad_light gizmo --- plugins/helpers/ArnoldLights.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/plugins/helpers/ArnoldLights.js b/plugins/helpers/ArnoldLights.js index 7728bdc..5d70ab3 100644 --- a/plugins/helpers/ArnoldLights.js +++ b/plugins/helpers/ArnoldLights.js @@ -75,8 +75,8 @@ function AddPointLight_Execute(in_name) light.Parameters("LightArea").value = true; light.Parameters("LightAreaGeom").value = 3; // Mapping Arnold Light Parameter to XSI Light Parameter.. - var spotRadius = light.Parameters("LightAreaXformSX"); - spotRadius.AddExpression(light.FullName+".light.point_light.radius"); + var lightRadius = light.Parameters("LightAreaXformSX"); + lightRadius.AddExpression("this.light.point_light.radius"); return light; // return the light } @@ -111,9 +111,9 @@ function AddSpotLight_Execute(in_name) ApplyLightShader(lightPrim, "arnold_spot_light"); // Mapping Arnold Light Parameters to XSI Light Parameters.. var coneAngle = lightPrim.Parameters("LightCone"); - coneAngle.AddExpression(lightPrim.FullName+".light.spot_light.cone_angle"); - var spotRadius = lightPrim.Parameters("LightAreaXformSX"); - spotRadius.AddExpression(lightPrim.FullName+".light.spot_light.radius"); + coneAngle.AddExpression("this.light.spot_light.cone_angle"); + var lightRadius = lightPrim.Parameters("LightAreaXformSX"); + lightRadius.AddExpression("this.light.spot_light.radius"); lightPrim.LightArea = true; lightPrim.LightAreaGeom = 2; return lightPrim; @@ -145,6 +145,8 @@ function AddQuadLight_Execute(in_name) var name = in_name == null ? "Quad" : in_name; var light = GetPrimLight("Light_Box.Preset", name, "", null, null, null); var lightPrim = light.Light; + var lightType = lightPrim.Parameters("Type"); + lightType.Value = 1; // Infinite light gizmo ApplyLightShader(lightPrim, "arnold_quad_light"); return lightPrim; From 44fd522bd3a26a0b9f929c6f9695ba3ad87a63db Mon Sep 17 00:00:00 2001 From: Stefano Jannuzzo Date: Thu, 19 Sep 2019 17:29:25 +0200 Subject: [PATCH 98/98] Fixing Linux build (#80) --- plugins/sitoa/renderer/RenderInstance.cpp | 6 ++++++ plugins/sitoa/renderer/RendererOptions.cpp | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/plugins/sitoa/renderer/RenderInstance.cpp b/plugins/sitoa/renderer/RenderInstance.cpp index 0de8a26..ba8c218 100644 --- a/plugins/sitoa/renderer/RenderInstance.cpp +++ b/plugins/sitoa/renderer/RenderInstance.cpp @@ -9,7 +9,9 @@ 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. ************************************************************************************************************************************/ +#ifdef _WINDOWS #include +#endif #include "common/ParamsCamera.h" #include "common/Tools.h" @@ -231,7 +233,11 @@ int CRenderInstance::RenderProgressiveScene(int displayArea) aa_steps.insert(-1); // calculate a good bucket size for the progressive passes so that the total number of buckets = CPU_cores * 2 + #ifdef _WINDOWS int numCores = std::thread::hardware_concurrency(); +#else + int numCores = sysconf(_SC_NPROCESSORS_ONLN); +#endif int progressiveBucketSize = AiMax(((int)sqrt(displayArea / (numCores*2))), bucket_size); AtNode* options = AiUniverseGetOptions(); diff --git a/plugins/sitoa/renderer/RendererOptions.cpp b/plugins/sitoa/renderer/RendererOptions.cpp index 371f764..8d6f18e 100644 --- a/plugins/sitoa/renderer/RendererOptions.cpp +++ b/plugins/sitoa/renderer/RendererOptions.cpp @@ -1524,7 +1524,8 @@ void DeviceSelectionLogic(CustomProperty &in_cp) for (LONG i=0; i