Closed wallabyway closed 4 years ago
Thanks, the results from gltfpack are impressive!
One thing I've been wondering about lately is: should we keep adding different post-processing modules (like gltf-pipeline
, or gltfpack
in this case) to forge-convert-utils
, or should we position the library as "a pipeline module you can chain with other tools unix-style"? I'm thinking the latter would make more sense, because:
forge-convert-utils
would not be restricted to specific libraries and versions that we bundle in; they could just take the gltf that we generate and post-process it with any tool/version they wantgltfpack
is doing since meshoptimizer is a C++ library), it makes it really difficult to use your library in Electron apps; for example, after I added sqlite
dependency to this library, I was no longer able to use it in the VSCode extension...What do you think?
Btw. here's a new branch that illustrates the idea: https://github.com/petrbroz/forge-convert-utils/tree/experiment/separate-postproc. It removes all the post-proc dependencies, and instead provides examples of how you can integrate forge-convert-utils
with other tools, for example: https://github.com/petrbroz/forge-convert-utils/blob/experiment/separate-postproc/test/remote-svf-to-gltf.sh.
Agreed. My hunch is for separate-postproc
and use a script remote-svf-to-gltf.sh
It's too soon to pick a compression and optimize. Better to remain agile.
I've merged https://github.com/petrbroz/forge-convert-utils/tree/experiment/separate-postproc to develop
. The example shell script now post-processes the glTF using gltfpack
if available: https://github.com/petrbroz/forge-convert-utils/blob/develop/test/remote-svf-to-gltf.sh#L41-L44.
I'm also adding an experimental Docker image as a quick way to start experimenting with the different post-processing tools. If you run:
docker pull petrbroz/forge-convert-utils
docker run --rm -it petrbroz/forge-convert-utils /bin/bash
... you have forge-convert-utils
, gltf-pipeline
, and gltfpack
all available at your disposal.
Deux compression is this... https://github.com/zeux/meshoptimizer
This is an alternative option to Draco.
This compression has shown favorable file sizes for AEC models compared to Draco (see here: https://github.com/KhronosGroup/glTF/issues/1699#issuecomment-565499098)
Secondarily - the wasm file size appears smaller, and the decoder performance is currently faster.