cnr-isti-vclab / 3DHOP

3D Heritage Online Presenter
http://www.3dhop.net
GNU General Public License v3.0
154 stars 42 forks source link

Best Tools for Rendering Very Large Meshes with Millions of Vertices/Faces in Browser #47

Open jdcast opened 11 months ago

jdcast commented 11 months ago

I'm new to the space of 3D rendering in the browser. I'd like to be able to render very large meshes (10s of millions of vertices/faces) with ability to annotate on the mesh with meta data as well as selectively show//hide multiple textures on the mesh. While I read through the literature (e.g. https://danielhaehn.com/papers/franke2020modern.pdf), I'm curious if anyone out there can help with the TLDR?

So far, I've put together a small working example using next.js + 3DHOP (which uses the Nexus.js format on meshes) to render a model that has 31 million triangles and 62 million faces. This is great, but, as hinted earlier, I'd like more FE functionality than 3DHOP provides out the box along with the ability to render multiple textures/annotations.

Is modifying 3DHOP the way to go or would it be better to construct something separate more from the ground up just using tools like three.js (I assume this would need to use the smart data structures provided by formatting with Nexus.js)?

Some of the meshes are essentially maps rendered from imaging scans, so I've considered Cesium.js as a possibility too. However, at present I don't need these maps to be rendered geospatially w.r.t. each other so I'm assuming three.js is the better choice then of the two?

I'm aiming for my project to be well built and long-lasting. What are the recommended tool-sets for the task of rendering large meshes in the browser with ability for meta-data annotations and versatility to offer selectively rendering textures with other functionality like distance measuring, etc.