「Metal」を編集中
ナビゲーションに移動
検索に移動
この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
22行目: | 22行目: | ||
[[OpenGL]]と[[GLSL]]からの移植だと[[GLSL]]を[[SPIR-V]]に[[コンパイル]]して[[Vulkan]]([[MoltenVK]])で動かした方が楽かもしれない。ここだけの話、[[HLSL]]や[[GLSL]]で書いて[[SPIRV-Cross]]を使ってMSLを生成した方が捗るよ。 | [[OpenGL]]と[[GLSL]]からの移植だと[[GLSL]]を[[SPIR-V]]に[[コンパイル]]して[[Vulkan]]([[MoltenVK]])で動かした方が楽かもしれない。ここだけの話、[[HLSL]]や[[GLSL]]で書いて[[SPIRV-Cross]]を使ってMSLを生成した方が捗るよ。 | ||
− | + | ||
MSLの構造体は「[[Objective-C]]や[[Swift]]と同じ記法」という特徴があります。これによりSwiftとMSLで[[バーテックスバッファ]]や[[コンスタントバッファ]]といった[[構造体]]を1つの[[ソースコード]]で共有できます。 | MSLの構造体は「[[Objective-C]]や[[Swift]]と同じ記法」という特徴があります。これによりSwiftとMSLで[[バーテックスバッファ]]や[[コンスタントバッファ]]といった[[構造体]]を1つの[[ソースコード]]で共有できます。 | ||
+ | 「C言語とHLSL」や「C言語とGLSL」などではそれぞれの構造体の書き方が異なるため別々のソースコードが必要なせいで人的ミスによる不整合が起きる、いわゆるインピーダンスミスマッチが起きがちですが、そのような問題は起きません。 | ||
− | |||
== デバッグ == | == デバッグ == |