Weekend good reads for Apple developers #2023/8

It's winter here in Bay Area today (it even snows somewhere here), so let's grab some warm beverage and get going.

Let's finish with interesting video on design process by David Smith.

https://youtu.be/BLEOBu2PaeA
Design process by David Smith

And that is it for today. See you next week!

Apple publishes C++ interface for Metal

Apple releases C++ wrapper for Metal.

Metal-cpp is a low-overhead C++ interface for Metal that helps developers add Metal functionality to graphics apps, games, and game engines that are written in C++.

Apple Developer

Highlights:

  • Drop in C++ alternative interface to the Metal Objective-C headers.
  • Direct mapping of all Metal Objective-C classes, constants and enums to C++ in the MTL C++ namespace.
  • No measurable overhead compared to calling Metal Objective-C headers, due to inlining of C++ function calls.
  • No usage of wrapper containers that require additional allocations.
  • Identical header files and function/constant/enum availability for iOS, iPadOS, macOS and tvOS.
  • Backwards compatibility: All bool MTL::Device::supports...() functions check if their required selectors exist and automatically return false if not.
  • String (ErrorDomain) constants are weak linked and automatically set to nullptr if not available.