「MSL (Metal Shading Language)」の版間の差分

編集の要約なし
 
(同じ利用者による、間の2版が非表示)
2行目: 2行目:


== 概要 ==
== 概要 ==
[[C++]]に似ているが完全に別言語である。
アップルは「[[C++14]]がベースだ」と主張しているが完全に別言語である。


[[ソースコード]]の拡張子は「.metal」であり、それを[[ビルド]]した[[バイナリ]]の拡張子は「.metallib」となっている。
[[ソースコード]]の拡張子は「.metal」であり、それを[[ビルド]]した[[バイナリ]]の拡張子は「.metallib」となっている。
9行目: 9行目:


== 最小限 ==
== 最小限 ==
<source>
<source lang="c">
fragment half4 frag(VertexOut input [[stage_in]], constant Uniforms &uniforms [[buufer(0)]]) {
fragment half4 frag(VertexOut input [[stage_in]], constant Uniforms &uniforms [[buufer(0)]])
{
     return half4(1.0);
     return half4(1.0);
}
}
24行目: 25行目:


[[戻り値]]は[[HLSL]]と同じく「return」だ。
[[戻り値]]は[[HLSL]]と同じく「return」だ。
[[GLSL]]の意味不明な「gl_FragColor」だ「gl_FragData」だより遥かにわかりやすいな。
[[GLSL]]の「gl_FragColor」だ「gl_FragData」だといった[[グローバル変数]]に格納する意味不明な方式より遥かにわかりやすいな。


== Xamarinからの利用 ==
== 詳細 ==
「メインバンドル(アプリに含まれるリソース)に含まれるmetallib」はCreateDefaultLibraryメソッドで手軽に読み込める。とくに難しく考える必要性はない。
* [[MetalとC++の違い]]
<source>
* [[Xamarin.iOSでMetalを利用する]]
var library = _device.CreateDefaultLibrary();
</source>


== 関連項目 ==
== 関連項目 ==