Swift package providing Academy Software Foundation (ASWF) libraries for 3D applications. This package serves as the primary dependency for SwiftUSD.
Add SwiftASWF as a dependency in your Package.swift:
dependencies: [
.package(url: "https://github.com/AthemIO/SwiftASWF.git", from: "1.8.5"),
]macOS:
- Xcode 16+ with Command Line Tools
- Swift 6.1+
Linux (Ubuntu/Debian):
sudo apt-get install -y \
libbz2-dev libx11-dev libgl1-mesa-dev libglu1-mesa-dev \
libxrandr-dev libxinerama-dev libxcursor-dev libxi-devWindows:
- Visual Studio 2022 with C++ workload
- Swift 6.1+ toolchain
# Clone the repository
git clone https://github.com/AthemIO/SwiftASWF.git
cd SwiftASWF
# Initialize submodules (required)
git submodule update --init --recursive
# Build release (recommended - debug builds are slow)
swift build -c release
# Build specific target
swift build -c release --target OpenEXR
# Run tests
swift test
# Run demo app (requires Swift Bundler)
swift bundler run -p macOS SwiftASWFDemo| Target | Version | Upstream |
|---|---|---|
| OpenEXR | 3.2.1 | AcademySoftwareFoundation/openexr |
| Imath | 3.1.12 | AcademySoftwareFoundation/Imath |
| Eigen | 3.4.0 | eigen/eigen |
| OneTBB | 2021.12.0 | oneapi-src/oneTBB |
| Target | Version | Upstream |
|---|---|---|
| OpenImageIO | 2.7.0 | AcademySoftwareFoundation/OpenImageIO |
| OpenColorIO | 2.4.2 | AcademySoftwareFoundation/OpenColorIO |
| TurboJPEG | 3.0.1 | libjpeg-turbo/libjpeg-turbo |
| TIFF | 4.6.0 | libsdl-org/libtiff |
| LibPNG | 1.6.40 | pnggroup/libpng |
| WebP | 1.3.2 | webmproject/libwebp |
| Raw | 0.21.1 | LibRaw/LibRaw |
| Target | Version | Upstream |
|---|---|---|
| MaterialX | 1.39.3 | AcademySoftwareFoundation/MaterialX |
| OpenSubdiv | 3.6.1 | PixarAnimationStudios/OpenSubdiv |
| OpenVDB | 12.0.0 | AcademySoftwareFoundation/openvdb |
| Alembic | 1.8.5 | alembic/alembic |
| Ptex | 2.4.2 | wdas/ptex |
| Draco | 1.5.6 | google/draco |
| Target | Version | Upstream |
|---|---|---|
| Blosc | 1.21.5 | Blosc/c-blosc |
| ZStandard | 1.5.5 | facebook/zstd |
| LZMA2 | 5.4.4 | tukaani-project/xz |
| MiniZip | 4.0.1 | zlib-ng/minizip-ng |
| Target | Version | Upstream |
|---|---|---|
| HDF5 | 1.10.0 | HDFGroup/hdf5 |
| Yaml | 0.8.0 | jbeder/yaml-cpp |
| ImGui | 1.89.9 | ocornut/imgui |
| Platform | Minimum Version | Status |
|---|---|---|
| macOS | 14+ | ✓ Full support |
| iOS | 17+ | ✓ Full support |
| visionOS | 1.0+ | ✓ Full support |
| tvOS | 17+ | ✓ Full support |
| watchOS | 10+ | ✓ Full support |
| Linux | Ubuntu 22.04+ | ✓ Full support |
| Windows | Windows 10+ | ✓ Full support |
"TBB header not found"
fatal error: 'oneapi/tbb/detail/_utils.h' file not found
Ensure you're using SwiftASWF v1.8.5 or later, which includes fixed TBB header paths.
"Module not found" on Linux
error: no such module 'OpenEXR'
Install the required system dependencies (see Prerequisites above).
Slow debug builds
Debug builds compile significantly slower due to unoptimized C++ code. Use release builds for development:
swift build -c releaseOCIO config not found
The OCIOBundle target requires the OCIO environment variable to be set. Use OCIOBundler.shared to automatically configure the bundled ACES or AgX color configs.
- SwiftUSD - Swift bindings for Pixar's Universal Scene Description
- ASWF Landscape - Academy Software Foundation project ecosystem
Licensed under the Apache License 2.0. See LICENSE for details.
Individual bundled libraries retain their original licenses (Apache 2.0, BSD 3-Clause, MIT, etc.). See the LICENSE file for complete attribution.