Skip to content

v1.7.2 | OpenSubdiv

Compare
Choose a tag to compare
@furby-tm furby-tm released this 12 Apr 18:20
· 78 commits to main since this release
736a3ab

What's New

🎧 swift on.
  • Add OpenSubdiv GPU Shaders.
  • Fix Linux cross-platform compatibility.
    • Adjusted package configuration to link against python 3.10 instead of prior releases which used to link against python 3.11, the intention is to provide simplicity to existing Linux users, if some other version is preferred, please file an issue to have it changed.
    • Targeting x86/64 now works and no longer causes build failures. 🎉🎉🎉
    • Targeting aarch64 should now also work, in addition to x86/64 on CentOS.

Changelog

  • We now conditionally apply sse2neon based on the chipset arch (ex. arm64, x86/64) you're building on.
  • OpenColorIO needed to have target feature attributes added across all of its AVX and AVX2 functions.
  • OCIOBundle was attempting to use setenv() (which overrides the OCIO env var with our provided configs), which apparently doesn't exist on Linux or uses some other function, opted to remove it for Linux since its assumed users on that platform likely already have OCIO configured to their preferences.
  • TBB needed to have target feature attributes added for a single function prolonged_pause() which uses WAITPKG.
  • HDF5 had a lowercased hdf5.h which Swift didn't see as an umbrella header on Linux because the target is uppercased, so Swift was attempting to (rather horribly incorrectly) generate one, renamed the file to HDF5.h and all was happy.

Usage

Add MetaverseKit as a package dependency to your own Swift project's Package.swift file:

// swift-tools-version: 5.10

dependencies: [
  .package(url: "https://github.com/wabiverse/MetaverseKit", from: "1.7.2")
]

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.

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