Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
Mesh Data rework #371
What will this do:
Basically making the
magnum-meshconverter file.blend --id "chair" --serialize chair.blob magnum-meshconverter scene.glb --id "tree" --serialize tree.blob ... cat chair.blob tree.blob car.blob > blobs.blob # because why not
auto blob = Utility::Directory::mapRead("blobs.blob"); // yes really const Trade::MeshData& chair = *static_cast<const Trade::MeshData*>(blob.data());
How about making
There could also be a file-header in addition to the blob header which suggests number of chunks making detection of broken chungs easier etc.
Ah, forgot to list the "magic" field in there. Updated. Putting all that into just four bytes seems a bit too crowded, would prevent extensibility with 3rd party chunk types for example.
That's what I explicitly do not want, as then the
@@ Coverage Diff @@ ## master #371 +/- ## ========================================= + Coverage 72.55% 72.9% +0.35% ========================================= Files 354 359 +5 Lines 18854 19130 +276 ========================================= + Hits 13679 13947 +268 - Misses 5175 5183 +8
Not yet sure if I should follow the PixelFormat naming or not. Maybe will change this later.
Better for checking accidents, as picking a wrong primitive / index type can lead to *serious* rendering issues. Similarly to a change done to (Compressed)PixelFormat in 2019.10.
With API analogous to the (relatively) new AnimationData -- with one buffer containing all index data and one buffer containing all vertex data, both meant to be uploaded as-is to the GPU. This will eventually replace MeshData2D and MeshData3D, backwards compatibility and wiring up to other APIs will be done in follow-up commits.