Skip to content

Commit

Permalink
Merge update from dev to shaderx (#237)
Browse files Browse the repository at this point in the history
  • Loading branch information
bernardkwok authored Jan 18, 2019
1 parent 14ccfa1 commit 2db0bee
Show file tree
Hide file tree
Showing 25 changed files with 2,017 additions and 394 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
void mx_acescg_to_linear_color4(color4 _in, output color4 result)
{
vector4 outColor = vector4(_in[0], _in[1], _in[2], _in.a);
vector4 outColor = vector4(_in.rgb[0], _in.rgb[1], _in.rgb[2], _in.a);
matrix m = transpose(matrix(1.705079555511475, -0.1297005265951157, -0.02416634373366833, 0., -0.6242334842681885, 1.138468623161316, -0.1246141716837883, 0., -0.0808461606502533, -0.008768022060394287, 1.148780584335327, 0., 0., 0., 0., 1.));
vector4 resultVector4 = transform(m, outColor);
result = color4(color(resultVector4.x, resultVector4.y, resultVector4.z), resultVector4.w);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
void mx_gamma18_to_linear_color4(color4 _in, output color4 result)
{
color4 gamma = color4(1.8, 1.8, 1.8, 1.);
result = pow( max( color4(0., 0., 0., 0.), _in ), gamma );
color4 gamma = color4(color(1.8, 1.8, 1.8), 1.);
result = pow( max( color4(color(0., 0., 0.), 0.), _in ), gamma );
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
void mx_gamma22_to_linear_color4(color4 _in, output color4 result)
{
color4 gamma = color4(2.2, 2.2, 2.2, 1.);
result = pow( max( color4(0., 0., 0., 0.), _in ), gamma );
color4 gamma = color4(color(2.2, 2.2, 2.2), 1.);
result = pow( max( color4(color(0., 0., 0.), 0.), _in ), gamma );
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
void mx_gamma24_to_linear_color4(color4 _in, output color4 result)
{
color4 gamma = color4(2.4, 2.4, 2.4, 1.);
result = pow( max( color4(0., 0., 0., 0.), _in ), gamma );
color4 gamma = color4(color(2.4, 2.4, 2.4), 1.);
result = pow( max( color4(color(0., 0., 0.), 0.), _in ), gamma );
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,17 @@ void mx_srgb_texture_to_linear_color4(color4 _in, output color4 result)
color4 outColor = color4(_in.rgb, 0.);
color4 breakPnt = color4(color(0.03928571566939354, 0.03928571566939354, 0.03928571566939354), 1.);
color4 slope = color4(color(0.07738015800714493, 0.07738015800714493, 0.07738015800714493), 1.);
color4 scale = color(color(0.9478672742843628, 0.9478672742843628, 0.9478672742843628), 1.);
color4 scale = color4(color(0.9478672742843628, 0.9478672742843628, 0.9478672742843628), 1.);
color4 offset = color4(color(0.05213269963860512, 0.05213269963860512, 0.05213269963860512), 0.);
color4 gamma = color4(color(2.4, 2.4, 2.4), 1.);
color4 isAboveBreak = color4(color(outColor.rgb[0] > breakPnt.rgb[0] ? 1.0 : 0.0,
outColor.rgb[1] > breakPnt.rgb[1] ? 1.0 : 0.0,
outColor.rgb[2] > breakPnt.rgb[2] ? 1.0 : 0.0),
outColor.a > breakPnt.a ? 1.0 : 0.0);
color4 linSeg = outColor * slope;
color4 powSeg = pow( max( color4(color(0., 0., 0.), 0.), scale * outColor + offset), gamma);
result = color4((isAboveBreak * powSeg + ( color4(color(1., 1., 1.), 1.) - isAboveBreak ) * linSeg).rgb, _in.a);
color4 tmpA = color4(color(0., 0., 0.), 0.);
color4 powSeg = pow( max( tmpA, scale * outColor + offset), gamma);
color4 tmpB = color4(color(1., 1., 1.), 1.);
color4 tmp = isAboveBreak * powSeg + ( tmpB - isAboveBreak ) * linSeg;
result = color4(tmp.rgb, _in.a);
}
427 changes: 115 additions & 312 deletions documents/Libraries/stdlib/stdlib_defs.mtlx

Large diffs are not rendered by default.

1,662 changes: 1,662 additions & 0 deletions documents/TestSuite/Images/Interior1_Color.hdr

Large diffs are not rendered by default.

82 changes: 82 additions & 0 deletions documents/TestSuite/Images/Interior1_Color_diffuse.hdr

Large diffs are not rendered by default.

Binary file removed documents/TestSuite/Images/MaterialXLogo.exr
Binary file not shown.
Binary file removed documents/TestSuite/Images/kitchen_probe.hdr
Binary file not shown.
Binary file added documents/TestSuite/Images/marble.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file not shown.
7 changes: 3 additions & 4 deletions documents/TestSuite/Utilities/closure_color_scene.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<World>
<Camera eye="2.1, 0, 0" look_at="0,0,0" fov="70" />

<!-- Background clear. Uncomment this use flat color
<!-- Background clear. Uncomment this use flat color
%background_color% : is the background color
-->
<!--
Expand All @@ -13,11 +13,11 @@
-->
<!-- Background environment map. Comment this out to use flat color -->
<ShaderGroup>
string filename "documents/TestSuite/Images/kitchen_probe.hdr";
string filename "documents/TestSuite/Images/san_giuseppe_bridge.hdr";
shader envmap layer1;
</ShaderGroup>
<Background resolution="1024" />

<!-- Emitter -->
<ShaderGroup>
float power 326000;
Expand All @@ -38,4 +38,3 @@
</ShaderGroup>
<Sphere center="0,0,0" radius="0.5" />
</World>

4 changes: 2 additions & 2 deletions documents/TestSuite/pbrlib/materials/surfaceshader.mtlx
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
<input name="in2" type="vector2" value="2, 2" />
</multiply>
<image name="normalTex" type="vector3">
<parameter name="file" type="filename" value="documents/TestSuite/Images/MaterialXLogo.exr" />
<parameter name="file" type="filename" value="documents/TestSuite/Images/marble.png" />
<parameter name="default" type="vector3" value="0.5, 0.5, 1" />
<input name="texcoord" type="vector2" nodename="uvscale" />
</image>
Expand Down Expand Up @@ -226,7 +226,7 @@
</standard_surface>
<output name="out" type="surfaceshader" nodename="standardsurface1" />
</nodegraph>

<material name="example4">
<shaderref name="example4_surface" node="testshader4">
<bindinput name="base" type="float" value="0.8" />
Expand Down
72 changes: 66 additions & 6 deletions documents/TestSuite/stdlib/color_management/color_management.mtlx
Original file line number Diff line number Diff line change
Expand Up @@ -11,73 +11,103 @@ Basic image unit test with one image node for each variation in input type.
<input name="base_color" type="color3" value="1, 1, 1" nodename="image_lin_rec709" />
</standard_surface>
<image name="image_lin_rec709" type="color3">
<parameter name="file" type="filename" value="documents/TestSuite/Images/marble.exr" colorspace="lin_rec709" />
<parameter name="file" type="filename" value="documents/TestSuite/Images/marble.png" colorspace="lin_rec709" />
<parameter name="uaddressmode" type="string" value="black"/>
<parameter name="vaddressmode" type="string" value="clamp"/>
<parameter name="filtertype" type="string" value="linear"/>
<parameter name="frameendaction" type="string" value="periodic"/>
</image>

<output name="image4_lin_rec709_output" type="color4" nodename="image4_lin_rec709" />
<image name="image4_lin_rec709" type="color4">
<parameter name="file" type="filename" value="documents/TestSuite/Images/marble.exr" colorspace="lin_rec709" />
</image>

<output name="image_gamma18_output" type="surfaceshader" nodename="image_gamma18_standard_surface2" />
<standard_surface name="image_gamma18_standard_surface2" type="surfaceshader" xpos="6.29441" ypos="2.18094">
<input name="base_color" type="color3" value="1, 1, 1" nodename="image_gamma18" />
</standard_surface>
<image name="image_gamma18" type="color3">
<parameter name="file" type="filename" value="documents/TestSuite/Images/marble.exr" colorspace="gamma18" />
<parameter name="file" type="filename" value="documents/TestSuite/Images/marble.png" colorspace="gamma18" />
<parameter name="uaddressmode" type="string" value="black"/>
<parameter name="vaddressmode" type="string" value="clamp"/>
<parameter name="filtertype" type="string" value="linear"/>
<parameter name="frameendaction" type="string" value="periodic"/>
</image>

<output name="image4_gamma18_output" type="color4" nodename="image4_gamma18" />
<image name="image4_gamma18" type="color4">
<parameter name="file" type="filename" value="documents/TestSuite/Images/marble.exr" colorspace="gamma18" />
</image>

<output name="image_gamma22_output" type="surfaceshader" nodename="image_gamma22_standard_surface3" />
<standard_surface name="image_gamma22_standard_surface3" type="surfaceshader" xpos="6.29441" ypos="2.18094">
<input name="base_color" type="color3" value="1, 1, 1" nodename="image_gamma22" />
</standard_surface>
<image name="image_gamma22" type="color3">
<parameter name="file" type="filename" value="documents/TestSuite/Images/marble.exr" colorspace="gamma22" />
<parameter name="file" type="filename" value="documents/TestSuite/Images/marble.png" colorspace="gamma22" />
<parameter name="uaddressmode" type="string" value="black"/>
<parameter name="vaddressmode" type="string" value="clamp"/>
<parameter name="filtertype" type="string" value="linear"/>
<parameter name="frameendaction" type="string" value="periodic"/>
</image>

<output name="image4_gamma22_output" type="color4" nodename="image4_gamma22" />
<image name="image4_gamma22" type="color4">
<parameter name="file" type="filename" value="documents/TestSuite/Images/marble.exr" colorspace="gamma22" />
</image>

<output name="image_gamma24_output" type="surfaceshader" nodename="image_gamma24_standard_surface4" />
<standard_surface name="image_gamma24_standard_surface4" type="surfaceshader" xpos="6.29441" ypos="2.18094">
<input name="base_color" type="color3" value="1, 1, 1" nodename="image_gamma24" />
</standard_surface>
<image name="image_gamma24" type="color3">
<parameter name="file" type="filename" value="documents/TestSuite/Images/marble.exr" colorspace="gamma24" />
<parameter name="file" type="filename" value="documents/TestSuite/Images/marble.png" colorspace="gamma24" />
<parameter name="uaddressmode" type="string" value="black"/>
<parameter name="vaddressmode" type="string" value="clamp"/>
<parameter name="filtertype" type="string" value="linear"/>
<parameter name="frameendaction" type="string" value="periodic"/>
</image>

<output name="image4_gamma24_output" type="color4" nodename="image4_gamma24" />
<image name="image4_gamma24" type="color4">
<parameter name="file" type="filename" value="documents/TestSuite/Images/marble.exr" colorspace="gamma24" />
</image>

<output name="image_acescg_output" type="surfaceshader" nodename="image_acescg_standard_surface5" />
<standard_surface name="image_acescg_standard_surface5" type="surfaceshader" xpos="6.29441" ypos="2.18094">
<input name="base_color" type="color3" value="1, 1, 1" nodename="image_acescg" />
</standard_surface>
<image name="image_acescg" type="color3">
<parameter name="file" type="filename" value="documents/TestSuite/Images/marble.exr" colorspace="acescg" />
<parameter name="file" type="filename" value="documents/TestSuite/Images/marble.png" colorspace="acescg" />
<parameter name="uaddressmode" type="string" value="black"/>
<parameter name="vaddressmode" type="string" value="clamp"/>
<parameter name="filtertype" type="string" value="linear"/>
<parameter name="frameendaction" type="string" value="periodic"/>
</image>

<output name="image4_acescg_output" type="color4" nodename="image4_acescg" />
<image name="image4_acescg" type="color4">
<parameter name="file" type="filename" value="documents/TestSuite/Images/marble.exr" colorspace="acescg" />
</image>

<output name="image_srgb_texture_output" type="surfaceshader" nodename="image_srgb_texture_standard_surface6" />
<standard_surface name="image_srgb_texture_standard_surface6" type="surfaceshader" xpos="6.29441" ypos="2.18094">
<input name="base_color" type="color3" value="1, 1, 1" nodename="image_srgb_texture" />
</standard_surface>
<image name="image_srgb_texture" type="color3">
<parameter name="file" type="filename" value="documents/TestSuite/Images/marble.exr" colorspace="srgb_texture" />
<parameter name="file" type="filename" value="documents/TestSuite/Images/marble.png" colorspace="srgb_texture" />
<parameter name="uaddressmode" type="string" value="black"/>
<parameter name="vaddressmode" type="string" value="clamp"/>
<parameter name="filtertype" type="string" value="linear"/>
<parameter name="frameendaction" type="string" value="periodic"/>
</image>

<output name="image4_srgb_texture_output" type="color4" nodename="image4_srgb_texture" />
<image name="image4_srgb_texture" type="color4">
<parameter name="file" type="filename" value="documents/TestSuite/Images/marble.exr" colorspace="srgb_texture" />
</image>

<output name="color_lin_rec709_output" type="surfaceshader" nodename="color_lin_rec709_standard_surface" />
<standard_surface name="color_lin_rec709_standard_surface" type="surfaceshader" xpos="6.29441" ypos="2.18094">
<input name="base_color" type="color3" value="1, 1, 1" nodename="color_lin_rec709" />
Expand All @@ -86,6 +116,11 @@ Basic image unit test with one image node for each variation in input type.
<parameter name="value" type="color3" value="0.5, 0.0, 0.0" colorspace="lin_rec709"/>
</constant>

<output name="color4_lin_rec709_output" type="color4" nodename="color4_lin_rec709" />
<constant name="color4_lin_rec709" type="color4">
<parameter name="value" type="color4" value="0.5, 0.0, 0.0, 1.0" colorspace="lin_rec709"/>
</constant>

<output name="color_gamma18_output" type="surfaceshader" nodename="color_gamma18_standard_surface2" />
<standard_surface name="color_gamma18_standard_surface2" type="surfaceshader" xpos="6.29441" ypos="2.18094">
<input name="base_color" type="color3" value="1, 1, 1" nodename="color_gamma18" />
Expand All @@ -94,6 +129,11 @@ Basic image unit test with one image node for each variation in input type.
<parameter name="value" type="color3" value="0.5, 0.0, 0.0" colorspace="gamma18" />
</constant>

<output name="color4_gamma18_output" type="color4" nodename="color4_gamma18" />
<constant name="color4_gamma18" type="color4">
<parameter name="value" type="color4" value="0.5, 0.0, 0.0, 1.0" colorspace="gamma18" />
</constant>

<output name="color_gamma22_output" type="surfaceshader" nodename="color_gamma22_standard_surface3" />
<standard_surface name="color_gamma22_standard_surface3" type="surfaceshader" xpos="6.29441" ypos="2.18094">
<input name="base_color" type="color3" value="1, 1, 1" nodename="color_gamma22" />
Expand All @@ -102,6 +142,11 @@ Basic image unit test with one image node for each variation in input type.
<parameter name="value" type="color3" value="0.5, 0.0, 0.0" colorspace="gamma22" />
</constant>

<output name="color4_gamma22_output" type="color4" nodename="color4_gamma22" />
<constant name="color4_gamma22" type="color4">
<parameter name="value" type="color4" value="0.5, 0.0, 0.0, 1.0" colorspace="gamma22" />
</constant>

<output name="color_gamma24_output" type="surfaceshader" nodename="color_gamma24_standard_surface4" />
<standard_surface name="color_gamma24_standard_surface4" type="surfaceshader" xpos="6.29441" ypos="2.18094">
<input name="base_color" type="color3" value="1, 1, 1" nodename="color_gamma24" />
Expand All @@ -110,6 +155,11 @@ Basic image unit test with one image node for each variation in input type.
<parameter name="value" type="color3" value="0.5, 0.0, 0.0" colorspace="gamma24" />
</constant>

<output name="color4_gamma24_output" type="color4" nodename="color4_gamma24" />
<constant name="color4_gamma24" type="color4">
<parameter name="value" type="color4" value="0.5, 0.0, 0.0, 1.0" colorspace="gamma24" />
</constant>

<output name="color_acescg_output" type="surfaceshader" nodename="color_acescg_standard_surface5" />
<standard_surface name="color_acescg_standard_surface5" type="surfaceshader" xpos="6.29441" ypos="2.18094">
<input name="base_color" type="color3" value="1, 1, 1" nodename="color_acescg" />
Expand All @@ -118,12 +168,22 @@ Basic image unit test with one image node for each variation in input type.
<parameter name="value" type="color3" value="0.5, 0.0, 0.0" colorspace="acescg" />
</constant>

<output name="color4_acescg_output" type="color4" nodename="color4_acescg" />
<constant name="color4_acescg" type="color4">
<parameter name="value" type="color4" value="0.5, 0.0, 0.0, 1.0" colorspace="acescg" />
</constant>

<output name="color_srgb_texture_output" type="surfaceshader" nodename="color_srgb_texture_standard_surface6" />
<standard_surface name="color_srgb_texture_standard_surface6" type="surfaceshader" xpos="6.29441" ypos="2.18094">
<input name="base_color" type="color3" value="1, 1, 1" nodename="color_srgb_texture" />
</standard_surface>
<constant name="color_srgb_texture" type="color3">
<parameter name="value" type="color3" value="0.5, 0.0, 0.0" colorspace="srgb_texture" />
</constant>

<output name="color4_srgb_texture_output" type="color4" nodename="color4_srgb_texture" />
<constant name="color4_srgb_texture" type="color4">
<parameter name="value" type="color4" value="0.5, 0.0, 0.0, 1.0" colorspace="srgb_texture" />
</constant>
</nodegraph>
</materialx>
Loading

0 comments on commit 2db0bee

Please sign in to comment.