Comments (6)
Hi @fire actually I have it in a scratch branch here on my machine but unfortunately didn't continue on with it due to other commitments. I can push what I have to my fork when I get around to it if you'd like, so it's not wasted work.
Cheers
from materialx.
Hi @boberfly, this sounds like a very reasonable proposal to me, and I could imagine a wrapper mechanism similar to the one in SPIRV-Cross, where a library-wide helper function selects between throwing exceptions and exiting the program with an error message.
If we took this approach in MaterialX, we would likely want to add an Exception.h header to MaterialXCore, which would define the appropriate wrapper functions and include <exception> only when required.
Let us know how your plans proceed, and we'd be open to a pull request if you find that you need the ability to disable exceptions in your runtime.
from materialx.
I've already started something similar to what SPIRV-Cross is doing locally here. I'll see how I go time-wise and propose a PR. Currently it is a bunch of macros everywhere and modifying MaterialXCore/Library.h, but I only modified the modules that were needed eg. Core/Format/GenGlsl/GenShader so far.
I'll continue with this with a test project to see how it works in practice.
Cheers
from materialx.
How is the progress on removing exceptions? This is still important for game engines like Godot Engine.
(This was in the wrong thread.)
from materialx.
@boberfly Thanks for your offer.
This is a notification! \o\
from materialx.
@boberfly I'm going to close out this issue for now, but it sounds like a good feature proposal, and feel free to revisit this issue if you have the bandwidth to move it forward.
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 HOT 1
- 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 7
- MaterialX WebGL Path Tracer HOT 3
- Wrap a mtlx document into a nodedef (through API or graphEditor) HOT 8
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.