shaderに関するメモ 00
GM:S のシェーダに関するメモ
Shader は必要に応じて開発者がリソースへ追加して用いる。GM:S のシェーダは付属のシェーダエディタを用いてリソースへ追加されるが、各シェーダ言語を利用してプログラムが記述されるため、シェーダの記述には GML を使えない。故に GML の知識だけではシェーダ作成はできない、シェーダ言語を学ぶ必要がある。また付属のシェーダエディタは編集中にインテリセンスや構文補完など GML 用の補助機能は使えない。
GM:S のシェーダについて
Vertex と Fragment という二つのシェーダで構成される。
Vertex は頂点シェーダと呼ばれるもの、頂点に関するあらゆる情報を頂点属性として受け取ることができる。実行される順番としてはフラグメントシェーダよりも必ず先に実行される。この実行順は変更できない。
Fragment はピクセルシェーダとも呼ばれる。Fragment は断片、つまりピクセル片のことを指す。ディスプレイへ出力される色情報を操作するシェーダ。実行順は頂点シェーダの後。
Vertex と Fragment はそれぞれ役割があり、実行にも優先順位がある。シェーダ間で情報を共有する場合は verying という変数型を指定する。
GM:S のコンパイラがサポートするシェーダ言語
- HLSL11
- HLSL9
- GLSL
- GLSL ES
異なったプラットフォームで共通して使いたい場合
互換性を考慮すると、GLSL ES 一択となる。ただし WebGL に関してはあまり過度な期待を抱くのは禁物。今後何年か後にはこなれてくるだろうが、現時点では色々厳しい。
次へ
前へ