是否可以在Objective-C中使用Metal数据类型?

时间:2016-08-08 01:27:18

标签: ios objective-c metal

我想在Objective-C中为我的iOS应用程序使用Metal中定义的一些矢量数据类型(例如uint2docs)。但是,我还没有找到关于这是否可行的任何信息。

1 个答案:

答案 0 :(得分:5)

这些类型在<simd/SIMD.h>中用于C和C ++(对于Objective-C和Objective-C ++,扩展名为。)

它们实际上是相同的类型,具有相同的数据布局,以及与您在Metal着色器中使用的相同的相关功能。因此,在您期望与Metal接口的CPU端代码中使用它们是一个好主意。例如,您可以在C ++头文件中为顶点着色器输入定义自己的结构,然后导入该标头并在CPU代码和着色器中使用相同的结构定义。

请注意,名称有所不同:例如uint2在C中为vector_uint2,在C ++中为simd::uint2