Releases: wabiverse/SwiftUSD
v24.8.12
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 |
v24.8.11
What's New
🎧swift on.
SwiftUSD v24.8.11
Add support for creating instances of UsdImagingGL.Engine
from Swift.
Changelog
-
Removed a dependency which may strangely break visionOS versions older than 2.
- Note: the version of Xcode that GitHub actions is using is too old, but SwiftUSD successfully builds on visionOS v2 and later.
-
Temporarily remove the bundled stdlib shader resources from MaterialX, due to the metal shader compilation in Swift Bundler not yet being able to compile metal shaders contextualized within their source code tree, currently it's limited to just compiling them one by one (without any source code context, so includes within metal shaders and things fail until we get around to supporting that in the bundler).
- Adds an additional patch to ensure the
MXResources/libraries
directory is fully excluded in SwiftPM, else errors to compile the shaders may still occur in some instances.
- Adds an additional patch to ensure the
-
Add Swift support for
UsdImagingGL.Engine
. -
Add Swift support for
Gf.Frustum
. -
Fix various Microsoft Windows compilation errors, nearly bringing support for Microsoft Windows, all of the C/C++ side successfully builds, there's just a couple places where Swift/C++ interop on windows does not like the fact that smart pointers are used on types also marked with
SWIFT_IMMORTAL_REFERENCE
(also known as reference pointers), which allegedly "is not currently supported in C++ interop", however Swift currently supports this just fine on all other platforms (all Darwin platforms as well as on Linux), so this needs revisiting. -
Bring over the main USD imaging libraries to Swift.
- HdAr
- HdMtlx
- HdSi
- HdSt
- Hdx
- UsdImaging
- UsdImagingGL
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.11")
]
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 |
v24.8.10
What's New
🎧swift on.
SwiftUSD v24.8.10
Add support for creating instances of UsdImagingGL.Engine
from Swift.
Changelog
-
Temporarily remove the bundled stdlib shader resources from MaterialX, due to the metal shader compilation in Swift Bundler not yet being able to compile metal shaders contextualized within their source code tree, currently it's limited to just compiling them one by one (without any source code context, so includes within metal shaders and things fail until we get around to supporting that in the bundler).
- Adds an additional patch to ensure the
MXResources/libraries
directory is fully excluded in SwiftPM, else errors to compile the shaders may still occur in some instances.
- Adds an additional patch to ensure the
-
Add Swift support for
UsdImagingGL.Engine
. -
Add Swift support for
Gf.Frustum
. -
Fix various Microsoft Windows compilation errors, nearly bringing support for Microsoft Windows, all of the C/C++ side successfully builds, there's just a couple places where Swift/C++ interop on windows does not like the fact that smart pointers are used on types also marked with
SWIFT_IMMORTAL_REFERENCE
(also known as reference pointers), which allegedly "is not currently supported in C++ interop", however Swift currently supports this just fine on all other platforms (all Darwin platforms as well as on Linux), so this needs revisiting. -
Bring over the main USD imaging libraries to Swift.
- HdAr
- HdMtlx
- HdSi
- HdSt
- Hdx
- UsdImaging
- UsdImagingGL
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.10")
]
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 |
v24.8.9
What's New
🎧swift on.
SwiftUSD v24.8.9
Add support for creating instances of UsdImagingGL.Engine
from Swift.
Changelog
-
Temporarily remove the bundled stdlib shader resources from MaterialX, due to the metal shader compilation in Swift Bundler not yet being able to compile metal shaders contextualized within their source code tree, currently it's limited to just compiling them one by one (without any source code context, so includes within metal shaders and things fail until we get around to supporting that in the bundler).
-
Add Swift support for
UsdImagingGL.Engine
. -
Add Swift support for
Gf.Frustum
. -
Fix various Microsoft Windows compilation errors, nearly bringing support for Microsoft Windows, all of the C/C++ side successfully builds, there's just a couple places where Swift/C++ interop on windows does not like the fact that smart pointers are used on types also marked with
SWIFT_IMMORTAL_REFERENCE
(also known as reference pointers), which allegedly "is not currently supported in C++ interop", however Swift currently supports this just fine on all other platforms (all Darwin platforms as well as on Linux), so this needs revisiting. -
Bring over the main USD imaging libraries to Swift.
- HdAr
- HdMtlx
- HdSi
- HdSt
- Hdx
- UsdImaging
- UsdImagingGL
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.9")
]
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 |
v24.8.8
What's New
🎧swift on.
SwiftUSD v24.8.8
Add support for creating instances of UsdImagingGL.Engine
from Swift.
Changelog
-
Add Swift support for
UsdImagingGL.Engine
. -
Add Swift support for
Gf.Frustum
. -
Fix various Microsoft Windows compilation errors, nearly bringing support for Microsoft Windows, all of the C/C++ side successfully builds, there's just a couple places where Swift/C++ interop on windows does not like the fact that smart pointers are used on types also marked with
SWIFT_IMMORTAL_REFERENCE
(also known as reference pointers), which allegedly "is not currently supported in C++ interop", however Swift currently supports this just fine on all other platforms (all Darwin platforms as well as on Linux), so this needs revisiting. -
Bring over the main USD imaging libraries to Swift.
- HdAr
- HdMtlx
- HdSi
- HdSt
- Hdx
- UsdImaging
- UsdImagingGL
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.8")
]
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 |
v24.8.7
What's New
🎧swift on.
SwiftUSD v24.8.7
Add support for creating instances of UsdImagingGL.Engine
entirely in Swift.
Changelog
-
Thanks to the mighty @dgovil, his PR to OpenUSD has brought support for USD's imaging libraries to iOS & visionOS. 🎉
-
Bring in OpenUSD's ObjC implementation of HgiMetal, previously migrated to C++ to handle all
retain/release
calls because @furby-tm was not knowledgeable that having ARC enabled in ObjC code was powerful enough to handle allretain/release
calls automatically. 😅 -
Corrected imports in
(.glslfx)
files (NOTE: none of this is tested, utilize these at your own peril until the USDView application in this repo is fully implemented, and I have had a chance to test it). -
Fixed duplicated Garch source.
-
Ensuring HgiInterop compiles in ObjC (not C++!) mode on apple platforms.
-
Bring over the main USD imaging libraries to Swift.
- HdAr
- HdMtlx
- HdSi
- HdSt
- Hdx
- UsdImaging
- UsdImagingGL
-
Hotfix for the
<functional>
header not being included in HdSt/glslProgram.h. -
Bump SwiftSyntax to Swift 5.10, as we prepare to introduce the SwiftCrossUI dependency, to build a cross-platform UsdView application completely in Swift.
-
Removed SwiftBundler as a package dependency from MetaverseKit, we are working on getting the bundler in shape to build cross-platform apps (namely SwiftUSD & UsdView) across Linux, visionOS, iOS, macOS, and Windows, the recommended method to use the bundler is for users to install the bundler locally following these instructions.
-
Fixes any build issues on macOS and Linux after the recent changes to MetaverseKit to allow for Microsoft Windows support.
- Nothing yet to report on Microsoft Windows (or Wasm) support, this is being worked on and will be coming in a future release of SwiftUSD.
-
Fixes all threading issues which caused crashing when reading and writing binary usd files (.usd, .usdc).
-
Fix a iOS build error related to incorrectly trying to link OpenGL (thanks @felfoldy!).
-
Supports building SwiftUSD with projects like Vapor for Swift on Server.
-
Allow creation/retrieval of USD stages from stage cache.
- See this working example to learn how to work with
UsdStageCache
in Swift.
- See this working example to learn how to work with
-
Examples application (beginning a repository of example use cases).
-
Various initial work around creating an OpenUSD version upgrader/downgrader.
-
Begin work for allowing proper subclassing and inheritance overrides of C++ virtual methods from Swift.
-
Adds a new optional parameter to
Pixar.Bundler
, in order to allow for explicit runtime auto-installation of all USD plugins when settinginstallPlugins: true
(a requirement on iOS and visionOS devices)// usage like so: Pixar.Bundler.shared.setup(.resources, installPlugins: true)
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.6")
]
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 |
v24.8.6 | iOS & visionOS
What's New
🎧swift on.
SwiftUSD v24.8.6
Add support for USD imaging on iOS & visionOS.
Changelog
-
Thanks to the mighty @dgovil, his PR to OpenUSD has brought support for USD's imaging libraries to iOS & visionOS. 🎉
-
Bring in OpenUSD's ObjC implementation of HgiMetal, previously migrated to C++ to handle all
retain/release
calls because @furby-tm was not knowledgeable that having ARC enabled in ObjC code was powerful enough to handle allretain/release
calls automatically. 😅 -
Corrected imports in
(.glslfx)
files (NOTE: none of this is tested, utilize these at your own peril until the USDView application in this repo is fully implemented, and I have had a chance to test it). -
Fixed duplicated Garch source.
-
Ensuring HgiInterop compiles in ObjC (not C++!) mode on apple platforms.
-
Bring over the main USD imaging libraries to Swift.
- HdAr
- HdMtlx
- HdSi
- HdSt
- Hdx
- UsdImaging
- UsdImagingGL
-
Hotfix for the
<functional>
header not being included in HdSt/glslProgram.h. -
Bump SwiftSyntax to Swift 5.10, as we prepare to introduce the SwiftCrossUI dependency, to build a cross-platform UsdView application completely in Swift.
-
Removed SwiftBundler as a package dependency from MetaverseKit, we are working on getting the bundler in shape to build cross-platform apps (namely SwiftUSD & UsdView) across Linux, visionOS, iOS, macOS, and Windows, the recommended method to use the bundler is for users to install the bundler locally following these instructions.
-
Fixes any build issues on macOS and Linux after the recent changes to MetaverseKit to allow for Microsoft Windows support.
- Nothing yet to report on Microsoft Windows (or Wasm) support, this is being worked on and will be coming in a future release of SwiftUSD.
-
Fixes all threading issues which caused crashing when reading and writing binary usd files (.usd, .usdc).
-
Fix a iOS build error related to incorrectly trying to link OpenGL (thanks @felfoldy!).
-
Supports building SwiftUSD with projects like Vapor for Swift on Server.
-
Allow creation/retrieval of USD stages from stage cache.
- See this working example to learn how to work with
UsdStageCache
in Swift.
- See this working example to learn how to work with
-
Examples application (beginning a repository of example use cases).
-
Various initial work around creating an OpenUSD version upgrader/downgrader.
-
Begin work for allowing proper subclassing and inheritance overrides of C++ virtual methods from Swift.
-
Adds a new optional parameter to
Pixar.Bundler
, in order to allow for explicit runtime auto-installation of all USD plugins when settinginstallPlugins: true
(a requirement on iOS and visionOS devices)// usage like so: Pixar.Bundler.shared.setup(.resources, installPlugins: true)
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.6")
]
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 |
v24.8.5 | Metal 🤘
What's New
🎧swift on.
SwiftUSD v24.8.5
Match HgiMetal ObjC implementation with OpenUSD.
Changelog
-
Bring in OpenUSD's ObjC implementation of HgiMetal, previously migrated to C++ to handle all
retain/release
calls because @furby-tm was not knowledgeable that having ARC enabled in ObjC code was powerful enough to handle allretain/release
calls automatically. 😅 -
Corrected imports in
(.glslfx)
files (NOTE: none of this is tested, utilize these at your own peril until the USDView application in this repo is fully implemented, and I have had a chance to test it). -
Fixed duplicated Garch source.
-
Ensuring HgiInterop compiles in ObjC (not C++!) mode on apple platforms.
-
Bring over the main USD imaging libraries to Swift.
- HdAr
- HdMtlx
- HdSi
- HdSt
- Hdx
- UsdImaging
- UsdImagingGL
-
Hotfix for the
<functional>
header not being included in HdSt/glslProgram.h. -
Bump SwiftSyntax to Swift 5.10, as we prepare to introduce the SwiftCrossUI dependency, to build a cross-platform UsdView application completely in Swift.
-
Removed SwiftBundler as a package dependency from MetaverseKit, we are working on getting the bundler in shape to build cross-platform apps (namely SwiftUSD & UsdView) across Linux, visionOS, iOS, macOS, and Windows, the recommended method to use the bundler is for users to install the bundler locally following these instructions.
-
Fixes any build issues on macOS and Linux after the recent changes to MetaverseKit to allow for Microsoft Windows support.
- Nothing yet to report on Microsoft Windows (or Wasm) support, this is being worked on and will be coming in a future release of SwiftUSD.
-
Fixes all threading issues which caused crashing when reading and writing binary usd files (.usd, .usdc).
-
Fix a iOS build error related to incorrectly trying to link OpenGL (thanks @felfoldy!).
-
Supports building SwiftUSD with projects like Vapor for Swift on Server.
-
Allow creation/retrieval of USD stages from stage cache.
- See this working example to learn how to work with
UsdStageCache
in Swift.
- See this working example to learn how to work with
-
Examples application (beginning a repository of example use cases).
-
Various initial work around creating an OpenUSD version upgrader/downgrader.
-
Begin work for allowing proper subclassing and inheritance overrides of C++ virtual methods from Swift.
-
Adds a new optional parameter to
Pixar.Bundler
, in order to allow for explicit runtime auto-installation of all USD plugins when settinginstallPlugins: true
(a requirement on iOS and visionOS devices)// usage like so: Pixar.Bundler.shared.setup(.resources, installPlugins: true)
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.5")
]
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 |
v24.8.4 | Hail Hydra
What's New
🎧swift on.
SwiftUSD v24.8.4
Bring in Hydra Storm, MaterialX, Hdx, UsdImaging, UsdImagingGL.
Changelog
-
Bring over the main USD imaging libraries to Swift.
- HdAr
- HdMtlx
- HdSi
- HdSt
- Hdx
- UsdImaging
- UsdImagingGL
-
Hotfix for the
<functional>
header not being included in HdSt/glslProgram.h. -
Bump SwiftSyntax to Swift 5.10, as we prepare to introduce the SwiftCrossUI dependency, to build a cross-platform UsdView application completely in Swift.
-
Removed SwiftBundler as a package dependency from MetaverseKit, we are working on getting the bundler in shape to build cross-platform apps (namely SwiftUSD & UsdView) across Linux, visionOS, iOS, macOS, and Windows, the recommended method to use the bundler is for users to install the bundler locally following these instructions.
-
Fixes any build issues on macOS and Linux after the recent changes to MetaverseKit to allow for Microsoft Windows support.
- Nothing yet to report on Microsoft Windows (or Wasm) support, this is being worked on and will be coming in a future release of SwiftUSD.
-
Fixes all threading issues which caused crashing when reading and writing binary usd files (.usd, .usdc).
-
Fix a iOS build error related to incorrectly trying to link OpenGL (thanks @felfoldy!).
-
Supports building SwiftUSD with projects like Vapor for Swift on Server.
-
Allow creation/retrieval of USD stages from stage cache.
- See this working example to learn how to work with
UsdStageCache
in Swift.
- See this working example to learn how to work with
-
Examples application (beginning a repository of example use cases).
-
Various initial work around creating an OpenUSD version upgrader/downgrader.
-
Begin work for allowing proper subclassing and inheritance overrides of C++ virtual methods from Swift.
-
Adds a new optional parameter to
Pixar.Bundler
, in order to allow for explicit runtime auto-installation of all USD plugins when settinginstallPlugins: true
(a requirement on iOS and visionOS devices)// usage like so: Pixar.Bundler.shared.setup(.resources, installPlugins: true)
Thank you, to those who make great things possible.
- @meshula
- @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.4")
]
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 |
v24.8.3 | Hail Hydra
What's New
🎧swift on.
SwiftUSD v24.8.3
Bring in Hydra Storm, MaterialX, Hdx, UsdImaging, UsdImagingGL.
Changelog
-
Bring over the main USD imaging libraries to Swift.
- HdAr
- HdMtlx
- HdSi
- HdSt
- UsdImaging
- UsdImagingGL
-
Bump SwiftSyntax to Swift 5.10, as we prepare to introduce the SwiftCrossUI dependency, to build a cross-platform UsdView application completely in Swift.
-
Removed SwiftBundler as a package dependency from MetaverseKit, we are working on getting the bundler in shape to build cross-platform apps (namely SwiftUSD & UsdView) across Linux, visionOS, iOS, macOS, and Windows, the recommended method to use the bundler is for users to install the bundler locally following these instructions.
-
Fixes any build issues on macOS and Linux after the recent changes to MetaverseKit to allow for Microsoft Windows support.
- Nothing yet to report on Microsoft Windows (or Wasm) support, this is being worked on and will be coming in a future release of SwiftUSD.
-
Fixes all threading issues which caused crashing when reading and writing binary usd files (.usd, .usdc).
-
Fix a iOS build error related to incorrectly trying to link OpenGL (thanks @felfoldy!).
-
Supports building SwiftUSD with projects like Vapor for Swift on Server.
-
Allow creation/retrieval of USD stages from stage cache.
- See this working example to learn how to work with
UsdStageCache
in Swift.
- See this working example to learn how to work with
-
Examples application (beginning a repository of example use cases).
-
Various initial work around creating an OpenUSD version upgrader/downgrader.
-
Begin work for allowing proper subclassing and inheritance overrides of C++ virtual methods from Swift.
-
Adds a new optional parameter to
Pixar.Bundler
, in order to allow for explicit runtime auto-installation of all USD plugins when settinginstallPlugins: true
(a requirement on iOS and visionOS devices)// usage like so: Pixar.Bundler.shared.setup(.resources, installPlugins: true)
SwiftUSD 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.3")
]
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 |