|目次 または フレームありの目次|



5.3 影の処理

 影の表示アルゴリズムは光源の種類に依存します。

(1) 平行光線・点光源の影

 影は本影(直射光が全く当たらない)のみであるから比較的簡単に求まります。主な手法は次の四つです。

(a) レイトレーシング法

 最も簡単な方法で、各ピクセルに表示される面の位置と光源を結び、遮る物体があるかどうかを調べます。しかし、処理時間が長いのが欠点です。

(b) 走査線単位の方法

 光源からみたときの表の面の各辺を、処理しようとする面へ走査線ごとに投影する方法(図5.14参照、面2による面1上の影の計算)で、影の表示法としては初めて開発されました。

図5.14
図5.14: 走査線単位の影の判定

(2) 2段階法

図5.15 (a) 図5.15 (b)
(a) 光源から見た多角形  (b) 視点から見た多角形

図5.15: 多角形のクリッピングによる影の領域の判定




 光源と視点からの二つの透視図(図5.15参照)を求め、表示時に影の領域をマッピングする方法です。第1段階として、物体を光源から見たときの隠される領域(この領域は影となる)を求めます。次に、物体を視点から眺め、影の領域をマッピングします。この方法を、スキャンライン法へ適用したものと Z-バッファ法へのものがあります。

(3) シャドウポリゴン法

図5.16
図5.16: シャドウボリュームを用いた影の区間の判定(平行光線の場合)



 物体データ作成時に光源と遮蔽物体で発生する影を生じる空間を利用する方法です(図5.16参照)。この空間をシャドウボリューム(shadow volume)と呼びます。ある面上の影の領域は、シャドウボリュームと面との交差部分として求まります。あるいは、計算点がこのシャドウボリュウーム内かどうかで、影かどうか判定できます。この方法は前2者に比べて余分のデータ容量が必要です。

 図5.17 (a)に点光源による影を示します。図で明らかのように影の境界はシャープです。

図5.17 (a) 図5.17 (b)
(a) 点光源           (b) 面光源
図5.17: 本影(点光源)および半影(面光源)



(4) 大きさを持つ光源の影

本影と、直射光の一部が当たる半影からなり、より写実的な画像が得られるが、計算はそれだけ複雑になります。図5.17(b)に面光源による影の計算例を示します。図で判るように、影の境界部がソフトな半影をもっています。



前のページへ

次のページへ