Hacker News new | past | comments | ask | show | jobs | submit login

glTF is actually pretty good. It just's fairly minimal and lacks support for an entire scene description, lacking important features such as LODs.

Coincidentally, I help develop the Bevy game engine, and I was just talking to people about working on a bevy_usd library. From what they told me, USD is extremely complicated, and the "spec" is basically just the C++ source code. I was warned not to bother. Imo it would be better if glTF just got more support and extensions.




Yeah, working with OpenUSD in Rust is difficult. There's been a bit of work on Rust bindings but it's not ready at the moment (https://github.com/vfx-rs/usd-bind). I believe you need the c++ code base locally for the bindings, which adds an extra barrier for development.

A full Rust port of OpenUSD would be very ambitious. It's quite complicated (e.g. the OpenUSD composition rules) and depends on other vfx c++ libraries.

I've been experimenting with implementating a subset of OpenUSD in Rust, but there's lots of challenges given the original codebase. E.g. the c++ code uses lots of base classes, downcasting and there's no lifetime information. It's possible to port these across, but gets ugly in the details (e.g. trying to avoid non-static downcasting in Rust). It would take a lot of effort to do a total idiomatic rewrite given the size of the codebase and how interconnected the pieces are in OpenUSD. I still think it's worth pursuing though, OpenUSD is great.


That gives me serious collada vibes. I've been out of the space for ~6 years but I recall that collada was the thing that was supposed to solve all of this, looks like it didn't really take off.


Colada was really under specified and support was super fractured. It never really gained traction as a result outside of very specific pipelines


This is the dark secret to USD: pretty much everyone is relying on the same massive C++ project!

Projects that want leaner dependencies, like everything on the web, don’t yet have a good way to work with USD.


>Projects that want leaner dependencies, like everything on the web

Did the web suddenly switch to WebASM overnight or do we have a different definition on "lean dependencies"? using any of the popular JS frameworks seems to bring in a few hundred dependencies alone.


By lean I mean the OpenUSD Wasm binary is over 10mb, last I checked.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: