autodesk-forks / MaterialX

MaterialX C++ and Python libraries
http://www.materialx.org/
Apache License 2.0
107 stars 23 forks source link

Fix findRenderableElements() Python wrapper. #1225

Closed bernardkwok closed 3 years ago

bernardkwok commented 3 years ago

Interface was trying to pass by reference an argument. Instead write a C++ wrapper to call the C++ interace and return a value. This makes it so the C++ API does not need to change. Added CI testing. e.g. testing output:

python python/Scripts/generateShader.py resources/Materials/Examples/StandardSurface/standard_surface_look_brass_tiled.mtlx --path "." --outputPath "build_public_rel/generate/" --target "glsl"
  python python/Scripts/generateShader.py resources/Materials/Examples/StandardSurface/standard_surface_look_brass_tiled.mtlx --path "." --outputPath "build_public_rel/generate/" --target "osl"
  python python/Scripts/generateShader.py resources/Materials/Examples/StandardSurface/standard_surface_look_brass_tiled.mtlx --path "." --outputPath "build_public_rel/generate/" --target "mdl"
  shell: C:\Program Files\PowerShell\7\pwsh.EXE -command ". '{0}'"
  env:
    pythonLocation: C:\hostedtoolcache\windows\Python\3.8.10\x64

    Directory: D:\a\MaterialX\MaterialX\build

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d----           6/10/2021 12:39 AM                generate
- Set up CMS ...
- Set up Units ...
Output path: 
-- Generate code for node: SR_brass1
--- Wrote pixel shader to: SR_brass1.glsl
--- Wrote vertex shader to: SR_brass1_vs.glsl
-- Generate code for node: SR_Greysphere_Calibration
--- Wrote pixel shader to: SR_Greysphere_Calibration.glsl
--- Wrote vertex shader to: SR_Greysphere_Calibration_vs.glsl
- Set up CMS ...
- Set up Units ...
Output path: 
-- Generate code for node: SR_brass1
--- Wrote pixel shader to: SR_brass1.osl
-- Generate code for node: SR_Greysphere_Calibration
--- Wrote pixel shader to: SR_Greysphere_Calibration.osl
- Set up CMS ...
- Set up Units ...
Output path: 
-- Generate code for node: SR_brass1
--- Wrote pixel shader to: SR_brass1.mdl
-- Generate code for node: SR_Greysphere_Calibration
--- Wrote pixel shader to: SR_Greysphere_Calibration.mdl