Comments (6)
Support for custom float attributes added in a164eb2.
from tmf.
Supporting arbitrary vertex attributes would not be hard, but those attributes would receive little to no size reduction due to the compression algorithm requiring a lot of insight into data stored. Since knowing what is stored accounts for most of the savings (normals being unit vectors, uvs being in the range 0.0-1.0), a lot of savings comes from code which differs for each attribute. So custom vertex attributes would be mostly compression-less. The compression-less variant could be added in a couple of work hours.
A much better approach would be to have dedicated format segments for those attributes. Knowing their properties could allow for them to be compressed. Would you mind opening issues for each kind of data your use case requires?
from tmf.
d9a5be3 adds some groundwork for supporting custom mesh data. API will be a bit more involved than the one proposed (many kinds of CustomData
), but all custom data will be compressed.
Planned supported data kinds:
- CustomIndex
- CustomFloat
- CustomVetor2
- CustomVector3
- CustomVector4
- CustomColor(Vector4 with components of between 0.0 and 1.0)
- CustomUnit2(Vector2 of length 1)
- CustomUnit3(Vector3 of length 1)
This data may reuse some of the compression architecture and would be compressed to comparable levels as other mesh data.
Each custom segment should have a unique name of between 1 and 255 characters.
from tmf.
Awesome. This is way beyond any expectation. It's definitively not a deal breaker to not have access to extra attributes, but it's very handy. I'll open a feature request for tangents.
from tmf.
d38894d adds support for saving/reading custom indices with a name of up to 255 characters. All the groundwork for saving other data types is there, only thing left to implement is the glue code to decode the data in other types of custom segments.
from tmf.
Support for RGBA colors added in 6f7598a.
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
- Question: Why have distinct index buffers per attribute? HOT 2
- [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.