What's New
🎧swift on.
SwiftUSD v24.8.12
Add the Usd.References
API for more cleaner reference management in Swift.
Changelog
- Added the
Usd.References
API for more cleaner reference management in swift. - Extended
Usd.Stage
in swift withsetDefaultPrim(_:)
andload(path:policy:)
. - Added
Sdf.Reference
,Sdf.LayerOffset
, andVt.Dictionary
in swift. - Extended
Usd.Prim
in swift withgetReferences()
. - Migrated
Pixar.UsdListPosition
andPixar.UsdLoadPolicy
to enum classes for syntactically cleaner swift cases. - Added new swift/c++ interop macros:
SWIFT_UNCHECKED_SENDABLE
andSWIFT_NONCOPYABLE
.
Thank you, to those who make great things possible.
- @meshula
- @dgovil
- @brechtvl
- @stackotter
- @gracien-app
- @scott-wilson
- @obvgab
- @felfoldy
- Pixar's OpenUSD contributors
Usage
To use this release of Pixar's USD in your swift project, add the following to the dependencies section in your Package.swift file:
// swift-tools-version: 5.10
dependencies: [
.package(url: "https://github.com/wabiverse/SwiftUSD.git", from: "24.8.12")
]
The Wabi Foundation uses SwiftUSD to build the Kraken metaversal creation suite, you can always find an up to date configuration to use for your own Swift project here.
Linux
For Linux, these are the only dependencies required, as MetaverseKit provides everything else.
Tip
If you are on a distro like Ubuntu there is a good chance you already have most of these installed.
Important
If you have installed TBB on your Linux system, it will break the entire std library on Linux, so you must ensure you do not have TBB installed on your system via (ex. sudo apt remove libtbb-dev
), (pending this PR to Swift to fix this).
Dependency | CentOS | Ubuntu |
---|---|---|
Boost | boost-devel | libboost-all-dev |
Python | python3-devel | python3-dev |
BZ2 | bzip2-devel | libbz2-dev |
ZLib | zlib-devel | zlib1g-dev |
FreeGLUT | freeglut-devel | freeglut3-dev |
DEFLATE | libdeflate-devel | libdeflate-dev |
Expat | libexpat-devel | libexpat1-dev |
Xcursor | libXcursor-devel | libxcursor-dev |
Xt | libXt-devel | libxt-dev |
Xi | libXi-devel | libxi-dev |
Xinerama | libXinerama-devel | libxinerama-dev |
Xrandr | libXrandr-devel | libxrandr-dev |