「MSL (Metal Shading Language)」の版間の差分
imported>Administrator ページの作成:「'''Metal Shading Language'''とは、Metalで利用するプログラマブルシェーダーを記述するためのプログラミング言語である。…」 |
Administrator (トーク | 投稿記録) 編集の要約なし |
||
| 9行目: | 9行目: | ||
== 最小限 == | == 最小限 == | ||
<source> | <source> | ||
fragment half4 frag(VertexOut input [[stage_in]], constant Uniforms &uniforms [[buufer(0)]]) { | |||
return half4(1.0); | |||
} | |||
</source> | |||
何シェーダーなのかは関数の頭に「fragment」や「kernel」などと付けて宣言する。 | |||
[[GLSL]]の何シェーダーなのか意味不明すぎる「void main()」よりわかりやすいな。 | |||
引数名の後ろには「どこから来た」「なにに使う」かなどを指定するセマンティクスが付く。 | |||
[[HLSL]]に似ているな。 | |||
ただ中括弧が2個ワンセットとか[[LISP]]ほどではないがカッコがうぜぇ。 | |||
[[定数バッファ]]([[ユニフォーム変数]])は引数として参照渡しされている。 | |||
ここはちょっと独特だな。 | |||
[[戻り値]]は[[HLSL]]と同じく「return」だ。 | |||
[[GLSL]]の意味不明な「gl_FragColor」だ「gl_FragData」だより遥かにわかりやすいな。 | |||
== Xamarinからの利用 == | == Xamarinからの利用 == | ||