1
私のiOSアプリケーションでObjective-CにMetalで定義されているベクトルデータ型(uint2
、docsなど)を使用したいとします。しかし、私はこれが可能かどうかについての情報を見つけることができませんでした。Objective-CでMetalデータ型を使用できますか?
私のiOSアプリケーションでObjective-CにMetalで定義されているベクトルデータ型(uint2
、docsなど)を使用したいとします。しかし、私はこれが可能かどうかについての情報を見つけることができませんでした。Objective-CでMetalデータ型を使用できますか?
これらのタイプは、CおよびC++(およびObjective-CおよびObjective-C++の場合は、<simd/SIMD.h>
)です。
実際には同じデータレイアウトで、Metal Shaderで使用するものと同じ機能を持ちます。だから、あなたがMetalとのインターフェースを期待するCPU側のコードでそれらを使用することは素晴らしい考えです。たとえば、C++ヘッダーファイルで頂点シェーダー入力用に独自の構造体を定義し、そのヘッダーをインポートして、CPUコードとシェーダーの両方で同じ構造体定義を使用できます。
名前が少し異なることに注意してください。 uint2
はCではvector_uint2
ですが、C++ではsimd::uint2
です。
素晴らしい、ありがとう! –
Obj-Cファイルの名前を* .mmに変更し、C++をobjective-cにミックスしてベクターデータ型を使用できますか?それは解決策ですか? –
はい、まさにそのためのものです。 – rickster