Comments (2)
Unfortunately at this time custom output types like the struct you have is not supported by code generation.
For the case shown here, the "myoutput" struct will need to be split into two separate outputs on your "myfunc" definition. These can then be connected to (as opposed to members of the output).
For the implementation, I think the following should work:
void myfunc(vec3 in1, vec3 in2, out vec3 color, out float roughness)
{
color = in1 + in2;
roughness = 0.5;
}
```
If not then a nodegraph based implementation may be required.
from materialx.
Thanks for this report, @numega, and @bernardkwok is correct that member elements have never been supported in the MaterialX code generators.
Our current sense is that multi-output nodes are a better solution to the problem that member elements were originally proposed to solve, and we're leaning towards removing member elements from the 1.39 specification.
If you'd like to join the conversation around the 1.39 specification, we'd definitely appreciate your input on the MaterialX channel of the ASWF Slack:
https://www.materialx.org/DiscForum.html
For now, I'll close this original report, and we can continue the discussion on the ASWF Slack as needed.
from materialx.
Related Issues (20)
- 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
- UDIMs uv_scale and uv_offset shader uniform parameters not exposed for tiledimage and UsdUVTexture nodes
- Ambiguity of nodes with omitted inputs HOT 11
- Incorrect UsdPreviewSurface opacity-metallic interaction HOT 5
- Add temporal antialiasing to MaterialX Viewer
- range node does not work with inverted output when clamp is enabled
- GlslRenderer not working in Python virtual environment HOT 19
- Incorrect implementation of SplitTB, RampTB and Ramp4 node types HOT 2
- Incorrect implementation of Convert_Vector2_Vector3 HOT 2
- MaterialX WebGL Path Tracer HOT 3
- Wrap a mtlx document into a nodedef (through API or graphEditor) HOT 7
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.