CesiumGS / gltf-pipeline

Content pipeline tools for optimizing glTF assets. :globe_with_meridians:

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Simple GLTF won't compress

eddjharrison opened this issue · comments

I have a simple gltf of terrain data, generated from the following vtk and following code:

gltf-pipeline_vtk.vtk.zip

`import pyvista as pv

o = pv.read("gltf-pipeline_vtk.vtk")
p = pv.Plotter()
_ = p.add_mesh(o)

p.export_gltf("test.gltf", save_normals=True, inline_data=True)`

then running in CLI
gltf-pipeline -I test.gltf -o out-test.gltf --draco.compressionLevel 7

I don't get a "useable" error, just:

Error at new RuntimeError (/usr/local/lib/node_modules/gltf-pipeline/node_modules/cesium/Build/CesiumUnminified/index.cjs:21740:11) at /usr/local/lib/node_modules/gltf-pipeline/lib/compressDracoMeshes.js:269:15 at Function.ForEach.meshPrimitive (/usr/local/lib/node_modules/gltf-pipeline/lib/ForEach.js:239:21) at /usr/local/lib/node_modules/gltf-pipeline/lib/compressDracoMeshes.js:143:13 at Function.ForEach.object (/usr/local/lib/node_modules/gltf-pipeline/lib/ForEach.js:44:21) at Function.ForEach.topLevel (/usr/local/lib/node_modules/gltf-pipeline/lib/ForEach.js:63:18) at Function.ForEach.mesh (/usr/local/lib/node_modules/gltf-pipeline/lib/ForEach.js:230:18) at compress (/usr/local/lib/node_modules/gltf-pipeline/lib/compressDracoMeshes.js:142:11) at /usr/local/lib/node_modules/gltf-pipeline/lib/compressDracoMeshes.js:59:14 at tryCatcher (/usr/local/lib/node_modules/gltf-pipeline/node_modules/bluebird/js/release/util.js:16:23) at Promise._settlePromiseFromHandler (/usr/local/lib/node_modules/gltf-pipeline/node_modules/bluebird/js/release/promise.js:547:31) at Promise._settlePromise (/usr/local/lib/node_modules/gltf-pipeline/node_modules/bluebird/js/release/promise.js:604:18) at Promise._settlePromiseCtx (/usr/local/lib/node_modules/gltf-pipeline/node_modules/bluebird/js/release/promise.js:641:10) at _drainQueueStep (/usr/local/lib/node_modules/gltf-pipeline/node_modules/bluebird/js/release/async.js:97:12) at _drainQueue (/usr/local/lib/node_modules/gltf-pipeline/node_modules/bluebird/js/release/async.js:86:9) at Async._drainQueues (/usr/local/lib/node_modules/gltf-pipeline/node_modules/bluebird/js/release/async.js:102:5) { message: 'Error: Draco encoding failed.' }

Any ideas on what's causing the error?

The message "Error: Draco encoding failed" appears to be a generic one, and Draco itself does not seem to provide further details of why the encoding failed.

Does the .gltf file pass validation via https://github.khronos.org/glTF-Validator/ ?

  • No: You'll have to fix that first...
  • Yes: Can you provide the .gltf file?

Closing, was non gltf-pipeline related after all. cheers.