Comments (2)
That's a good catch, @donmccurdy. But I should note that these are the original reference implementations of the MaterialX nodes in OSL, which were authored many years ago at SPI. The modern OSL code generator for MaterialX uses the following library instead:
https://github.com/materialx/MaterialX/tree/main/libraries/stdlib/genosl
And the implementation of ramp4 in MaterialX 1.38 is now a language-independent node graph:
https://github.com/materialx/MaterialX/blob/main/libraries/stdlib/stdlib_ng.mtlx#L853
This issue is a good reminder, though, that we've long been planning to remove these reference OSL definitions from the repository, replacing them with a script that invokes the OSL code generator to produce reference implementations of each node on demand. This would guarantee that the reference definitions stay in sync with the latest code generators, and would allow us to remove this older set of definitions from the repository.
I'd recommend that we keep this issue active until we follow through on that planned change, replacing the reference OSL definitions with their code-generated equivalents.
from materialx.
Thanks for this report, @donmccurdy, and the hardcoded reference OSL shaders have been replaced with code-generated equivalents in #820. For now, these code-generated reference shaders are uploaded as part of unit tests in GitHub Actions, and in the future we're planning to include them in MaterialX releases.
from materialx.
Related Issues (20)
- Web Viewer: When loading file that contains both surfacematerial and a nodegraph with single output, only one material is displayed HOT 3
- ESSL Shader generation COMPLETE and REDUCED options under/over expose uniforms
- SUG: Make Web Viewer more known publicly HOT 3
- WebViewer: Drag+Drop of materials with image dependencies does not work
- SUG: Add limits to standard library nodes for UI HOT 2
- MaterialX Node Editor Suggestion: Handle Nodegraph Implementations in Non-Library files.
- Add API call to convert channels attributes to nodes
- Add a default value input for geomcolor HOT 4
- Attribute `space` is ignored for `viewdirection` node HOT 1
- Versioning Numerics Of Some bxdf Nodes Incompatable With USD 23.08 HOT 4
- Names defined in MaterialX documents displace library names and cause strange behavior HOT 2
- Graph Editor: Deleting a node with multiple output does not update down-nodes properly
- Update UsdUVTexture to single-output signatures in 1.39
- Add support for disabled nodes in shader generation HOT 1
- Suggestion: Add way to determine MaterialX release used for shipped library / nodes HOT 2
- Suggestion: Publish MaterialX Core Javascript package
- Unable to create nodes with namespace in MaterialX Graph Editor
- UINAME in nodedefs does not work when namespace is used
- Preserve tile aspect ratio in GLSL UDIM texture atlas by allowing maxU to be any value
- Web Viewer : Crash when loading shaders with unsupported input types
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.