Comments (8)
The glTF toolkit is a set of methods on a library, not an executable pipeline. We do have one executable pipeline for Windows Mixed Reality, but the idea for other use cases would be that you would pick and choose what optimizations you want and make your own executable by calling the appropriate library methods.
from gltf-toolkit.
Thanks for the comments @donmccurdy ! Glad to be of help. About your specific comments:
- Unix systems: I'm all for it, just don't have the bandwidth or the expertise. PRs welcome!
- Merge meshes with shared materials: Sounds interesting, don't know exactly what that would entail.
- Strip attributes: @mhurliman is adding some optimizations from DirectXMesh; I don't think they strip anything but in the same vein should be pretty simple to implement. Do you have specifics?
- Merge animated assets: How would we guarantee that the "static" part of the asset is the same? The implementation is again simple but the requirements may vary a lot.
Once again thanks and of course you're more than welcome to contribute to the toolkit.
Thanks!
Roberto
from gltf-toolkit.
Unix systems
+1 for Linux support as bandwidth allows. The Cesium team would certainty use glTF-Toolkit in our geospatial content pipeline if we could run it on our Linux-based servers.
This would also open up glTF-Toolkit to a larger contributor community.
from gltf-toolkit.
Merge animated assets
See issue on FBX2glTF; i think the expectation would be that the skeleton has identical structure and matching node names. But perhaps this issue makes more sense on FBX2glTF... hopefully direct-to-glTF tooling will begin supporting multiple animations soon.
from gltf-toolkit.
Merge meshes with shared materials
I think the idea is to reduce draw calls by batching the geometry directly. So if a gltf has 30 meshes with a blue
material and 30 with red
, ideally glTF-Toolkit
would be able to detect that many meshes are sharing a material and combine them into one large mesh. So 60 draw calls gets reduced to 2.
Cesium can do this with internal geometry types, and gltf-pipeline
can also do this to some extent.
from gltf-toolkit.
Merge meshes with shared materials
So if I'm right there're some situations where it'd better not to merge, for example
- skinned mesh
- mesh with transparent material
- user wanna control meshes' transforms separately
correct? And any other situations?
from gltf-toolkit.
IMO merging meshes would need to be an opt-in flag; even with skinned meshes or transparent materials, the user might or might not want that optimization.
from gltf-toolkit.
Thanks for sharing your thoughts. I wanted to share that the merging meshes technique isn't a perfect solution and has some limitations to help you know the technique well.
from gltf-toolkit.
Related Issues (20)
- crash HOT 3
- Packing crashes if the packed textures don't have the same size
- WindowsMRAsset Converter -replace-textures flag causes conversion to fail HOT 2
- Cant work with GLTF HOT 2
- NDEBUG missing from Release configuration? HOT 1
- LOD merge with tangents fails
- -replace-textures flag does not work
- WindowsMRAssetConverter Could not parse accessor 0 HOT 7
- Redundant textures in output after specular gloss -> metal rough conversion HOT 1
- NormalRoughnessMetallic packing needs to renormalize normals and compute roughness from normal variance
- Basic models from Pain3D: Can't place hologram HOT 1
- We couldn't load the selected model, Please try agian later HOT 1
- Project does not build in VS 2019
- Sample glTF files fail to load in Microsoft's own software HOT 1
- Existing mesh serializing
- "Cannot read the magic number"
- Need help with MSFT_LOD generation for Threejs HOT 4
- Need help with creating draco mesh straight from gltf-sdk
- Link to documentation dead
- This repo is missing important files HOT 3
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 gltf-toolkit.