差分

ナビゲーションに移動 検索に移動

MSL (Metal Shading Language)

877 バイト追加, 2020年6月19日 (金) 07:26
編集の要約なし
== 最小限 ==
そのうちかく
<source>
fragment half4 frag(VertexOut input [[stage_in]], constant Uniforms &uniforms [[buufer(0)]]) {
return half4(1.0);
}
</source>
</source>何シェーダーなのかは関数の頭に「fragment」や「kernel」などと付けて宣言する。[[GLSL]]の何シェーダーなのか意味不明すぎる「void main()」よりわかりやすいな。 引数名の後ろには「どこから来た」「なにに使う」かなどを指定するセマンティクスが付く。[[HLSL]]に似ているな。ただ中括弧が2個ワンセットとか[[LISP]]ほどではないがカッコがうぜぇ。 [[定数バッファ]]([[ユニフォーム変数]])は引数として参照渡しされている。ここはちょっと独特だな。 [[戻り値]]は[[HLSL]]と同じく「return」だ。[[GLSL]]の意味不明な「gl_FragColor」だ「gl_FragData」だより遥かにわかりやすいな。
== Xamarinからの利用 ==

案内メニュー