1.0.0 • Published 3 years ago

globin v1.0.0

Weekly downloads
-
License
AGPL
Repository
github
Last release
3 years ago

GLoBin 🧬

Three.js-based GLB model viewer

Created for personal use in a specific project, so use cases may be limited, but maybe some parts of the code will still be helpful to someone. The main goal was to make it possible to open dozens of large industrial building models with thousands of elements and millions of polygons while keeping an optimal render performance. Optimized mesh merging to reduce render calls, GPU picking, using only vertex colors, etc. were the ways to achieve it. Target models were static without the need to take into account their internal structure, all the meshes used indexed BufferGeometry and MeshStandardMaterial without textures.

Main features:

Outside of scope:

The support of these possible features are outside of the current module scope and their implementation is implausible unless the module will become popular and there will be a huge amount of requests for additional features, which I think is extremely unrealistic.

External dependencies:

*Mesh ids

A combination of internal model UUID and mesh 'name' field is used as mesh id (${modelUuid}|${meshName}). This id is used for all available manipulations with a mesh (selection/isolation/hiding/coloring etc.). If mesh id is not unique, all manipulations will affect all meshes with this id.

If I find time for this, or if there are any requests, I will add more details to the description.

1.0.0

3 years ago