-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WEB3D_streaming Extension #434
Conversation
…atch proposed extension
I agree about keeping textures separate. |
Does this need to depend on KHR_binary_glTF? Is this because the byte offset and lengths need to be relative to the binary glTF asset and having a single binary blob simplifies the implementation? |
@mlimper at first glance this looks good. Do you mind if I wait until after glTF 1.0 before merging so I can take a closer look at this - or do you want to get this in right away? |
I'm totally fine with waiting until after 1.0. Just a note for the (later) review: |
Yes, I think it would simplify the implementation. It would also easily allow to still use regular Obviously, it would be a drawback if an implementation wants to use this feature, but without using KHR_binary_glTF... for our group at least, this was never a question, using single binary containers per asset (or even for multiple ones) was always more important than streaming them, so the priority / order of implementations was clear. Doesn't need to be like that in general, of course... More opinions on this would be nice. @mthoener Any thoughts about this topic? |
Just did that, worked pretty well! |
@mlimper can you re-open this pull request targeting |
This is a first version of the extension WEB3D_streaming, which introduces
bufferChunks
as an additional concept to facilitate streaming of mesh data with binary glTF (requiring the KHR_binary_glTF extension).Preview:
https://github.com/mlimper/glTF/tree/WEB3D_streaming/extensions/Vendor/WEB3D_streaming
Small remark about
textures
not being mentioned here:In our original paper, we also proposed a concept to progressively deliver MIP levels of textures within several chunks. We believed that this could be useful when using compressed textures, since you'll usually deliver pre-computed, compress MIP levels. It introduced an additional layer between texture and chunks, called "TextureImage" (i.e., one MIP level). However, for the sake of simplicity, and to keep things well-structured, this was left out for now, it could be discussed and added as part of a different extension.