JP6235926B2 - 情報処理装置、生成方法、プログラム及び記録媒体 - Google Patents

情報処理装置、生成方法、プログラム及び記録媒体 Download PDF

Info

Publication number
JP6235926B2
JP6235926B2 JP2014026419A JP2014026419A JP6235926B2 JP 6235926 B2 JP6235926 B2 JP 6235926B2 JP 2014026419 A JP2014026419 A JP 2014026419A JP 2014026419 A JP2014026419 A JP 2014026419A JP 6235926 B2 JP6235926 B2 JP 6235926B2
Authority
JP
Japan
Prior art keywords
distribution
importance
map
eigenvector
shadow
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014026419A
Other languages
English (en)
Other versions
JP2015153144A (ja
Inventor
雄介 徳吉
雄介 徳吉
ダ シルバ チアゴ
ダ シルバ チアゴ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Square Enix Co Ltd
Original Assignee
Square Enix Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Square Enix Co Ltd filed Critical Square Enix Co Ltd
Priority to JP2014026419A priority Critical patent/JP6235926B2/ja
Priority to EP15152398.2A priority patent/EP2908289B1/en
Priority to US14/611,527 priority patent/US9401038B2/en
Publication of JP2015153144A publication Critical patent/JP2015153144A/ja
Application granted granted Critical
Publication of JP6235926B2 publication Critical patent/JP6235926B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/60Shadow generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2215/00Indexing scheme for image rendering
    • G06T2215/12Shadow map, environment map

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Image Generation (AREA)

Description

本発明は、情報処理装置、生成方法、プログラム及び記録媒体に関し、特に3次元シーンの描画技術に関する。
3次元CG(Three-Dimensional Computer Graphics)は、ゲームや映画に限らず、様々な分野において視覚化表現方法として用いられている。このような3次元CGに係る画像生成の技術分野では、近年、より写実的な描写、あるいは上質な描画表現に近づけるために様々な手法が提案されている。
3次元CGにおける描画表現の1つに、配置されたオブジェクトに光が当たった際に生じる影を描画するものがある。オブジェクトによって生じる影を描画するための代表的な方法には、例えばシャドウマッピング(shadow mapping)法がある。シャドウマッピング法では、まず影を発生させる光源からの投影について、描画対象となるフィールドの深度マップ(シャドウマップ:shadow map)を生成しておく。そして生成する画像の各ピクセルに影が生じるか否かを、該ピクセルのオブジェクトと光源との距離が、対応する光路について記録したシャドウマップの画素値(深度値)を上回るか否かにより判断し、影の描画の有無を制御する。即ち、シャドウマッピング法では、光源の対応する位置からあるいは対応する方向に放出した光線が最初にあたる面(フラグメント)までの距離をシャドウマップの各画素が示しており、光線の光路において該距離を超えた位置に存在するフラグメントには影を描画するものと簡易的に判断することができる。
ところで、シャドウマッピング法を用いて描画される影の品質は、生成されるシャドウマップの解像度に左右される。例えば、シャドウマップにおいて同数の画素でカバーされる2つのオブジェクトが存在する場合を考える。このとき、描画する視点から遠い位置に配置されたオブジェクトにより視点から遠い面に生じる影は、生成される画像においても占有する画素数が少ないため、品質は問題となりにくい。一方で、描画する視点に近い位置に配置されたオブジェクトにより視点から近い面に生じる影は、生成される画像において占有する画素数が多くなる。このとき、画像内の影が描画される画素数に比べてシャドウマップにおける対象オブジェクトの画素数が少ない場合は、シャドウマップの1つの画素に基づいて画像の複数の画素に生じた影が描画されることになる。即ち、影にエイリアシングが発生するため、生成された画像では影の品質劣化が生じた印象を観察者に与えうる。
影の品質を改善するためにはシャドウマップの解像度を増加させる方法が考えられるが、シャドウマップの生成に係る演算量の増加やシャドウマップの格納に使用されるメモリ領域が増大するため現実的ではない。このため、生成に係る演算量やデータ量の増加を抑えつつ、高品位な影を描画可能なシャドウマップを生成する様々な提案がなされている(非特許文献1、非特許文献2)。
非特許文献2には、描画を行う視点に関連して光源からの投影におけるフィールドの各領域のインポータンス(重要度)を解析し、インポータンスに応じてシャドウマップにおける該領域に割り当てる光路数を拡大縮小するワーピング手法が提案されている。非特許文献2によれば、生成するシャドウマップの解像度は変更せずにインポータンスの高い局所領域に対してシャドウマップの多くの画素を割り当てるように制御するため、演算量やデータ量の増加を抑えつつ、視点に近い面に生じる影におけるエイリアスの発生を低減することができる。
ランディマ・フェルナンド(Randima Fernando)、外3名著、「適応的シャドウマップ(Adaptive Shadow Maps)」、SIGGRAPH 2001 Paper、2001年、pp.387-390 ポール・ローゼン(Paul Rosen)著、「高速な適応的シャドウマップのための直線的なテクスチャワーピング(Rectilinear Texture Warping for Fast Adaptive Shadow Mapping)」、Interactive 3D Graphics and Games 2012、2012年、pp.151-158
非特許文献2の手法では、フィールドの各領域のインポータンスをインポータンスマップ(importance map)として生成し、インポータンスマップの水平方向及び垂直方向の各々についてインポータンスの分布を解析してマップ内のインポータンスの高い領域を特定している。従って、非特許文献2の手法を用いることで、図6(a)に示されるような、局所的にインポータンスが高い領域がインポータンスマップ内に存在する場合には好適にワーピング処理を行うことができる。
一方で、図6(b)に示されるようにインポータンスの高い領域が、水平方向及び垂直方向のいずれとも異なる方向にのみ広がりを有して分布するような場合、非特許文献2のように水平方向及び垂直方向の各々についてインポータンスの分布を解析したとしても好適にワーピング処理を行うことができない。即ち、図6(b)のようにインポータンスの高い領域が分布する場合、水平方向及び垂直方向においてインポータンスは一様な分布を示す。従って、非特許文献2の手法では全域にインポータンスの高い領域が分布していると判断することになり、結果としてシャドウマップにおいてインポータンスの高い領域への割り当て領域の拡大が行われず、影の品質を向上させることができないことがある。
本発明は、上述の問題点に鑑みてなされたものであり、インポータンスの分布に応じて好適なワーピング処理を行うことが可能な情報処理装置、生成方法、プログラム及び記録媒体を提供することを目的とする。
前述の目的を達成するために、本発明の情報処理装置は、以下の構成を備えることを特徴とする。具体的には情報処理装置は、3次元シーンの描画に使用するマップを生成する情報処理装置であって、マップの生成に係る投影において、3次元シーンの描画対象となる範囲における重要度の分布を解析する解析手段と、解析手段により得られた重要度の分布について主成分分析を行い、該分布の固有ベクトルを取得する取得手段と、重要度の分布及び取得手段により取得された分布の固有ベクトルに基づいて、描画対象となる範囲の各部分領域に割り当てるマップの画素数を決定する決定手段と、決定手段による決定に基づいてマップを生成する生成手段と、を有し、決定手段は、分布の固有ベクトルが所定の条件を満たす場合に、該固有ベクトルで規定される方向が予め定められた方向となるように重要度の分布を回転させ、回転後の分布に基づいて各部分領域に割り当てる画素数を決定することを特徴とする。
このような構成により本発明によれば、インポータンスの分布に応じて好適なワーピング処理を行うことが可能となる。
本発明の実施形態に係るPC100の機能構成を示したブロック図 本発明の実施形態1に係るPC100で実行されるシャドウマップ生成処理を例示したフローチャート 本発明の実施形態1に係るPC100で実行される回転角決定処理を例示したフローチャート 本発明の変形例に係る、タイリング処理を行う場合の各タイルにおける回転を例示した図 本発明の実施形態2に係るPC100で実行されるシャドウマップ生成処理を例示したフローチャート 従来技術の説明に係るインポータンスの分布を例示した図
[実施形態1]
以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。以下に説明する一実施形態は、情報処理装置の一例としての、3次元シーンの描画に用いる所定の光源に係るシャドウマップを生成可能なPCに、本発明を適用した例を説明する。しかし、本発明は、描画対象の3次元シーンのインポータンス解析により、描画に用いる所定のマップを生成することが可能な任意の機器に適用可能である。
《PC100の構成》
図1は、本発明の実施形態に係るPC100の機能構成を示すブロック図である。
CPU101は、PC100が有する各ブロックの動作を制御する。具体的にはCPU101は、ROM102あるいは記録媒体106に格納された各ブロックの動作プログラムを読み出し、RAM103に展開して実行することにより各ブロックの動作を制御する。
ROM102は、例えば書き換え可能な不揮発性メモリ等の記録媒体である。ROM102は、PC100が有する各ブロックの動作プログラムに加え、各ブロックの動作において必要となるパラメータを記憶する。RAM103は、揮発性メモリである。RAM103は、各ブロックの動作プログラムの展開領域としてだけでなく、各ブロックの動作において出力された中間データ等を記憶する格納領域としても用いられる。
GPU104は、後述のシャドウマップ生成処理に係る3次元シーンの描画処理を行う。具体的にはGPU104は、例えば後述の記録媒体106に記録された描画オブジェクトに係るモデルデータを読み出し、不図示のGPUメモリに展開する。そしてGPU104は、CPU101から提供される配置情報に応じてそれらのモデルデータを処理し、シャドウマップの生成対象である3次元シーンに係る画像を例えばVRAM105に構成する。本実施形態ではVRAM105は、シャドウマップ生成処理においてシャドウマップを構築するための領域として用いられるものとする。またVRAM105は、1つの光源に係るシャドウマップ用のインポータンス解析において生成される、インポータンスマップの格納領域としても用いられる。
記録媒体106は、例えばHDD等のPC100に着脱可能に接続された記録媒体である。本実施形態では記録媒体106は、シャドウマップ生成処理に係る3次元シーンを構成する描画オブジェクトや配置情報等のデータ、及び該処理の動作を規定したプログラム等が記録される。また記録媒体106には、シャドウマップの生成に係る、描画対象の3次元シーンに配置される光源の配置や属性等の光源パラメータが記録される。
《シャドウマップ生成処理》
このような構成をもつ本実施形態のPC100のシャドウマップ生成処理について、図2のフローチャートを用いて具体的な処理を説明する。本シャドウマップ生成処理は、例えば配置情報等が決定した3次元シーンの1つの光源について、シャドウマップの生成要求がなされた際に開始されるものとして説明する。より具体的には、3次元シーンに対して描画を行う視点が決定され、該視点に係る画像(出力画像)の描画において使用するシャドウマップの生成要求がなされた際に開始されるものとして説明する。
また、以下の説明では説明を簡単にするために3次元シーンに定義された光源の属性は平行光源であるものとして説明する。しかしながら、本発明の実施において光源の属性は平行光源に限らず、点光源、スポットライト等の他の属性の光源であってもよいことは容易に理解されよう。
S201で、GPU104は、シャドウマップを生成する光源(対象光源)の投影におけるインポータンスの分布を解析する。本実施形態ではGPU104は、解析したインポータンスの分布を所定の画素数を有するインポータンスマップとして生成し、VRAM105に格納する。インポータンスマップは、平行光源である対象光源の光線方向の投影についてレンダリングされる2次元データであり、選択された光線方向において3次元シーン全体あるいは少なくとも描画範囲の全体を含むように定義されるものとする。インポータンスマップは、各画素が、対象光源の投影における対応する領域のインポータンスの値を格納した2次元データとなる。
ここで、対象光源の投影における、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では、影のエッジ部分(境界)が現れる部分領域に大きい値を割り当てる。つまり、影が投影された際に明部と暗部との境界が現れる部分領域に対して大きい値が割り当てられる。
従って、本ステップではGPU104は、対象光源の光源パラメータと出力画像に係る視点パラメータとをCPU101より受信し、上記のインポータンス関数を使用してインポータンスマップを生成する。
なお、本実施形態ではインポータンスの定量化を上記の4つの関数を用いて行うものとして説明するが、本発明の実施においてインポータンスの定量化はこれに限られるものではない。非特許文献2に記載されるように、対象光源の投影について解析する方法(Forward Analysis)だけでなく、出力画像に係る視点について解析する方法(Backward Analysis)、及びそれらの組み合わせ(Hybrid Analysis)が解析シーンに応じて選択されてよく、解析方法に応じて適宜インポータンスを定量化する関数を選択してもよい。またインポータンスの定量化は非特許文献2に記載のインポータンス関数を用いる方法に限られるものではなく、他の関数を用いてインポータンスを定量化してもよいことは容易に理解されよう。
S202で、VRAM105は、生成したインポータンスマップを後のステップにおける演算を考慮してミップマップ化し、VRAM105に格納する。
S203で、GPU104は、解析により得られたインポータンスマップにおけるインポータンスの分布について、ワーピング処理に適した回転角を決定する回転角決定処理を実行する。
〈回転角決定処理〉
ここで、本実施形態のシャドウマップ生成処理において実行される回転角決定処理について、図3のフローチャートを用いて詳細を説明する。本実施形態ではワーピング処理に適した回転角の決定は、主成分分析(PCA:Principal Component Analysis)を用いてインポータンスの分布を分析することにより行う。また、本実施形態では主成分分析の処理を高速に実行するために、ミップマップを使用してGPU104が本回転角決定処理を行う。
S301で、GPU104は、対象光源の投影におけるインポータンスマップについて、2次元座標にインポータンスの重み付けを行った重み付き位置マップpを生成し、VRAM105に格納する。具体的にはGPU104は、各座標を
として算出し、重み付き位置マップp(x,y)を生成する。ここで、I(x,y)はインポータンスマップの座標(x,y)におけるインポータンス(画素値)を示している。
S302で、GPU104は、重み付き位置マップをミップマップ化してVRAM105に格納する。
S303で、GPU104は、対象光源の投影におけるインポータンスマップの共分散行列を求める。共分散行列は
のように表すことができ、該行列の各成分はインポータンスマップの位置の加重平均、即ち
により算出することができる。ここで、インポータンスマップの位置の加重平均は、インポータンスマップ及び重み付き位置マップをミップマップ化している場合、最上層(1×1画素)の画素値をインポータンスマップあるいは重み付き位置マップの最下層の画素数倍した値から容易に算出することができる。即ち、ミップマップの最上層の画素値は最下層の画素群の画素値の平均値となっているため、本ステップにおいて共分散行列は簡素な演算により高速に求めることができる。
S304で、GPU104は、S303において求めた共分散行列を固有値分解して、インポータンスの分布の主成分である固有ベクトルを取得する。
S305で、GPU104は、取得したインポータンスの分布の固有ベクトルのうち、大きい方の固有値を有する固有ベクトルの偏角を回転角として出力する。即ち、GPU104は、インポータンスマップの水平軸と大きい方の固有値を有する固有ベクトルとがなす角の正負を逆転した角度を回転角として出力する。
このように、本実施形態の回転角決定処理では、主成分分析によりインポータンスの分布の固有ベクトルを取得し、該固有ベクトルに基づいてワーピング処理が好適な結果となる、即ちシャドウマップによる影描画が好適な品質となる回転角を決定する。
回転角が決定した後、GPU104はS204で、回転角決定処理により決定した回転角だけインポータンスマップを回転する。そしてS205で、GPU104は、回転後のインポータンスマップの水平方向及び垂直方向の各々についてインポータンスの分布を解析し、各方向のインポータンスの分布に基づいてワーピングマップを生成する。ワーピングマップの生成は、非特許文献2の方法を用いて生成してよい。具体的にはGPU104は、各方向のインポータンスの分布を、該方向の同一座標を有する画素値から最大値を抽出することで取得する。そしてGPU104は、得られた各方向のインポータンスの分布にブラーを適用した後、各方向のワーピングマップを非特許文献2に記載のワーピングに係る演算式を用いて生成すればよい。
S206で、GPU104は、ワーピングマップに基づいて、対象光源の投影におけるシャドウマップを生成し、VRAM105に格納して本シャドウマップ生成処理を完了する。本ステップで生成されるシャドウマップでは、インポータンスの高い領域にシャドウマップの多くの画素が割り当てられる。即ち、本ステップで生成されるシャドウマップは、対象光源の投影においてワーピング処理を行わずに生成するシャドウマップに比べ、後者のシャドウマップの各画素に対応する各部分領域に割り当てられる画素数がインポータンスに応じて異なっている。つまり、部分領域に割り当てられるシャドウマップの画素数がワーピング処理によって増減される。
なお、本実施形態のシャドウマップ生成処理により生成されたシャドウマップは、回転角決定処理により回転された状態で生成されているため、3次元シーンの描画処理において適用する際には、該回転の影響を解消するように処理をする必要がある。しかしながら、本発明の実施において生成されるシャドウマップはこれに限られるものではなく、適用すべき領域との関係が規定されるのであれば、回転を解消した状態でシャドウマップが生成されるものであってもよい。
また本実施形態では主成分分析を行うために生成したインポータンスマップを回転し、回転後のインポータンスマップに基づいて水平方向及び垂直方向各々のインポータンスの分布を解析するものとして説明したが、本発明の実施はこれに限られるものではない。例えば、より高品質な影を描画するために、対象光源の投影における上向き方向を回転角決定処理により決定した回転角に基づいて変更し、再度生成したインポータンスマップに基づいて各方向のインポータンスの分布を解析するものであってもよい。
また、本実施形態では回転角決定処理において決定される回転角は、大きい方の固有値を有する固有ベクトルの角度の偏角として決定するものとして説明したが、本発明の実施はこれに限られるものではない。即ち、インポータンスの分布の固有ベクトルが、正負問わず水平方向あるいは垂直方向となるように回転することで、インポータンスが図6(b)のような分布である場合でも好適なシャドウマップを生成可能なワーピング処理を実行することができる。このように、固有ベクトルが水平方向あるいは垂直方向となるように回転した場合は描画する影が最良の画質となるが、本発明の実施において、インポータンスの分布の回転態様はこれに限られるものではない。即ち、対象光源の投影におけるインポータンスの分布の固有ベクトルが水平方向あるいは垂直方向とみなせる方向となるようにインポータンスの分布を回転することによっても、描画する影の画質は向上させることができる。
また、本実施形態ではインポータンス解析によってシャドウマップを生成する例について説明したが、本発明の実施において生成するマップはこれに限られるものではない。本発明は、例えばインポータンス解析に基づく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次元シーン内に定義された系における単位面積当たりの画素数)を用いればよい。
以上説明したように、本実施形態の情報処理装置は、インポータンスの分布に応じて好適なワーピング処理を行うことができる。具体的には情報処理装置は、3次元シーンの描画に使用するマップの生成に係る投影において、3次元シーンの描画対象となる範囲における重要度の分布を解析する。そして、得られた重要度の分布について主成分分析を行い、該分布の固有ベクトルを取得し、分布の固有ベクトルに基づいて描画対象となる範囲の各部分領域に割り当てるマップの画素数を決定し、マップを生成する。情報処理装置は、分布の固有ベクトルが所定の条件を満たす場合に、該固有ベクトルで規定される方向が予め定められた方向となるように重要度の分布を回転させ、回転後の分布に基づいて各部分領域に割り当てる画素数を決定する。
これにより、生成されたマップを3次元シーンの描画に用いることで、描画された画像の品質を向上させることができる。
[変形例]
上述した実施形態1では対象光源の投影について、全範囲のインポータンスの分布を解析することにより好適なシャドウマップを生成するインポータンスマップの回転角を決定する方法について説明したが、本発明の実施はこれに限られるものではない。本発明は、例えば徳吉らの「Adaptive Ray-bundle Tracing with Memory Usage Prediction: Efficient Global Illumination in Large Scenes」に示されるような、シーンの解析範囲を領域分割(タイリング)して行う手法においても適用可能である。即ち、図4に示されるように各タイルについてインポータンス解析を行い、タイルごとに適応的に回転させてワーピング処理を行ってレイバンドルバッファを生成するようにしてもよい。
[実施形態2]
上述した実施形態1及び変形例では、インポータンスの分布を回転することで好適にワーピング処理を行うことができる例について説明した。本実施形態では、インポータンスの分布に応じて回転の有無を判断しながらシャドウマップを生成する方法について説明する。なお、本実施形態の説明においては、上述した実施形態1と同様の構成を有するPC100に本発明を適用したものとして説明する。
《シャドウマップ生成処理》
以下、本実施形態のPC100において実行されるシャドウマップ生成処理について、図5を用いて詳細を説明する。本実施形態のシャドウマップ生成処理は、例えば配置情報等が決定した3次元シーンの1つの光源について、シャドウマップの生成要求がなされた際に開始されるものとして説明する。なお、本実施形態のシャドウマップ生成処理の説明では、実施形態1のシャドウマップ生成処理と同様の処理を行うステップについては同一の参照符号を付して説明を省略し、本実施形態に特徴的な処理の説明に留める。また、以下の説明では説明を簡単にするために、実施形態1と同様、3次元シーンに定義された光源の属性は平行光源であるものとして説明する。
S202においてインポータンスマップのミップマップを生成した後、GPU104はS501で、対象光源の投影におけるインポータンスマップについて、2次元座標にインポータンスの重み付けを行った重み付き位置マップを生成し、VRAM105に格納する。
S502で、GPU104は、重み付き位置マップをミップマップ化してVRAM105に格納する。
S503で、GPU104は、対象光源の投影におけるインポータンスマップの共分散行列を求める。
S504で、GPU104は、S503において求めた共分散行列を固有値分解して、インポータンスの分布の主成分である固有ベクトルを取得する。なお、S501乃至S504の処理は、上述した実施形態1における回転角決定処理のS301乃至S304の処理と同様であってよい。
S505で、GPU104は、シャドウマップの生成においてワーピング処理を行うか否かを判断する。具体的にはGPU104は、取得した固有ベクトルの固有値のうち、小さい方の値が所定の閾値以下であるか否かにより本ステップの判断を行う。ここで、本ステップで使用される所定の閾値は、インポータンスの分布が広範に拡がっているか否かを判断するために定められた値である。即ち、本ステップにおいてGPU104は、小さい方の固有値を有する固有ベクトルが閾値を上回る場合は、インポータンスの分布が局所的な偏りを有するのではなく広範に拡がっていると判断する。分布が広範である場合は、生成するシャドウマップの画素数の関係でワーピング処理によりインポータンスの高い部分領域に対して割り当て可能な画素数が制限されるため、回転の有無に依らず、描画する影の品質の改善効果が低いと考えられる。故に、本実施形態ではGPU104は、小さい方の固有値が所定の閾値を上回る場合にはワーピング処理を行わないものと判断する。従って、GPU104は、シャドウマップの生成においてワーピング処理を行うと判断した場合は処理をS507に移し、行わないと判断した場合は処理をS506に移す。
S506で、GPU104は、ワーピング処理を行わず対象光源の投影におけるシャドウマップを生成し、VRAM105に格納して本シャドウマップ生成処理を完了する。
一方、S505でワーピング処理を行うものと判断した場合、GPU104はS507で、小さい方の固有値に対する大きい方の固有値の比率が所定の閾値を上回るか否かにより回転を行うか否かの判断を行う。ここで、本ステップで使用される所定の閾値は、インポータンスの分布が固有ベクトルのいずれかの方向に偏っているか否かを判断するために定められた値である。即ち、小さい方の固有値と大きい方の固有値との差が小さい場合は比率が閾値以下となり、分布が2つの固有ベクトルの方向に同様に拡がっていることになる。つまり、このような場合は分布を回転したとしてもワーピング処理の結果に変化が生じにくいと考えられる。また小さい方の固有値と大きい方の固有値との差が大きい場合は比率が閾値を上回り、固有値が大きい方の固有ベクトルの方向に分布が偏っていることになる。つまり、このような場合は分布を回転することで少なくとも水平方向及び垂直方向のいずれかの方向において、ワーピング処理によってインポータンスの高い部分領域に多くの画素を割り当てることができるため、描画する影の品質を向上させることができると考えられる。従って、GPU104は、回転を行うと判断した場合は処理をS508に移す。またGPU104は、回転を行わないと判断した場合は処理をS205に移し、回転を行っていないインポータンスマップについてワーピングマップを生成する。
S508で、GPU104は、さらに固有ベクトルとインポータンスマップの水平軸あるいは垂直軸とがなす角の大きさが所定の閾値以上であるか否かを判断する。ここで、本ステップにおける所定の閾値は、例えば15度等、固有ベクトルがインポータンスマップの水平軸あるいは垂直軸と同様の方向を示すか否かを判断するために定められた値である。より詳しくは、固有ベクトルにより規定される直交する2つの直線を、インポータンスマップの水平軸と垂直軸とにより規定される直交する2つの直線と同様とみなすか否かを判断するために設けられた角度(絶対値)の閾値である。即ち、GPU104は、固有ベクトルにより規定される直交座標系が、インポータンスマップのxy座標系に近いか否かを判断する。固有ベクトルにより規定される直交座標系がインポータンスマップのxy座標系に近いと判断する場合、回転によるインポータンスの分布の変化が小さいと考えられるため、本実施形態では回転を行わないものと判断する。従って、GPU104は、固有ベクトルとインポータンスマップの水平軸あるいは垂直軸とがなす角の大きさが所定の閾値以上であると判断した場合は処理をS203に移して回転角決定処理を行う。このとき、既にインポータンスの分布の固有ベクトルは得られているため、GPU104は回転角決定処理のS305の処理のみを行えばよい。また、GPU104はS508で、固有ベクトルとインポータンスマップの水平軸あるいは垂直軸とがなす角の大きさが所定の閾値にみたないと判断した場合は処理をS205に移し、回転を行っていないインポータンスマップについてワーピングマップを生成する。
以上説明したように、本実施形態のPC100では、インポータンスの分布に応じて回転の有無を判断しながら、好適な品質の影を描画可能なシャドウマップを適応的に生成することができる。
[その他の実施形態]
本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。また本発明に係る情報処理装置は、コンピュータを情報処理装置として機能させるプログラムによっても実現可能である。該プログラムは、コンピュータが読み取り可能な記録媒体に記録されることにより、あるいは電気通信回線を通じて、提供/配布することができる。

