2016-08-08 27 views

回答

5

對於C和C++(以及對於Objective-C和Objective-C++的擴展),這些類型在<simd/SIMD.h>中。

它們實際上與您在Metal着色器中使用的類型相同,具有相同的數據佈局和相同的關聯函數。因此,在您期望與Metal接口的CPU端代碼中使用它們是一個好主意。例如,您可以在C++頭文件中爲頂點着色器輸入定義自己的結構,然後導入該頭並在CPU代碼和着色器中使用相同的結構定義。

請注意,名稱有點不同:例如:在C中,uint2vector_uint2,但在C++中是simd::uint2

+0

太棒了,謝謝! –

+0

只是問,我可以將我的Obj-C文件重命名爲* .mm,並將C++混入Objective-C並使用矢量數據類型?這是一個解決方案嗎? –

+0

是的,這正是它的目的。 – rickster

相關問題