manyfold3d / manyfold

A self-hosted digital asset manager for 3d print files.
https://manyfold.app
MIT License
742 stars 47 forks source link

Publish draft progressive mesh format spec #1276

Closed Floppy closed 5 months ago

Floppy commented 1 year ago

I've got an idea for a more efficient way of transmitting the 3d files, so that you can work with them quicker, based on something I saw decades ago when working on my PhD. We could use https://en.wikipedia.org/wiki/Progressive_meshes to turn a large model into a stream of points/edges/etc, each of which improves the model slightly. This would mean that you get much faster feedback when loading models.

NLNet milestone 2.1

Floppy commented 1 year ago

I see that @hhoppe has some code here on GitHub (specifically https://github.com/hhoppe/Mesh-processing-library) that we might be able to port to use the progressive mesh compression, though I'm still looking around to see if it's been built into any existing file/transmission standard format.

Floppy commented 1 year ago

Oh, interesting, there was an implementation of it in DirectX8 and early 9, but it's been dropped: https://learn.microsoft.com/en-us/windows/win32/direct3d9/mesh-support-in-d3dx

Floppy commented 7 months ago

I'm thinking this should be done as a GLTF extension... at the moment anyway.

Floppy commented 5 months ago

Drafted an extension proposal at https://github.com/manyfold3d/glTF/tree/MANYFOLD_mesh_progressive/extensions/2.0/Vendor/MANYFOLD_mesh_progressive#readme - will need refinement and checking, but it's there.