Comments (2)
Those are not copies of the same buffer. The each have different data and sizes. This allows the normal, uv, and vertex position buffers to be different sizes too.
As an example, a mesh of voxels consists may consist of any number of points sharing UV coordinates. Without different buffers, the number of UV coordinates would have to match the number of voxel coordinates. In a case of a voxel mesh with 10 000 vertices, that would be at least 9 000 additional UV coordinates, which would ballon the file size.
This also allows merging of some data(not all) of two unrelated vertices. Two vertices may share the same normal, but have different uvs and positions. If there was only one index buffer, there would be nothing that can be done. With 3 buffers, the normal may be saved only once, saving space.
from tmf.
I see, I understand. This makes sense. I've not fiddled enough with rendering to see this use case, it's obvious in insight. Thank you for the thorough response.
I think it's enough for this issue. I might have follow up questions later.
from tmf.
Related Issues (12)
- [FEATURE] Tangent vertex attribute HOT 8
- [BUG] Triangle segment spilling has some weird issues. HOT 2
- Octahedron normals HOT 3
- Delta encoding [FEATURE] HOT 1
- Shared Index Segment Type[FEATURE] HOT 4
- [META] Preparations for 0.2: What is missing.
- How does this compare to draco? HOT 6
- [FEATURE] Support for quads HOT 1
- Add size comparisons with GLTF HOT 2
- [FEATURE] Support arbitrary vertex attributes HOT 6
- [BUG] tmf Doesn't compile with the `fast_trig` feature enabled HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tmf.