Top > エフェクト-フォンスペキュラー

エフェクト-フォンスペキュラー


フォン計算

ピクセルシェーダ。

float3 LightDir; // Uniform ライト方向
float3 EyeDir;   // Uniform 視線方向


// ライトベクトル
float3 light_vector = normalize(LightDir.xyz);
// 視線方向ベクトル
float3 eye_vector = normalize(EyeDir.xyz);
// 法線
float3 normal = normalize(Normal);
// フォン強さ
float phong_power = 10.0;

// 視線とライト方向へのハーフベクトル
float3 half_vector = normalize(eye_vector + light_vector);

// フォン
float phong = max(dot(normal, half_vector), 0.0);

// 出力カラー
float3 color = vertex_color.rgb * texture.rgb + pow(abs(phong), phong_power);

参考

フォン計算のみ
effect-phong-only.JPG

フォンスペキュラ入り
effect-phong-light.JPG

シェーダコード

filephong_lighting.fx


添付ファイル: fileeffect-phong-light.JPG 426件 [詳細] fileeffect-phong-only.JPG 406件 [詳細] filephong_lighting.fx 467件 [詳細]

リロード   新規 編集 凍結 差分 添付 複製 名前変更   ホーム 一覧 単語検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: 2011-08-16 (火) 01:17:20 (4634d)