2016-08-08 7 views

答えて

5

これらのタイプは、CおよびC++(およびObjective-CおよびObjective-C++の場合は、<simd/SIMD.h>)です。

実際には同じデータレイアウトで、Metal Shaderで使用するものと同じ機能を持ちます。だから、あなたがMetalとのインターフェースを期待するCPU側のコードでそれらを使用することは素晴らしい考えです。たとえば、C++ヘッダーファイルで頂点シェーダー入力用に独自の構造体を定義し、そのヘッダーをインポートして、CPUコードとシェーダーの両方で同じ構造体定義を使用できます。

名前が少し異なることに注意してください。 uint2はCではvector_uint2ですが、C++ではsimd::uint2です。

+0

素晴らしい、ありがとう! –

+0

Obj-Cファイルの名前を* .mmに変更し、C++をobjective-cにミックスしてベクターデータ型を使用できますか?それは解決策ですか? –

+0

はい、まさにそのためのものです。 – rickster

関連する問題