概要: 手抜きボリュームシャドウは、モデルのディテールが落ちるほど
影とモデルのギャップが大きくなり、単純なプリミティブになると、全く違う
形の影になってしまう。
キューブに至っては、ボリュームが形成されない。
例えばこの場合、引き伸ばされたポリゴンと、引き伸ばされなかったポリゴンの
間を埋めるポリゴンがあれば、次のようにボリュームとなる。
正しい影ボリュームは、元のモデルのポリゴン同士の間に、四角形(2つの三角形)を
埋め込んだ、影専用のメッシュを使用する。
ポリゴン数は、元のメッシュと比べて4倍になる。
それでは、その影メッシュの生成手順を解説する。
- メッシュから頂点と面データを取得し、頂点バッファを作成する。
※バッファのサイズは、4倍にする
- 全ての面と面をチェックし、辺を共有していれば、そこに4角形(2つのポリゴン)を埋め込む
※重複しないように注意、ポリゴン数は、合計で4倍になるはずである
- 全ての頂点に、フラットシェーディング用の法線を設定する
この影メッシュでボリュームシャドウィングすると、キューブであっても影が出来る。
モデルデータであれば、形が正確になり、クオリティが上がる。
© GPU (Game Programming Unit)