Claims (10)

  1. 3次元シーンの描画に使用するマップを生成する情報処理装置であって、
    前記マップの生成に係る投影において、前記3次元シーンの描画対象となる範囲における重要度の分布を解析する解析手段と、
    前記解析手段により得られた前記重要度の分布について主成分分析を行い、該分布の固有ベクトルを取得する取得手段と、
    前記重要度の分布及び前記取得手段により取得された前記分布の固有ベクトルに基づいて、前記描画対象となる範囲の各部分領域に割り当てる前記マップの画素数を決定する決定手段と、
    前記決定手段による決定に基づいて前記マップを生成する生成手段と、を有し、
    前記決定手段は、前記分布の固有ベクトルが所定の条件を満たす場合に、該固有ベクトルで規定される方向が予め定められた方向となるように前記重要度の分布を回転させ、回転後の分布に基づいて前記各部分領域に割り当てる画素数を決定する
    ことを特徴とする情報処理装置。
  2. 前記決定手段は、重要度が高い部分領域ほど多くの画素数を割り当てることを特徴とする請求項1に記載の情報処理装置。
  3. 前記取得手段は、主成分分析を行うことで前記重要度の分布の共分散行列を取得し、該共分散行列を固有値分解することにより前記分布の固有ベクトルを取得することを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記決定手段は、前記分布の固有ベクトルに係る最小の固有値に対する最大の固有値の比が閾値を超える場合に、前記重要度の分布の回転を行うことを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
  5. 前記決定手段は、前記固有ベクトルで規定される方向と前記予め定められた方向とがなす角が閾値に満たない場合に、前記重要度の分布の回転を行わないことを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
  6. 前記予め定められた方向は、前記マップにおける水平方向及び垂直方向であることを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
  7. 前記マップは、シャドウマップ、反射シャドウマップ、あるいはレイバンドルバッファを含むことを特徴とする請求項1乃至6のいずれか1項に記載の情報処理装置。
  8. 3次元シーンの描画に使用するマップを生成する生成方法であって、
    前記マップの生成に係る投影において、前記3次元シーンの描画対象となる範囲における重要度の分布を解析する解析工程と、
    前記解析工程において得られた前記重要度の分布について主成分分析を行い、該分布の固有ベクトルを取得する取得工程と、
    前記重要度の分布及び前記取得工程において取得された前記分布の固有ベクトルに基づいて、前記描画対象となる範囲の各部分領域に割り当てる前記マップの画素数を決定する決定工程と、
    前記決定工程における決定に基づいて前記マップを生成する生成工程と、を有し、
    前記決定工程において、前記分布の固有ベクトルが所定の条件を満たす場合に、該固有ベクトルで規定される方向が予め定められた方向となるように前記重要度の分布が回転され、回転後の分布に基づいて前記各部分領域に割り当てる画素数が決定される
    ことを特徴とする生成方法。
  9. 1以上のコンピュータを、請求項1乃至7のいずれか1項に記載の情報処理装置の各手段として機能させるためのプログラム。
  10. 請求項9に記載のプログラムを記録したコンピュータが読み取り可能な記録媒体。
JP2014026419A 2014-02-14 2014-02-14 情報処理装置、生成方法、プログラム及び記録媒体 Active JP6235926B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014026419A JP6235926B2 (ja) 2014-02-14 2014-02-14 情報処理装置、生成方法、プログラム及び記録媒体
EP15152398.2A EP2908289B1 (en) 2014-02-14 2015-01-23 Information processing apparatus, generation method, program, and storage medium
US14/611,527 US9401038B2 (en) 2014-02-14 2015-02-02 Information processing apparatus, generation method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014026419A JP6235926B2 (ja) 2014-02-14 2014-02-14 情報処理装置、生成方法、プログラム及び記録媒体

Publications (2)

Publication Number Publication Date
JP2015153144A JP2015153144A (ja) 2015-08-24
JP6235926B2 true JP6235926B2 (ja) 2017-11-22

Family

ID=52396543

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014026419A Active JP6235926B2 (ja) 2014-02-14 2014-02-14 情報処理装置、生成方法、プログラム及び記録媒体

Country Status (3)

Country Link
US (1) US9401038B2 (ja)
EP (1) EP2908289B1 (ja)
JP (1) JP6235926B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10050949B2 (en) * 2015-03-23 2018-08-14 Amazon Technologies, Inc. Accessing a secure network using a streaming device
CN110942508A (zh) * 2019-10-30 2020-03-31 北京邮电大学 一种城市网络靶场的实时场景大屏展示方法和***

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2417384B (en) * 2001-12-03 2006-05-03 Imagination Tech Ltd Method and apparatus for compressing data and decompressing compressed data
JP3941569B2 (ja) * 2002-04-12 2007-07-04 トヨタ自動車株式会社 反射率推定方法
US20090157649A1 (en) * 2007-12-17 2009-06-18 Panagiotis Papadakis Hybrid Method and System for Content-based 3D Model Search

Also Published As

Publication number Publication date
EP2908289A2 (en) 2015-08-19
JP2015153144A (ja) 2015-08-24
US20150235411A1 (en) 2015-08-20
EP2908289A3 (en) 2015-09-16
EP2908289B1 (en) 2018-03-07
US9401038B2 (en) 2016-07-26

Similar Documents

Publication Publication Date Title
CN108351864B (zh) 成凹几何密铺
JP6910130B2 (ja) 3dレンダリング方法及び3dレンダリング装置
US11138782B2 (en) Systems and methods for rendering optical distortion effects
US10553013B2 (en) Systems and methods for reducing rendering latency
KR102651126B1 (ko) 그래픽 프로세싱 장치 및 그래픽스 파이프라인에서 텍스처를 처리하는 방법
US10699467B2 (en) Computer-graphics based on hierarchical ray casting
US10553012B2 (en) Systems and methods for rendering foveated effects
US9905036B2 (en) Graphics processing unit for adjusting level-of-detail, method of operating the same, and devices including the same
KR102442488B1 (ko) 그래픽 처리 시스템 및 그래픽 프로세서
US9639971B2 (en) Image processing apparatus and method for processing transparency information of drawing commands
KR102545176B1 (ko) 레지스터 관리 방법 및 장치
TWI789452B (zh) 執行基於採樣繪圖的圖形處理器及其操作方法
US20170098294A1 (en) Method and apparatus for executing graphics pipeline
JP6207618B2 (ja) 描画装置
KR102285840B1 (ko) 3차원 영상 렌더링 방법 및 이를 적용한 영상 출력 장치
KR20150060026A (ko) 이전 커맨드 정보를 이용하여 현재 커맨드를 처리하는 방법 및 장치.
KR20170025099A (ko) 렌더링 방법 및 장치
JP6235926B2 (ja) 情報処理装置、生成方法、プログラム及び記録媒体
US7834871B2 (en) Splat filtering method, medium, and system
US9767600B2 (en) Target independent rasterization with multiple color samples
KR101227155B1 (ko) 저해상도 그래픽 영상을 고해상도 그래픽 영상으로 실시간 변환하는 그래픽 영상 처리 장치 및 방법
JP6619598B2 (ja) プログラム、記録媒体、輝度演算装置及び輝度演算方法
US10255717B2 (en) Geometry shadow maps with per-fragment atomics
KR20150042095A (ko) 드로우 커맨드들의 처리 순서를 재조정하여 프레임을 렌더링하는 장치 및 방법
CN110335335A (zh) 用于球面投影的均匀密度立方体贴图渲染

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161031

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170919

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170929

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171027

R150 Certificate of patent or registration of utility model

Ref document number: 6235926

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250