Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FBX Loading #61

Open
Cons-Cat opened this issue Jun 29, 2021 · 4 comments
Open

FBX Loading #61

Cons-Cat opened this issue Jun 29, 2021 · 4 comments
Labels
enhancement New feature or request

Comments

@Cons-Cat
Copy link
Contributor

From what I understand, FBX is currently the favored format for storing 3D data in video games. Compared to OBJ, it contains much more information about materials and animations. Liblava providing the data structures needed for reasoning about this data could make it very productive for building games / simulations. I'm currently using Liblava for building an FBX loader as a school assignment, and when it's finished I may be able to apply that knowledge for implementing into Liblava a more robust FBX loader like OpenFBX (or some alternative) similar to how TinyOBJ is implemented currently.

Do you think this feature is desirable?

@TheLavaBlock
Copy link
Member

Sounds interesting. Support for FBX would be great. It would be a nice wrap up for your school assignment, I guess.

In a very old iteration of the library I also had assimp in it, but that was definitely too much 🙄

glTF is probably the standard everyone is looking for in the future.
But for this I would rather suggest a seperate project/repo (for instance: lava-gltf) which can be linked also in the readme.

Oh yeah, there is even a 3D Commerce Viewer Certification now, which would be very cool 🚀

@TheLavaBlock TheLavaBlock added the enhancement New feature or request label Jul 1, 2021
@Cons-Cat
Copy link
Contributor Author

Cons-Cat commented Jul 6, 2021

I initially misunderstood what OpenFBX does. It's not equivalent to TinyOBJ at all. It's pretty much just a clone of the official FBX SDK under a more free license (FBX SDK doesn't technically allow redistributing its source, you have to sign an agreement to use it, etc.). I haven't found an easy drop-in loader based on OpenFBX yet, but I haven't looked very hard. It may be that this would require a significant amount of original code to implement.

@Cons-Cat
Copy link
Contributor Author

Cons-Cat commented Jul 6, 2021

glTF is probably the standard everyone is looking for in the future.

Personally, I'm not totally convinced. I mean I can't predict the future 😹️ but glTF doesn't seem like a linear improvement to FBX imo. I think it's an interesting alternative with pro's and con's, and may be more suited for certain problem domains, but it has its own set of limitations that I think will keep FBX around for awhile. Especially if tools like NVidia's Omniverse take off, for which I think FBX is better suited.

@Fredrum
Copy link

Fredrum commented Jun 19, 2022

There's also USD which is a pretty common storage format initially created by pixar.
https://github.com/PixarAnimationStudios/USD

Nvidia is pretty keen on USD atm.
https://developer.nvidia.com/usd

Fbx is a bit long in the tooth at this point.

Yes glTF is a dedicated streaming format and comes with 'limitations' to do with that. One major one last I looked was non-support for quad's. Ie polys with four sides. Some people have added quad support themselves but it was not in the main spec/code last I looked.
Good glTF run through video: https://www.youtube.com/watch?v=AQUtL_Y3NF8

Edit: I should also mention Alembic here. https://www.alembic.io/
historically USD was more for static geometry and Alembic was for animated-deforming geometry. But these days that might have become more blurred. Maybe USD can reference-link Alembic data? Or even glTF?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants