JP2012018573A - 画像生成装置及び画像生成プログラム - Google Patents

画像生成装置及び画像生成プログラム Download PDF

Info

Publication number
JP2012018573A
JP2012018573A JP2010155921A JP2010155921A JP2012018573A JP 2012018573 A JP2012018573 A JP 2012018573A JP 2010155921 A JP2010155921 A JP 2010155921A JP 2010155921 A JP2010155921 A JP 2010155921A JP 2012018573 A JP2012018573 A JP 2012018573A
Authority
JP
Japan
Prior art keywords
intersection
bounding box
ray
color information
solid
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.)
Granted
Application number
JP2010155921A
Other languages
English (en)
Other versions
JP4920775B2 (ja
Inventor
Shinji Ogaki
真二 大垣
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 JP2010155921A priority Critical patent/JP4920775B2/ja
Publication of JP2012018573A publication Critical patent/JP2012018573A/ja
Application granted granted Critical
Publication of JP4920775B2 publication Critical patent/JP4920775B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Generation (AREA)

Abstract

【課題】
本発明は、レイトレーシング法を用いて、より高速で2次元画像の生成が可能な画像生成装置を提供することを目的とする。
【解決手段】
画像生成処理が開始されると、まず、光線が設定される(ステップS1)。光線とバウンディングボックスとの交点を両端に含む四角柱が設定され(ステップS2)、四角柱は、複数の六面体に分割される(ステップS3)。最も仮想視点に近い位置にある六面体を特定し(ステップS4)、その六面体にオブジェクトが含まれているか否かの判定が行なわれる(ステップS5)。六面体内にオブジェクトが含まれる場合は、光線とオブジェクトが交差するか否かの判定が行なわれ、交差する場合は、その交点の色情報の演算が行なわれ、演算された色情報は、光線が通過する画素の色として設定される(ステップS8)。
【選択図】 図3

Description

本発明は、レイトレーシング法を用いて、高速で2次元画像を生成することができる画像生成装置、及び画像生成プログラムに関する。
3次元のコンピュータグラフィックスは、仮想空間内のオブジェクトの形状を作成するモデリングと、オブジェクトの色や明るさを計算するレンダリングの2つのプロセスを経て、生成される。レンダリングの手法としては、Zバッファ法、スキャンライン法、ラジオシティ法、レイトレーシング法等があるが、この中でもレイトレーシング法は、写実的で高品質なコンピュータグラフィックスを作成することができる。
レイトレーシング法は、仮想視点から仮想空間内に存在するオブジェクトの方向に向かって光線を追跡し、光線とオブジェクトとが交差する点におけるオブジェクトの色・光の状態を算出し、それを仮想スクリーンに投影させて2次元画像を生成する方法である。しかし、レイトレーシング法は、すべての画素を通過する光線についてオブジェクトとの交差判定を行ない、さらにオブジェクト間の光の反射や屈折の影響を算定するものであるため、光線とオブジェクトとの交点を判定する交差判定に時間がかかるという問題があった。
仮に、レイトレーシング法を用いた2次元画像の生成の高速化が可能となれば、コンピュータ・グラフィックス・アニメーションの製作期間の大幅な短縮に繋がり、例えば、ゲームソフトの開発コストや映画の製作コストを下げることも可能となるため、レイトレーシング法を用いた2次元画像の生成の高速化について、種々の提案が行なわれている。
例えば、少なくとも1つのオブジェクトを内包する球体や直方体(バウンディングボリュームという)が光線と交差するか否かを判定し、バウンディングボリュームとオブジェクトと交差する場合のみ、光線とオブジェクトとの交点を算出して、光線とオブジェクトとの不要な交差判定を省略する方法があげられる。
その他、例えば、光線とオブジェクトとの不要な交差判定を省略し、画像を生成するまでの時間を短縮する方法としては、例えば、物体要素の個数差が1又は0になるように重複なく物体要素を2つのグループに分け、各グループに対して物体要素が内包されるようにバウンディングボリュームを設定し、バウンディングボリュームと光線とが交差するか否かの交差判定を実行し、バウンディングボリュームと光線が交差するという判定結果であった場合、バウンディングボリュームに内包される物体要素に対して光線との交点を求める交点算出処理を実行する画像生成装置(例えば、特許文献1参照)が開示されている。
また、これまで使用されてきたレイトレーシング法のためのデータ構造のほとんどは階層的なもので、階層を下りたり上ったりするトラバースという多くのランダムアクセスを伴う処理が必要で、メモリアクセスパターンの観点から、2次元画像の生成処理を高速化するのに大きなボトルネックとなっていた。このため、トラバースを必要としないデータ構造とすること(例えば、非特許文献1参照)も提案されている。
特開2003−271988号公報
ジェームス・アルボ(James Arvo)、デビッド・カーク(David Kirk)共著、「ファースト・レイ・トレーシング・バイ・レイクラシフィケーション(Fast ray tracing by ray classification)」、エーシーエム・シーグラフ・コンピュータ・グラフィックス21巻4号(ACM SIGGRAPH Computer Graphics Volume21, Issue4)、アソーシエイション・フォー・コンピューティング・マシーナリー(Association for Computing Machinery)発行、1987年7月
しかし、通常のバウンディングボリューム法や特許文献1の方法では、階層的にバウンディングボリュームが設定されることになり、ランダムアクセスを少なく抑えることができず、レイトレーシング法による2次元画像の生成が十分に高速化できているとは言えない。また、非特許文献1の方法では、交差判定の対象として取得できるオブジェクトの集合は、最小の集合ではなく、多くのオブジェクトとの交差判定が必要になるため、計算効率の点から改善の余地があった。本発明は、レイトレーシング法を用いて、より高速で2次元画像の生成が可能な画像生成装置を提供することを目的とする。
本発明は、仮想視点から仮想スクリーン上の画素を通過する光線と仮想空間内のオブジェクトとの交点であるオブジェクト交点を算出し、オブジェクト交点の色情報を算出して、仮想スクリーン上の該画素の色を決定するレイトレーシング法を用いて2次元画像を生成する画像生成装置において、仮想空間内の全てのオブジェクトを内包するバウンディングボックスを設定するバウンディングボックス設定手段と、バウンディングボックス内のオブジェクトの位置を記憶するオブジェクト位置記憶手段と、設定されたバウンディングボックスと光線との交点であるバウンディングボックス交点を底面に含む柱状立体を設定し、さらに、柱状立体を光線と交差する面にて複数の分割立体に分割する柱状立体分割手段と、分割立体のうち、オブジェクトを内包するオブジェクト内包立体について、オブジェクト位置記憶手段により記憶されたオブジェクトの位置をもとに、オブジェクトと光線との交差判定を実行する交差判定手段と、交差判定の結果、オブジェクトと光線が交差すると判定された場合に、オブジェクトと光線との交点であるオブジェクト交点を算出する交点算出手段と、算出されたオブジェクト交点における色情報を算出する色情報算出手段と、算出された色情報を、光線の通過する画素の色情報として設定する色情報設定手段とを備え、交差判定手段が、仮想視点の近くに位置するオブジェクト内包立体に内包されたオブジェクトから順に交差判定を実行することを特徴とする画像生成装置に関する。
本発明では、全てのオブジェクトを含むバウンディングボックスと光線との交点であるバウンディングボックス交点を両方の底面に含む柱状立体を設定し、仮想視点からの距離に応じて複数の分割立体に分割することで、光線と交差する可能性あるオブジェクトの最小の集合を比較的簡易に特定することが可能である。ランダムアクセスを少なく抑え、シーケンシャルアクセスの割合を増加させることができ、高速で2次元画像を生成することが可能となる。特に、GPUやメニューコアCPUはメモリのランダムアクセスが処理時間のボトルネックとなるため、今後、主流になると予想されるプロセッサ上で優位性がある。また、これらの分割立体でオブジェクトを内包するオブジェクト内包立体のうち、仮想視点の近くに存在するオブジェクト内包立体に内包されたオブジェクトから順に交差判定が行なわれることにより、オブジェクトと光線の不要な交差判定を省くことが可能となり、より効率的に、画像生成処理を行なうことができる。
本発明では、バウンディングボックス内の複数のオブジェクトについて、オブジェクト群を形成するオブジェクトを記憶するオブジェクト群記憶手段とを備え、柱状立体分割手段は、オブジェクト群を形成するオブジェクトの位置に従って、オブジェクト群ごとに分割されるように、柱状立体を分割することが好ましい。
バウンディングボックス内に配置された複数のオブジェクトについて、最小の集合となるオブジェクト群を予め定めておき、このオブジェクト群ごとに分割されるように、柱状立体を分割することで、比較的簡易な処理でオブジェクトの最小の集合を特定することが可能となる。
本発明では、柱状立体が四角柱であり、分割立体が六面体であることが好ましい。四角柱状の柱状立体は、バウンディングボックスと光線との交点であるバウンディングボックス交点を底面に含み、底面は正方形又は長方形である。したがって、これを、仮想視点からの距離に応じて分割すると、六面体となる。柱状立体及び分割立体をこのような簡素な形状とすることにより、柱状立体及び分割立体に含まれるオブジェクトを特定する負荷を軽減することが可能となる。
本発明では、光線と交差する面が、仮想スクリーンと平行な面であることが好ましい。柱状立体(四角柱)を仮想スクリーンと平行な面で分割することで、仮想視点からの距離が近い分割立体(六面体)から順に交差判定が行なわれるため、効率良く、交差判定処理を行なうことができる。
また、本発明は、仮想視点から仮想スクリーン上の画素を通過する光線と仮想空間内のオブジェクトとの交点であるオブジェクト交点を算出し、オブジェクト交点の色情報を算出して、仮想スクリーン上の該画素の色を決定するレイトレーシング法を用いて、コンピュータ装置に2次元画像の生成を実行させる画像生成プログラムにおいて、仮想空間内の全てのオブジェクトを内包するバウンディングボックスを設定するバウンディングボックス設定手段と、バウンディングボックス内のオブジェクトの位置を記憶するオブジェクト位置記憶手段と、設定されたバウンディングボックスと光線との交点であるバウンディングボックス交点を底面に含む柱状立体を設定し、さらに、柱状立体を光線と交差する面にて複数の分割立体に分割する柱状立体分割手段と、分割立体のうち、オブジェクトを内包するオブジェクト内包立体について、オブジェクト位置記憶手段により記憶されたオブジェクトの位置をもとに、オブジェクトと光線との交差判定を実行する交差判定手段と、交差判定の結果、オブジェクトと光線が交差すると判定された場合に、オブジェクトと光線との交点であるオブジェクト交点を算出する交点算出手段と、算出されたオブジェクト交点における色情報を算出する色情報算出手段と、算出された色情報を、光線の通過する画素の色情報として設定する色情報設定手段として機能させ、交差判定手段が、仮想視点の近くに位置するオブジェクト内包立体に内包されたオブジェクトから順に交差判定を実行させることを特徴とする画像生成プログラムに関する。
本発明にかかる実施の形態における画像生成装置の構成を示すブロック図である。 本発明にかかる実施の形態における仮想視点とバウンディングボックスの関係を表す図である。 本発明にかかる実施の形態における画像生成処理についてのフローチャートを表す図である。 本発明にかかる実施の形態における柱状立体を表す図である。 バウンディングボックス内のオブジェクトの配置を表す図である。 本発明にかかる実施の形態におけるバウンディングボックス内の柱状立体とオブジェクトの配置を表す図である。 本発明にかかる実施の形態における空間データの階層構造を表す図である。 バウンディングボリューム法を用いた場合におけるバウンディングボリュームとオブジェクトの配置を表す図である。 バウンディングボリューム法を用いた場合における、空間データの階層構造を表す図である。 2次元空間内にオブジェクトが配置された場合を表す図である。 光線とバウンディングボックスの交点を両端に含む平行四辺形を、さらに分割した平行四辺形を表す図である。 バウンディングボックスの側面と平行六面体の関係を表す図である。
以下、添付図面を参照して、本発明の実施の形態について説明する。図1は、本発明にかかる実施の形態における画像生成装置の構成を示すブロック図である。図示するように画像生成装置は、CPU(Central Processing Unit)101と、RAM102と、入力装置103と、表示装置104と、ハードディスクドライブ(HDD)105、GPU106、ビデオRAM(以下「VRAM」)107とを備えている。また、表示装置104は表示画面114を備えている。画像生成装置の具体例としては映像制作作業用のワークステーション等が最も適しているが、コンピューターの処理速度がさらに進歩すれば、レイトレーシングによるリアルタイムCG動画を再生する動画プレイヤーやゲーム装置などの動画再生装置としてもよい。
CPU101は、HDD105に格納されたプログラムを実行し、装置本体の制御を行なう。RAM102は、CPU101のワークエリアである。また、HDD105は、プログラムやデータを保存するための記憶領域として用いられる。入力装置103からの入力データはRAM102に記憶され、CPU101はRAM102に記憶された入力データをもとに各種の演算処理を実行する。
画像生成装置で実行されるプログラム及びデータは、例えば、HDD105に記憶されている。CPU101が処理を行っている間の中間的なデータは、RAM102に記憶される。
GPU106は、VRAM107に接続されている。GPU106は、CPU101からの指示に応じて、RAM102に記憶された、画像を生成するためのデータに基づいて2次元画像を生成し、VRAM107に描画する。
また、GPU106は、表示装置104に接続されている。GPU106は、CPU101からの指示に応じてVRAM107に描画された2次元画像を表示装置104に出力する。そして、表示装置104は、GPU106から出力された2次元画像を表示画面114に表示する。
次に、本発明の実施の形態にかかるレイトレーシング法において、仮想視点と描画の対象となるオブジェクトとの関係について説明する。ここで、仮想視点から仮想スクリーン上の或る画素を通過する光線について考える。図2は、仮想視点とバウンディングボックスの関係を表す図である。仮想空間内には、複数のオブジェクト204が存在し、仮想視点200から見た2次元画像がレイトレーシング法により描画される。ここで、描画の対象となる全てのオブジェクトを含む略直方体の空間をバウンディングボックス201と定義する。バウンディングボックス201内には、オブジェクト204a、204b、204cが存在し、さらに、光源205が存在する。仮想視点200も当然に仮想空間内に存在するが、バウンディングボックス201の外側に位置している。
レイトレーシング法では、まず、仮想視点200と仮想スクリーン202が任意に選択される。仮想スクリーン202は規則的なグリッド要素に分かれており、このグリッド要素が所望の解像度における画素203に対応する。光線206は、各画素206を通過し、バウンディングボックス201まで延びる半直線である。すべての画素203について、画素203を通過する光線206が追跡され、光線206がオブジェクト204と交差する交点207が求められる。
各オブジェクト204の仮想空間内の位置及び形状は、RAM102にて記憶されている。また、オブジェクト204の位置は、例えば、直交座標系にて管理されており、直交座標系のX軸、Y軸、Z軸は、バウンディングボックス201を形成する各辺と平行になるように設定されている。交点207は、RAM102にて記憶された各オブジェクトの位置及び形状をもとに、求められる。
交差したオブジェクト204が拡散反射する場合は、交点207のおけるオブジェクト204の色がその画素203の色として割り当てられる。また、交差したオブジェクト204が鏡面反射する場合は、光線206の入射方向をさらに追跡する。その他、交差したオブジェクト204が光を透過する場合は、そのオブジェクト204について設定された屈折率にしたがって屈折方向を算出し、算出された屈折方向をさらに追跡する。これらの分岐した光線の全ての影響を求めることで、画素203に表示される色が決定される。なお、光線206がオブジェクト204a、204b、204cのいずれとも交差しない場合は、背景の色がその光線206の通過する画素203の色として割り当てられる。
図3は、本発明にかかる実施の形態における画像生成処理についてのフローチャートを表す図である。画像生成処理が開始されると、まず、光線206が設定される(ステップS1)。光線206の設定は、仮想視点200を起点として、2次元画像が投影される仮想スクリーン202上の1つの画素203を通過する半直線を設定することにより行なわれる。光線206の設定は、ステップS1〜S10までの処理を繰り返すことで、全ての画素203を通過する光線について処理が実行されるまで、繰り返し行なわれる。
次に、交差判定の対象となる柱状立体(ここでは、四角柱301とする)が設定される(ステップS2)。光線206とバウンディングボックス201は2点で交わり、この四角柱301は、光線206とバウンディングボックス201との交点を両端に含むものである。図4は、本発明にかかる実施の形態における四角柱301を表す図である。仮想視点200を起点とした光線206とバウンディングボックス201は、仮想視点200に近い交点300a、仮想視点からは遠い交点300bの2点で交わる。
四角柱301は、この交点300a、300bを底面に含むもので、例えば、四角柱301の底面は、交点300a、300bのそれぞれを中心とする正方形又は長方形である。この場合、四角柱301の底面はバウンディングボックス201を形成する平面の一部と重複する。また、光線206は、四角柱301の両底面の中心を結ぶもので、四角柱301の中心軸と重なる。四角柱301の底面の正方形又は長方形の大きさは、適宜設定することが可能である。四角柱301の底面の形状としては、正方形や長方形以外の形状(例えば、円)等をとることも可能である。なお、光線206がバウンディングボックス201と交差する角度によっては、バウンディングボックス201の各辺の近傍、又は、各頂点の近傍に交点300a又は交点300bが位置する場合もあり、この場合は、四角柱301の底面はバウンディングボックス201を形成する平面の一部と重複しない場合もある。
次いで、柱状立体は、複数の分割立体に分割される(ステップS3)。分割立体への分割は、光線と交差する面、例えば、仮想スクリーン202に平行な面、又は、図2におけるYZ平面に平行な面により分割される。分割は、バウンディングボックス201又は柱状立体が等分されるように分割することができる。
また、オブジェクト204の位置に応じて、どの位置で柱状立体を分割するかを適宜設定しても良い。例えば、バウンディングボックス201内に配置された複数のオブジェクト204について、最小の集合となるオブジェクト群を予め定めておき、この最小の集合毎に分割立体にオブジェクトが内包されるように、柱状立体を分割することができる。このようにすることで、オブジェクトの最小の集合を簡易な演算で取得することが可能となる。例えば、後述する図5であれば、オブジェクト204d〜f、オブジェクト204g〜204j、オブジェクト204k〜p、オブジェクト204qと204r、オブジェクト204sと204tについて、それぞれ最小の集合として設定することができる。ここで、最小の集合とは、例えば、頭部、胴体部、腕部といったように複数のオブジェクト204から1つのキャラクタ等が構成されているような場合に、これらのオブジェクト204を最小の集合として設定することができる。したがって、バウンディングボックス201内の全体を、オブジェクト204の最小の集合毎に、仮想スクリーン202に平行な面或いはYZ面に平行な面で予め分割しておき、この分割面に従って柱状立体を分割することも可能である。
ステップS3にて、四角柱301が六面体302に分割されると、最も仮想視点200に近い位置にある六面体302が特定され(ステップS4)、六面体302にオブジェクト204が含まれているか否かの判定が行なわれる(ステップS5)。六面体302にオブジェクト204が含まれているか否かは、RAM102に記憶されたオブジェクト204の位置及び形状をもとに判定される。図4の場合、四角柱301が六面体302a、302b、302c及び302dに分割され、六面体302aにオブジェクト204が含まれれば、六面体302aに含まれるオブジェクト204と光線206の交差判定が行なわれる。
特定された六面体302内にオブジェクトが含まれると判定されると(ステップS5にて、YES)、光線206とオブジェクト204が交差するか否かの判定が行なわれる(ステップS6)。そして、光線206とオブジェクト204が交差すると判定された場合は(ステップS6にて、YES)、光線206とオブジェクト204の交点であるオブジェクト交点207の色情報の演算が行なわれ(ステップS7)、演算された色情報がステップS1にて設定された光線206が通過する画素203の色として設定される(ステップS8)。なお、光線206が同じ六面体内302で、複数の点にてオブジェクト204と交差する場合は、そのうち、仮想視点202から最も近い点にある色情報の演算が行なわれ、演算された色情報が画素203の色として設定される。
特定された六面体302内にオブジェクト204が含まれないと判定された場合(ステップS5にて、NO)、及び、光線206とオブジェクト204が交差しないと判定された場合は(ステップS6にて、NO)、すべての六面体302について、少なくともステップS5及びステップS6の処理のいずれかについて実行されたか否かが判定される(ステップS9)。全ての六面体302について、ステップS5又はステップS6の処理が実行された場合(ステップS9においてYES)は、六面体302に含まれるオブジェクト204(すなわち、四角柱301に含まれるオブジェクト204)の全てと光線206が交差しないため、ステップS1にて設定された光線206が通過する画素203の色として背景色が設定される(ステップS10)。
全ての六面体302について、ステップS5又はステップS6の処理が実行されていない場合(ステップS9においてNO)は、ステップS5又はステップS6の処理が実行されていない六面体302のうち、ステップS4に戻り、最も仮想視点200に近い位置にある六面体302が特定され、ステップS5、ステップS6の処理が繰り返し実行される。
ステップS8にて、画素203の色情報の設定がなされると、全ての画素203を通過する光線206について、ステップS1〜10までの処理が実行された場合(ステップS11にてYES)は、一連の処理が終了し、各画素203に割り当てられた色情報をもとに2次元画像が生成される。また、ステップS1〜10の処理が実行されていない光線206が残っている場合(ステップS11において、NO)は、ステップS1に戻り、ステップS1〜10の処理が実行される。したがって、ステップS1〜10の処理は、仮想スクリーン202を構成する画素203を通過する全ての光線206について、実行される。
通常のレイトレーシング法であれば、オブジェクトの数をNとした場合、おおよそlog(N)と画素の数の積の数だけ、交差判定を行うことになるが、本発明では、このように、仮想視点202の位置についての3次元の情報、光線の方向についての2次元の情報、そして、仮想視点202からの距離についての1次元の情報、という6次元のデータ構造を用いて、ランダムアクセスを減らし、シーケンシャルアクセスの割合を増加させて、高速な2次元画像の生成処理を可能としている。
次に、複数のオブジェクトがバウンディングボックス内に配置されている場合に、本発明の実施形態にかかる画像生成処理と、空間データの階層構造の関係について説明する。ここで、図5のように、バウンディングボックス201内にオブジェクト204d〜204tが配置されている場合を考える。図5は、バウンディングボックス201内のオブジェクト204の配置を表す図であり、バウンディングボックス201を構成する一平面と平行な方向における断面図である。図5において、仮想視点200を起点とした光線206はバウンディングボックス201内を通過し、オブジェクト204sと交差している。
また、図6(a)は、図5のようにオブジェクト204が配置されていた場合における、バウンディングボックス201内の四角柱301とオブジェクト204の配置を表す図である。図6(b)は、図5のようにオブジェクト204が配置されていた場合における、四角柱301を表す図である。図7は、図6(b)のように四角柱301が分割された場合における空間データの階層構造を表す図である。
図6において、仮想視点200を起点とした光線206は、交点300a及び交点300bでバウンディングボックス201と交差し、交点300a及び交点300bを底面に含む四角柱301が設定される。図7の空間データの階層構造における最上位のノードspは、四角柱301に相当する。四角柱301は、仮想視点200から近い方に位置する六面体302e(図7のノードhhに相当)と、仮想視点200から遠い方に位置する六面体302f(図7のノードhhに相当)に2分割される。つまり、ノードspは2つの子ノードhh、hhへ分岐している。さらに、六面体302eは六面体302aと302b(図7のノードhh、hhに相当)に分割され、六面体302fは六面体302cと302d(図7のノードhh、hhに相当)に分割されている。
図6(b)では、六面体302cにはオブジェクト204k、六面体302dにはオブジェクト204s、204tが含まれるため、光線206とオブジェクト204k、204s、204tとの交差判定が実行される。光線206とオブジェクト204との交差判定は、仮想視点200に近い六面体302cに含まれるオブジェクト204kから実行され、次いで、仮想視点200に遠い六面体302dに含まれるオブジェクト204s、204tについて実行される。図6(b)の場合、光線206は、オブジェクト204sと交差するため、オブジェクト204sとの交点の色が算出される。
例えば、図6(b)とは異なり、仮に、仮想視点200により近い六面体302cに含まれるオブジェクト204と光線206が交差すると判定された場合は、六面体302cより仮想視点202から遠くに位置する六面体302d中のオブジェクト204s、204tとは交差判定は行なわれずに、六面体302cに含まれるオブジェクト204との交点207の色が、画素203の色として設定される。
この場合、ノードhhにアクセスし、次いで、ノードhh、hhにアクセスすることになる。したがって、第1階層から第3階層までトラバースするだけで、光線206とオブジェクトとの交差判定を実行することができ、ランダムアクセスを減らし、シーケンシャルアクセスの割合を増加させることができる。
次に、図5のようにバウンディングボックス201内にオブジェクト204が配置されている場合において、通常のバウンディングボリューム法を用いて交差判定をした場合と、本発明との違いを説明する。図8はバウンディングボリューム法を用いた場合におけるバウンディングボリュームとオブジェクトの配置を表す図である。また、図9はバウンディングボリューム法を用いた場合における、空間データの階層構造を表す図である。
図8では、オブジェクト204d〜fはバウンディングボリューム400a(図9のノードBVに相当)に含まれ、オブジェクト204g〜jはバウンディングボリューム400b(図9のノードBVに相当)に含まれる。また、オブジェクト204k〜pはバウンディングボリューム400d(図9のノードBVに相当)に含まれ、オブジェクト204q、204rはバウンディングボリューム400f(図9のノードBVに相当)に含まれ、オブジェクト204s、204tはバウンディングボリューム400g(図9のノードBVに相当)に含まれている。バウンディングボリューム400cは、バウンディングボリューム400d、400eを内包し、バウンディングボリューム400eは、バウンディングボリューム400f、400gを内包する。これらの空間データの階層構造は、図9のようになる。
バウンディングボリューム法では、まず、仮想視点200を起点とした光線206について、バウンディングボリューム400a〜c(ノードBV〜BV)と交差判定が行なわれる。光線206は、このうちバウンディングボリューム400c(ノードBV)と交差するため、その子ノードであるノードBV、BVとさらに交差判定が行なわれる。その結果、BVと交差するため、その子ノードであるノードBV、BVとさらに交差判定が行なわれる。葉ノードであるバウンディングボリューム400と光線206が交差すると判定された場合は、そのバウンディングボリューム内のオブジェクト204と光線206の交差判定が行なわれる。結果、バウンディングボリューム400d、400gに内包するオブジェクト204と光線206の交差判定が行なわれる。
このことからわかるように、通常のバウンディングボリューム法では、すべてのバウンディングボリューム400について、光線206との交差判定を行なうため、第1階層から第4階層までトラバースをする必要があり、第3階層までトラバースすることで、オブジェクト204の最小の集合を求めて、光線206との交差判定を完了できる本発明の方が、より高速で処理できることがわかる。図5のような比較的単純なオブジェクトの配置の場合だけでなく、より複雑な形状のオブジェクトが多数、配置されているような場合、この傾向は顕著に現れる。
本発明で提案するデータ構造はTreeデータ構造であり、光線206とバウンディングボックス201の交点を両端に含むものを以下のように分割しても良い。例えば、図10のように、オブジェクト204x、204y、204zが2次元空間に配置されている場合であっても、光線206とバウンディングボックス201の交点を両端に含む平行四辺形303を、図11(a)〜(d)のように、さらに細かい4つの細い平行四辺形304a、304b、304c、304dへ分割し、中に含まれるオブジェクト204の数が閾値以下になるまで、この処理が再帰的に行なわれる。
オブジェクト204が3次元空間に配置されている場合も、光線206とバウンディングボックス201を両端に含む四角柱301(平行六面体)を、2次元の場合と同様の方法で、さらに細かい平行六面体に分割する。例えば、光線206とバウンディングボックス201を両端に含む四角柱301の底面を2×2の4分割とした場合、分割された面を底面とする平行六面体として、16(=4×4)の平行六面体を得ることができる。そして、この分割された平行六面体中に含まれるオブジェクトの数が、閾値以下になるまで、この処理が再帰的に行なわれる。
本発明では、バウンディングボックス201と光線206の2つの交点を両端の底面に含む平行六面体(四角柱)を特定するが、以下のように平行六面体を特定することができる。図12は、バウンディングボックスの側面と平行六面体の関係を表す図であり、バウンディングボックスの側面201aは、光線206と交差するバウンディングボックス201の側面のうち、仮想視点に近い方の側面であり、バウンディングボックスの側面201bは、光線206と交差するバウンディングボックス201の側面のうち、仮想視点に遠い方の側面である。バウンディングボックスの側面201a、201bは、それぞれの側面201a、201bの外周を構成する各辺と平行な線分で、等間隔で分割されている。図12では、16×16分割されている。この分割されて得られた正方形のうち、光線206と交差する点を含む正方形が特定されると、特定された正方形201c、201dを両底面とする平行六面体301が特定される。処理内容としては、バウンディングボックス201の側面で平行六面体301を特定するため、トラバースが2回必要となる。ただし、Treeを上り下りする必要はなく、スタックレス・トラバース(Stackless Traverse)を可能にするデータ構造である。スタック(Stack)はGPU上で実装する際のボトルネックとなるため、このようなデータ構造とすることで、処理負荷を軽減することができる。
上で述べた実施の形態では、光線とオブジェクト(ポリゴン)との交差判定を実行したが、ポリゴンは複数の六面体に重複して登録されるため、使用されるメモリ量が増える。しかし、点データでは、複数の六面体に重複して登録されることがないため、本願発明はBeam Radiance Estimate(ビーム・ラディエンス・エスティメイト)のようなアルゴリズム(「ザ・ビーム・ラディエンス・エスティメイト・フォー・ボリューメトリック・フォトン・マッピング(The Beam Radiance Estimate for Volumetric Photon Mapping)」(ウォイチェフ・ヤロス(Wojciech Jarosz)、マティアス・ズウィッカー(Matthias Zwicker)、ヘンリック・ワン・イェンセン(Henrik Wann Jensen)共著、イン・コンピュータ・グラフィックス・フォーラム(In Computer Graphics Forum),プロシーディング・オブ・ユーログラフィックス・2008(Proceedigs of Eurographics 2008)、ギリシャ,クレタ,ヘルソニソス、2008年4月14〜18日)を参照)を加速するのに最適である。
本発明のデータ構造は他のデータ構造と併用することができる。たとえば、BVHは階層的にバウンディング・ボックスを設定するが、そのうちのいくつかを本発明によるデータ構造で置き換えてもよい。
101 CPU
102 RAM
103 入力装置
104 表示装置
105 HDD
106 GPU
107 VRAM
114 表示画面
200 仮想視点
201 バウンディングボックス
202 仮想スクリーン
203 画素
204 オブジェクト
205 光源
206 光線
207 交点

Claims (5)

  1. 仮想視点から仮想スクリーン上の画素を通過する光線と仮想空間内のオブジェクトとの交点であるオブジェクト交点を算出し、オブジェクト交点の色情報を算出して、仮想スクリーン上の該画素の色を決定するレイトレーシング法を用いて2次元画像を生成する画像生成装置において、
    仮想空間内の全てのオブジェクトを内包するバウンディングボックスを設定するバウンディングボックス設定手段と、
    バウンディングボックス内のオブジェクトの位置を記憶するオブジェクト位置記憶手段と、
    設定されたバウンディングボックスと光線との交点であるバウンディングボックス交点を底面に含む柱状立体を設定し、さらに、柱状立体を光線と交差する面にて複数の分割立体に分割する柱状立体分割手段と、
    分割立体のうち、オブジェクトを内包するオブジェクト内包立体について、オブジェクト位置記憶手段により記憶されたオブジェクトの位置をもとに、オブジェクトと光線との交差判定を実行する交差判定手段と、
    交差判定の結果、オブジェクトと光線が交差すると判定された場合に、オブジェクトと光線との交点であるオブジェクト交点を算出する交点算出手段と、
    算出されたオブジェクト交点における色情報を算出する色情報算出手段と、
    算出された色情報を、光線の通過する画素の色情報として設定する色情報設定手段とを備え、
    交差判定手段が、仮想視点の近くに位置するオブジェクト内包立体に内包されたオブジェクトから順に交差判定を実行することを特徴とする画像生成装置。
  2. バウンディングボックス内の複数のオブジェクトについて、オブジェクト群を形成するオブジェクトを記憶するオブジェクト群記憶手段とを備え、
    柱状立体分割手段が、オブジェクト群を形成するオブジェクトの位置に従って、オブジェクト群ごとに分割されるように、柱状立体を分割することを特徴とする請求項1記載の画像生成装置。
  3. 柱状立体が四角柱であり、分割立体が六面体であることを特徴とする請求項1又は2記載の画像生成装置。
  4. 光線と交差する面が、仮想スクリーンと平行な面であることを特徴とする請求項1、2又は3記載の画像生成装置。
  5. 仮想視点から仮想スクリーン上の画素を通過する光線と仮想空間内のオブジェクトとの交点であるオブジェクト交点を算出し、オブジェクト交点の色情報を算出して、仮想スクリーン上の該画素の色を決定するレイトレーシング法を用いて、コンピュータ装置に2次元画像の生成を実行させる画像生成プログラムにおいて、
    仮想空間内の全てのオブジェクトを内包するバウンディングボックスを設定するバウンディングボックス設定手段と、
    バウンディングボックス内のオブジェクトの位置を記憶するオブジェクト位置記憶手段と、
    設定されたバウンディングボックスと光線との交点であるバウンディングボックス交点を底面に含む柱状立体を設定し、さらに、柱状立体を光線と交差する面にて複数の分割立体に分割する柱状立体分割手段と、
    分割立体のうち、オブジェクトを内包するオブジェクト内包立体について、オブジェクト位置記憶手段により記憶されたオブジェクトの位置をもとに、オブジェクトと光線との交差判定を実行する交差判定手段と、
    交差判定の結果、オブジェクトと光線が交差すると判定された場合に、オブジェクトと光線との交点であるオブジェクト交点を算出する交点算出手段と、
    算出されたオブジェクト交点における色情報を算出する色情報算出手段と、
    算出された色情報を、光線の通過する画素の色情報として設定する色情報設定手段として機能させ、
    交差判定手段が、仮想視点の近くに位置するオブジェクト内包立体に内包されたオブジェクトから順に交差判定を実行させることを特徴とする画像生成プログラム。
JP2010155921A 2010-07-08 2010-07-08 画像生成装置及び画像生成プログラム Active JP4920775B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010155921A JP4920775B2 (ja) 2010-07-08 2010-07-08 画像生成装置及び画像生成プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010155921A JP4920775B2 (ja) 2010-07-08 2010-07-08 画像生成装置及び画像生成プログラム

Publications (2)

Publication Number Publication Date
JP2012018573A true JP2012018573A (ja) 2012-01-26
JP4920775B2 JP4920775B2 (ja) 2012-04-18

Family

ID=45603773

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010155921A Active JP4920775B2 (ja) 2010-07-08 2010-07-08 画像生成装置及び画像生成プログラム

Country Status (1)

Country Link
JP (1) JP4920775B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018067301A (ja) * 2016-09-06 2018-04-26 トムソン ライセンシングThomson Licensing 拡張現実のシーンを再生する際の自動ズームのための方法、装置及びシステム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01255077A (ja) * 1988-04-05 1989-10-11 Fujitsu Ltd 映像生成処理方式
JP2003271988A (ja) * 2002-03-15 2003-09-26 Denso Corp 画像生成装置及びプログラム
JP2008123497A (ja) * 2006-11-13 2008-05-29 Internatl Business Mach Corp <Ibm> メモリ・キャッシュ内のデータを無効化する方法、コンピュータ可読媒体及びイメージ処理システム
WO2009145155A1 (ja) * 2008-05-29 2009-12-03 三菱電機株式会社 切削加工シミュレーション表示装置、切削加工シミュレーション表示方法、および切削加工シミュレーション表示プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01255077A (ja) * 1988-04-05 1989-10-11 Fujitsu Ltd 映像生成処理方式
JP2003271988A (ja) * 2002-03-15 2003-09-26 Denso Corp 画像生成装置及びプログラム
JP2008123497A (ja) * 2006-11-13 2008-05-29 Internatl Business Mach Corp <Ibm> メモリ・キャッシュ内のデータを無効化する方法、コンピュータ可読媒体及びイメージ処理システム
WO2009145155A1 (ja) * 2008-05-29 2009-12-03 三菱電機株式会社 切削加工シミュレーション表示装置、切削加工シミュレーション表示方法、および切削加工シミュレーション表示プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018067301A (ja) * 2016-09-06 2018-04-26 トムソン ライセンシングThomson Licensing 拡張現実のシーンを再生する際の自動ズームのための方法、装置及びシステム
JP7090410B2 (ja) 2016-09-06 2022-06-24 インターディジタル・シーイー・パテント・ホールディングス・ソシエテ・パ・アクシオンス・シンプリフィエ 拡張現実のシーンを再生する際の自動ズームのための方法、装置及びシステム

Also Published As

Publication number Publication date
JP4920775B2 (ja) 2012-04-18

Similar Documents

Publication Publication Date Title
US9984492B2 (en) Efficient hierarchy traversal in ray tracing applications
US8570322B2 (en) Method, system, and computer program product for efficient ray tracing of micropolygon geometry
US20190385354A1 (en) Vertex Processing Pipeline for Building Reduced Acceleration Structures for Ray Tracing Systems
US8384711B2 (en) Ray tracing a three dimensional scene using a grid
US9177414B2 (en) Apparatus and method for rendering point cloud using voxel grid
JP5476138B2 (ja) 変化する視野に基づいてフレーム間の光線追跡のアクセラレーション・データ構造体を更新する方法
JP2009525526A (ja) ビーム放出によって仮想画像を合成するための方法
JP2022091849A (ja) 光線バンドルの光線に対する差分データを決定する方法及びグラフィックス処理ユニット
KR102493461B1 (ko) 렌더링 시스템 및 방법
KR20160148582A (ko) 광선 추적 어플리케이션들에서 트리 순회를 위한 시작 노드 결정
JP5055214B2 (ja) 画像処理装置、画像処理方法
US9305393B2 (en) Building acceleration structures with synthetic acceleration shapes for use in ray tracing
KR102151443B1 (ko) 하이브리드 gpu 아키텍처 기반의 그래픽 처리 장치
CN111788608A (zh) 用于建模光反射的混合射线跟踪方法
JP2016085738A (ja) ハイブリッドレンダリング装置及びその方法
US10460506B2 (en) Method and apparatus for generating acceleration structure
KR20130092055A (ko) 영상 처리 장치 및 방법
WO2023169002A1 (zh) 软光栅化的方法、装置、设备、介质及程序产品
JP4920775B2 (ja) 画像生成装置及び画像生成プログラム
JP3931701B2 (ja) 画像生成装置及びプログラム
Yin et al. Multi-screen Tiled Displayed, Parallel Rendering System for a Large Terrain Dataset.
CN116993894B (zh) 虚拟画面的生成方法、装置、设备、存储介质及程序产品
JP7368950B2 (ja) 効率的な建物フットプリント特定のための方法及び装置
KR20220058183A (ko) 프레임 분할을 이용한 멀티칩 기반의 레이 트레이싱 장치 및 방법
Borodavka et al. The Hardware Adapted Ray Tracing Algorithm

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120116

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: 20120131

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120201

R150 Certificate of patent or registration of utility model

Ref document number: 4920775

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150210

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150210

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150210

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250