シェーダ言語
おはこんばんにちわ おいもです
今日はシェーダー言語について勉強しました。
まず簡単にシェーダー言語ていうのはライティングやシャドーを処理するための言語らしい。んでwebGLで動作するシェーダー言語がGLSL ESを習得しなきゃならないみたい。つらいね。
んでGLSL ESを使うためにバーテックスシェーダーとフラグメントシェーダーの2つのプログラムで構成されていると・・・。
バーテックスシェーダーはメインメモリからグラフィックメモリに送られた3次元オブジェクトを構成している頂点座標とか頂点色とかテクスチャ座標とかそのオブジェクトの位置や回転、設定したカメラとかのパラメーターから算出される行列を用いて2次元平面上での頂点座標を決める。
フラグメントシェーダーは光源パラメーター(たぶんライトとか)法泉ベクトル、頂点色とかの2次元平面のスクリーン上の各ピクセルごとの色を決定する
大まかな流れとしては
Javascript(カメラ、3次元オブジェクト、状態(回転とか)、光源)
↓
バーテックスシェーダー(頂点座標の決定)
↓
フラグメントシェーダー(ピクセル色の決定)
↓
画面出力
ていう概念図です。はい
わけわからんね。
んでそのバーテックスシェーダーやフラグメントシェーダーを演算するためのプロパティやシェーダープログラムの入力と出力をするみたいなんだけど今日はこの辺で終わっておきます。
またあしたー