差分
ナビゲーションに移動
検索に移動
'''Metal Shading Language'''とは、[[Metal]]で利用する[[プログラマブルシェーダー]]を記述するための[[プログラミング言語]]である。
== 概要 ==
[[C++]]に似ているが完全に別言語である。
[[ソースコード]]の拡張子は「.metal」であり、それを[[ビルド]]した[[バイナリ]]の拡張子は「.metallib」となっている。
MetalのMSLは[[事前コンパイル]]を採用している。[[アップル]]によるとMetalが登場するまで使われていた[[OpenGL]]や[[OpenGL ES]]の[[GLSL]]では[[実行時コンパイル]]を採用していたが、[[iPhone]]のような環境で実行時コンパイルはあまりにも重すぎるため事前コンパイル方式を採用したとしている。
== 最小限 ==
そのうちかく
<source>
</source>
== Xamarinからの利用 ==
「メインバンドル(アプリに含まれるリソース)に含まれるmetallib」はCreateDefaultLibraryメソッドで手軽に読み込める。とくに難しく考える必要性はない。
<source>
var library = _device.CreateDefaultLibrary();
</source>
== 関連項目 ==
* [[Metal]]
* [[MetalKit]]
* [[Metal Shading Language]]
== 外部リンク ==
* 言語仕様 = https://developer.apple.com/metal/Metal-Shading-Language-Specification.pdf
== 概要 ==
[[C++]]に似ているが完全に別言語である。
[[ソースコード]]の拡張子は「.metal」であり、それを[[ビルド]]した[[バイナリ]]の拡張子は「.metallib」となっている。
MetalのMSLは[[事前コンパイル]]を採用している。[[アップル]]によるとMetalが登場するまで使われていた[[OpenGL]]や[[OpenGL ES]]の[[GLSL]]では[[実行時コンパイル]]を採用していたが、[[iPhone]]のような環境で実行時コンパイルはあまりにも重すぎるため事前コンパイル方式を採用したとしている。
== 最小限 ==
そのうちかく
<source>
</source>
== Xamarinからの利用 ==
「メインバンドル(アプリに含まれるリソース)に含まれるmetallib」はCreateDefaultLibraryメソッドで手軽に読み込める。とくに難しく考える必要性はない。
<source>
var library = _device.CreateDefaultLibrary();
</source>
== 関連項目 ==
* [[Metal]]
* [[MetalKit]]
* [[Metal Shading Language]]
== 外部リンク ==
* 言語仕様 = https://developer.apple.com/metal/Metal-Shading-Language-Specification.pdf