question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Consider option for splitting mesh into different buffers

See original GitHub issue

I recently wrote a quick, experimental script (https://github.com/donmccurdy/glTF-Split) for splitting an existing glTF asset such that different meshes’ accessors are stored in different buffers (and different .bin files). This provides some options for loaders to request data incrementally, which we’re getting close to supporting in three.js. For example:

gltf-split original.gltf --output split/split.gltf --meshes MeshA,MeshB

# Input: original.gltf
# Output: split.gltf, MeshA.bin, MeshB.bin

Disclaimer: I don’t really know if splitting based on mesh name is really a practical workflow, see https://github.com/KhronosGroup/glTF-Blender-Exporter/issues/293. There are probably other/better ways it could be done, but this is simple and requires no changes or extensions to the glTF spec.

@FrankGalligan mentioned there was some similar code in gltf-pipeline already (https://github.com/AnalyticalGraphicsInc/gltf-pipeline/commit/65f9b3789bbf9cf1d95d44ca5dd703ccd6007f56#diff-df853e0500f56f09b6fecbdba9dcafdeR76). Do you think this makes sense as a feature in glTF-Pipeline, or is better left to other tools?

Issue Analytics

  • State:closed
  • Created 5 years ago
  • Comments:6

github_iconTop GitHub Comments

1reaction
emackeycommented, Sep 29, 2020

@Algorush This kind of question is better suited for the Khronos Forums or Stack Overflow, rather than at the bottom of an old closed issue on some project’s issue tracker.

That said, glTF comes in different forms. The GLB form is a binary bundle (*.glb) that embeds a single buffer, with all needed binary data rolled into it. But the other form of glTF (*.gltf) allows references to external resources such as .bin files, and in that case yes, you can have references to multiple bin files from the buffers array in the JSON.

0reactions
Algorushcommented, Sep 29, 2020

Hello! Can anyone please tell me, does the GLTF 2 standard provide for multiple bin files for one GLTF?

Read more comments on GitHub >

github_iconTop Results From Across the Web

Buffer | glTF-Transform - Don McCurdy
In glTF-Transform, an Accessor is referenced by any property that requires numeric typed array data. Meshes, Primitives, and Animations all reference Accessors.
Read more >
Geometry Group - Pixyz Software
Use 16Bit buffers: Use this setting if you wish to create meshes limited to 65k vertices. Meshes will be created with a 16...
Read more >
Split Vertex Buffers Into Position and Interleaved Attribute ...
For shadow rendering I use a separate array of only welded vertices in order.to minimize bandwidth and maximize cache usage.
Read more >
Vertex Specification Best Practices - OpenGL Wiki
When rendering multiple different meshes, try to organize your data so that as many meshes as possible reside in the same buffer object...
Read more >
A buffer placement algorithm to overcome short-circuit power ...
In this algorithm, minimum sized buffers are placed at all the mesh nodes initially. Then, buffers are sized using sensitivity-based linear programming method....
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found