-
-
Notifications
You must be signed in to change notification settings - Fork 35.3k
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
3MFLoader: Add support for Volumetric Implicits #29548
Comments
I have the roughest beginnings of a node parser implementation here: zalo@e279087 |
It occurs to me that I'm in over my head a bit ( zalo@dcabebf )... perhaps it makes more sense to add just a Does TSL even exist in non-webgpu version of three.js? |
@zalo It's confusing but the WebGPURenderer actually have two Backend : WebGL & WebGPU. |
@zalo I recommend to keep TSL generation out of In this way, |
Gotcha; since TSL isn't guaranteed to be present; it doesn't seem to make sense to compile to it in a default lib. I'll keep the exposed I also have it on good authority that the javascript reference implementation for 3mf parsing will include volumetrics support soon, so the third-party ecosystem should have solutions soon regardless. |
Description
3MF files can now contain volumetric implicits defined as operation execution graphs.
The 3MF consortium has released a 3D Modeller for generating .3mf’s with them, similar to nTopology:
https:/3MFConsortium/gladius
This presents an opportunity to make SDF Implicits a first or second-class feature of 3D on the web!
Solution
My proposal would be to bake the execution graphs out to TSL, where a raymarching shader can evaluate them at runtime.
Alternatives
Eventually, a WebGPU Marching Cubes compute shader can take them the rest of the way into mesh-land. 🧐
Additional context
Perhaps PhysicalSDFMaterial can become a default engine material? I imagine they might ingest a TSL graph describing the SDF value and the PBR Rendering properties (diffuse color, normal, specular etc.) given a point in space; enabling it to benefit from improvements made to the main PBRMaterial! By default, they might just sample from a volumetric texture instead of evaluating the implicit programmatically.
Engine integration provides the interface for standardized cross-system interaction, like possibly with physics engines.
The text was updated successfully, but these errors were encountered: