Comments (5)
@christian-heusel We could use some additional context on this one, as it's not an issue that we've yet heard about from other teams integrating MaterialX and USD!
from materialx.
@jstone-lucasfilm sure! What information would be of use for you?
from materialx.
@christian-heusel Is this an issue that requires the full Blender application for a repro, or are there ways to trigger this using MaterialX or USD/MaterialX alone? And with respect to ABI compatibility, we usually expect only API compatibility between versions of USD and MaterialX, so I could use more context on the situation where ABI compatibility for these two projects is important.
from materialx.
The general way that most software projects handle this is that if either API or ABI become incompatible, there's a soname version bump and at least a minor version increase. This sends a clear signal to distribution maintainers and so we can rebuild accordingly. A patch version increase is a sign of "it's only a fix without any API/ABI changes" so it'd be safe to push without rebuilding dependents.
I'd prefer if you adopted that way of using semver as this would ease our maintenance burden somewhat.
from materialx.
Ah, I see what you mean, @svenstaro.
As far as I know, neither the USD nor MaterialX projects provide ABI compatibility between released versions, but we can likely do a better job of signaling this through our VERSION and SOVERSION settings.
Because the major and minor versions of each MaterialX codebase must match those of the associated MaterialX specification, we have slightly less freedom with regard to semver conventions, and we document our current approach here:
We're open to ideas on how to better signal that we don't provide ABI compatibility between MaterialX versions, and here is the current logic that we use to set the VERSION and SOVERSION properties in our CMake process:
from materialx.
Related Issues (20)
- Bump node not working with genglsl
- 1.39 "channels" upgrade issue due to value vs. connection priority logic HOT 1
- 1.39 channels upgrade attempts to create invalid swizzle / extract for float -> float extraction HOT 1
- Validation incorrectly categorizes top level inputs connected to graphs as invalid
- Setting an element's colorspace attribute to empty string has unexpected behavior
- Query: What is supposed to happen with multiple <materialx> tags in a document ? HOT 1
- Cloverleaf placement appears incorrect HOT 7
- Support updating references when renaming a node or nodegraph HOT 1
- ShaderGeneration common initialization
- Shader Generation Regression: Real world units on filenames + target unit not working
- Proposal: Add `thinfilm_weight` input to supporting BSDF nodes HOT 2
- Graph fails on name conflicts across namespaces HOT 4
- HwTimeNode hardcodes frame rate in generated code instead of using the fps uniform
- Survey of type conversions HOT 3
- Allow support for custom nodes that return surfacematerial data HOT 2
- Shader Translation Graph from `standard_surface` to `open_pbr_surface` HOT 3
- [Khronos] MaterialX Specification for glTF texture procedurals HOT 3
- Add implementation of `updirection` node HOT 1
- Graph Editor: Reproducible crash after renaming node HOT 2
- Regression: Top level inputs not working in code generation
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from materialx.