Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

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

Suggestion: Three.js example on on homepage: https://elalish.github.io/manifold/ #76

Closed
bhouston opened this issue Feb 28, 2022 · 6 comments

Comments

@bhouston
Copy link

Once you have a Three.js example, it would be nice to feature it on the homepage of manifold with some type of impressive animation. Two objects moving relatively to each other and showing the complex intersection being resolved by this library in real time. That would immediately sell people on the value of this library.

@elalish
Copy link
Owner

elalish commented Feb 28, 2022

Again, I think you miss the point of what this library does; it's not intended to be a real-time solution. It's intended to make very complicated designs possible without fear of crashing the CAD program or taking forever to generate.

@bhouston
Copy link
Author

What is the performance of this library? Is there numbers you can share?

@bhouston bhouston changed the title Three.js example on on homepage: https://elalish.github.io/manifold/ Suggestion: Three.js example on on homepage: https://elalish.github.io/manifold/ Feb 28, 2022
@FishOrBear
Copy link

I think we are all evaluating whether this library can be compiled to wasm and then used on a web 3d editor.

@elalish
Copy link
Owner

elalish commented Mar 30, 2022

That would be great. Do you have any experience with building WASM?

@fire
Copy link
Contributor

fire commented Apr 5, 2022

It should be technically possible to compile the library to wasm and then execute from three js rendering mesh buffers.

@elalish Did you remove the CUDA dependency?

@elalish
Copy link
Owner

elalish commented Apr 5, 2022

CUDA is not exactly a dependency; this library uses Nvidia's Thrust which can target either CUDA, OMP, or standard C++ backends. For instance, the tests in Github actions all use the C++ backend as they don't give us machines with GPUs. A CMake flag chooses the backend you wish to build.

It may be possible to build the C++ version as WASM, though it would be single-threaded (still pretty fast though). Long term, I think the ideal thing would be to build WASM using WebGPU compute kernels. I would imagine someone is working on making C++17 parallel algorithms (which is based on and very similar to Thrust) compile to WASM with WebGPU, but it hasn't happened yet as far as I know. I would rather wait for a compiler stage like that to exist than try to jump right onto the bleeding edge myself.

Repository owner locked and limited conversation to collaborators May 13, 2022
@elalish elalish converted this issue into discussion #117 May 13, 2022

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants