forked from AcademySoftwareFoundation/MaterialX
-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merge main to dev #1384
Merged
Merged
Merge main to dev #1384
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- Upgrade all documents in the libraries/bxdf folder to v1.38. - Adjust uniform attributes in shading model interfaces to match their specifications. - Rename a node in the implementation of standard_surface to avoid a collision with its interface.
- Deprecation of nodes: `backfacing`, `fresnel`, `viewdirection` - Get MDL unit tests to work with 1.38 changes - Updates for TextureBaker: - restore code to prevent unoptimized path from failing. - fix `normalmap` node creation code to only copy over contents if the root of the subgraph being baked is also a `normalmap`. (the root may be a downstream node with a normalmap upstream of it). - Fix for logic to GLSL implementation of `heighttonormal` node to prevent artifacts due to math exceptions. Render test case has been updated to test more configurations. - Minor fix to image path flattening to prevent empty paths from adding search paths.
- Upgrade all documents in the libraries/pbrlib folder to v1.38. - Adjust uniform attributes in node interfaces to match the specification.
- Upgrade all documents in the libraries/stdlib folder to v1.38. - Adjust uniform attributes in node interfaces to match the specification.
This changelist adds support for comment elements, allowing document comments to be directly generated through the MaterialX API and preserved when loading and saving content. The mxupdate.py script has been updated to preserve MTLX comments in document upgrades.
- Upgrade all documents in the resources/Materials/TestSuite folder to v1.38. - Update comments and formatting for consistency.
- Merge output accessors for Input and PortElement for simplicity. - Simplify the implementation of Input::getConnectedNode. - Rename Input::getConnectedInterface to Input::getInterfaceInput for clarity.
- Add default arguments to the Python binding for MaterialX::getShaderNodes. - Add Python bindings for MATERIAL_TYPE_STRING, SURFACE_MATERIAL_NODE_STRING, and VOLUME_MATERIAL_NODE_STRING. - Add shader node logic to mxvalidate.py, making this common Python pattern part of the test suite. - Add missing deprecation warnings for ShaderRef methods.
- Add specification documents for v1.38. - Minor changelog revisions for v1.38.0. - Adjust global Doxygen settings for clarity. - Fix a Doxygen comment in ShaderStage.h.
This changelist updates the transparency detection heuristic in MaterialXGenShader/Util.cpp for v1.38 shader nodes. There's still plenty of room for future improvement, but this implementation generates correct results for all examples in the MaterialX repository.
- In the Viewer and TextureBaker, respect input search paths for shader code as well as documents and images, applying the necessary modifications to match the expectations of the code generator. - Move the getDefaultSearchPath helper function from MaterialXGenShader to MaterialXView, since its assumptions are specific to that application.
- Remove library and resource copies for viewer builds, as they tend to slow down shader development. - Simplify the logic for viewer search paths, making it more robust in production contexts.
- Align parameter-to-input conversion with the specification, now that the standard libraries have been upgraded to v1.38. - Remove legacy shader nodedefs from v1.36 documents, since they can interfere with code generation.
- Update repository links to match a rename of the default branch from 'master' to 'main' (https://github.com/github/renaming). - Add support for workflow dispatch jobs in GitHub Actions.
### Changes - Refinement to optional arguments on loading libraries and documents - TextureBaker: auto-resizing output image and hashing output file names options. ### Unit Tests [mar1_unit_tests.pdf](https://github.com/materialx/MaterialX/files/6066037/mar1_unit_tests.pdf)
- Final updates for the v1.38 specification. - Minor update to MaterialXTest documentation.
- Simplify ImageHandler::acquireImage, making it non-virtual and removing an unused parameter. - Add protected helper method ImageHandler::loadImage. - Streamline the implementation of MaterialX::createImageStrip.
Issues Addressed - Fixes erroneous generation of a texture_2d() reference with "/" as an argument when no value is specified. - Make texture_2d() lookups input arguments as opposed to always inlined.
This changelist adds support for 16-bit unsigned-integer images in MaterialXRender, allowing 16-bit TIFF files to be loaded and viewed when MaterialX is built with OpenImageIO enabled. Also: - Make ImageHandler::clearImageCache a public method. - Add missing Python bindings for the ImageHandler class. - Simplify Python bindings for the ImageLoader class.
These changes allow MaterialX to be built under Windows with MATERIALX_BUILD_SHARED_LIBS set to true. New "MX__API" symbols exist for each library to allow classes and functions to be explicitly exported from the resulting DLLs.
- Upgrade Ubuntu version for GCC 10 builds. - Add test for shared libraries on Windows.
This changelist implements improvements to the viewer property editor, updating its display of shading models and ungrouped inputs to v1.38 conventions.
This changelist contains the initial draft and discussion for a set of new OSL closures to represent the MaterialX PBS library. Discussion and development on this project continues in the OSL repository at AcademySoftwareFoundation/OpenShadingLanguage#1371.
Attribution: These images have been scanned by Autodesk and contributed to the MaterialX project.
This changelist removes a legacy texture that was referenced only in unit tests, replacing it with the standard grid texture.
* Create Viewer, Editor, Material and Scene classes to organize functionality * Change material and geometry changes to not reload the entire page causing everything to be re-initialized. Instead perform incremental updates. * Small fix to get any UI names if looking up an interface input
This changelist fixes the issue with flattenSubgraphs described in #865.
The environment material used for 3d preview was not being recompiled when changing the environment. Hence the scene was rendering using the new environment, but the preview was not.
- Add utilities UnitConverterRegistry::convertToUnit and MaterialX::joinStrings. - Use C Locale for string stream operations (#1183). - Add tests for unit and locale content.
- Align screen background colors between MaterialXView, MaterialXRenderGlsl, and MaterialXRenderOsl. - Add helper methods to transform colors between linear RGB and the sRGB encoding.
As per discussions on MaterialX slack channel, this implements... - the "fallback" parameter in IMP_UsdPrimvarReader - also makes the default parameter in ND_geompropvalue_integer non-uniform
This include changes to utf8 and flatten graphs
- Restore the original locale after unit tests are complete, so that render tests are unaffected by the change. - Simplify locale unit tests, removing steps that aren't required.
An interior test plane was left inside the sphere geometry. Removing it as it affects transparent objects as well as environment preview in MaterialXView.
This changelist introduces a rough approximation of refraction in GLSL, allowing transmissive materials such as glass to respond visually to changes in specular_IOR, specular_roughness, and transmission_color. Because this initial approximation is limited to a single render pass, only the environment radiance map is currently visible in refractions, and opaque objects behind transmissive surfaces are not yet visible.
This changelist updates the generator search path used in MaterialX JavaScript, aligning it with other generators in the MaterialX codebase.
This changelist simplifies Python bindings for the base ShaderGenerator class, making it concrete rather than abstract, and removing the PyShaderGenerator trampoline class.
ashwinbhat
pushed a commit
that referenced
this pull request
Mar 12, 2024
…ftwareFoundation#1413) This change list simplifies the way thin-film iridescence is specified in the PBR library, as discussed in issue #1384.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Merging main at 37ccbc5 to dev