Skip to content

Commit

Permalink
Merge branch 'main' into merge-hw-closure-contexts-using-ClosureData-…
Browse files Browse the repository at this point in the history
…struct
  • Loading branch information
jstone-lucasfilm authored Feb 1, 2025
2 parents 1316fb9 + 18c9eab commit 68b26f0
Show file tree
Hide file tree
Showing 23 changed files with 120 additions and 582 deletions.
20 changes: 3 additions & 17 deletions javascript/MaterialXTest/codeExamples.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -92,29 +92,15 @@ describe('Code Examples', () =>

// Traverse the document tree in depth-first order.
const elements = doc.traverseTree();
let elementCount = 0;
let nodeCount = 0;
let fileCount = 0;
let imageCount = 0;
for (let elem of elements)
{
elementCount++;
// Display the filename of each image node.
if (elem.isANode('image'))
{
nodeCount++;
const input = elem.getInput('file');
if (input)
{
fileCount++;
const filename = input.getValueString();
expect(elem.getName()).to.equal('image1');
expect(filename).to.equal('greysphere_calibration.png');
}
imageCount++;
}
}
expect(elementCount).to.equal(21);
expect(nodeCount).to.equal(1);
expect(fileCount).to.equal(1);
expect(imageCount).to.greaterThan(0);
});

