How to use the new AppleTextureConverter library?

The release notes for Xcode 14 mention a new AppleTextureConverter library.

https://developer.apple.com/documentation/xcode-release-notes/xcode-14-release-notes

TextureConverter 2.0 adds support for decompressing textures, advanced texture error metrics, and support for reading and writing KTX2 files. The new AppleTextureConverter library makes TextureConverter available for integration into third-party engines and tools. (82244472)

Does anyone know how to include this library into a project and use it at runtime?

Replies

There isn't much information. The header and lib file are in the Xcode app at Contents/Developer/usr/include/AppleTextureConverter.h and Contents/Developer/usr/lib/libAppleTextureConverter.a. The header has some minimal examples in the comments, and a list of libraries and frameworks you'll need to link against. The lib also needs to link with analytics_send_event_lazy, which seems to be in the private framework CoreAnalytics. This isn't listed in the required frameworks. I currently have this in an xcconfig file, but I'm not sure what the "correct" solution is.

MY_PRIVATE_FRAMEWORKS_DIR = $(DEVELOPER_SDK_DIR)/MacOSX.sdk/System/Library/PrivateFrameworks
OTHER_LDFLAGS = $(inherited) -F$(MY_PRIVATE_FRAMEWORKS_DIR) -framework CoreAnalytics

The windows version is available in the Metal Developer Tools for Windows.

That's as far as I've gotten, will try compressing some files next.