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


フォン計算

ピクセルシェーダ。

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);

    ホーム 一覧 単語検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS