# USD format?

**URL:** <https://discourse.julialang.org/t/usd-format/22064>\
**Category:** Visualization\
**Created:** [March 19, 2019, 5:46pm UTC](https://discourse.julialang.org/t/usd-format/22064 "2019-03-19T17:46:21Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Orbots](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/orbots/32/3392_2.png) [@Orbots](https://discourse.julialang.org/u/Orbots)\
**Post date:** [March 19, 2019, 5:46pm UTC](https://discourse.julialang.org/t/usd-format/22064/1 "2019-03-19T17:46:21Z")

</div>

Are there any current packages around that support USD in some form?  
[https://graphics.pixar.com/usd/docs/Introduction-to-USD.html](https://graphics.pixar.com/usd/docs/Introduction-to-USD.html)

Looks like it’s becoming the way to exchange 3D scenes between applications.

> **[NVIDIA Unveils Omniverse 3D Design Collaboration Platform | NVIDIA Blog](https://blogs.nvidia.com/blog/2019/03/18/omniverse-collaboration-platform/)**
>
> NVIDIA Omniverse lets creative professionals harness multiple applications to create and share scenes across different teams and locations.

I’m interested in sending 3D data from julia over a socket to be visualized/edited on a client. I’ve been making due with my own simple format, but would eventually like to support something standard. Visualization directly from julia would also be handy.

I was kinda pulling for glTF as it’s a “tighter” format, but I’m happy that consensus on a single format appears to be forming.

---

<div class="post-metadata">

**Author:** ![SteffenPL](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/steffenpl/32/206270_2.png) [@SteffenPL](https://discourse.julialang.org/u/SteffenPL)\
**Post date:** [April 16, 2024, 11:14am UTC](https://discourse.julialang.org/t/usd-format/22064/2 "2024-04-16T11:14:44Z")

</div>

I wanted to ask if anything has happened on that front.

Omniverse seems to grow (with NVIDIA warp also digging into more traditional computational domains like FEM). Also, USD could be used for applied research as a quite powerful layer to describe/store scenes.

I’m thinking of wrapping some bits of [GitHub - PixarAnimationStudios/OpenUSD: Universal Scene Description](https://github.com/PixarAnimationStudios/OpenUSD) as I have a project involving NVIDIA warp for which a Julia bridge would be great.

_[But I don’t want to raise expectations. I still struggle to make proper time besides my other research and there are a few other Julia things I really would like to work on.]_

---

<div class="post-metadata">

**Author:** ![Vleer\_Doing](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/vleer_doing/32/215255_2.png) [@Vleer\_Doing](https://discourse.julialang.org/u/Vleer_Doing)\
**Post date:** [February 16, 2025, 6:31pm UTC](https://discourse.julialang.org/t/usd-format/22064/3 "2025-02-16T18:31:57Z")

</div>

I / We would love OpenUSD support!

---

<div class="post-metadata">

**Author:** ![Palli](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/palli/32/3380_2.png) [@Palli](https://discourse.julialang.org/u/Palli)\
**Post date:** [February 16, 2025, 8:39pm UTC](https://discourse.julialang.org/t/usd-format/22064/4 "2025-02-16T20:39:14Z")

</div>

Welcome! FYI: Since you’re new here. It seems to me you could use OpenUSD already with Julia. You can call (C++ and/or) Python, i.e. with PythonCall.jl. That’s my standard answer for Python software. I do not see an exception to using this Python/C++ software from Julia.

I might be wrong. E.g. it’s unclear to me you need this:

> **[GitHub - PixarAnimationStudios/OpenUSD: Universal Scene Description](https://github.com/PixarAnimationStudios/OpenUSD)**
>
> Universal Scene Description

> - PySide6 or PySide2
> - PyOpenGL

What I do not see as a hindrance is quote the “open source” license:

> <https://github.com/PixarAnimationStudios/OpenUSD/blob/dev/LICENSE.txt>

> Note: The Tomorrow Open Source Technology License 1.0 differs from the original Apache License 2.0 in the following manner. Section 6 (“Trademarks”) is different.

It’s not OSI approved. But it gives you more rights than MIT, e.g. patents, but less than Apache, i.e. not trademarks.

Julia insists on open source for registering packages, meaning (to simplify knowing if for sure open source), an OSI approved license.

If you make software from scratch you can do that, but if you port software, you usually use the same license (porting it would be derived, just using the format would be less clear).

Software using this license would not be automatically approved for registration as a package, but I would argue for an exception. A wrapper for this, could be OSI approved(?), should mention license of what it’s wrapping.

Note also for a different dependency (same license, didn’t confirm same exact modification):

> <https://github.com/PixarAnimationStudios/OpenSubdiv/blob/release/LICENSE.txt>
