GithubHelp home page GithubHelp logo

Pipeline features about gltf-toolkit HOT 8 OPEN

microsoft avatar microsoft commented on July 23, 2024 2
Pipeline features

from gltf-toolkit.

Comments (8)

robertos avatar robertos commented on July 23, 2024 1

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.

robertos avatar robertos commented on July 23, 2024

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.

pjcozzi avatar pjcozzi commented on July 23, 2024

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.

donmccurdy avatar donmccurdy commented on July 23, 2024

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.

likangning93 avatar likangning93 commented on July 23, 2024

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.

takahirox avatar takahirox commented on July 23, 2024

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.

donmccurdy avatar donmccurdy commented on July 23, 2024

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.

takahirox avatar takahirox commented on July 23, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.