5 ms·
Pixar's Universal Scene Description Now on Pypi
- mch82 6y ago> Pipelines capable of producing computer graphics films and games typically generate, store, and transmit great quantities of 3D data, which we call "scene description". Each of many cooperating applications in the pipeline (modeling, shading, animation, lighting, fx, rendering) typically has its own special form of scene description tailored to the specific needs and workflows of the application, and neither readable nor editable by any other application. Universal Scene Description (USD) is the first publicly available software that addresses the need to robustly and scalably interchange and augment arbitrary 3D scenes that may be composed from many elemental assets. https://graphics.pixar.com/usd/docs/index.html https://graphics.pixar.com/usd/docs/index.html
- da39a3ee 6y agoThis history section of the docs gives some good context https://graphics.pixar.com/usd/docs/index.html#IntroductiontoUSD-HeritageofUSDatPixar https://graphics.pixar.com/usd/docs/index.html#Introductiont...
- nl 6y agoThe Github source is more useful: https://github.com/PixarAnimationStudios/USD https://github.com/PixarAnimationStudios/USD
- dagmx 6y agoThe reason I shared the PyPi link is that USD is quite a massive build, and this is the first time an official prebuild of the library is available courtesy of Pixar and Nvidia.
- jpm48 6y agoI must say the new build scripts on GitHub work really well now. Our Lab build is built via these scripts. It's also on vcpkg as well if you use that.
- atoav 6y agoFor those curious, this also works in Blender: https://docs.blender.org/manual/en/latest/files/import_export/usd.html https://docs.blender.org/manual/en/latest/files/import_expor...
- ur-whale 6y agoSeems to be export only though
- Uehreka 6y agoThis may not be what Pixar intended, but I see USD as a format for me to export from an editing application (when I’m done) and consume in an AR-based iOS application. If I want to buy and integrate an asset into something I’m working on, I prefer to use .blend files (although I’m willing to settle for FBX and OBJ).
- dagmx 6y agoUSD is an interchange format and runtime. It's meant to preserve as much of the scene as possible as you go between different applications and allow for parallel editing. Houdini is a great example of this. But yes, you can also just use it as a last mile format. Though that's certainly not the main purpose
- cutler 6y agoI can't help wondering when this will be ported to Go. Doesn't performance matter in such a sophisticated technology?
- andybak 6y agoFrom the FAQ: > USD consists of a set of C++ libraries with Python bindings for scripting.
- integricho 6y agoI also can't help but wonder, since when is go considered a performance oriented language :)
- steve_adams_86 6y agoI think people see python as accessible but not very fast. Then they see Go which is fairly accessible but with significantly better performance than python. Why not use Go instead? What people don’t realize when they make that comparison is that the python version of many popular libraries is a light wrapper over a bunch of C++ (or some other really fast language). At least that’s what I figure is going on. I see a lot of people wanting to port stuff to Go. Having said that, Go is awesome for bespoke solutions where you don’t have some python bindings on a C library to do what you need. It’s certainly not a slow language, and its tooling is exceptionally nice to get started with. But what I want to know is when are they going to port PyQT to Go?
- UncleEntity 6y ago> I think people see python as accessible but not very fast. Then they see Go which is fairly accessible but with significantly better performance than python. Why not use Go instead? Most (all?) 3d graphics programs use python as an extension language so they'd have to re-architecture their whole system to use Go programs in place of python. If it's even possible to dynamically load Go programs without having to resort to an Inkscape level of tomfoolery where the extension is called as a separate program and all the data is passed as shell arguments. ...not saying anything is wrong with Inkscape's way of doing things but I sure wish it had a built-in python api.