2010年3月27日土曜日

OpenGL ES シェーダ記述言語

OpenGL ES シェーダ記述言語


■言語の特徴
構文はC言語に似ている。

■型

スカラー
    float
    int
    bool


浮動少数点型ベクトル
    float
    vec2
    vec3
    vec4

整数型ベクトル
    int
    ivec2
    ivec3
    ivec4

ブール型ベクトル
    bool
    bvec2
    bvec2
    bvec4

行列
    mat2
    mat3
    mat4



■関数
修飾子

    in        関数内で参照される。値変更なし

    inout     関数内で参照される。値変更あり

    out       関数内で参照されない。値変更あり       



■uniform変数
uniform変数は、アプリケーションからOpenGL ESのAPIを介してシェダに渡される読み込み専用の値が格納された変数
名前空間が頂点シェーダとフラグメントシェーダの両方にまたがる。通常ハードウェアの中にある定数領域と呼ばれる
場所に格納される。


■attribute変数
attribute変数は頂点シェーダだけ利用可能。頂点ごとに指定されるデータ。attribute変数通常、位置、法線、テクスチャ座標、色などのデータを格納する。

■varying変数
頂点シェーダの出力であり、かつ、フラグメントシェーダへの入力を格納する。
基本的には、各頂点シェーダはフラグメントシェーダに渡す必要のあるデータを1つ以上の
varying変数に出力する。varying変数の宣言は、頂点シェーダとフラグメントシェーダの
両方で行います。

■パッキング(uniform変数varying変数)
あとで記述-Naozary  10/03/25 16:45

0 件のコメント:

コメントを投稿