1
我想在Objective-C中爲我的iOS應用程序使用Metal中定義的一些矢量數據類型(例如uint2
,docs)。但是,我無法找到任何關於這是否可行的信息。在Objective-C中可以使用Metal數據類型嗎?
我想在Objective-C中爲我的iOS應用程序使用Metal中定義的一些矢量數據類型(例如uint2
,docs)。但是,我無法找到任何關於這是否可行的信息。在Objective-C中可以使用Metal數據類型嗎?
對於C和C++(以及對於Objective-C和Objective-C++的擴展),這些類型在<simd/SIMD.h>
中。
它們實際上與您在Metal着色器中使用的類型相同,具有相同的數據佈局和相同的關聯函數。因此,在您期望與Metal接口的CPU端代碼中使用它們是一個好主意。例如,您可以在C++頭文件中爲頂點着色器輸入定義自己的結構,然後導入該頭並在CPU代碼和着色器中使用相同的結構定義。
請注意,名稱有點不同:例如:在C中,uint2
是vector_uint2
,但在C++中是simd::uint2
。
太棒了,謝謝! –
只是問,我可以將我的Obj-C文件重命名爲* .mm,並將C++混入Objective-C並使用矢量數據類型?這是一個解決方案嗎? –
是的,這正是它的目的。 – rickster