it('Building a MaterialX Document', async () =>
Expand Down
2 changes: 1 addition & 1 deletion libraries/stdlib/genmsl/lib/mx_sampling.metal
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ vec2 mx_compute_sample_size_uv(vec2 uv, float filterSize, float filterOffset)
// Compute a normal mapped to 0..1 space based on a set of input
// samples using a Sobel filter.
//
vec3 mx_normal_from_samples_sobel(constant float S[9], float _scale)
vec3 mx_normal_from_samples_sobel(float S[9], float _scale)
{
float nx = S[0] - S[2] + (2.0*S[3]) - (2.0*S[5]) + S[6] - S[8];
float ny = S[0] + (2.0*S[1]) + S[2] - S[6] - (2.0*S[7]) - S[8];
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,8 @@
<?xml version="1.0"?>
<materialx version="1.39" colorspace="lin_rec709">
<standard_surface name="SR_greysphere" type="surfaceshader">
<input name="base" type="float" value="1.0" />
<input name="base_color" type="color3" value="0.18, 0.18, 0.18" />
<input name="diffuse_roughness" type="float" value="0" />
<input name="specular_roughness" type="float" value="0.7" />
<input name="specular_IOR" type="float" value="1.5" />
</standard_surface>
<surfacematerial name="Greysphere" type="material">
<input name="surfaceshader" type="surfaceshader" nodename="SR_greysphere" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,8 @@
<output name="out1" type="color3" nodename="image1" />
</nodegraph>
<standard_surface name="SR_Greysphere_Calibration" type="surfaceshader">
<input name="base" type="float" value="1.0" />
<input name="base_color" type="color3" nodegraph="NG_Greysphere_Calibration" output="out1" />
<input name="diffuse_roughness" type="float" value="0" />
<input name="specular_roughness" type="float" value="0.7" />
<input name="specular_IOR" type="float" value="1.5" />
</standard_surface>
<surfacematerial name="Greysphere_Calibration" type="material">
<input name="surfaceshader" type="surfaceshader" nodename="SR_Greysphere_Calibration" />
Expand Down
27 changes: 14 additions & 13 deletions source/MaterialXGenGlsl/GlslShaderGenerator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,20 @@
#include <MaterialXGenGlsl/GlslShaderGenerator.h>

#include <MaterialXGenGlsl/GlslSyntax.h>
#include <MaterialXGenGlsl/Nodes/GeomColorNodeGlsl.h>
#include <MaterialXGenGlsl/Nodes/GeomPropValueNodeGlsl.h>
#include <MaterialXGenGlsl/Nodes/SurfaceNodeGlsl.h>
#include <MaterialXGenGlsl/Nodes/UnlitSurfaceNodeGlsl.h>
#include <MaterialXGenGlsl/Nodes/LightNodeGlsl.h>
#include <MaterialXGenGlsl/Nodes/LightCompoundNodeGlsl.h>
#include <MaterialXGenGlsl/Nodes/LightShaderNodeGlsl.h>
#include <MaterialXGenGlsl/Nodes/HeightToNormalNodeGlsl.h>
#include <MaterialXGenGlsl/Nodes/LightSamplerNodeGlsl.h>
#include <MaterialXGenGlsl/Nodes/NumLightsNodeGlsl.h>
#include <MaterialXGenGlsl/Nodes/BlurNodeGlsl.h>

#include <MaterialXGenShader/Nodes/MaterialNode.h>
#include <MaterialXGenShader/Nodes/HwBlurNode.h>
#include <MaterialXGenShader/Nodes/HwImageNode.h>
#include <MaterialXGenShader/Nodes/HwGeomColorNode.h>
#include <MaterialXGenShader/Nodes/HwGeomPropValueNode.h>
#include <MaterialXGenShader/Nodes/HwHeightToNormalNode.h>
#include <MaterialXGenShader/Nodes/HwTexCoordNode.h>
#include <MaterialXGenShader/Nodes/HwTransformNode.h>
#include <MaterialXGenShader/Nodes/HwPositionNode.h>
Expand All @@ -35,6 +35,7 @@ MATERIALX_NAMESPACE_BEGIN

const string GlslShaderGenerator::TARGET = "genglsl";
const string GlslShaderGenerator::VERSION = "400";
const string GlslSamplingIncludeFilename = "stdlib/genglsl/lib/mx_sampling.glsl";

//
// GlslShaderGenerator methods
Expand All @@ -61,9 +62,9 @@ GlslShaderGenerator::GlslShaderGenerator() :
registerImplementation("IM_texcoord_vector2_" + GlslShaderGenerator::TARGET, HwTexCoordNode::create);
registerImplementation("IM_texcoord_vector3_" + GlslShaderGenerator::TARGET, HwTexCoordNode::create);
// <!-- <geomcolor> -->
registerImplementation("IM_geomcolor_float_" + GlslShaderGenerator::TARGET, GeomColorNodeGlsl::create);
registerImplementation("IM_geomcolor_color3_" + GlslShaderGenerator::TARGET, GeomColorNodeGlsl::create);
registerImplementation("IM_geomcolor_color4_" + GlslShaderGenerator::TARGET, GeomColorNodeGlsl::create);
registerImplementation("IM_geomcolor_float_" + GlslShaderGenerator::TARGET, HwGeomColorNode::create);
registerImplementation("IM_geomcolor_color3_" + GlslShaderGenerator::TARGET, HwGeomColorNode::create);
registerImplementation("IM_geomcolor_color4_" + GlslShaderGenerator::TARGET, HwGeomColorNode::create);
// <!-- <geompropvalue> -->
elementNames = {
"IM_geompropvalue_integer_" + GlslShaderGenerator::TARGET,
Expand All @@ -74,10 +75,10 @@ GlslShaderGenerator::GlslShaderGenerator() :
"IM_geompropvalue_vector3_" + GlslShaderGenerator::TARGET,
"IM_geompropvalue_vector4_" + GlslShaderGenerator::TARGET,
};
registerImplementation(elementNames, GeomPropValueNodeGlsl::create);
registerImplementation("IM_geompropvalue_boolean_" + GlslShaderGenerator::TARGET, GeomPropValueNodeGlslAsUniform::create);
registerImplementation("IM_geompropvalue_string_" + GlslShaderGenerator::TARGET, GeomPropValueNodeGlslAsUniform::create);
registerImplementation("IM_geompropvalue_filename_" + GlslShaderGenerator::TARGET, GeomPropValueNodeGlslAsUniform::create);
registerImplementation(elementNames, HwGeomPropValueNode::create);
registerImplementation("IM_geompropvalue_boolean_" + GlslShaderGenerator::TARGET, HwGeomPropValueNodeAsUniform::create);
registerImplementation("IM_geompropvalue_string_" + GlslShaderGenerator::TARGET, HwGeomPropValueNodeAsUniform::create);
registerImplementation("IM_geompropvalue_filename_" + GlslShaderGenerator::TARGET, HwGeomPropValueNodeAsUniform::create);

// <!-- <frame> -->
registerImplementation("IM_frame_float_" + GlslShaderGenerator::TARGET, HwFrameNode::create);
Expand All @@ -99,7 +100,7 @@ GlslShaderGenerator::GlslShaderGenerator() :
registerImplementation("IM_spot_light_" + GlslShaderGenerator::TARGET, LightShaderNodeGlsl::create);

// <!-- <heighttonormal> -->
registerImplementation("IM_heighttonormal_vector3_" + GlslShaderGenerator::TARGET, HeightToNormalNodeGlsl::create);
registerImplementation("IM_heighttonormal_vector3_" + GlslShaderGenerator::TARGET, []() -> ShaderNodeImplPtr { return HwHeightToNormalNode::create(GlslSamplingIncludeFilename);});

// <!-- <blur> -->
elementNames = {
Expand All @@ -110,7 +111,7 @@ GlslShaderGenerator::GlslShaderGenerator() :
"IM_blur_vector3_" + GlslShaderGenerator::TARGET,
"IM_blur_vector4_" + GlslShaderGenerator::TARGET,
};
registerImplementation(elementNames, BlurNodeGlsl::create);
registerImplementation(elementNames, []() -> ShaderNodeImplPtr { return HwBlurNode::create(GlslSamplingIncludeFilename);});

// <!-- <ND_transformpoint> ->
registerImplementation("IM_transformpoint_vector3_" + GlslShaderGenerator::TARGET, HwTransformPointNode::create);
Expand Down
27 changes: 0 additions & 27 deletions source/MaterialXGenGlsl/Nodes/BlurNodeGlsl.cpp

This file was deleted.

25 changes: 0 additions & 25 deletions source/MaterialXGenGlsl/Nodes/BlurNodeGlsl.h

This file was deleted.

26 changes: 0 additions & 26 deletions source/MaterialXGenGlsl/Nodes/GeomColorNodeGlsl.h

This file was deleted.

119 changes: 0 additions & 119 deletions source/MaterialXGenGlsl/Nodes/HeightToNormalNodeGlsl.cpp

This file was deleted.

Loading

0 comments on commit 68b26f0

Please sign in to comment.