現在の3Dグラフィックスにおいて、最も重要なテーマの1つが影生成だ。シーンのリアリティを演出する要素として、今や欠かせない存在となっており、3Dゲームグラフィックスの設計をする際においても、どんな影生成技法を実装するかが、最重要検討項目にもなっている。

今回からは、最近の3Dゲームによく用いられる典型的な影生成技法の話題を取り扱ってみたい。

3Dグラフィックスにおける2つのカゲの存在

現在のリアルタイム3Dグラフィックスにおける"影"(カゲ)は、大きく分けると2通りのものがある。

日本語でもカゲは「陰」の字を書くカゲと「影」の字を書くカゲがあるが、リアルタイム3Dグラフィックスにおける2種類のカゲは、この日本語のカゲの定義と対応している。

1つは、ライティング(陰影処理)の結果として暗くなる「陰」だ。

現在の3Dグラフィックスはポリゴン、あるいはピクセル単位のライティングを行うが、その際、ポリゴンやピクセルが、光に当たっているか、いないかを計算して、そのポリゴンやピクセルの明るさを決めている。光が当たっていないところは当然暗くなる。これが"陰"であり、この陰は、特別な処理をしなくても普通にレンダリングすれば自ずと出せてしまうカゲである。

もう1つは何かによって遮蔽されて出来る「影」だ。晴れの日、外に出れば自分の体が太陽からの光を遮蔽していることで地面に自分の体の形の影ができるが、この「影」だ。

実は現在のリアルタイム3Dグラフィックスの基本レンダリングパイプラインでは、この遮蔽されて出来る影については全く考慮されていない。つまり、普通にレンダリングしていただけでは、「影」は出ないのだ。

逆に言えば「影」を出すためには、なにか別処理を行って生成してやらなければならないのだ。今回からテーマにするのは「陰」ではなく、こちらの「影」の方だ。

この「影」の生成は意外にも高負荷な処理であり、GPUが高性能ではない1990年代の3Dゲームでは、この影生成を行っていないタイトルがほとんどだった。初代プレイステーション時代のゲームソフトを見ると、「影」の無いものが多いことに気がつくはずだ。

現在、3Dゲームグラフィックスなどで用いられる、「影」の生成は、大ざっぱに考えるとおよそ3種類に分類できる。

これらについては次回以降ひとつずつ紹介していこう。(続く)

2つのカゲ「陰」と「影」

(トライゼット西川善司)