OpenGL Shading Language メモ
- GLSL の処理の流れ
- 頂点データが入力される
- [Vertex Shader]
- Clipping
- 点や線、面、あるいはビットマップのラスタ化
- [Fragment Shader]
- Antialiasing
- シザーテスト、アルファテスト、デプステスト、カラー論理オペレーションなどが、個々のフラグメントに対して行われる
- GLSL キーワード
- attribute: C++などのソースから GLSL の Vertex Shader の各頂点ごとに値が渡される変数、と宣言するためのキーワード。Vertex Shader でしか使えない。
- uniform: C++などのソースから GLSL の Vertex Shader, Fragment Shader に固定値が渡される変数、と宣言するためのキーワード。
- varying: GLSL の Vertex Shader から、Fragment Shader に渡される変数、と宣言するためのキーワード。Vertex Shader, Fragment Shader 内で共に宣言しないといけない。
- Fragment Shader 内で使える特殊なキーワード discard は、アルファテスト、デプステストなども行わずに、現在のフラグメント処理を即座に終わらします。