「Metal」の版間の差分
Administrator (トーク | 投稿記録) |
Administrator (トーク | 投稿記録) |
||
| (同じ利用者による、間の1版が非表示) | |||
| 21行目: | 21行目: | ||
[[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つの[[ソースコード]]で共有できます。 | |||
「C言語とHLSL」や「C言語とGLSL」などではそれぞれの構造体の書き方が異なるため別々のソースコードが必要なせいで人的ミスによる不整合が起きる、いわゆるインピーダンスミスマッチが起きがちですが、そのような問題は起きません。 | |||
== デバッグ == | == デバッグ == | ||