Skip to content

Commit

Permalink
Merge pull request #79 from Autodesk/fix-mtoh-crash-and-shader-warnings
Browse files Browse the repository at this point in the history
Fix mtoh crash and shader warnings
  • Loading branch information
Huidong Chen authored Oct 25, 2019
2 parents d0bb624 + dd5be93 commit caa921c
Show file tree
Hide file tree
Showing 13 changed files with 140 additions and 129 deletions.
12 changes: 6 additions & 6 deletions lib/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -163,10 +163,10 @@ list(APPEND mayaUsd_src

list(APPEND mayaUsdShaderFragments_xmls
# Copied from pxrUsdPreviewSurface with change to support multiple lights
render/vp2ShaderFragments/float4ToFloatX.xml
render/vp2ShaderFragments/float4ToFloatY.xml
render/vp2ShaderFragments/float4ToFloatZ.xml
render/vp2ShaderFragments/float4ToFloatW.xml
render/vp2ShaderFragments/Float4ToFloatX.xml
render/vp2ShaderFragments/Float4ToFloatY.xml
render/vp2ShaderFragments/Float4ToFloatZ.xml
render/vp2ShaderFragments/Float4ToFloatW.xml
render/vp2ShaderFragments/lightingContributions.xml
render/vp2ShaderFragments/opacityToTransparency.xml
render/vp2ShaderFragments/scaledDiffusePassThrough.xml
Expand All @@ -177,8 +177,8 @@ list(APPEND mayaUsdShaderFragments_xmls
# New fragments
render/vp2ShaderFragments/FallbackCPVShader.xml
render/vp2ShaderFragments/FallbackShader.xml
render/vp2ShaderFragments/float4ToFloat3.xml
render/vp2ShaderFragments/float4ToFloat4.xml
render/vp2ShaderFragments/Float4ToFloat3.xml
render/vp2ShaderFragments/Float4ToFloat4.xml
render/vp2ShaderFragments/UsdPrimvarReader_float.xml
render/vp2ShaderFragments/UsdPrimvarReader_float2.xml
render/vp2ShaderFragments/UsdPrimvarReader_float3.xml
Expand Down
11 changes: 11 additions & 0 deletions lib/render/mayaToHydra/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,17 @@ target_include_directories(${TARGET_NAME} PRIVATE
${CMAKE_BINARY_DIR}/usd
)

if(CMAKE_WANT_UFE_BUILD)
find_package(UFE QUIET)
if(UFE_FOUND)
message(STATUS "Building with UFE ${UFE_VERSION} features enabled.")
include_directories(${UFE_INCLUDE_DIR})
add_definitions(-DWANT_UFE_BUILD)
else()
message(STATUS "UFE not found. UFE features will be disabled.")
endif()
endif()

# rpath setup
if(IS_MACOSX OR IS_LINUX)
mayaUsd_init_rpath(rpath "plugin")
Expand Down
20 changes: 10 additions & 10 deletions lib/render/vp2RenderDelegate/material.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -75,11 +75,11 @@ TF_DEFINE_PRIVATE_TOKENS(
(z)
(w)

(float4ToFloatX)
(float4ToFloatY)
(float4ToFloatZ)
(float4ToFloatW)
(float4ToFloat3)
(Float4ToFloatX)
(Float4ToFloatY)
(Float4ToFloatZ)
(Float4ToFloatW)
(Float4ToFloat3)
);

//! Helper utility function to test whether a node is a UsdShade primvar reader.
Expand Down Expand Up @@ -150,19 +150,19 @@ void _ApplyVP2Fixes(HdMaterialNetwork& outNet, const HdMaterialNetwork& inNet)

TfToken passThroughId;
if (rel.inputName == _tokens->rgb || rel.inputName == _tokens->xyz) {
passThroughId = _tokens->float4ToFloat3;
passThroughId = _tokens->Float4ToFloat3;
}
else if (rel.inputName == _tokens->r || rel.inputName == _tokens->x) {
passThroughId = _tokens->float4ToFloatX;
passThroughId = _tokens->Float4ToFloatX;
}
else if (rel.inputName == _tokens->g || rel.inputName == _tokens->y) {
passThroughId = _tokens->float4ToFloatY;
passThroughId = _tokens->Float4ToFloatY;
}
else if (rel.inputName == _tokens->b || rel.inputName == _tokens->z) {
passThroughId = _tokens->float4ToFloatZ;
passThroughId = _tokens->Float4ToFloatZ;
}
else if (rel.inputName == _tokens->a || rel.inputName == _tokens->w) {
passThroughId = _tokens->float4ToFloatW;
passThroughId = _tokens->Float4ToFloatW;
}
else {
outNet.relationships.push_back(rel);
Expand Down
12 changes: 6 additions & 6 deletions lib/render/vp2ShaderFragments/FallbackCPVShader.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,16 @@
<fragments>
<fragment_ref name="mayaBlinnSurface" ref="mayaBlinnSurface" />
<fragment_ref name="opacityToTransparency" ref="opacityToTransparency" />
<fragment_ref name="float4ToFloat3" ref="float4ToFloat3" />
<fragment_ref name="float4ToFloatW" ref="float4ToFloatW" />
<fragment_ref name="Float4ToFloat3" ref="Float4ToFloat3" />
<fragment_ref name="Float4ToFloatW" ref="Float4ToFloatW" />
<fragment_ref name="mayaCPVPassing" ref="mayaCPVPassing" />
</fragments>
<connections>
<connect from="float4ToFloat3.output" to="mayaBlinnSurface.color" name="color" />
<connect from="Float4ToFloat3.output" to="mayaBlinnSurface.color" name="color" />
<connect from="opacityToTransparency.transparency" to="mayaBlinnSurface.transparency" name="transparency" />
<connect from="float4ToFloatW.output" to="opacityToTransparency.opacity" name="opacity" />
<connect from="mayaCPVPassing.C_4F" to="float4ToFloat3.input" name="rgb" />
<connect from="mayaCPVPassing.C_4F" to="float4ToFloatW.input" name="a" />
<connect from="Float4ToFloatW.output" to="opacityToTransparency.opacity" name="opacity" />
<connect from="mayaCPVPassing.C_4F" to="Float4ToFloat3.input" name="rgb" />
<connect from="mayaCPVPassing.C_4F" to="Float4ToFloatW.input" name="a" />
</connections>
<properties>
<undefined name="GPUStage" ref="mayaBlinnSurface.GPUStage" semantic="GPUStage" />
Expand Down
16 changes: 8 additions & 8 deletions lib/render/vp2ShaderFragments/FallbackShader.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,16 @@
<fragments>
<fragment_ref name="mayaBlinnSurface" ref="mayaBlinnSurface" />
<fragment_ref name="opacityToTransparency" ref="opacityToTransparency" />
<fragment_ref name="float4ToFloat3" ref="float4ToFloat3" />
<fragment_ref name="float4ToFloatW" ref="float4ToFloatW" />
<fragment_ref name="float4ToFloat4" ref="float4ToFloat4" />
<fragment_ref name="Float4ToFloat3" ref="Float4ToFloat3" />
<fragment_ref name="Float4ToFloatW" ref="Float4ToFloatW" />
<fragment_ref name="Float4ToFloat4" ref="Float4ToFloat4" />
</fragments>
<connections>
<connect from="float4ToFloat3.output" to="mayaBlinnSurface.color" name="color" />
<connect from="Float4ToFloat3.output" to="mayaBlinnSurface.color" name="color" />
<connect from="opacityToTransparency.transparency" to="mayaBlinnSurface.transparency" name="transparency" />
<connect from="float4ToFloatW.output" to="opacityToTransparency.opacity" name="opacity" />
<connect from="float4ToFloat4.output" to="float4ToFloat3.input" name="rgb" />
<connect from="float4ToFloat4.output" to="float4ToFloatW.input" name="a" />
<connect from="Float4ToFloatW.output" to="opacityToTransparency.opacity" name="opacity" />
<connect from="Float4ToFloat4.output" to="Float4ToFloat3.input" name="rgb" />
<connect from="Float4ToFloat4.output" to="Float4ToFloatW.input" name="a" />
</connections>
<properties>
<undefined name="GPUStage" ref="mayaBlinnSurface.GPUStage" semantic="GPUStage" />
Expand Down Expand Up @@ -48,7 +48,7 @@
<float name="fogDensity" ref="mayaBlinnSurface.fogDensity" />
<float4 name="fogColor" ref="mayaBlinnSurface.fogColor" />
<float name="fogMultiplier" ref="mayaBlinnSurface.fogMultiplier" />
<float4 name="diffuseColor" ref="float4ToFloat4.input" />
<float4 name="diffuseColor" ref="Float4ToFloat4.input" />
</properties>
<values>
<float3 name="Lw" value="0.000000,0.000000,0.000000" />
Expand Down
Original file line number Diff line number Diff line change
@@ -1,58 +1,58 @@
<fragment uiName="float4ToFloat4" name="float4ToFloat4" type="plumbing" class="ShadeFragment" version="1.0" feature_level="0">
<fragment uiName="Float4ToFloat3" name="Float4ToFloat3" type="plumbing" class="ShadeFragment" version="1.0" feature_level="0">
<description>
Passthrough of a 4D float vector.
Extracts the XYZ component of a 4D float vector.
</description>
<properties>
<float4 name="input"/>
</properties>
<values/>
<outputs>
<float4 name="output"/>
<float3 name="output"/>
</outputs>
<implementation>
<implementation render="OGSRenderer" language="Cg" lang_version="2.1">
<function_name val="float4ToFloat4"/>
<function_name val="Float4ToFloat3"/>
<source>
<![CDATA[
float4 float4ToFloat4(float4 input)
float3 Float4ToFloat3(float4 input)
{
return input;
return input.xyz;
}
]]>
</source>
</implementation>
<implementation render="OGSRenderer" language="GLSL" lang_version="3.0">
<function_name val="float4ToFloat4"/>
<function_name val="Float4ToFloat3"/>
<source>
<![CDATA[
vec4 float4ToFloat4(vec4 input)
vec3 Float4ToFloat3(vec4 input)
{
return input;
return input.xyz;
}
]]>
</source>
</implementation>
<implementation render="OGSRenderer" language="HLSL" lang_version="11.0">
<function_name val="float4ToFloat4"/>
<function_name val="Float4ToFloat3"/>
<source>
<![CDATA[
float4 float4ToFloat4(float4 input)
float3 Float4ToFloat3(float4 input)
{
return input;
return input.xyz;
}
]]>
</source>
</implementation>
<implementation render="OGSRenderer" language="HLSL" lang_version="10.0">
<function_name val="float4ToFloat4"/>
<function_name val="Float4ToFloat3"/>
<source>
<![CDATA[
float4 float4ToFloat4(float4 input)
float3 Float4ToFloat3(float4 input)
{
return input;
return input.xyz;
}
]]>
</source>
</implementation>
</implementation>
</fragment>
</fragment>
Original file line number Diff line number Diff line change
@@ -1,58 +1,58 @@
<fragment uiName="float4ToFloat3" name="float4ToFloat3" type="plumbing" class="ShadeFragment" version="1.0" feature_level="0">
<fragment uiName="Float4ToFloat4" name="Float4ToFloat4" type="plumbing" class="ShadeFragment" version="1.0" feature_level="0">
<description>
Extracts the XYZ component of a 4D float vector.
Passthrough of a 4D float vector.
</description>
<properties>
<float4 name="input"/>
</properties>
<values/>
<outputs>
<float3 name="output"/>
<float4 name="output"/>
</outputs>
<implementation>
<implementation render="OGSRenderer" language="Cg" lang_version="2.1">
<function_name val="float4ToFloat3"/>
<function_name val="Float4ToFloat4"/>
<source>
<![CDATA[
float3 float4ToFloat3(float4 input)
float4 Float4ToFloat4(float4 input)
{
return input.xyz;
return input;
}
]]>
</source>
</implementation>
<implementation render="OGSRenderer" language="GLSL" lang_version="3.0">
<function_name val="float4ToFloat3"/>
<function_name val="Float4ToFloat4"/>
<source>
<![CDATA[
vec3 float4ToFloat3(vec4 input)
vec4 Float4ToFloat4(vec4 input)
{
return input.xyz;
return input;
}
]]>
</source>
</implementation>
<implementation render="OGSRenderer" language="HLSL" lang_version="11.0">
<function_name val="float4ToFloat3"/>
<function_name val="Float4ToFloat4"/>
<source>
<![CDATA[
float3 float4ToFloat3(float4 input)
float4 Float4ToFloat4(float4 input)
{
return input.xyz;
return input;
}
]]>
</source>
</implementation>
<implementation render="OGSRenderer" language="HLSL" lang_version="10.0">
<function_name val="float4ToFloat3"/>
<function_name val="Float4ToFloat4"/>
<source>
<![CDATA[
float3 float4ToFloat3(float4 input)
float4 Float4ToFloat4(float4 input)
{
return input.xyz;
return input;
}
]]>
</source>
</implementation>
</implementation>
</fragment>
</fragment>
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<fragment uiName="float4ToFloatW" name="float4ToFloatW" type="plumbing" class="ShadeFragment" version="1.0" feature_level="0">
<fragment uiName="Float4ToFloatW" name="Float4ToFloatW" type="plumbing" class="ShadeFragment" version="1.0" feature_level="0">
<!-- WARNING: Do not edit this file. It was automatically generated by pxrUsdPreviewSurfaceGenFragments. -->
<description>
Extracts the W component of a 4D float vector.
Expand All @@ -12,7 +12,7 @@
</outputs>
<implementation>
<implementation render="OGSRenderer" language="Cg" lang_version="2.1">
<function_name val="float4ToFloatW"/>
<function_name val="Float4ToFloatW"/>
<source>
<![CDATA[
// Check whether we're in a GLSL context. If so, we don't expect "floatN"
Expand All @@ -22,7 +22,7 @@
#endif
float
float4ToFloatW(float4 input)
Float4ToFloatW(float4 input)
{
return input.w;
}
Expand All @@ -31,7 +31,7 @@ float4ToFloatW(float4 input)
</source>
</implementation>
<implementation render="OGSRenderer" language="GLSL" lang_version="3.0">
<function_name val="float4ToFloatW"/>
<function_name val="Float4ToFloatW"/>
<source>
<![CDATA[
// Check whether we're in a GLSL context. If so, we don't expect "floatN"
Expand All @@ -41,7 +41,7 @@ float4ToFloatW(float4 input)
#endif
float
float4ToFloatW(float4 input)
Float4ToFloatW(float4 input)
{
return input.w;
}
Expand All @@ -50,7 +50,7 @@ float4ToFloatW(float4 input)
</source>
</implementation>
<implementation render="OGSRenderer" language="HLSL" lang_version="11.0">
<function_name val="float4ToFloatW"/>
<function_name val="Float4ToFloatW"/>
<source>
<![CDATA[
// Check whether we're in a GLSL context. If so, we don't expect "floatN"
Expand All @@ -60,7 +60,7 @@ float4ToFloatW(float4 input)
#endif
float
float4ToFloatW(float4 input)
Float4ToFloatW(float4 input)
{
return input.w;
}
Expand All @@ -69,7 +69,7 @@ float4ToFloatW(float4 input)
</source>
</implementation>
<implementation render="OGSRenderer" language="HLSL" lang_version="10.0">
<function_name val="float4ToFloatW"/>
<function_name val="Float4ToFloatW"/>
<source>
<![CDATA[
// Check whether we're in a GLSL context. If so, we don't expect "floatN"
Expand All @@ -79,7 +79,7 @@ float4ToFloatW(float4 input)
#endif
float
float4ToFloatW(float4 input)
Float4ToFloatW(float4 input)
{
return input.w;
}
Expand Down
Loading

0 comments on commit caa921c

Please sign in to comment.