由于Metal API的原生环境是苹果系统,其编写使用的语言基本是object-c(.m格式的文件)或者swift(.swift格式的文件)。这两种语言对于c++使用者来说比较陌生,为了解决这个问题,苹果推出了metal-cpp接口,支持用c++去开发Metal了。官网链接如下:
Metal-cpp 入门
根据官方文章中的内容,首先要确保 Xcode 版本在 9.3 以上,并且要使用 C++17 的语法。
同时要下载好 Metal 对应的 C++ 头文件(metal-cpp),链接地址如下:
metal-cpp_macOS12_iOS15.zip
1.打开xcode并创建一个新的项目
2.选择用命令行的方式创建,点击Next,之后输入项目名称和开发者信息,Language选择c++作为编程语言。
3.在main函数中将以下程序粘贴进去
#define NS_PRIVATE_IMPLEMENTATION
#define CA_PRIVATE_IMPLEMENTATION
#define MTL_PRIVATE_IMPLEMENTATION
#include "iostream"
#include
#include
#include
int main()
{
MTL::Device* device = MTL::CreateSystemDefaultDevice();
std::cout<<"helloworld!"<<std::endl;
device->release();
return 0;
}
4.将前文中下载后解压的metal-cpp文件的路径添加到Head Search Paths搜索路径下。并将c++语言设置为c++17。
5.将下面三个framework 依赖选择添加进来。
Foundation.framework
QuartzCore.framework
Metal.framework
6.点击运行后,将会在右下角的状态输出栏打印helloworld!
此时说明使用c++调用Metal-cpp成功,至此你已经学会了如何将metal-cpp的头文件和最简单的c++程序结合使用了。接下来你应该继续学习Metal的c++语法规范,为更复杂的项目做准备。