diff --git a/icons/asAscCdl.png b/icons/asAscCdl.png new file mode 100644 index 0000000..ac4bdd0 Binary files /dev/null and b/icons/asAscCdl.png differ diff --git a/icons/asBlendNormals.png b/icons/asBlendNormals.png new file mode 100644 index 0000000..db69ec6 Binary files /dev/null and b/icons/asBlendNormals.png differ diff --git a/icons/asColorCorrect.png b/icons/asColorCorrect.png new file mode 100644 index 0000000..0e3dc6a Binary files /dev/null and b/icons/asColorCorrect.png differ diff --git a/icons/asInvertColor.png b/icons/asInvertColor.png new file mode 100644 index 0000000..3e8e458 Binary files /dev/null and b/icons/asInvertColor.png differ diff --git a/icons/asMatte.png b/icons/asMatte.png new file mode 100644 index 0000000..62d3883 Binary files /dev/null and b/icons/asMatte.png differ diff --git a/icons/asRaySwitchSurface.png b/icons/asRaySwitchSurface.png new file mode 100644 index 0000000..14f83b6 Binary files /dev/null and b/icons/asRaySwitchSurface.png differ diff --git a/icons/asSurfaceLuminance.png b/icons/asSurfaceLuminance.png new file mode 100644 index 0000000..0e9a52a Binary files /dev/null and b/icons/asSurfaceLuminance.png differ diff --git a/icons/asSwitchSurface.png b/icons/asSwitchSurface.png index a5c549a..3edec20 100644 Binary files a/icons/asSwitchSurface.png and b/icons/asSwitchSurface.png differ diff --git a/icons/mayaseed_icons1.svg b/icons/mayaseed_icons1.svg index 2919be4..7d32195 100644 --- a/icons/mayaseed_icons1.svg +++ b/icons/mayaseed_icons1.svg @@ -41,16 +41,18 @@ showgrid="false" inkscape:current-layer="layer1" inkscape:document-units="px" - inkscape:cy="-846.63602" - inkscape:cx="4783.5875" - inkscape:zoom="0.46065388" + inkscape:cy="-165.01949" + inkscape:cx="8275.875" + inkscape:zoom="0.18335446" inkscape:pageshadow="2" inkscape:pageopacity="0" borderopacity="1.0" bordercolor="#666666" pagecolor="#767676" id="base" - inkscape:snap-global="false"> + inkscape:snap-global="true" + inkscape:measure-start="0,0" + inkscape:measure-end="0,0"> - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1280,7 +1427,7 @@ inkscape:export-ydpi="90.000008" /> @@ -1397,12 +1544,12 @@ id="path4439" inkscape:connector-curvature="0" /> @@ -1476,7 +1623,7 @@ sodipodi:end="1.1973954" sodipodi:open="true" d="m -330.82501,968.4525 a 133.84554,200.54282 0 0 1 -170.73759,-119.93637 133.84554,200.54282 0 0 1 78.75699,-256.71638 133.84554,200.54282 0 0 1 171.92603,116.06253 133.84554,200.54282 0 0 1 -76.16264,258.46776" - transform="matrix(0.77640272,-0.63023711,0.63023711,0.77640272,0,0)" /> + transform="rotate(-39.067618)" /> @@ -1965,11 +2112,11 @@ inkscape:export-xdpi="90.000008" inkscape:connector-curvature="0" style="fill:#666666;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-opacity:1" - d="m 2393.332,238.58594 a 224,224 0 0 0 47.3008,117.14062 224,224 0 0 0 313.1387,37.25782 224,224 0 0 0 84.8437,-154.39844 l -445.2832,0 z" + d="m 2393.332,238.58594 a 224,224 0 0 0 47.3008,117.14062 224,224 0 0 0 313.1387,37.25782 224,224 0 0 0 84.8437,-154.39844 z" id="path4346" /> @@ -2285,16 +2432,16 @@ style="fill:#4d4d4d;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:23;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + d="m 2736.8808,-1054.1804 c 7.0591,0 89.0626,43.1261 89.0626,50.5426 0,7.4165 -82.4582,50.54257 -89.0626,50.54257 -6.6605,0 -12.0226,-5.36208 -12.0226,-12.0226 v -77.03997 c 0,-6.6605 5.3622,-11.9874 12.0226,-12.0226 z m -318.8015,38.52 h 360.6794 c 6.6605,0 12.0226,5.3621 12.0226,12.0226 0,6.6605 -5.3621,12.0227 -12.0226,12.0227 h -360.6794 c -6.6606,0 -12.0227,-5.3622 -12.0227,-12.0227 0,-6.6605 5.3621,-12.0226 12.0227,-12.0226 z" /> @@ -2312,7 +2459,7 @@ y="540.36218" ry="31.31473" /> + d="m 259.83202,700.82965 c 7.0591,0 89.0626,37.5601 89.0626,44.01941 0,6.4593 -82.4582,44.0194 -89.0626,44.0194 -6.6605,0 -12.0226,-4.67004 -12.0226,-10.47093 v -67.09696 c 0,-5.80089 5.3622,-10.44031 12.0226,-10.47092 z M 61.03052,734.3781 h 240.6794 c 6.6605,0 12.0226,4.67005 12.0226,10.47097 0,5.80091 -5.3621,10.47096 -12.0226,10.47096 H 61.03052 c -6.6606,0 -12.0227,-4.67005 -12.0227,-10.47096 0,-5.80092 5.3621,-10.47097 12.0227,-10.47097 z" /> + d="m 259.83202,909.85451 c 7.0591,0 89.0626,37.56007 89.0626,44.01938 0,6.4593 -82.4582,44.01941 -89.0626,44.01941 -6.6605,0 -12.0226,-4.67005 -12.0226,-10.47092 v -67.09694 c 0,-5.80089 5.3622,-10.44031 12.0226,-10.47093 z m -198.8015,33.54845 h 240.6794 c 6.6605,0 12.0226,4.67005 12.0226,10.47101 0,5.80088 -5.3621,10.47093 -12.0226,10.47093 H 61.03052 c -6.6606,0 -12.0227,-4.67005 -12.0227,-10.47093 0,-5.80096 5.3621,-10.47101 12.0227,-10.47101 z" /> @@ -2407,12 +2554,12 @@ id="path4632" inkscape:connector-curvature="0" /> @@ -2422,7 +2569,7 @@ id="path4638" inkscape:connector-curvature="0" /> @@ -2450,7 +2597,7 @@ inkscape:connector-curvature="0" id="path4653" style="fill:#8686bf;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" - d="m 255.71887,796.59921 0,-191.42451 -190.90637,93.96776 0,191.42451 z" /> + d="M 255.71887,796.59921 V 605.1747 L 64.8125,699.14246 v 191.42451 z" /> + d="M 255.71887,796.59921 V 605.1747 l 191.46862,96.98272 v 191.42451 z" /> + d="M 64.8125,890.56697 V 699.14246 l 191.46862,96.98272 v 191.42451 z" /> + d="M 447.18749,893.58193 V 702.15742 l -190.90637,93.96776 v 191.42451 z" /> @@ -2498,7 +2645,7 @@ id="g4456" transform="matrix(1,0,0,0.85058306,-14.265689,92.189262)"> @@ -2506,9 +2653,9 @@ inkscape:connector-curvature="0" id="path4461" style="fill:#d45500;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" - d="m 435.71887,796.59921 0,-191.42451 -190.90637,93.96776 0,191.42451 z" /> + d="M 435.71887,796.59921 V 605.1747 L 244.8125,699.14246 v 191.42451 z" /> @@ -2516,7 +2663,7 @@ inkscape:connector-curvature="0" id="path4465" style="fill:#660000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" - d="m 435.71887,956.59921 0,-191.42451 -190.90637,93.96776 0,191.42454 z" /> + d="M 435.71887,956.59921 V 765.1747 L 244.8125,859.14246 V 1050.567 Z" /> @@ -2663,32 +2810,32 @@ inkscape:export-xdpi="5.625" inkscape:connector-curvature="0" style="opacity:0.98999999;fill:#4d4d4d;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" - d="m 256,796.36132 -224.000002,0 0,192.6856 c 0,17.34828 13.9661,31.31438 31.3144,31.31438 l 192.685602,0 0,-223.99998 z" + d="M 256,796.36132 H 31.999998 v 192.6856 c 0,17.34828 13.9661,31.31438 31.3144,31.31438 H 256 Z" id="path6658" /> + transform="rotate(-165,258.72594,792.57883)" /> @@ -3097,21 +3244,21 @@ @@ -3125,14 +3272,14 @@ @@ -3146,21 +3293,21 @@ @@ -3174,14 +3321,14 @@ @@ -3195,21 +3342,21 @@ @@ -3236,13 +3383,13 @@ @@ -3264,14 +3411,14 @@ @@ -3284,21 +3431,21 @@ inkscape:export-ydpi="5.6250014" /> @@ -3334,20 +3481,20 @@ @@ -3489,48 +3636,48 @@ @@ -3639,48 +3786,48 @@ @@ -3739,48 +3886,48 @@ @@ -3839,48 +3986,48 @@ @@ -3939,48 +4086,48 @@ @@ -4039,48 +4186,48 @@ @@ -4139,48 +4286,48 @@ @@ -4239,48 +4386,48 @@ @@ -4339,48 +4486,48 @@ @@ -4439,48 +4586,48 @@ @@ -4539,48 +4686,48 @@ @@ -4639,48 +4786,48 @@ @@ -4739,48 +4886,48 @@ @@ -4839,48 +4986,48 @@ @@ -4939,48 +5086,48 @@ @@ -5039,48 +5186,48 @@ @@ -5139,48 +5286,48 @@ @@ -5239,48 +5386,48 @@ @@ -5339,48 +5486,48 @@ @@ -5439,48 +5586,48 @@ @@ -5539,96 +5686,96 @@ @@ -5638,48 +5785,48 @@ @@ -5738,48 +5885,48 @@ @@ -5838,48 +5985,48 @@ @@ -5936,32 +6083,32 @@ + style="fill:#ffcc00;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + style="fill:#333333;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> @@ -6080,82 +6227,82 @@ + id="g5243" + inkscape:export-xdpi="5.6249952" + inkscape:export-ydpi="5.6249952"> - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/scripts/appleseedMaya/AETemplates/NEasBlendNormalsTemplate.xml b/scripts/appleseedMaya/AETemplates/NEasBlendNormalsTemplate.xml new file mode 100644 index 0000000..d63ef21 --- /dev/null +++ b/scripts/appleseedMaya/AETemplates/NEasBlendNormalsTemplate.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + diff --git a/scripts/appleseedMaya/AETemplates/NEasRaySwitchSurfaceTemplate.xml b/scripts/appleseedMaya/AETemplates/NEasRaySwitchSurfaceTemplate.xml new file mode 100644 index 0000000..8f1e89d --- /dev/null +++ b/scripts/appleseedMaya/AETemplates/NEasRaySwitchSurfaceTemplate.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + diff --git a/scripts/appleseedMaya/AETemplates/NEasSurfaceLuminanceTemplate.xml b/scripts/appleseedMaya/AETemplates/NEasSurfaceLuminanceTemplate.xml new file mode 100644 index 0000000..37eaa63 --- /dev/null +++ b/scripts/appleseedMaya/AETemplates/NEasSurfaceLuminanceTemplate.xml @@ -0,0 +1,16 @@ + + + + + + + + + diff --git a/scripts/appleseedMaya/AETemplates/__init__.py b/scripts/appleseedMaya/AETemplates/__init__.py index 56a5193..b3e4bdd 100644 --- a/scripts/appleseedMaya/AETemplates/__init__.py +++ b/scripts/appleseedMaya/AETemplates/__init__.py @@ -83,10 +83,20 @@ def buildBody(self, nodeName): self.beginLayout('appleseed', collapse=1) self.addControl('asIntensityScale', label='Intensity Scale') self.addControl('asExposure', label='Exposure') + self.addSeparator() self.addControl('asNormalize', label='Normalize') + self.addControl('asCastIndirectLight', label='Cast Indirect Light') + self.addSeparator() + self.addControl('asImportanceMultiplier', label='Importance Multiplier') self.__buildVisibilitySection() self.endLayout() + elif self.thisNode.type() in {'pointLight', 'spotLight', 'directionalLight'}: + self.beginLayout('appleseed', collapse=1) + self.addControl('asCastIndirectLight', label='Cast Indirect Light') + self.addControl('asImportanceMultiplier', label='Importance Multiplier') + self.endLayout() + elif self.thisNode.type() == 'bump2d': self.beginLayout('appleseed', collapse=1) self.addControl('asNormalMapMode', label='Map Mode') @@ -105,12 +115,21 @@ def buildBody(self, nodeName): elif self.thisNode.type() == 'mesh': self.beginLayout('appleseed', collapse=1) + self.__buildVisibilitySection() + + self.beginLayout('Alpha Map', collapse=1) self.callCustom( self.meshAlphaMapNew, self.meshAlphaMapUpdate, 'asAlphaMap') - self.addControl('asMediumPriority', label='Medium Priority') - self.addControl('asIsPhotonTarget', label='Photon Target') + self.endLayout() + + self.beginLayout('Rendering', collapse=1) + self.addControl('asMediumPriority', label='IOR Medium Priority') + self.addSeparator() self.addControl('asSubsurfaceSet', label='SSS Set') + self.addSeparator() + self.addControl('asIsPhotonTarget', label='SPPM Photon Target') + self.endLayout() self.beginLayout('Export', collapse=1) self.addControl('asExportUVs', label='Export UVs') @@ -123,6 +142,7 @@ def buildBody(self, nodeName): elif self.thisNode.type() == 'shadingEngine': self.beginLayout('appleseed', collapse=1) self.addControl('asDoubleSided', label='Double Sided') + self.addSeparator() self.addControl('asShadingSamples', label='Shading Samples') self.endLayout() diff --git a/scripts/appleseedMaya/AETemplates/appleseedPhysicalSkyLightTemplate.py b/scripts/appleseedMaya/AETemplates/appleseedPhysicalSkyLightTemplate.py index 957ddda..72565b8 100644 --- a/scripts/appleseedMaya/AETemplates/appleseedPhysicalSkyLightTemplate.py +++ b/scripts/appleseedMaya/AETemplates/appleseedPhysicalSkyLightTemplate.py @@ -52,18 +52,21 @@ def buildBody(self, nodeName): self.beginLayout('Sky Attributes', collapse=0) self.addControl('sunTheta') self.addControl('sunPhi') + self.addSeparator() self.addControl('turbidity') self.addControl('turbidityScale') - self.addControl('turbidityScale') + self.addSeparator() self.addControl('luminanceScale') self.addControl('luminanceGamma') self.addControl('saturationScale') + self.addSeparator() self.addControl('horizonShift') self.addControl('groundAlbedo') self.endLayout() self.beginLayout('Sun Attributes', collapse=0) self.addControl('sunEnable') + self.addSeparator() self.addControl('sunRadianceScale') self.addControl('sunSizeScale') self.endLayout() diff --git a/scripts/appleseedMaya/AETemplates/appleseedSkyDomeLightTemplate.py b/scripts/appleseedMaya/AETemplates/appleseedSkyDomeLightTemplate.py index 333dfcf..fdb8224 100644 --- a/scripts/appleseedMaya/AETemplates/appleseedSkyDomeLightTemplate.py +++ b/scripts/appleseedMaya/AETemplates/appleseedSkyDomeLightTemplate.py @@ -51,8 +51,10 @@ def beginLayout(self, name, collapse=True): def buildBody(self, nodeName): self.beginLayout('Map', collapse=0) self.addControl("map") + self.addSeparator() self.addControl("intensity") self.addControl("exposure") + self.addSeparator() self.addControl("hShift") self.addControl("vShift") self.endLayout() diff --git a/src/appleseedmaya/exporters/lightexporter.cpp b/src/appleseedmaya/exporters/lightexporter.cpp index 1a485fc..07bdd04 100644 --- a/src/appleseedmaya/exporters/lightexporter.cpp +++ b/src/appleseedmaya/exporters/lightexporter.cpp @@ -128,17 +128,32 @@ void LightExporter::createEntities( asr::ColorEntityFactory::create(colorName.asChar(), params, values)); } + auto extraControls = [&](asr::ParamArray& lightParams) + { + bool castIndirectLight = true; + AttributeUtils::get(node(), "asCastIndirectLight", castIndirectLight); + lightParams.insert("cast_indirect_light", castIndirectLight); + + float importanceMultiplier = 1.0f; + AttributeUtils::get(node(), "asImportanceMultiplier", importanceMultiplier); + lightParams.insert("importance_multiplier", importanceMultiplier); + }; + if (depNodeFn.typeName() == "directionalLight") { lightFactory = lightFactories.lookup("directional_light"); lightParams.insert("irradiance", colorName.asChar()); lightParams.insert("irradiance_multiplier", intensity); + + extraControls(lightParams); } else if (depNodeFn.typeName() == "pointLight") { lightFactory = lightFactories.lookup("point_light"); lightParams.insert("intensity", colorName.asChar()); lightParams.insert("intensity_multiplier", intensity); + + extraControls(lightParams); } else if (depNodeFn.typeName() == "spotLight") { @@ -154,6 +169,8 @@ void LightExporter::createEntities( AttributeUtils::get(node(), "penumbraAngle", penumbraAngle); const double outerAngle = coneAngle.asDegrees() + 2.0 * penumbraAngle.asDegrees(); lightParams.insert("outer_angle", outerAngle); + + extraControls(lightParams); } else { diff --git a/src/appleseedmaya/exporters/shadingnodeexporter.cpp b/src/appleseedmaya/exporters/shadingnodeexporter.cpp index b8a4b72..2a0f258 100644 --- a/src/appleseedmaya/exporters/shadingnodeexporter.cpp +++ b/src/appleseedmaya/exporters/shadingnodeexporter.cpp @@ -513,7 +513,7 @@ void ShadingNodeExporter::exportValue( { bool boolValue; if (AttributeUtils::get(plug, boolValue)) - ss << "int " << boolValue ? "1" : "0"; + ss << "int " << (boolValue ? "1" : "0"); // ?: has lower precedence than << } } else if (paramInfo.paramType == "matrix") @@ -545,8 +545,8 @@ void ShadingNodeExporter::exportValue( { MObject attr = plug.attribute(); MFnEnumAttribute fnEnumAttr(attr); - int intValue = plug.asInt(); - MString value = fnEnumAttr.fieldName(intValue); + short shortValue = plug.asShort(); + MString value = fnEnumAttr.fieldName(shortValue); ss << "string " << value; } else diff --git a/src/appleseedmaya/extensionattributes.cpp b/src/appleseedmaya/extensionattributes.cpp index b3e5567..a9b9783 100644 --- a/src/appleseedmaya/extensionattributes.cpp +++ b/src/appleseedmaya/extensionattributes.cpp @@ -44,6 +44,7 @@ #include #include #include +#include #include "appleseedmaya/_endmayaheaders.h" namespace @@ -225,6 +226,8 @@ namespace MFnNumericData::kFloat, 1.0f, status); + numAttrFn.setSoftMin(0.0f); + numAttrFn.setSoftMax(10.0f); AttributeUtils::makeInput(numAttrFn); modifier.addExtensionAttribute(nodeClass, attr); @@ -235,6 +238,8 @@ namespace MFnNumericData::kFloat, 0.0f, status); + numAttrFn.setSoftMin(0.0f); + numAttrFn.setSoftMax(16.0f); AttributeUtils::makeInput(numAttrFn); modifier.addExtensionAttribute(nodeClass, attr); @@ -245,6 +250,31 @@ namespace MFnNumericData::kBoolean, false, status); + numAttrFn.setKeyable(false); + AttributeUtils::makeInput(numAttrFn); + modifier.addExtensionAttribute(nodeClass, attr); + + attr = createNumericAttribute( + numAttrFn, + "asCastIndirectLight", + "asCastIndirectLight", + MFnNumericData::kBoolean, + true, + status); + numAttrFn.setKeyable(false); + AttributeUtils::makeInput(numAttrFn); + modifier.addExtensionAttribute(nodeClass, attr); + + attr = createNumericAttribute( + numAttrFn, + "asImportanceMultiplier", + "asImportanceMultiplier", + MFnNumericData::kFloat, + 1.0f, + status); + numAttrFn.setMin(0.0f); + numAttrFn.setSoftMax(10.0f); + AttributeUtils::makeInput(numAttrFn); modifier.addExtensionAttribute(nodeClass, attr); @@ -252,6 +282,47 @@ namespace modifier.doIt(); } + void addDeltaLightExtensionAttributes() + { + for (const MString& light : {"pointLight", "spotLight", "directionalLight"}) + { + MNodeClass nodeClass(light); + MDGModifier modifier; + + MStatus status; + + MFnNumericAttribute numAttrFn; + + MObject attr = createNumericAttribute( + numAttrFn, + "asCastIndirectLight", + "asCastIndirectLight", + MFnNumericData::kBoolean, + true, + status); + numAttrFn.setKeyable(false); + + AttributeUtils::makeInput(numAttrFn); + modifier.addExtensionAttribute(nodeClass, attr); + + attr = createNumericAttribute( + numAttrFn, + "asImportanceMultiplier", + "asImportanceMultiplier", + MFnNumericData::kFloat, + 1.0f, + status); + numAttrFn.setMin(0.0f); + numAttrFn.setSoftMax(10.0f); + + AttributeUtils::makeInput(numAttrFn); + modifier.addExtensionAttribute(nodeClass, attr); + + addVisibilityExtensionAttributes(nodeClass, modifier); + modifier.doIt(); + } + } + void addBump2dExtensionAttributes() { MNodeClass nodeClass("bump2d"); @@ -388,6 +459,7 @@ MStatus addExtensionAttributes() { addMeshExtensionAttributes(); addAreaLightExtensionAttributes(); + addDeltaLightExtensionAttributes(); addBump2dExtensionAttributes(); addShadingEngineExtensionAttrs(); addCameraExtensionAttrs(); diff --git a/src/appleseedmaya/typeids.h b/src/appleseedmaya/typeids.h index aafcd35..2a05ad9 100644 --- a/src/appleseedmaya/typeids.h +++ b/src/appleseedmaya/typeids.h @@ -94,7 +94,7 @@ enum AppleseedMayaTypeIds AsMDLMaterialNodeTypeId = 0x001279f5, // 1210869 AsMatcapNodeTypeId = 0x001279f6, // 1210870 AsAngleBetweenNodeTypeId = 0x001279f7, // 1210871 - AsBlendNormalsNodeTypeId = 0x001279f8, // 1210872 + AsAttributesNodeTypeId = 0x001279f8, // 1210872 AsMetalNodeTypeId = 0x001279f9, // 1210873 AsTextureNodeTypeId = 0x001279fa, // 1210874 AsCubeTextureNodeTypeId = 0x001279fb, // 1210875 @@ -110,7 +110,10 @@ enum AppleseedMayaTypeIds AsManifold2DNodeTypeId = 0x00127a05, // 1210885 AsManifold3DNodeTypeId = 0x00127a06, // 1210886 AsAscCdlNodeTypeId = 0x00127a07, // 1210887 - AsInvColorNodeTypeId = 0x00127a08, // 1210888 + AsInvertColorNodeTypeId = 0x00127a08, // 1210888 + AsBlendNormalsNodeTypeId = 0x00127a09, // 1210889 + AsSurfaceLuminanceNodeTypeId = 0x00127a0a, // 1210890 + AsRaySwitchSurfaceNodeTypeId = 0x00127a0b, // 1210891 LastTypeId = 0x00127a3f // 1210943 };