エフェクト-リムライト
をテンプレートにして作成
[
ホーム
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
*エフェクト-リムライト [#m4264859]
逆光時に輪郭部分が光る。バーチャファイター5などで実装され...
----
#contents
** リムライト計算 [#qa9b6bd3]
float3 EyeDir; // Uniform 視線ベクトル
float3 LightDir; // Uniform ライトベクトル
// 視線ベクトル
float3 eye_vector = normalize(EyeDir);
// ライトベクトル
float3 light_vector = normalize(LightDir);
// 法線
float3 normal = normalize(Normal);
// リムライトの強さ
float rim_power = 2.0;
// 内積の値を反転しモデルの縁部分が1.0、視線と平行部分を...
float rim = 1.0 - dot(normal, eye_vector);
// リムライトの強さを補正
rim = pow(abs(rim), rim_power);
// 太陽との逆光を計算(頂点シェーダでOK)
float light_rim = max(dot(-light_vector, eye_vector), 0....
// モデルの縁計算と、太陽の逆光計算を乗算
float3 color = rim * light_rim;
** 参考 [#zf6f5ac7]
通常ライティング
&ref(rim-default_lighting.JPG,,40%);
リムライティングのみ
&ref(rim-rim_lighting.JPG,,40%);
通常+リムライティング
&ref(rim-all_lighting.JPG,,40%);
通常シェーディング
&ref(rim-default.JPG,,40%);
リムライト有りシェーディング
&ref(rim-shading.JPG,,40%);
** シェーダコード [#ob7a0ce4]
&ref(rim_lighting.fx);
終了行:
*エフェクト-リムライト [#m4264859]
逆光時に輪郭部分が光る。バーチャファイター5などで実装され...
----
#contents
** リムライト計算 [#qa9b6bd3]
float3 EyeDir; // Uniform 視線ベクトル
float3 LightDir; // Uniform ライトベクトル
// 視線ベクトル
float3 eye_vector = normalize(EyeDir);
// ライトベクトル
float3 light_vector = normalize(LightDir);
// 法線
float3 normal = normalize(Normal);
// リムライトの強さ
float rim_power = 2.0;
// 内積の値を反転しモデルの縁部分が1.0、視線と平行部分を...
float rim = 1.0 - dot(normal, eye_vector);
// リムライトの強さを補正
rim = pow(abs(rim), rim_power);
// 太陽との逆光を計算(頂点シェーダでOK)
float light_rim = max(dot(-light_vector, eye_vector), 0....
// モデルの縁計算と、太陽の逆光計算を乗算
float3 color = rim * light_rim;
** 参考 [#zf6f5ac7]
通常ライティング
&ref(rim-default_lighting.JPG,,40%);
リムライティングのみ
&ref(rim-rim_lighting.JPG,,40%);
通常+リムライティング
&ref(rim-all_lighting.JPG,,40%);
通常シェーディング
&ref(rim-default.JPG,,40%);
リムライト有りシェーディング
&ref(rim-shading.JPG,,40%);
** シェーダコード [#ob7a0ce4]
&ref(rim_lighting.fx);
ページ名: