現在地 >> メニュー >> サンプルコード::Cg >> Cg::基本編01
INDEX:Cg::基本編01 >> Cg::基本編02

シェーダ


OpenGLでは、3次元座標や色情報を与えると、後は勝手にウィンドウ内に描画する。

この時、おおまかには
頂点データ → [頂点処理] → ラスタライズ → [ピクセル処理] → 描画
という流れになっている。

■頂点処理
「3次元座標がウィンドウ座標ではどこに対応するか?」などの処理部分。

[例]

float4 Position; //(x,y,z,w)  入力頂点座標
float4 OutPut; //出力(計算結果)

OutPut = mul(modelViewMatrix, Position);

この場合、「mul()関数」で行列の掛け算をして、透視投影変換をしている。



■ピクセル処理
作ったポリゴンは「ラスタライズ」という処理で表示するためにピクセルに変換される。

「このピクセルの色はどうするか?」などの処理部分。

[例]

float4 InPutColor;
float4 OutPutColor;

OutPutColor = InPutColor;

この場合、入力色をそのまま出力にしている。

Cgの使い方


流れ


おおまかな流れは以下のようになる。
OpenGLで描画する。
 ↓
頂点シェーダ(位置決定)
 ↓
フラグメントシェーダ(色決定)
 ↓
表示

必要なファイル


作るのは、以下の2ファイル。

  • ソースファイル(.cや.cpp)
  • 「.cgファイル」(頂点用とピクセル用の2つ)

目次

― その他 ―

Wiki内検索

計測中...(07.10.8〜)

Save The World






▲よろしければ広告のクリックもお願いします


▲ランキングに参加しました

管理人/副管理人のみ編集できます