【解決手段】情報処理装置は、3次元シーンの描画に使用するマップの生成に係る投影において、3次元シーンの描画対象となる範囲における重要度の分布を解析する。そして、得られた重要度の分布について主成分分析を行い、該分布の固有ベクトルを取得し、分布の固有ベクトルに基づいて描画対象となる範囲の各部分領域に割り当てるマップの画素数を決定し、マップを生成する。情報処理装置は、分布の固有ベクトルが所定の条件を満たす場合に、該固有ベクトルで規定される方向が予め定められた方向となるように重要度の分布を回転させ、回転後の分布に基づいて各部分領域に割り当てる画素数を決定する。
前記取得手段は、主成分分析を行うことで前記重要度の分布の共分散行列を取得し、該共分散行列を固有値分解することにより前記分布の固有ベクトルを取得することを特徴とする請求項1または2に記載の情報処理装置。
前記決定手段は、前記分布の固有ベクトルに係る最小の固有値に対する最大の固有値の比が閾値を超える場合に、前記重要度の分布の回転を行うことを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
前記決定手段は、前記固有ベクトルで規定される方向と前記予め定められた方向とがなす角が閾値に満たない場合に、前記重要度の分布の回転を行わないことを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
【背景技術】
【0002】
3次元CG(Three-Dimensional Computer Graphics)は、ゲームや映画に限らず、様々な分野において視覚化表現方法として用いられている。このような3次元CGに係る画像生成の技術分野では、近年、より写実的な描写、あるいは上質な描画表現に近づけるために様々な手法が提案されている。
【0003】
3次元CGにおける描画表現の1つに、配置されたオブジェクトに光が当たった際に生じる影を描画するものがある。オブジェクトによって生じる影を描画するための代表的な方法には、例えばシャドウマッピング(shadow mapping)法がある。シャドウマッピング法では、まず影を発生させる光源からの投影について、描画対象となるフィールドの深度マップ(シャドウマップ:shadow map)を生成しておく。そして生成する画像の各ピクセルに影が生じるか否かを、該ピクセルのオブジェクトと光源との距離が、対応する光路について記録したシャドウマップの画素値(深度値)を上回るか否かにより判断し、影の描画の有無を制御する。即ち、シャドウマッピング法では、光源の対応する位置からあるいは対応する方向に放出した光線が最初にあたる面(フラグメント)までの距離をシャドウマップの各画素が示しており、光線の光路において該距離を超えた位置に存在するフラグメントには影を描画するものと簡易的に判断することができる。
【0004】
ところで、シャドウマッピング法を用いて描画される影の品質は、生成されるシャドウマップの解像度に左右される。例えば、シャドウマップにおいて同数の画素でカバーされる2つのオブジェクトが存在する場合を考える。このとき、描画する視点から遠い位置に配置されたオブジェクトにより視点から遠い面に生じる影は、生成される画像においても占有する画素数が少ないため、品質は問題となりにくい。一方で、描画する視点に近い位置に配置されたオブジェクトにより視点から近い面に生じる影は、生成される画像において占有する画素数が多くなる。このとき、画像内の影が描画される画素数に比べてシャドウマップにおける対象オブジェクトの画素数が少ない場合は、シャドウマップの1つの画素に基づいて画像の複数の画素に生じた影が描画されることになる。即ち、影にエイリアシングが発生するため、生成された画像では影の品質劣化が生じた印象を観察者に与えうる。
【0005】
影の品質を改善するためにはシャドウマップの解像度を増加させる方法が考えられるが、シャドウマップの生成に係る演算量の増加やシャドウマップの格納に使用されるメモリ領域が増大するため現実的ではない。このため、生成に係る演算量やデータ量の増加を抑えつつ、高品位な影を描画可能なシャドウマップを生成する様々な提案がなされている(非特許文献1、非特許文献2)。
【0006】
非特許文献2には、描画を行う視点に関連して光源からの投影におけるフィールドの各領域のインポータンス(重要度)を解析し、インポータンスに応じてシャドウマップにおける該領域に割り当てる光路数を拡大縮小するワーピング手法が提案されている。非特許文献2によれば、生成するシャドウマップの解像度は変更せずにインポータンスの高い局所領域に対してシャドウマップの多くの画素を割り当てるように制御するため、演算量やデータ量の増加を抑えつつ、視点に近い面に生じる影におけるエイリアスの発生を低減することができる。
【発明を実施するための形態】
【0014】
[実施形態1]
以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。以下に説明する一実施形態は、情報処理装置の一例としての、3次元シーンの描画に用いる所定の光源に係るシャドウマップを生成可能なPCに、本発明を適用した例を説明する。しかし、本発明は、描画対象の3次元シーンのインポータンス解析により、描画に用いる所定のマップを生成することが可能な任意の機器に適用可能である。
【0015】
《PC100の構成》
図1は、本発明の実施形態に係るPC100の機能構成を示すブロック図である。
【0016】
CPU101は、PC100が有する各ブロックの動作を制御する。具体的にはCPU101は、ROM102あるいは記録媒体106に格納された各ブロックの動作プログラムを読み出し、RAM103に展開して実行することにより各ブロックの動作を制御する。
【0017】
ROM102は、例えば書き換え可能な不揮発性メモリ等の記録媒体である。ROM102は、PC100が有する各ブロックの動作プログラムに加え、各ブロックの動作において必要となるパラメータを記憶する。RAM103は、揮発性メモリである。RAM103は、各ブロックの動作プログラムの展開領域としてだけでなく、各ブロックの動作において出力された中間データ等を記憶する格納領域としても用いられる。
【0018】
GPU104は、後述のシャドウマップ生成処理に係る3次元シーンの描画処理を行う。具体的にはGPU104は、例えば後述の記録媒体106に記録された描画オブジェクトに係るモデルデータを読み出し、不図示のGPUメモリに展開する。そしてGPU104は、CPU101から提供される配置情報に応じてそれらのモデルデータを処理し、シャドウマップの生成対象である3次元シーンに係る画像を例えばVRAM105に構成する。本実施形態ではVRAM105は、シャドウマップ生成処理においてシャドウマップを構築するための領域として用いられるものとする。またVRAM105は、1つの光源に係るシャドウマップ用のインポータンス解析において生成される、インポータンスマップの格納領域としても用いられる。
【0019】
記録媒体106は、例えばHDD等のPC100に着脱可能に接続された記録媒体である。本実施形態では記録媒体106は、シャドウマップ生成処理に係る3次元シーンを構成する描画オブジェクトや配置情報等のデータ、及び該処理の動作を規定したプログラム等が記録される。また記録媒体106には、シャドウマップの生成に係る、描画対象の3次元シーンに配置される光源の配置や属性等の光源パラメータが記録される。
【0020】
《シャドウマップ生成処理》
このような構成をもつ本実施形態のPC100のシャドウマップ生成処理について、
図2のフローチャートを用いて具体的な処理を説明する。本シャドウマップ生成処理は、例えば配置情報等が決定した3次元シーンの1つの光源について、シャドウマップの生成要求がなされた際に開始されるものとして説明する。より具体的には、3次元シーンに対して描画を行う視点が決定され、該視点に係る画像(出力画像)の描画において使用するシャドウマップの生成要求がなされた際に開始されるものとして説明する。
【0021】
また、以下の説明では説明を簡単にするために3次元シーンに定義された光源の属性は平行光源であるものとして説明する。しかしながら、本発明の実施において光源の属性は平行光源に限らず、点光源、スポットライト等の他の属性の光源であってもよいことは容易に理解されよう。
【0022】
S201で、GPU104は、シャドウマップを生成する光源(対象光源)の投影におけるインポータンスの分布を解析する。本実施形態ではGPU104は、解析したインポータンスの分布を所定の画素数を有するインポータンスマップとして生成し、VRAM105に格納する。インポータンスマップは、平行光源である対象光源の光線方向の投影についてレンダリングされる2次元データであり、選択された光線方向において3次元シーン全体あるいは少なくとも描画範囲の全体を含むように定義されるものとする。インポータンスマップは、各画素が、対象光源の投影における対応する領域のインポータンスの値を格納した2次元データとなる。
【0023】
ここで、対象光源の投影における、3次元シーンの各部分領域のインポータンスを定量化する方法について説明する。本実施形態のシャドウマップ生成処理では、非特許文献2に記載されたインポータンス関数を使用して、各領域のインポータンスを定量化する。非特許文献2では光源の投影におけるインポータンス解析に用いる関数(インポータンス関数)として、
・Desired View Function
・Distance to Eye Function
・Surface Normal Function
・Shadow Edge Function
の3種の関数を定義しており、これらの関数により得られた値の積算により各部分領域のインポータンスを算出している。具体的にはDesired View Functionでは、出力画像に描画される範囲(描画範囲)に含まれている部分領域には1を、描画範囲に含まれない部分領域には0を割り当てる。ここで、描画範囲に含まれるか否かの判断がなされる部分領域は、光源からの光路上における最初のフラグメント(キャスタ)ではなく、キャスタにより影が生じるフラグメント(レシーバ)が対象となる。またDistance to Eye Functionでは、出力画像について決定した視点と各部分領域との距離に反比例した値を割り当てる。Surface Normal Functionは、視線ベクトルとフラグメントの法線ベクトルとの内積を割り当てる。即ち、Distance to Eye FunctionとSurface Normal Functionの積は、出力画像におけるピクセル当たりのレシーバの長さに比例した値であり、インポータンスも該長さに比例した値が割り当てられる。最後にShadow Edge Functionでは、影のエッジ部分(境界)が現れる部分領域に大きい値を割り当てる。つまり、影が投影された際に明部と暗部との境界が現れる部分領域に対して大きい値が割り当てられる。
【0024】
従って、本ステップではGPU104は、対象光源の光源パラメータと出力画像に係る視点パラメータとをCPU101より受信し、上記のインポータンス関数を使用してインポータンスマップを生成する。
【0025】
なお、本実施形態ではインポータンスの定量化を上記の4つの関数を用いて行うものとして説明するが、本発明の実施においてインポータンスの定量化はこれに限られるものではない。非特許文献2に記載されるように、対象光源の投影について解析する方法(Forward Analysis)だけでなく、出力画像に係る視点について解析する方法(Backward Analysis)、及びそれらの組み合わせ(Hybrid Analysis)が解析シーンに応じて選択されてよく、解析方法に応じて適宜インポータンスを定量化する関数を選択してもよい。またインポータンスの定量化は非特許文献2に記載のインポータンス関数を用いる方法に限られるものではなく、他の関数を用いてインポータンスを定量化してもよいことは容易に理解されよう。
【0026】
S202で、VRAM105は、生成したインポータンスマップを後のステップにおける演算を考慮してミップマップ化し、VRAM105に格納する。
【0027】
S203で、GPU104は、解析により得られたインポータンスマップにおけるインポータンスの分布について、ワーピング処理に適した回転角を決定する回転角決定処理を実行する。
【0028】
〈回転角決定処理〉
ここで、本実施形態のシャドウマップ生成処理において実行される回転角決定処理について、
図3のフローチャートを用いて詳細を説明する。本実施形態ではワーピング処理に適した回転角の決定は、主成分分析(PCA:Principal Component Analysis)を用いてインポータンスの分布を分析することにより行う。また、本実施形態では主成分分析の処理を高速に実行するために、ミップマップを使用してGPU104が本回転角決定処理を行う。
【0029】
S301で、GPU104は、対象光源の投影におけるインポータンスマップについて、2次元座標にインポータンスの重み付けを行った重み付き位置マップpを生成し、VRAM105に格納する。具体的にはGPU104は、各座標を
として算出し、重み付き位置マップp(x,y)を生成する。ここで、I(x,y)はインポータンスマップの座標(x,y)におけるインポータンス(画素値)を示している。
【0030】
S302で、GPU104は、重み付き位置マップをミップマップ化してVRAM105に格納する。
【0031】
S303で、GPU104は、対象光源の投影におけるインポータンスマップの共分散行列を求める。共分散行列は
のように表すことができ、該行列の各成分はインポータンスマップの位置の加重平均、即ち
により算出することができる。ここで、インポータンスマップの位置の加重平均は、インポータンスマップ及び重み付き位置マップをミップマップ化している場合、最上層(1×1画素)の画素値をインポータンスマップあるいは重み付き位置マップの最下層の画素数倍した値から容易に算出することができる。即ち、ミップマップの最上層の画素値は最下層の画素群の画素値の平均値となっているため、本ステップにおいて共分散行列は簡素な演算により高速に求めることができる。
【0032】
S304で、GPU104は、S303において求めた共分散行列を固有値分解して、インポータンスの分布の主成分である固有ベクトルを取得する。
【0033】
S305で、GPU104は、取得したインポータンスの分布の固有ベクトルのうち、大きい方の固有値を有する固有ベクトルの偏角を回転角として出力する。即ち、GPU104は、インポータンスマップの水平軸と大きい方の固有値を有する固有ベクトルとがなす角の正負を逆転した角度を回転角として出力する。
【0034】
このように、本実施形態の回転角決定処理では、主成分分析によりインポータンスの分布の固有ベクトルを取得し、該固有ベクトルに基づいてワーピング処理が好適な結果となる、即ちシャドウマップによる影描画が好適な品質となる回転角を決定する。
【0035】
回転角が決定した後、GPU104はS204で、回転角決定処理により決定した回転角だけインポータンスマップを回転する。そしてS205で、GPU104は、回転後のインポータンスマップの水平方向及び垂直方向の各々についてインポータンスの分布を解析し、各方向のインポータンスの分布に基づいてワーピングマップを生成する。ワーピングマップの生成は、非特許文献2の方法を用いて生成してよい。具体的にはGPU104は、各方向のインポータンスの分布を、該方向の同一座標を有する画素値から最大値を抽出することで取得する。そしてGPU104は、得られた各方向のインポータンスの分布にブラーを適用した後、各方向のワーピングマップを非特許文献2に記載のワーピングに係る演算式を用いて生成すればよい。
【0036】
S206で、GPU104は、ワーピングマップに基づいて、対象光源の投影におけるシャドウマップを生成し、VRAM105に格納して本シャドウマップ生成処理を完了する。本ステップで生成されるシャドウマップでは、インポータンスの高い領域にシャドウマップの多くの画素が割り当てられる。即ち、本ステップで生成されるシャドウマップは、対象光源の投影においてワーピング処理を行わずに生成するシャドウマップに比べ、後者のシャドウマップの各画素に対応する各部分領域に割り当てられる画素数がインポータンスに応じて異なっている。つまり、部分領域に割り当てられるシャドウマップの画素数がワーピング処理によって増減される。
【0037】
なお、本実施形態のシャドウマップ生成処理により生成されたシャドウマップは、回転角決定処理により回転された状態で生成されているため、3次元シーンの描画処理において適用する際には、該回転の影響を解消するように処理をする必要がある。しかしながら、本発明の実施において生成されるシャドウマップはこれに限られるものではなく、適用すべき領域との関係が規定されるのであれば、回転を解消した状態でシャドウマップが生成されるものであってもよい。
【0038】
また本実施形態では主成分分析を行うために生成したインポータンスマップを回転し、回転後のインポータンスマップに基づいて水平方向及び垂直方向各々のインポータンスの分布を解析するものとして説明したが、本発明の実施はこれに限られるものではない。例えば、より高品質な影を描画するために、対象光源の投影における上向き方向を回転角決定処理により決定した回転角に基づいて変更し、再度生成したインポータンスマップに基づいて各方向のインポータンスの分布を解析するものであってもよい。
【0039】
また、本実施形態では回転角決定処理において決定される回転角は、大きい方の固有値を有する固有ベクトルの角度の偏角として決定するものとして説明したが、本発明の実施はこれに限られるものではない。即ち、インポータンスの分布の固有ベクトルが、正負問わず水平方向あるいは垂直方向となるように回転することで、インポータンスが
図6(b)のような分布である場合でも好適なシャドウマップを生成可能なワーピング処理を実行することができる。このように、固有ベクトルが水平方向あるいは垂直方向となるように回転した場合は描画する影が最良の画質となるが、本発明の実施において、インポータンスの分布の回転態様はこれに限られるものではない。即ち、対象光源の投影におけるインポータンスの分布の固有ベクトルが水平方向あるいは垂直方向とみなせる方向となるようにインポータンスの分布を回転することによっても、描画する影の画質は向上させることができる。
【0040】
また、本実施形態ではインポータンス解析によってシャドウマップを生成する例について説明したが、本発明の実施において生成するマップはこれに限られるものではない。本発明は、例えばインポータンス解析に基づくRay-bundle Tracing手法によるレイバンドルバッファ(Ray-bundle Buffer)の生成や、トバイアス・リッチェル(Tobias Ritschel)らの「Making Imperfect Shadow Maps View-Adaptive: High-Quality Global Illumination in Large Dynamic Scenes」に記載されるような双方向反射シャドウマップ(Bidirectional Reflective Shadow Maps)の生成等に用いられてもよい。即ち、本発明は、上述したように描画対象の3次元シーンのインポータンス解析に基づく、該3次元シーンの描画に使用するマップの生成において適用可能である。なお、ライトマップを生成する場合、インポータンスはライトマップが適用されるフラグメントにおけるテクセル密度(フラグメントを有する描画オブジェクトの面に適用されるライトマップの、3次元シーン内に定義された系における単位面積当たりの画素数)を用いればよい。
【0041】
以上説明したように、本実施形態の情報処理装置は、インポータンスの分布に応じて好適なワーピング処理を行うことができる。具体的には情報処理装置は、3次元シーンの描画に使用するマップの生成に係る投影において、3次元シーンの描画対象となる範囲における重要度の分布を解析する。そして、得られた重要度の分布について主成分分析を行い、該分布の固有ベクトルを取得し、分布の固有ベクトルに基づいて描画対象となる範囲の各部分領域に割り当てるマップの画素数を決定し、マップを生成する。情報処理装置は、分布の固有ベクトルが所定の条件を満たす場合に、該固有ベクトルで規定される方向が予め定められた方向となるように重要度の分布を回転させ、回転後の分布に基づいて各部分領域に割り当てる画素数を決定する。
【0042】
これにより、生成されたマップを3次元シーンの描画に用いることで、描画された画像の品質を向上させることができる。
【0043】
[変形例]
上述した実施形態1では対象光源の投影について、全範囲のインポータンスの分布を解析することにより好適なシャドウマップを生成するインポータンスマップの回転角を決定する方法について説明したが、本発明の実施はこれに限られるものではない。本発明は、例えば徳吉らの「Adaptive Ray-bundle Tracing with Memory Usage Prediction: Efficient Global Illumination in Large Scenes」に示されるような、シーンの解析範囲を領域分割(タイリング)して行う手法においても適用可能である。即ち、
図4に示されるように各タイルについてインポータンス解析を行い、タイルごとに適応的に回転させてワーピング処理を行ってレイバンドルバッファを生成するようにしてもよい。
【0044】
[実施形態2]
上述した実施形態1及び変形例では、インポータンスの分布を回転することで好適にワーピング処理を行うことができる例について説明した。本実施形態では、インポータンスの分布に応じて回転の有無を判断しながらシャドウマップを生成する方法について説明する。なお、本実施形態の説明においては、上述した実施形態1と同様の構成を有するPC100に本発明を適用したものとして説明する。
【0045】
《シャドウマップ生成処理》
以下、本実施形態のPC100において実行されるシャドウマップ生成処理について、
図5を用いて詳細を説明する。本実施形態のシャドウマップ生成処理は、例えば配置情報等が決定した3次元シーンの1つの光源について、シャドウマップの生成要求がなされた際に開始されるものとして説明する。なお、本実施形態のシャドウマップ生成処理の説明では、実施形態1のシャドウマップ生成処理と同様の処理を行うステップについては同一の参照符号を付して説明を省略し、本実施形態に特徴的な処理の説明に留める。また、以下の説明では説明を簡単にするために、実施形態1と同様、3次元シーンに定義された光源の属性は平行光源であるものとして説明する。
【0046】
S202においてインポータンスマップのミップマップを生成した後、GPU104はS501で、対象光源の投影におけるインポータンスマップについて、2次元座標にインポータンスの重み付けを行った重み付き位置マップを生成し、VRAM105に格納する。
【0047】
S502で、GPU104は、重み付き位置マップをミップマップ化してVRAM105に格納する。
【0048】
S503で、GPU104は、対象光源の投影におけるインポータンスマップの共分散行列を求める。
【0049】
S504で、GPU104は、S503において求めた共分散行列を固有値分解して、インポータンスの分布の主成分である固有ベクトルを取得する。なお、S501乃至S504の処理は、上述した実施形態1における回転角決定処理のS301乃至S304の処理と同様であってよい。
【0050】
S505で、GPU104は、シャドウマップの生成においてワーピング処理を行うか否かを判断する。具体的にはGPU104は、取得した固有ベクトルの固有値のうち、小さい方の値が所定の閾値以下であるか否かにより本ステップの判断を行う。ここで、本ステップで使用される所定の閾値は、インポータンスの分布が広範に拡がっているか否かを判断するために定められた値である。即ち、本ステップにおいてGPU104は、小さい方の固有値を有する固有ベクトルが閾値を上回る場合は、インポータンスの分布が局所的な偏りを有するのではなく広範に拡がっていると判断する。分布が広範である場合は、生成するシャドウマップの画素数の関係でワーピング処理によりインポータンスの高い部分領域に対して割り当て可能な画素数が制限されるため、回転の有無に依らず、描画する影の品質の改善効果が低いと考えられる。故に、本実施形態ではGPU104は、小さい方の固有値が所定の閾値を上回る場合にはワーピング処理を行わないものと判断する。従って、GPU104は、シャドウマップの生成においてワーピング処理を行うと判断した場合は処理をS507に移し、行わないと判断した場合は処理をS506に移す。
【0051】
S506で、GPU104は、ワーピング処理を行わず対象光源の投影におけるシャドウマップを生成し、VRAM105に格納して本シャドウマップ生成処理を完了する。
【0052】
一方、S505でワーピング処理を行うものと判断した場合、GPU104はS507で、小さい方の固有値に対する大きい方の固有値の比率が所定の閾値を上回るか否かにより回転を行うか否かの判断を行う。ここで、本ステップで使用される所定の閾値は、インポータンスの分布が固有ベクトルのいずれかの方向に偏っているか否かを判断するために定められた値である。即ち、小さい方の固有値と大きい方の固有値との差が小さい場合は比率が閾値以下となり、分布が2つの固有ベクトルの方向に同様に拡がっていることになる。つまり、このような場合は分布を回転したとしてもワーピング処理の結果に変化が生じにくいと考えられる。また小さい方の固有値と大きい方の固有値との差が大きい場合は比率が閾値を上回り、固有値が大きい方の固有ベクトルの方向に分布が偏っていることになる。つまり、このような場合は分布を回転することで少なくとも水平方向及び垂直方向のいずれかの方向において、ワーピング処理によってインポータンスの高い部分領域に多くの画素を割り当てることができるため、描画する影の品質を向上させることができると考えられる。従って、GPU104は、回転を行うと判断した場合は処理をS508に移す。またGPU104は、回転を行わないと判断した場合は処理をS205に移し、回転を行っていないインポータンスマップについてワーピングマップを生成する。
【0053】
S508で、GPU104は、さらに固有ベクトルとインポータンスマップの水平軸あるいは垂直軸とがなす角の大きさが所定の閾値以上であるか否かを判断する。ここで、本ステップにおける所定の閾値は、例えば15度等、固有ベクトルがインポータンスマップの水平軸あるいは垂直軸と同様の方向を示すか否かを判断するために定められた値である。より詳しくは、固有ベクトルにより規定される直交する2つの直線を、インポータンスマップの水平軸と垂直軸とにより規定される直交する2つの直線と同様とみなすか否かを判断するために設けられた角度(絶対値)の閾値である。即ち、GPU104は、固有ベクトルにより規定される直交座標系が、インポータンスマップのxy座標系に近いか否かを判断する。固有ベクトルにより規定される直交座標系がインポータンスマップのxy座標系に近いと判断する場合、回転によるインポータンスの分布の変化が小さいと考えられるため、本実施形態では回転を行わないものと判断する。従って、GPU104は、固有ベクトルとインポータンスマップの水平軸あるいは垂直軸とがなす角の大きさが所定の閾値以上であると判断した場合は処理をS203に移して回転角決定処理を行う。このとき、既にインポータンスの分布の固有ベクトルは得られているため、GPU104は回転角決定処理のS305の処理のみを行えばよい。また、GPU104はS508で、固有ベクトルとインポータンスマップの水平軸あるいは垂直軸とがなす角の大きさが所定の閾値にみたないと判断した場合は処理をS205に移し、回転を行っていないインポータンスマップについてワーピングマップを生成する。
【0054】
以上説明したように、本実施形態のPC100では、インポータンスの分布に応じて回転の有無を判断しながら、好適な品質の影を描画可能なシャドウマップを適応的に生成することができる。
【0055】
[その他の実施形態]
本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。また本発明に係る情報処理装置は、コンピュータを情報処理装置として機能させるプログラムによっても実現可能である。該プログラムは、コンピュータが読み取り可能な記録媒体に記録されることにより、あるいは電気通信回線を通じて、提供/配布することができる。