helix-toolkit / helix-toolkit

Helix Toolkit is a collection of 3D components for .NET.
http://helix-toolkit.org/
MIT License
1.85k stars 661 forks source link

SharpDX usage? #437

Closed U-Scripter closed 7 years ago

U-Scripter commented 7 years ago

I used HelixToolkit in my WPF application in order to render some "extremely large" 3D models(up to 5,000,000 points). When I got to that limit, the model got rendered really slowly. Is the HelixToolkit + SharpDX version capable of handling this/ number of points? The SharpDX documentation seems to be all marked as "TODO"... Where should I start??

holance commented 7 years ago

Everything has limit. You can try to render this model using SharpDX. But I would suggest to downsample your model, since 5m points may look like the same as 5k points. Or partition your model into many smaller models and render them on demand.

U-Scripter commented 7 years ago

Thank you so much for your fast response. My model is generated by the marching cubes algorithm. The main reason why I am not decimating the mesh is not how it looks like in the program. It is because the model is going to be 3D printed, and I don't want to reduce the quality of the printed model. This is a medical program, and the printed 3D model is going to be used to perform surgeries, so I can't decimate the model.

holance commented 7 years ago

You can decimate for displaying only right? You can still use the original model for printing.

U-Scripter commented 7 years ago

How didn't I think about that??! You're a boss! Thank you so much!!

Iluvatar82 commented 7 years ago

In my experience it is better to have one object containing a lot of points rather than many simple objects. From a performance point-of-view at least. In my master thesis I had thousands of objects at first, but all the render-calls led to a bad performance. Then I merged all models with the same materials and the result rendered much better :)