各種のモデル
表面モデルは物体の色を決めることです。
物体表面の色は光が反射して目に入ってくる色ですから、その光源や目の位置、物体の材質によって決まってきます。
その光の成分は、
(1) 物体の表面で跳ね返された光が直接目に入ってくるスペキュラー成分(Specular:鏡面反射光)。
(2) 光源からやってくる光が物体の表面や内部で乱反射されて目に入ってくるデフューズ成分(Diffuse:拡散反射光)。
(3) まわりの物体や空気からの照り返し(2次反射)や物体自身の発光などによるエンビエント成分(Ambient:環境光)。
によって決まります。
★ (1)の光の強さは、光源と物体表面の位置関係や視点の位置によって決まり、
この値の決め方が物体の質感表現に特に重要な役割を果たすことになります。
(2)の光の強さは、光源と物体表面の位置関係によってのみ決まり、
視線の方向とは無関係な拡散光です。
(3)の光の強さは、反射物のない空間ではほぼセロになり、陰の部分は真っ暗になります。
ここでは処理の複雑さを避けるため、この成分の強さは物体上のどの点も一定としており、
一般には環境光(散乱光)として使います。
また、この成分を大きくすると発光体が表現できるようになります。
★ これらの光の成分は、光を物体表面に照射したとき、その光がどのように反射されて目に入るか、
幾つかのシェーディングモデルによって求めることができます。
よく利用されるこのモデルには、ランバートモデル、フォンモデル、
ブリンモデル、などがありますが、これについてはこの下で簡単に紹介します。
光源モデルは次のように考えます。
光源の性質には、平行光線、点光源、発光体、光の色、光の強さなどがあります。
光の強さは実際にはいろんな波長の光エネルギーですが、CGではRGBの階調レベルで表しています。
その光の強さは、平行光線の場合には光の向きや距離に関係なく一定ですが、
点光源の場合には中心点からの距離の2乗に反比例して減衰していくものとします。
その光源の配置は、ワールド座標系にある特定物体にだけ光を照射する場合はボディ座標系に点光源を置き、
全体の物体に光を照射する場合はワールド座標系に点光源を置くようにします。
視野モデルは上で示した図で見られるようにワールド座標系での視点の位置、視点の方向、
および視野角で与えるピラミッド状の範囲を決めるものです。
そして画像が視野からはみ出した前方および後方面部分がクリッピング(切り取り)されることになります。
★ 1つの物体が大きく見えたり小さく見えたりするには、視点を物体に近づけたり遠ざけたりすればよいわけですが、
それでは遠近感は弱くなります。
★ 一方、視野角を大きくすれば多くの範囲が見えることになるため1つの物体は小さくみえるようになり、
視野角を小さくすれば視野が狭くなるため物体は大きく見えます。
そしてこの方が遠近感は強く表現できます。
自然な形での視野角は60度、40度位が適当かと思われます。
物体の形状モデルを表す各ポリゴンに色を塗っていくことをシェーディングと云っています。
上で述べたようにその表面に光が当たったときの色を決めなければなりませんが、
その決め方のシェーディングモデルを簡単に紹介しておきます。
(1)ランバートモデル:
「入射した光はすべての方向に等しく拡散する」という反射則を使って、
物体表面の法線ベクトルNと光線ベクトルLでデフューズ成分を求めます。
このモデルでは反射光は一様に拡がるとしているから視点の方向は関係ありません。
(2)フォンモデル:
物体表面が平らならスネルの反射則でよいのですが、実際の物体表面は多少なりとも凹凸があるため、
その分、反射の方向も拡がるというわけです。
このモデルでは光線L、視線E、および法線Nベクトルによってデフューズ成分とスペキュラー成分を求めます。
(3)ブリンモデル:
このモデルもデフューズ成分とスペキュラー成分を求めますが、
フォンモデルよりもう少し物体表面の凹凸に手を加えたものです。
物体の表面を細かく見るとランダムな方向を向いているため、
その散乱性と方向性を考慮してデヒューズ、スペキュラー成分を求めます。
(3)図のように表面を拡大して見たとき、視線の向きによっては反射光が他の表面で遮られたり、
全反射したりします。
このモデルのよい点は、スペキュラー成分の鋭さや浅い角度からの入射光に対しても表現できることです。
★ 実際にはこれらのモデルを使ってシェーディングしていくことになりますが、
その効果のほどは「レンダリングの例」や「その他の照明例」のページを参照してください。
− 2000.1.16. −
|