JP6460914B2 - レイトレーシング・システムでの加速構造探索装置及び加速構造探索方法 - Google Patents

レイトレーシング・システムでの加速構造探索装置及び加速構造探索方法 Download PDF

Info

Publication number
JP6460914B2
JP6460914B2 JP2015107282A JP2015107282A JP6460914B2 JP 6460914 B2 JP6460914 B2 JP 6460914B2 JP 2015107282 A JP2015107282 A JP 2015107282A JP 2015107282 A JP2015107282 A JP 2015107282A JP 6460914 B2 JP6460914 B2 JP 6460914B2
Authority
JP
Japan
Prior art keywords
node
ray
target node
child
acceleration structure
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
JP2015107282A
Other languages
English (en)
Other versions
JP2015225673A (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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2015225673A publication Critical patent/JP2015225673A/ja
Application granted granted Critical
Publication of JP6460914B2 publication Critical patent/JP6460914B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/06Ray-tracing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/52Parallel processing

Landscapes

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

Description

本発明は、レイトレーシング・システムでの加速構造探索装置及びその探索方法に関する。
一般的に、3Dレンダリング(3−dimensional rendering)は、三次元客体データを、与えられたカメラ視点(view point)で見える映像に合成(synthesis)する映像処理をいう。
レンダリング方法は、三次元客体を画面に投影(projection)しながら映像を生成するラスター化(rasterization)方法や、カメラ視点から、映像の各ピクセルに向かった光線に沿って入射する光の経路を追跡し、映像を生成するレイトレーシング(raytracing)などがある。
このうちレイトレーシングは、光の物理的性質(反射、屈折、透過など)をレンダリング結果に反映するので、高品質映像を生成することができるという長所があるが、相対的に演算量が膨大であり、高速でレンダリングするのに困難が伴う。
レイトレーシングにおいて、演算量が多く要求される要素は、レンダリング対象になるシーンオブジェクト(scene object)を空間的に分割した加速構造(AS:acceleration structure)の生成及び探索(TRV:traversal)と、光線とプリミティブとの交差検査(IST:intersection test)とである。
本発明が解決しようとする課題は、加速構造探索の遂行時、子ノードと光線との交差検査を効率的に行うレイトレーシング・システムでの加速構造探索装置及び探索方法を提供することである。
前記課題を解決するために本発明の一実施形態によるレイトレーシング・システムでの加速構造探索方法は、加速構造に含まれるターゲットノードに係わる複数の子ノード(child node)の情報を獲得する段階と、前記獲得された情報に基づいて、前記複数の子ノードそれぞれが光線と交差するか否かということを判断する段階と、前記光線と交差する少なくとも1つの子ノードのうち、次のターゲットノードを決める段階と、前記決定された次のターゲットノードのタイプに対応する動作を遂行する段階と、を含む。
他の一実施形態によるレイトレーシング・システムでの加速構造探索方法において、前記光線と交差するか否かということを判断する段階は、前記複数の子ノードそれぞれに対して並列して、前記光線と交差するか否かということを判断する。
さらに他の一実施形態によるレイトレーシング・システムでの加速構造探索方法において、前記光線と交差するか否かということを判断する段階は、第1子ノード及び第2子ノードに対してそれぞれ獲得した情報に基づいて、前記第1子ノード及び前記第2子ノードそれぞれが、前記光線と交差するか否かということを同時に判断する。
さらに他の一実施形態によるレイトレーシング・システムでの加速構造探索方法において、前記次のターゲットノードを決定する段階は、前記光線と交差する1つの子ノードが存在する場合、前記1つの子ノードを、前記次のターゲットノードと決定し、前記光線と交差する2以上の子ノードが存在する場合、前記2以上の子ノードのうち、前記光線との交差距離が最も近い子ノードを、前記次のターゲットノードとして決定する。
さらに他の一実施形態によるレイトレーシング・システムでの加速構造探索方法において、前記次のターゲットノードを決定する段階は、前記光線と交差する子ノードが存在しない場合、前記加速構造において、前記ターゲットノードに属していないノードのうちいずれか1つのノードを抽出する段階と、前記抽出されたノードを、前記次のターゲットノードとして決定する段階と、を含む。
さらに他の一実施形態によるレイトレーシング・システムでの加速構造探索方法において、前記次のターゲットノードのタイプに対応する動作を遂行する段階は、前記次のターゲットノードがインナー(inner)ノードである場合、前記次のターゲットノードの少なくとも1つの子ノードに移動し、前記次のターゲットノードがリーフ(leaf)ノードである場合、前記リーフノードに含まれた少なくとも1つのプリミティブ(primitiveが、前記光線と交差するか否かということを判断する。
さらに他の一実施形態によるレイトレーシング・システムでの加速構造探索方法において、前記次のターゲットノードのタイプに対応する動作を遂行する段階は、前記少なくとも1つのプリミティブそれぞれに対して、前記光線と交差するか否かということを判断した場合、前記光線と交差する他の子ノードを探索する段階をさらに含む。
さらに他の一実施形態によるレイトレーシング・システムでの加速構造探索方法において、前記次のターゲットノードがリーフノードである場合、前記リーフノードに含まれた少なくとも1つのプリミティブに対して既設定のバウンディングボックスと、前記光線との交差いかんを判断する段階をさらに含む。
さらに他の一実施形態によるレイトレーシング・システムでの加速構造探索方法において、ルートノードに含まれる前記ターゲットノードがリーフノードである場合、前記ターゲットノードに含まれる少なくとも1つのプリミティブを分割する段階と、前記分割された少なくとも1つのプリミティブに基づいて、前記ターゲットノードの子ノードを生成する段階をさらに含む。
前記課題を解決するために本発明の一実施形態によるレイトレーシング・システムでの加速構造探索装置は、加速構造に含まれるターゲットノードに係わる複数の子ノードの情報を獲得する情報獲得部と、前記獲得された情報に基づいて、前記複数の子ノードそれぞれが光線と交差するか否かということを判断する交差検査部と、前記光線と交差する少なくとも1つの子ノードのうち、次のターゲットノードを決定し、決定された次のターゲットノードのタイプに対応する動作を遂行する制御部と、を含む。
他の一実施形態によるレイトレーシング・システムでの加速構造探索装置において、前記交差検査部は、前記複数の子ノードそれぞれに対して並列して、前記光線と交差するか否かということを判断する。
さらに他の一実施形態によるレイトレーシング・システムでの加速構造探索装置において、前記交差検査部は、第1子ノード及び第2子ノードに対してそれぞれ獲得した情報に基づいて、前記第1子ノード及び前記第2子ノードそれぞれが、前記光線と交差するか否かということを同時に判断する。
さらに他の一実施形態によるレイトレーシング・システムでの加速構造探索装置において、前記制御部は、前記光線と交差する1つの子ノードが存在する場合、前記1つの子ノードを、前記次のターゲットノードと決定し、前記光線と交差する2以上の子ノードが存在する場合、前記2以上の子ノードのうち、前記光線との交差距離が最も近い子ノードを、前記次のターゲットノードとして決定する。
さらに他の一実施形態によるレイトレーシング・システムでの加速構造探索装置において、前記制御部は、前記光線と交差する子ノードが存在しない場合、前記加速構造において、前記ターゲットノードに属していないノードのうちいずれか1つのノードを抽出し、前記抽出されたノードを、前記次のターゲットノードとして決定する。
さらに他の一実施形態によるレイトレーシング・システムでの加速構造探索装置において、前記制御部は、前記次のターゲットノードがインナーノードである場合、前記次のターゲットノードの少なくとも1つの子ノードに移動し、前記次のターゲットノードがリーフノードである場合、前記リーフノードに含まれた少なくとも1つのプリミティブが前記光線と交差するか否かということを判断する。
さらに他の一実施形態によるレイトレーシング・システムでの加速構造探索装置において、前記制御部は、前記少なくとも1つのプリミティブそれぞれに対して、前記光線と交差するか否かということを判断した場合、前記光線と交差する他の子ノードを探索する。
さらに他の一実施形態によるレイトレーシング・システムでの加速構造探索装置において、前記交差検査部は、前記次のターゲットノードがリーフノードである場合、前記リーフノードに含まれた少なくとも1つのプリミティブに対して既設定のバウンディングボックスと、前記光線との交差いかんを判断する。
さらに他の一実施形態によるレイトレーシング・システムでの加速構造探索装置において、前記制御部は、ルートノードに含まれる前記ターゲットノードがリーフノードである場合、前記ターゲットノードに含まれる少なくとも1つのプリミティブを分割し、前記分割された少なくとも1つのプリミティブに基づいて、前記ターゲットノードの子ノードを生成する。
本発明の加速構造探索の遂行時、処理速度を向上させ、必要となる時間を短縮させることにより、子ノードと光線との交差検査を効率的に行うことができる。
一般的なレイトレーシング方法について説明するための図面である。 レイトレーシング・システムを示す図面である。 一実施形態による、レイトレーシング・システムでの加速構造探索装置を示すブロック図である。 一実施形態による、ターゲットノードの子ノードについての情報が保存される資料構造について説明するための図面である。 一実施形態による、レイトレーシング・システムでの加速構造探索方法について説明するためのフローチャートである。 一実施形態による加速構造探索装置が、光線と交差する子ノードのタイプによって、対応する動作を遂行する方法について具体的に説明するためのフローチャートである。 一実施形態による、レイトレーシング・システムでの状態ダイヤグラムを図示した図面である。 一実施形態による、レイトレーシング・システムでの加速構造探索装置について、さらに具体的に説明するためのブロック図である。
以下、図面を参照し、開示された実施形態について詳細に説明する。
図1は、レイトレーシング方法について説明するための図面である。図1に図示されているように、三次元モデリングは、光源80、第1物体31、第2物体32、第3物体33を含んでもよい。図1において、第1物体31、第2物体32及び第3物体33は、二次元物体のように表現されているが、それは、説明の便宜のためであり、第1物体31、第2物体32及び第3物体33は、三次元物体である。
このとき、第1物体31は、反射率及び屈折率が0より大きく、第2物体32及び第3物体33は、反射率及び屈折率が0であると仮定することができる。すなわち、第1物体31は、光を反射及び屈折させ、第2物体32及び第3物体33は、光を反射させもせず、屈折させもしないと仮定することができる。
図1のような三次元モデリングにおいて、レンダリング装置(例えば、レイトレーシング装置)は、三次元映像を生成するために、視点10を決定し、決定された視点10によって、画面15を決定することができる。
視点10と画面15とが決定されれば、レイトレーシング装置100(図2)は、視点10から、画面15の各ピクセルに対して光線を生成することができる。
例えば、図1に図示されているように、画面15の解像度が4*3の場合、12個のピクセルに対してそれぞれ光線を生成することができる。
以下では、説明の簡明化のため、1つのピクセル(ピクセルA)に対する光線についてのみ説明するが、他のピクセルについても同様である。
図1を参照すれば、視点10から、ピクセルAに対して、一次光線(primary ray)40が生成される。一次光線40は、三次元空間を通過し、第1物体31に逹する。ここで、第1物体31は、決定された単位領域(以下、プリミティブ(primitive)とする)の集合によって構成され、例えば、プリミティブは、三角形、四角形などの多角形でもある。以下では、プリミティブが三角形であるということを例として挙げて説明する。
一方、一次光線40と第1物体31との交差点(hit point)では、シャドー光線(shadow ray)50、反射光線(reflection ray)60及び屈折光線(refraction ray)70を生成することができる。このとき、シャドー光線50、反射光線60及び屈折光線70を二次光線という。
シャドー光線50は、交差点から光源80の方向に生成される。反射光線60は、一次光線40の入射角に対応する方向に生成され、第1物体31の反射率による加重値が適用される。屈折光線70は、一次光線40の入射角、及び第1物体31の屈折率に対応する方向に生成され、第1物体31の屈折率による加重値が適用される。
レイトレーシング装置100は、シャドー光線50により、交差点が光源80に露出されているか否かということを判断する。例えば、図1に図示されているように、シャドー光線50が第2物体32と出合えば(遭遇するならば)、当該シャドー光線50が生成された交差点に影が生成される。
また、レイトレーシング装置100は、屈折光線70及び反射光線60が、他の物体に逹するか否かということを判断する。例えば、図1に図示されているように、屈折光線70の進行方向には、いかなる物体も存在せず、反射光線60は、第3物体33に逹する。それにより、レイトレーシング装置100は、第3物体33の交差点の座標及び色相情報を確認し、また第3物体33の交差点から、シャドー光線90を生成する。このとき、レイトレーシング装置100は、シャドー光線90が光源80に露出されているか否かということを判断する。
一方、第3物体33の反射率及び屈折率が0であるので、第3物体33に対する反射光線及び屈折光線は生成されない。
前述のように、レイトレーシング装置100は、ピクセルAに対する一次光線40、及び一次光線40から派生される全ての光線を分析し、分析結果によって、ピクセルAの色に関する値(例えば、色相値)を決定する。ピクセルAの色相値の決定は、一次光線40の交差点の色相、反射光線60の交差点の色相、シャドー光線50が光源80に逹するか否かということによる影響を受ける。
レイトレーシング装置100は、前記のような過程を、画面15の全てのピクセルに対して遂行し、画面15を構成することができる。
図2は、レイトレーシング・システムを示す図面である。図2を参照すれば、レイトレーシング・システムは、レイトレーシング装置100、外部メモリ250及び加速構造生成装置200を含んでもよい。
また、レイトレーシング装置100は、光線生成ユニット110、TRVユニット(traversal unit)120、ISTユニット(intersection unit)130及びシェーディングユニット(shading unit)140を含んでもよい。
光線生成ユニット110は、一次光線、及び一次光線によって派生される光線を生成することができる。光線生成ユニット110は、図1で説明したように、視点10から一次光線を生成し、一次光線とオブジェクトとの交差点で、二次光線を生成することができる。このとき、二次光線は、一次光線がオブジェクトと交差した地点で生成された反射光線、屈折光線またはシャドー光線でもある。
また、光線生成ユニット110は、二次光線とオブジェクトとの交差点で、三次光線を生成することができる。光線生成ユニット110は、光線がオブジェクトと交差しなくなるまで、光線を続けて生成するか、あるいは定められた回数内で、光線を生成することができる。
TRVユニット(120)は、光線生成ユニット110から生成された光線に対する情報を受信することができる。生成された光線は一次光線及び一次光線から派生し光線(二次光線、三次光線など)を皆含む。例えば、一次光線の場合、TRVユニット120は、生成された光線の視点及び方向に係わる情報を受信することができる。また、二次光線の場合、TRVユニット120は、二次光線の出発点及び方向に係わる情報を受信することができる。二次光線の出発点は、一次光線がオブジェクトと交差した地点を示す。また、視点または出発点は、座標で表現され、方向は、ベクトル又はベクターでも表現される。
TRVユニット120は、外部メモリ250から、加速構造(AS)に係わる情報を読み取ることができる。加速構造は、処理を高速化するために利用可能なツリー構造を含む。
このとき、加速構造は、加速構造生成装置(acceleration structure generator)200によって生成され、生成された加速構造は、外部メモリ250に保存される。
加速構造生成装置200は、三次元空間上のオブジェクトの位置情報を含む加速構造を生成することができる。加速構造生成装置200は、三次元空間を階層的ツリー状に分割する。加速構造生成装置200は、さまざまな形態の加速構造を生成することができる。例えば、加速構造生成装置200は、KD次元ツリー(KD−tree:K−dimensional tree)、バウンディング階層空間(BVH:bounding volume hierarchy)を適用し、三次元空間上のオブジェクトの関係を示す加速構造を生成することができる。
該加速構造は、ルートノード(root node)、インナーノード(inner node)、リーフノード(leaf node)及びプリミティブを含んでもよい。ここで、該ルートノードは、親ノード(parent node)を有さず、子ノード(child node)だけ有する最上位ノードである。また、該インナーノードは、親ノード及び子ノードをいずれも有するノードである。該リーフノードは、子ノードは有さず、親ノードだけ有する最下位ノードである。一方、リーフノードは、リーフノードに存在するプリミティブを含んでもよい。
TRVユニット120は、読み取った加速構造に係わる情報を探索し、光線が交差するリーフノードを検出することができる。
ISTユニット130は、TRVユニット120から、光線が交差するリーフノードを受信することができる。
ISTユニット130は、受信したリーフノードに含まれたプリミティブに係わる情報(幾何データ)を、外部メモリ250から読み取ることができる。
ISTユニット130は、読み取ったプリミティブに係わる情報を利用して、光線とプリミティブとの交差検査を行うことができる。
例えば、ISTユニット130は、TRVユニット120から受信したリーフノードに含まれた複数のプリミティブのうち、いずれのプリミティブに光線が交差したかということを検査することができる。
それにより、光線が交差するプリミティブを検出し、検出されたプリミティブと光線とが交差した地点(hit point)を計算することができる。
計算された交差点(hit point)は、座標形態で、シェーディングユニット140に出力される。
シェーディングユニット140は、交差点に係わる情報、及び交差点の物質特性に基づいて、ピクセルの色相値を決定することができる。また、シェーディングユニット140は、交差点の物質の基本色相、及び光源による効果などを考慮し、ピクセルの色相値を決定することができる。
例えば、図1のピクセルAの場合、シェーディングユニット140は、一次光線40、及び二次光線である屈折光線70、反射光線60、シャドー光線50による効果をいずれも考慮し、ピクセルAの色相値を決定することができる。
一方、レイトレーシング装置100は、外部メモリ250から、レイトレーシングに必要なデータを受信することができる。外部メモリ250は、加速構造または幾何データ(geometry data)を保存することができる。
該加速構造は、加速構造生成装置200によって生成され、外部メモリ250に保存される。
また、該幾何データは、プリミティブに係わる情報を示す。該プリミティブは、三角形、四角形などの多角形でもあり、該幾何データは、オブジェクトに含まれるプリミティブの頂点及び位置に係わる情報を示すことができる。例えば、該プリミティブが三角形である場合、幾何データは、三角形の三点に係わる頂点座標、法線ベクトルまたはテクスチャ座標を含んでもよい。
一方、レイトレーシング装置100は、加速構造を探索し、光線に交差するリーフノードを検出することができる。レイトレーシング装置100は、いずれか1つの経路に沿って加速構造を探索し、探索が完了すれば、他の経路の加速構造を探索することができる。他の経路の加速構造を探索する場合、レイトレーシング装置100は、探索の効率を高めるため、探索されていないノード(node)情報をスタック(stack)に保存することができる。ここで、該スタックは、レイトレーシング装置100に含まれる臨時記憶装置でもある。ただし、それは一実施形態であるのみ、該スタックは、レイトレーシング装置100の外部に存在し、レイトレーシング装置100に含まれた複数個のモジュールとそれぞれ通信することもできる。
図3は、一実施形態によるレイトレーシング・システム10での加速構造探索装置300を示すブロック図である。図3を参照すれば、加速構造探索装置300は、情報獲得部310、交差検査部320及び制御部330を含んでもよい。
また、図3に図示された、情報獲得部310、交差検査部320及び制御部330は、加速構造探索遂行のためのものであり、図2のTRVユニット120に含まれる構成でもある。ただし、それに限定されるものではない。
情報獲得部310は、加速構造に含まれるターゲットノードに係わる複数の子ノードの情報を獲得する。ここで、ターゲットノードは、インナーノードまたはルートノードでもある。情報獲得部310は、次に探索するためのノード(以下、次のターゲットノード)を決定するために、ターゲットノードに係わる複数の子ノードの情報を獲得することができる。
情報獲得部310は、ルートノードから、加速構造の探索を始めることができる。一実施形態によるルートノードは、子ノードを有することができる。情報獲得部310は、ルートノードの次のターゲットノードを決定するために、ルートノードに係わる複数の子ノードの情報を獲得することができる。
他の一実施形態によって、ルートノードが子ノードを有さないリーフノードである場合、情報獲得部310は、リーフノードに含まれた少なくとも1つのプリミティブを分割し、子ノードを生成するように、加速構造生成装置200を制御することができる。加速構造生成装置200がリーフノードに含まれた少なくとも1つのプリミティブを分割し、子ノードを生成する場合、情報獲得部310は、生成された子ノードについての情報を獲得することができる。
一方、ターゲットノードの子ノードについての情報は、ターゲットノードの次のターゲットノードを決定するのに必要な情報を含んでもよい。一実施形態によるターゲットノードの子ノードについての情報には、子ノードが保存されているメモリアドレス、子ノードを示すインデックス、子ノードのタイプ情報、及び子ノードのバウンディングボックス情報などが含まれる。ここで、バウンディングボックスは、三次元空間上で独立して動く物体を含む最小六面体空間である。
ターゲットノードの子ノードについての情報については、以下、図4を参照して具体的に説明する。
図4は、一実施形態による、ターゲットノードの子ノードについての情報が保存される資料構造について説明するための図面である。図4を参照すれば、ターゲットノードの子ノードについての情報は、既設定の形態の資料構造400を有することができる。例えば、ターゲットノードの子ノードについての情報には、子ノードを識別することができる識別情報414,416が含まれる。子ノードがインナーノードである場合、該識別情報414,416は、子ノードを示すインデックス情報を示すことができる。一方、子ノードがリーフノードである場合、識別情報414,416は、子ノードに含まれたプリミティブの開始インデックスを示すところに使用される。
また、子ノードがリーフノードである場合、子ノードに含まれるプリミティブの個数を示すために、ターゲットノードの子ノードについての情報には、子ノードそれぞれのプリミティブの個数を示すプリミティブ個数情報422,424が含まれてもよい。一方、子ノードがインナーノードである場合、プリミティブ個数情報422,424は、0に設定されもする。
ターゲットノードの子ノードについての情報には、子ノードのバウンディングボックス情報432,434が含まれてもよい。また、ターゲットノードの子ノードについての情報には、ターゲットノードの親ノードについての情報412がさらに含まれてもよい。ただし、それは一実施形態であるのみ、ターゲットノードの子ノードについての情報には、前述の情報以外の他の情報が含まれてもよい。
一実施形態による情報獲得部310は、既設定形態の資料構造400に含まれた子ノードそれぞれに係わる情報を同時に獲得し、ターゲットノードの子ノードそれぞれについての情報を獲得するために、反復的にターゲットノードを探索しないこともある。情報獲得部310は、子ノードが保存されているメモリアドレスを介して、それぞれの子ノードを探索することができ、子ノードを示すインデックスを介して、子ノードを識別することができる。一方、ターゲットノードがインナーノードである場合、子ノードを示すインデックスは、ターゲットノードに含まれる少なくとも1つのプリミティブをそれぞれ示すことができる。
また、情報獲得部310は、子ノードのタイプ情報及び子ノードのバウンディングボックス情報432,434を獲得し、1回の探索過程だけで、次に探索するノード及び次に探索するノードに対して遂行する動作を決定する情報を提供することができる。
一方、本明細書では、説明の便宜上、ターゲットノードが、2個の子ノードを有する場合を一例として挙げて説明する。ただし、それは一実施形態であるにすぎず、本発明はターゲットノードが2個の子ノードを有する場合に限定されない。
交差検査部320は、獲得された複数の子ノードの情報に基づいて、複数の子ノードそれぞれが、光線と交差するか否かということを判断する。交差検査部320は、子ノードのバウンディングボックス情報432,434に基づいて、子ノードそれぞれのバウンディングボックスが光線と交差するか否かということを並列的に判断することができる。
一実施形態による交差検査部320は、子ノードそれぞれのバウンディングボックスが光線と交差するか否かということを同時に判断することができる。例えば、交差検査部320は、第1子ノードのバウンディングボックス情報432と、第2子ノードのバウンディングボックス情報434を基に、第1子ノードのバウンディングボックスと、第2子ノードのバウンディングボックスとがそれぞれ光線と交差するか否かということを同時に判断することができる。
一方、交差検査部320は、ターゲットノードに含まれた子ノードが3個以上である場合にも、それぞれの子ノードに対して、同時に光線と交差するか否かということを判断することができる。ただし、それは一実施形態であるにすぎず、他の一実施形態によって、既設定の順序に基づいて、複数の子ノードのうち、一部子ノードをグルーピングし、グルーピングされた子ノード別にそれぞれのバウンディングボックスに対する交差検査を行うこともできる。
制御部330は、光線と交差する少なくとも1つの子ノードのうち、次のターゲットノードを決定する。制御部330は、交差検査部320から、光線と交差する少なくとも1つの子ノードに係わる情報を獲得することができる。
制御部330は、光線と交差する子ノードが2個以上である場合、交差距離に基づいて、次のターゲットノードを決定することができる。例えば、制御部330は、光線と交差する第1子ノード及び第2子ノードに対して、第1子ノードと光線との交差距離が、第2子ノードと光線との交差距離より短い場合、第1子ノードを次のターゲットノードとして決定することができる。
また、制御部330は、光線と交差する子ノードのうち、次のターゲットノードとして決定されていない他の子ノードを、スタックに保存することができる。例えば、第1子ノード及び第2子ノードのうち、制御部330は、次のターゲットノードとして決定されていない第2子ノードをスタックに保存することができる。
制御部330は、決定された次のターゲットノードのタイプに対応する動作を遂行する。一実施形態による制御部330は、決定された次のターゲットノードのタイプを判別することができる。ここで、ターゲットノードのタイプは、インナーノードまたはリーフノードを含んでもよい。制御部330は、次のターゲットノードがインナーノードである場合、それに係わる情報を情報獲得部310に伝送し、前述の一連の過程がさらに遂行される。
例えば、次のターゲットノードがインナーノードAである場合、制御部330は、インナーノードAをターゲットノードと決定し、インナーノードAに係わる情報を情報獲得部310に伝送する。情報獲得部310は、インナーノードAをターゲットノードと決定し、インナーノードAの子ノードに係わる情報を獲得することができる。また、交差検査部320は、インナーノードAの子ノードについて獲得した情報を基に、インナーノードAの子ノードそれぞれに、交差検査を行うことができる。制御部330は、インナーノードAの子ノードのうち、光線と交差する少なくとも1つの子ノードを抽出し、抽出された少なくとも1つの子ノードのうちから、次のターゲットノードを決定することができる。
一方、次のターゲットノードがリーフノードBである場合、制御部330は、リーフノードBについての情報を、ISTユニット130(図2)に伝送する。ISTユニット130では、リーフノードBに含まれた少なくとも1つのプリミティブそれぞれに対して、反復して光線との交差検査を行う。他の例によって、制御部330は、外部メモリ250に保存されたリーフノードBに含まれた少なくとも1つのプリミティブに係わる情報が、ISTユニット130に伝送されるように、外部メモリ250を制御することもできる。
制御部330は、次のターゲットノードが存在しない場合には、一連の探索過程を終了し、光線に対して探索された結果を、シェーディングユニット140に伝送する。シェーディングユニット140は、光線とプリミティブとの交差点に係わる情報、及び交差点の物質特性に基づいて、光線に対応するピクセルの色相値を決定することができる。また、シェーディングユニット140は、交差点物質の基本色相、及び光源による効果などを考慮し、ピクセルの色相値を決定することができる。
一方、制御部330は、複数の子ノードのうち、光線と交差する子ノードが存在しない場合、スタックに保存されている他のノードを抽出し、次のターゲットノードとして決定することができる。ここで、他のノードは、一実施形態によって、加速構造において、ターゲットノードに属していないノードのうちいずれか1つのノードを意味する。例えば、制御部330は、加速構造において、ターゲットノードと同一の親ノードを有する他のノードを、次のターゲットノードとして決定することができる。
図5は、一実施形態による、レイトレーシング・システムでの加速構造探索方法について説明するためのフローチャートである。
段階510で、加速構造探索装置300は、加速構造に含まれるターゲットノードに係わる複数の子ノードの情報を獲得する。ここで、該ターゲットノードは、インナーノードまたはルートノードでもある。加速構造探索装置300は、次に探索するためのノード(次のターゲットノード)を決定するために、ターゲットノードに係わる複数の子ノードの情報を獲得することができる。ここで、複数の子ノードの情報には、子ノードが保存されているメモリアドレス、子ノードを示すインデックス、子ノードのタイプ情報、及び子ノードのバウンディングボックス情報などが含まれてもよい。
段階520で、加速構造探索装置300は、複数の子ノードそれぞれが、光線と交差するか否かということを判断する。一実施形態による加速構造探索装置300は、子ノードのバウンディングボックス情報432,434(図4)を基に、子ノードそれぞれのバウンディングボックスが光線と交差するか否かということを並列的に判断することができる。加速構造探索装置300は、獲得した複数の子ノードの情報に基づいて、1回の探索過程で、複数の子ノードそれぞれが光線と交差するか否かということを同時に判断することができ、探索に必要となる時間を短縮させることができる。
段階530で、加速構造探索装置300は、光線と交差する少なくとも1つの子ノードのうち、次のターゲットノードを決定する。加速構造探索装置300は、光線と交差する子ノードが2個以上である場合、交差距離に基づいて、次のターゲットノードを決定することができる。例えば、加速構造探索装置300は、光線と交差する複数の子ノードのうち、光線との交差距離が相対的にさらに短い子ノードを、次のターゲットノードとして決定することができる。加速構造探索装置300は、光線と交差する複数の子ノードのうち、次のターゲットノードとして決定されていない子ノードは、スタックに保存することができる。
段階540で、加速構造探索装置300は、決定された次のターゲットノードのタイプに対応する動作を遂行する。加速構造探索装置300は、決定された次のターゲットノードのタイプを判別することができる。ここで、ターゲットノードのタイプは、インナーノードまたはリーフノードを含んでもよい。加速構造探索装置300は、次のターゲットノードがインナーノードである場合、次のターゲットノードに対して、前述の一連の過程である段階510ないし段階540を反復してさらに遂行することができる。
一方、次のターゲットノードがリーフノードである場合、加速構造探索装置300は、次のターゲットノードについての情報を、ISTユニット130(図2)に伝送する。ISTユニット130では、次のターゲットノードに含まれた少なくとも1つのプリミティブそれぞれに対して、反復して光線との交差検査を行う。
また、加速構造探索装置300は、次のターゲットノードが存在しない場合には、一連の探索過程を終了し、光線に対して探索された結果を、シェーディングユニット140に伝送する。
図6は、一実施形態による加速構造探索装置300が、光線と交差する子ノードのタイプによって対応する動作を遂行する方法について、具体的に説明するためのフローチャートである。
段階610で、加速構造探索装置300は、加速構造に含まれるターゲットノードに係わる複数の子ノードの情報を獲得する。ここで、該ターゲットノードは、インナーノードまたはルートノードでもある。一方、段階610は、図5を参照して説明した段階510と対応する。
段階615で、加速構造探索装置300は、複数の子ノードそれぞれが、光線と交差するか否かということを判断する。加速構造探索装置300は、獲得した複数の子ノードの情報に基づいて、複数の子ノードそれぞれが、光線と交差するか否かということを同時に判断することができる。
段階620で、加速構造探索装置300は、光線と交差する子ノードが2以上であるか否かということを判断する。
段階625で、加速構造探索装置300は、光線と交差する2以上の子ノードのうち、光線との交差距離が最も近い子ノードを、次のターゲットノードとして決定する。加速構造探索装置300は、光線と交差する2以上の子ノードのうち、次のターゲットノードとして決定されていない子ノードを、スタックに保存することができる。
段階630で、加速構造探索装置300は、光線と交差する1つの子ノードを、次のターゲットノードとして決定する。加速構造探索装置300は、判断結果、光線と交差する子ノードが一つである場合、1つの子ノードを、次のターゲットノードとして決定することができる。
段階635で、加速構造探索装置300は、スタックに保存されたノードが存在するか否かということを判断する。加速構造探索装置300は、光線と交差する子ノードが存在しない場合、スタックに保存されている他のノードが存在するか否かということを判断する。ここで、他のノードは、加速構造において、前記ターゲットノードに属していないノードを示すことができる。
段階640で、加速構造探索装置300は、スタックから抽出したノードを、次のターゲットノードとして決定する。加速構造探索装置300は、スタックに保存された子ノードが存在する場合、スタックから子ノードを抽出することができる。加速構造探索装置300は、抽出した子ノードを、次のターゲットノードとして決定することができる。
段階645で、加速構造探索装置300は、決定された次のターゲットノードのタイプが、インナーノードであるか否かということを判断する。加速構造探索装置300は、決定された次のターゲットノードのタイプが、インナーノードである場合、次のターゲットノードをターゲットノードに変更し、段階610の過程に戻り、前述の一連の過程を反復して遂行することができる。例えば、加速構造探索装置300は、決定された次のターゲットノードであるインナーノードAに対して、インナーノードAをターゲットノードとして設定し、インナーノードAに係わる子ノードの情報を獲得することができる。それ以後の過程は、前述の段階615ないし640と同一である。
段階650で、加速構造探索装置300は、光線についての情報を、ISTユニットに伝送する。加速構造探索装置300は、決定された次のターゲットノードのタイプがリーフノードである場合、光線についての情報を、ISTユニットに伝送することができる。ISTユニットは、次のターゲットノードに含まれるプリミティブが、光線と交差するか否かということを判断することができる。
段階655で、加速構造探索装置300は、光線に係わる情報を、シェーディングユニットに伝送する。加速構造探索装置300は、加速構造内に、探索するノードが存在しない場合、探索の結果として獲得した情報を、シェーディングユニット140(図2)に伝送する。ここで、探索の結果として獲得した情報は、三次元空間に含まれるそれぞれの物体、または物体を構成するプリミティブと、光線との交差情報を含んでもよい。 シェーディングユニット140は、光線とプリミティブとの交差点に係わる情報、及び交差点物質の特性に基づいて、光線に対応するピクセルの色相値を決定することができる。また、シェーディングユニット140は、交差点の物質の基本色相、及び光源による効果などを考慮し、ピクセルの色相値を決定することができる。
図7は、一実施形態による、レイトレーシング・システムでの状態ダイヤグラムを図示した図面である。
一実施形態によるレイトレーシング・システムには、第1状態、第2状態及び第3状態が存在する。ここで、第1状態は、加速構造に含まれるノードを探索する段階である。第2状態は、加速構造に含まれるノードのうち、リーフノードに含まれたプリミティブに対して交差検査を行う段階である。第3状態は、加速構造に含まれるノードをいずれも探索した場合、探索過程で獲得した交差情報を基に、ピクセルの色相値を決定し、ノードの探索を終了する段階である。
一実施形態によるレイトレーシング・システムは、ターゲットノードに係わる複数の子ノードそれぞれに対して同時に交差検査を行うことにより、レイトレーシング・システムでの状態を、前述のように、3段階に簡略化することができる。
以下では、図7を参照し、一実施形態によるレイトレーシング・システムでの状態変化について説明する。
段階712で、加速構造探索装置300は、ルートノードに係わる子ノードの情報を獲得することができる。
段階714で、加速構造探索装置300は、獲得した情報を基に判断した結果、次のターゲットノードがインナーノードである場合、次のターゲットノードの子ノードについての情報を獲得することができる。段階712及び段階714の過程は、次のターゲットノードがインナーノードである場合、続けて反復して遂行される。
段階716で、加速構造探索装置300は、次のターゲットノードがリーフノードである場合、リーフノードについての情報を、ISTユニット130に伝送する。
段階718で、加速構造探索装置300は、次のターゲットノードが存在しない場合、探索過程を終了し、探索結果をシェーディングユニット140に伝送する。
段階712ないし段階718は、レイトレーシング・システムの第1状態に含まれてもよい。
段階722で、ISTユニット130は、リーフノードに含まれた少なくとも1つのプリミティブに対して反復して交差検査を行う。ISTユニット130は、光線と、少なくとも1つのプリミティブとの交差点の存在いかんを判断し、以前交差点との距離を比較し、距離がさらに短い交差点を選択することができる。
段階724で、ISTユニット130は、リーフノードに対する交差検査を完了した後、次のターゲットノードを探索するために、第1状態に再び戻ることができる。
段階726で、ISTユニット130は、リーフノードに対する交差検査を完了し、スタックに保存された子ノードが存在しない場合、交差検査結果をシェーディングユニット140に伝送する。
前述の段階724及び段階726は、レイトレーシング・システムの第2状態に含まれてもよい。
一方、レイトレーシング・システムでの第3状態では、シェーディングユニット140が獲得した交差情報に基づいて、光線に対応するピクセルの色相値を決定する。
図8は、一実施形態によって、レイトレーシング・システム10での加速構造探索装置300について、さらに具体的に説明するためのブロック図である。
レイトレーシング・システム10は、複数個のFIFO(first-in first-out)121,122,123,132,134、光線生成ユニット110、TRVユニット120、ISTユニット130及びシェーディングユニット140を含んでもよい。図8では、一実施形態による加速構造探索装置300がTRVユニット120に含まれる場合について説明する。
光線生成ユニット110は、一次光線、及び一次光線によって派生される光線を生成することができる。光線生成ユニット110は、一次光線を生成し、一次光線とオブジェクトの交差点で、二次光線を生成することができる。このとき、該二次光線は、一次光線がオブジェクトと交差した地点で生成された反射光線、屈折光線またはシャドー光線でもある。
また、光線生成ユニット110は、光線がオブジェクトと交差しなくなるまで、光線を続けて生成するか、決定された回数内で光線を生成することができる。
TRVユニット120は、光線生成ユニット110から生成された光線に係わる情報を受信することができる。TRVユニット120は、入力を受信するための3個のFIFOと連結される。TRVユニット120は、FIFO 1を介して、光線生成ユニット110から新しい光線を入力される。また、TRVユニット120は、FIFO 2を介して、次のノードを探索するための情報を獲得することができる。TRVユニット120は、FIFO 3を介して、ISTユニット130で交差が終わった後、次のノードを探索するための情報を獲得することができる。
一方、光線生成ユニット110で生成された光線は、一次光線、及び該一次光線によって派生された光線(二次光線、三次光線など)をいずれも含む。次に、TRVユニット120に含まれた一実施形態による加速構造探索装置300が、複数個のノードに対して探索を行う方法について説明する。
TRVユニット120に含まれた加速構造探索装置300は、情報獲得部310、交差検査部320、制御部330を含み、制御部330には、次のターゲットノード決定部332及び動作決定部334がさらに含まれてもよい。
情報獲得部310は、加速構造に含まれるターゲットノードに係わる複数の子ノードの情報を獲得する。ここで、該ターゲットノードは、インナーノードまたはルートノードでもある。交差検査部320は、複数の子ノードそれぞれが、光線と交差するか否かということを判断する。交差検査部320は、獲得した複数の子ノードの情報に基づいて、1回の探索過程で、複数の子ノードそれぞれが光線と交差するか否かということを同時に判断し、探索に必要となる時間を短縮させることができる。
次のターゲットノード決定部332は、光線と交差する少なくとも1つの子ノードのうち、次のターゲットノードを決定する。次のターゲットノード決定部332は、光線と交差する子ノードが2個以上である場合、交差距離に基づいて、次のターゲットノードを決定することができる。
動作決定部334は、決定された次のターゲットノードのタイプに対応する動作を遂行する。動作決定部334は、決定された次のターゲットノードのタイプを判別することができる。ここで、ターゲットノードのタイプは、インナーノードまたはリーフノードを含んでもよい。
動作決定部334において、次のターゲットノードがインナーノードであると判別された場合、情報獲得部310は、FIFO 0を介して、次のターゲットノードに係わる情報を獲得することができる。
一方、次のターゲットノードがリーフノードである場合、動作決定部334は、次のターゲットノードについての情報を、ISTユニット130(図2)に伝送することができる。ISTユニット130では、次のターゲットノードに含まれた少なくとも1つのプリミティブそれぞれに対して、反復して光線との交差検査を行う。ISTユニット130では、光線が交差するプリミティブを検出し、検出されたプリミティブと光線とが交差した地点(hit point)を計算することができる。
計算された交差点(hit point)は、座標形態でシェーディングユニット140に出力される。
前記のように、開示された一実施形態によるレイトレーシング・システムでの加速構造探索方法は、コンピュータで読み取り可能な記録媒体に、コンピュータで読み取り可能なコードとして具現することが可能である。コンピュータで読み取り可能な記録媒体は、コンピュータシステムによって読み取り可能なデータが保存される全種の記録装置を含む。コンピュータで読み取り可能な記録媒体の例としては、ROM(read only memory)、RAM(random access memory)、CD(compact disc)−ROM、磁気テープ、フロッピー(登録商標)ディスク、光データ保存装置などがあり、またインターネットを介する伝送のような搬送波の形態で具現されるものも含む。また、コンピュータで読み取り可能な記録媒体は、ネットワークで連結されたコンピュータシステムに分散され、分散方式で、プロセッサで読み取り可能なコードが保存されて実行されもする。
また、以上では、開示された一実施形態について図示して説明したが、前述の特定一実施形態に限定されるものではなく、特許請求の範囲で請求する要旨を外れることなしに、当該発明が属する技術分野で当業者によって、多様な変形実施が可能であるということは言うまでもなく、そのような変形実施は、開示されている技術的思想や展望から個別的に理解されるものではない。
本発明のレイトレーシング・システムでの加速構造探索装置及びその探索方法は、例えば、画像処理関連の技術分野に効果的に適用可能である。
10 視点
15 画面
31 第1物体
32 第2物体
33 第3物体
40 一次光線
50,90 シャドー光線
60 反射光線
70 屈折光線
80 光源
110 光線生成ユニット
120 TRVユニット
130 ISTユニット
140 シェーディングユニット
250 外部メモリ
300 加速構造探索装置
310 情報獲得部
320 交差検査部
330 制御部
332 次のターゲットユニット決定部
334 動作決定部
400 資料構造
412 親ノードに係わる情報
414,416 子ノードを識別する情報
422,424 プリミティブ個数情報
432,434 子ノードに係わるバウンディングボックス情報

Claims (15)

  1. 加速構造に含まれるターゲットノードに係わる複数の子ノードの情報を獲得する段階と、
    前記獲得された情報に基づいて、1回の探索プロセスを介して前記複数の子ノードそれぞれが光線と交差するか否かを同時に判断する段階と、
    前記光線と交差する少なくとも1つの子ノードのうち、次のターゲットノードを決定する段階と、 前記決定された次のターゲットノードのタイプに対応する動作を遂行する段階と、を含み、
    前記獲得された情報は、データ構造に予め設定され、前記データ構造は、前記複数の子ノードが保存されたメモリアドレス、前記複数の子ノードを識別するためのインデックス、前記複数の子ノードのタイプ情報及び前記複数の子ノードのバウンディングボックス情報を含む、レイトレーシング・システムでの加速構造探索方法。
  2. 前記次のターゲットノードを決定する段階は、
    前記光線と交差する1つの子ノードが存在する場合、前記1つの子ノードを、前記次のターゲットノードと決定し、前記光線と交差する2以上の子ノードが存在する場合、前記2以上の子ノードのうち、前記光線との交差距離が最も近い子ノードを、前記次のターゲットノードとして決定することを特徴とする請求項1に記載のレイトレーシング・システムでの加速構造探索方法。
  3. 前記次のターゲットノードを決定する段階は、
    前記光線と交差する子ノードが存在しない場合、前記加速構造において、前記ターゲットノードに属していないノードのうち、いずれか1つのノードを抽出する段階と、
    前記抽出されたノードを、前記次のターゲットノードとして決定する段階と、を含むことを特徴とする請求項1に記載のレイトレーシング・システムでの加速構造探索方法。
  4. 前記次のターゲットノードのタイプに対応する動作を遂行する段階は、
    前記次のターゲットノードがインナーノードである場合、前記次のターゲットノードの少なくとも1つの子ノードに移動し、前記次のターゲットノードがリーフノードである場合、前記リーフノードに含まれた少なくとも1つのプリミティブが、前記光線と交差するか否かを判断することを特徴とする請求項1に記載のレイトレーシング・システムでの加速構造探索方法。
  5. 前記次のターゲットノードのタイプに対応する動作を遂行する段階は、
    前記少なくとも1つのプリミティブそれぞれに対して、前記光線と交差するか否か判断した場合、前記光線と交差する他の子ノードを探索する段階をさらに含むことを特徴とする請求項4に記載のレイトレーシング・システムでの加速構造探索方法。
  6. 前記次のターゲットノードがリーフノードである場合、前記リーフノードに含まれた少なくとも1つのプリミティブに対して既設定のバウンディングボックスと、前記光線とが交差するか否かを判断する段階をさらに含むことを特徴とする請求項4に記載のレイトレーシング・システムでの加速構造探索方法。
  7. ルートノードに含まれる前記ターゲットノードがリーフノードである場合、前記ターゲットノードに含まれる少なくとも1つのプリミティブを分割する段階と、
    前記分割された少なくとも1つのプリミティブに基づいて、前記ターゲットノードの子ノードを生成する段階と、をさらに含むことを特徴とする請求項1に記載のレイトレーシング・システムでの加速構造探索方法。
  8. 加速構造に含まれるターゲットノードに係わる複数の子ノードの情報を獲得する情報獲得部と、
    前記獲得された情報に基づいて、1回の探索プロセスを介して前記複数の子ノードそれぞれが光線と交差するか否かを同時に判断する交差検査部と、
    前記光線と交差する少なくとも1つの子ノードのうち、次のターゲットノードを決定し、決定された次のターゲットノードのタイプに対応する動作を遂行する制御部と、を含み、
    前記獲得された情報は、データ構造に予め設定され、前記データ構造は、前記複数の子ノードが保存されたメモリアドレス、前記複数の子ノードを識別するためのインデックス、前記複数の子ノードのタイプ情報及び前記複数の子ノードのバウンディングボックス情報を含む、レイトレーシング・システムでの加速構造探索装置。
  9. 前記制御部は、
    前記光線と交差する1つの子ノードが存在する場合、前記1つの子ノードを、前記次のターゲットノードと決定し、前記光線と交差する2以上の子ノードが存在する場合、前記2以上の子ノードのうち、前記光線との交差距離が最も近い子ノードを、前記次のターゲットノードとして決定することを特徴とする請求項8に記載のレイトレーシング・システムでの加速構造探索装置。
  10. 前記制御部は、
    前記光線と交差する子ノードが存在しない場合、前記加速構造において、前記ターゲットノードに属していないノードのうちいずれか1つのノードを抽出し、前記抽出されたノードを、前記次のターゲットノードとして決定することを特徴とする請求項8に記載のレイトレーシング・システムでの加速構造探索装置。
  11. 前記制御部は、
    前記次のターゲットノードがインナーノードである場合、前記次のターゲットノードの少なくとも1つの子ノードに移動し、前記次のターゲットノードがリーフノードである場合、前記リーフノードに含まれた少なくとも1つのプリミティブが、前記光線と交差するか否かということを判断することを特徴とする請求項8に記載のレイトレーシング・システムでの加速構造探索装置。
  12. 前記制御部は、
    前記少なくとも1つのプリミティブそれぞれに対して、前記光線と交差するか否かということを判断した場合、前記光線と交差する他の子ノードを探索することを特徴とする請求項11に記載のレイトレーシング・システムでの加速構造探索装置。
  13. 前記交差検査部は、
    前記次のターゲットノードがリーフノードである場合、前記リーフノードに含まれた少なくとも1つのプリミティブに対して既設定のバウンディングボックスと、前記光線とが交差するか否かを判断する段階をさらに含むことを特徴とする請求項11に記載のレイトレーシング・システムでの加速構造探索装置。
  14. 前記制御部は、
    ルートノードに含まれる前記ターゲットノードがリーフノードである場合、前記ターゲットノードに含まれる少なくとも1つのプリミティブを分割し、前記分割された少なくとも1つのプリミティブに基づいて、前記ターゲットノードの子ノードを生成することを特徴とする請求項8に記載のレイトレーシング・システムでの加速構造探索装置。
  15. 請求項1に記載の方法をコンピュータに実行させるためのプログラムを記録したコンピュータで読み取り可能な記録媒体。
JP2015107282A 2014-05-27 2015-05-27 レイトレーシング・システムでの加速構造探索装置及び加速構造探索方法 Active JP6460914B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2014-0063725 2014-05-27
KR1020140063725A KR102219289B1 (ko) 2014-05-27 2014-05-27 레이 트레이싱 시스템에서의 가속 구조 탐색 장치 및 그 탐색 방법

Publications (2)

Publication Number Publication Date
JP2015225673A JP2015225673A (ja) 2015-12-14
JP6460914B2 true JP6460914B2 (ja) 2019-01-30

Family

ID=53284038

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015107282A Active JP6460914B2 (ja) 2014-05-27 2015-05-27 レイトレーシング・システムでの加速構造探索装置及び加速構造探索方法

Country Status (5)

Country Link
US (1) US10049488B2 (ja)
EP (1) EP2950275B1 (ja)
JP (1) JP6460914B2 (ja)
KR (1) KR102219289B1 (ja)
CN (1) CN105279783B (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9697640B2 (en) 2014-04-21 2017-07-04 Qualcomm Incorporated Start node determination for tree traversal in ray tracing applications
US9818221B2 (en) * 2016-02-25 2017-11-14 Qualcomm Incorporated Start node determination for tree traversal for shadow rays in graphics processing
KR101795690B1 (ko) 2016-09-29 2017-11-08 이화여자대학교 산학협력단 프로젝션 영상의 고속 생성 방법
KR20180069461A (ko) 2016-12-15 2018-06-25 삼성전자주식회사 가속 구조를 생성하는 방법 및 장치
US10984049B2 (en) * 2017-06-27 2021-04-20 Nvidia Corporation Performing traversal stack compression

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007002494A2 (en) 2005-06-23 2007-01-04 Mental Images Gmbh Real-time precision ray tracing
US8259105B2 (en) 2006-07-21 2012-09-04 The University Of Utah Research Foundation Ray tracing a three-dimensional scene using a hierarchical data structure
US20080024489A1 (en) * 2006-07-28 2008-01-31 Robert Allen Shearer Cache Utilization Optimized Ray Traversal Algorithm with Minimized Memory Bandwidth Requirements
US8018457B2 (en) 2006-09-19 2011-09-13 Caustic Graphics, Inc. Ray tracing system architectures and methods
US7737974B2 (en) 2006-09-27 2010-06-15 International Business Machines Corporation Reallocation of spatial index traversal between processing elements in response to changes in ray tracing graphics workload
US20080088619A1 (en) * 2006-10-17 2008-04-17 Robert Allen Shearer Branch Prediction for Acceleration Data Structure Traversal
US7852336B2 (en) * 2006-11-28 2010-12-14 International Business Machines Corporation Dynamic determination of optimal spatial index mapping to processor thread resources
US7755628B2 (en) * 2006-12-29 2010-07-13 Intel Corporation Method and apparatus for multi-level ray tracing
US8284188B1 (en) * 2007-10-29 2012-10-09 Nvidia Corporation Ray tracing system, method, and computer program product for simultaneously traversing a hierarchy of rays and a hierarchy of objects
US8289324B1 (en) * 2007-12-17 2012-10-16 Nvidia Corporation System, method, and computer program product for spatial hierarchy traversal
KR101550477B1 (ko) * 2008-03-21 2015-09-04 이메지네이션 테크놀로지스 리미티드 광선 추적 렌더링을 위한 병렬화 교차 테스트 및 세이딩의 아키텍처
KR101004110B1 (ko) 2009-05-28 2010-12-27 주식회사 실리콘아츠 레이 트레이싱 코어 및 이를 포함하는 레이 트레이싱 칩
US8797322B2 (en) * 2009-06-24 2014-08-05 Imagination Technologies, Limited Systems and methods of defining rays for ray tracing rendering
KR101089638B1 (ko) 2009-10-09 2011-12-06 양성봉 교차 검사 가속을 위한 광선 추적 장치 및 방법 및 이를 이용한 렌더링 장치 및 방법
US8836704B2 (en) * 2009-12-18 2014-09-16 Business Objects Software Ltd. Automatic tree restriction
DE112012002465T5 (de) 2011-06-16 2014-03-20 Caustic Graphics, Inc. Grafikprozessor mit nicht blockierender gleichzeitiger Architektur
KR102042539B1 (ko) 2012-07-24 2019-11-08 삼성전자주식회사 레이 트레이싱 방법 및 장치
US9305392B2 (en) * 2012-12-13 2016-04-05 Nvidia Corporation Fine-grained parallel traversal for ray tracing
GB2513698B (en) * 2013-03-15 2017-01-11 Imagination Tech Ltd Rendering with point sampling and pre-computed light transport information
US9547932B2 (en) * 2013-06-10 2017-01-17 Nvidia Corporation Splitting bounding volumes of primitives

Also Published As

Publication number Publication date
JP2015225673A (ja) 2015-12-14
CN105279783B (zh) 2020-04-07
CN105279783A (zh) 2016-01-27
KR102219289B1 (ko) 2021-02-23
EP2950275A1 (en) 2015-12-02
KR20150136347A (ko) 2015-12-07
EP2950275B1 (en) 2019-07-03
US20150348308A1 (en) 2015-12-03
US10049488B2 (en) 2018-08-14

Similar Documents

Publication Publication Date Title
JP6474585B2 (ja) レイトレーシング処理装置及びその方法
US9576389B2 (en) Method and apparatus for generating acceleration structure in ray tracing system
JP6460914B2 (ja) レイトレーシング・システムでの加速構造探索装置及び加速構造探索方法
US10504253B2 (en) Conservative cell and portal graph generation
JP6476090B2 (ja) 加速構造の生成及び探索を行う方法並びに装置
EP2927877B1 (en) Method and apparatus for rendering same regions of multi frames
CN104854426A (zh) 用于为了三维图像生成来标记图像的系统和方法
KR102242566B1 (ko) 레이 트레이싱 처리 장치 및 방법
US20150091904A1 (en) Ray tracing processing apparatus and method
US20150348307A1 (en) Apparatus and method of traversing acceleration structure in ray tracing
KR102193683B1 (ko) 레이 트레이싱 시스템에서의 가속 구조 탐색 장치 및 그 탐색 방법
KR102537529B1 (ko) 레이 트레이싱 장치 및 방법
US20150186288A1 (en) Apparatus and method of operating cache memory
KR20170025993A (ko) 가속 구조를 생성 및 탐색하는 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170424

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180423

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180508

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180807

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181225

R150 Certificate of patent or registration of utility model

Ref document number: 6460914

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