「ランバート反射」の版間の差分

削除された内容 追加された内容
中立的な観点
→‎コンピュータグラフィックスにおける応用: ハーフ・ランバート照明の式、解説、出典を追加
22行目:
光沢のある表面では、ランバート反射とともに[[鏡面反射]]も見られる。この場合には、表面の輝度はちょうど鏡面反射光が来る角度に観察者がいるときにもっとも高くなる。この現象は、コンピュータグラフィックスでは[[フォンシェーディング]]などといった[[鏡面ハイライト]]を考慮したモデルを用いてシミュレーションできる。
 
=== ハーフ・ランバート照明 ===
なお、[[Valve Software]]が開発した派生技術として「Half Lambert」(ハーフ・ランバート)と呼ばれるリアルタイム処理系向けの疑似[[ラジオシティ]]手法がある<ref>[http://news.mynavi.jp/articles/2007/01/01/hl22/ 進化するHalf-Life 2エンジン(後編) (1) 動的キャラクターのライティング | マイナビニュース]</ref>。ハーフランバートは物理学的には正しくないが、陰影が失われて平面にしか見えない通常のランバート照明よりも、ハーフランバート照明のほうが視覚上、現実的で自然に見えるという特徴がある。
ハーフ・ランバート照明({{lang-en-short|Half Lambert lighting}})はランバート反射をなだらかに改変したライティング方式である。以下の式で表される。
 
<math>I_{D}=(0.5\cos{\alpha}+0.5)^2*C*I_{L}</math>
 
ランバート反射モデルでは照明の背面(法線と光源が90°以上の角度を持つ領域)は黒1色にライティングされる。シーンが少数の直接光で構成されていたり解像度の低い大域照明で照らされている場合、このライティング特性から背面部の形状が識別できなくなったり色がフラットになってしまう<ref>It is designed to prevent the rear of an object losing its shape and looking too flat. [https://developer.valvesoftware.com/wiki/Half_Lambert Half Lambert - VALVE]</ref>。[[Valve Software]]はゲーム「[[ハーフライフ (ゲーム)|ハーフライフ]]」のために、この欠点を改良したハーフ・ランバート照明を開発した。ランバート反射で0にクランプされていた領域が正の値を持つように<math>\cos\alpha</math>を変更し、正面部分の形状をある程度保つために二乗する。これにより背面部にもライティングとその濃淡が与えられ、(物理学的な正当性は無いが)視覚上現実的で自然に見えるライティングが可能になる。分類としてはリアルタイム処理系向けの疑似[[ラジオシティ]]手法にあたる<ref>[http://news.mynavi.jp/articles/2007/01/01/hl22/ 進化するHalf-Life 2エンジン(後編) (1) 動的キャラクターのライティング | マイナビニュース]</ref>。
 
==その他の波==