現在地メニュー >> Cg >> Cg編02 >> Cg編02::フラグメントシェーダの記述
関連:Cg編02::頂点シェーダの記述
次:Cg編02::まとめ

フラグメントシェーダの記述


頂点シェーダ処理が行われた後は、ピクセル単位での処理であるフラグメントシェーダとなる。
すなわち、頂点シェーダの出力がフラグメントシェーダの入力となる。

【例】
//フラグメントの入力
struct FragmentIn
{
	float4 position : POSITION; //ラスタライズ用(使用しない)
	float3 color : COLOR;
};

//フラグメントの出力
struct FragmentOut
{
	float3 color : COLOR;
};

//--------- フラグメントシェーダメイン関数 ------------//
FragmentOut CgFragmentMain(in FragmentIn input)
{
	FragmentOut output;//フラグメント出力
	output.color = input.color;//入力色情報をそのまま出力にする

	return output;
}

【メモ】
フラグメントシェーダのプログラム内では「POSITION」が使われていない。
これはプログラム上は使用していないだけで、実際はラスタライズ化に使用している。

出力と必要なもの


最低限必要な出力は、色情報、すなわち「COLOR」である。
※ハードウェアによっては「DEPTH」をサポートするなどもある。



次:Cg編02::まとめ

目次

― その他 ―

Wiki内検索

計測中...(07.10.8〜)

Save The World






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


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

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