JP2014026652A - レイトレーシング方法及び装置 - Google Patents

レイトレーシング方法及び装置 Download PDF

Info

Publication number
JP2014026652A
JP2014026652A JP2013152912A JP2013152912A JP2014026652A JP 2014026652 A JP2014026652 A JP 2014026652A JP 2013152912 A JP2013152912 A JP 2013152912A JP 2013152912 A JP2013152912 A JP 2013152912A JP 2014026652 A JP2014026652 A JP 2014026652A
Authority
JP
Japan
Prior art keywords
ray
search
unit
units
rays
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
JP2013152912A
Other languages
English (en)
Other versions
JP6246515B2 (ja
Inventor
Won Jong Lee
源 宗 李
Young Sam Shin
容 三 辛
Zai Dui Li
在 敦 李
Seok Yoon Jung
錫 潤 鄭
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 JP2014026652A publication Critical patent/JP2014026652A/ja
Application granted granted Critical
Publication of JP6246515B2 publication Critical patent/JP6246515B2/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Analysing Materials By The Use Of Radiation (AREA)

Abstract

【課題】 レイトレーシングのための方法及び装置を提供する。
【解決手段】 複数の探索ユニットのうち入力される入力レイを処理する探索ユニットが複数の探索ユニットの寿命に基づいて決定される。探索ユニットの寿命は探索ユニットが処理しているレイの寿命に基づいて決定される。
【選択図】 図3

Description

下記の実施形態はレイトレーシングのための方法及び装置に関し、より詳細にはレイの探索及び交差検査を行う方法及び装置が開示される。
3次元(3Dimension;3D)レンダリングは、3Dオブジェクトのデータを与えられたカメラの視点で見える映像に合成する映像処理過程である。
レンダリングのための一方法として、3Dオブジェクトを画面に投影しながら映像を生成するラスタ化(rasterization)方法がある。また、レンダリングのための他の方法として、カメラの視点から映像の各ピクセルに向かって発射されたレイに沿って入射する光の経路を追跡することにより映像を生成するレイトレーシングがある。
前記レンダリングのための方法のうちのレイトレーシングは、一般的に反射、屈折、及び透過などのような光の物理的な性質を考慮することによって高品質の映像を生成することができる。しかし、レイトレーシングのために膨大な演算量を必要とし、レイトレーシングはレンダリングを高速処理できないこともある。
加速構造の探索(traversal;TRV)及びレイ−プリミティブ(ray−primitive)間の交差検査(intersection test;IST)は各レイの追跡性能を決定する最も重要な要素の1つである。加速構造の探索及びレイ−プリミティブ間の交差検査は、レイのそれぞれに対して数回〜数十回まで行われることができる。
加速構造は空間分割加速構造であってもよい。加速構造は、レンダリングの対象であるシーンオブジェクト(scene object)を空間的に分割して表したデータ構造である。加速構造として、グリッド(grid)、kd木(kd−tree)、バウンディングボリューム階層(Bounding Volume Hierarchy;BVH)などのデータ構造が用いられてもよい。
探索及び交差検査は、レイトレーシングにおいて70%以上の演算量及び90%以上のメモリ帯域幅を占有する過程である。探索及び交差検査のリアルタイム処理のために専用のハードウェアが用いられてもよい。
本発明の目的は、レイの探索及び交差検査を行う方法及び装置を提供することにある。
一側面によると、複数の探索ユニットのそれぞれの状態に基づいて前記複数の探索ユニットのうち入力レイの探索を処理する探索ユニットを選択するステップと、
前記選択された探索ユニットを用いて前記入力レイの探索を処理するステップとを含み、前記複数の探索ユニットのそれぞれの状態は、前記複数の探索ユニットのそれぞれによって処理されている1つ以上のレイの状態に基づいて決定されるレイ処理方法が提供される。
前記選択された探索ユニットは、前記複数の探索ユニットのそれぞれの寿命に基づいて前記複数の探索ユニットのうちから選択されてもよい。前記複数の探索ユニットのそれぞれの寿命は、前記複数の探索ユニットのそれぞれによって処理されている前記一つ以上のレイの寿命に基づいて決定されてもよい。
前記一つ以上のレイのそれぞれの寿命は、前記一つ以上のレイのそれぞれの探索が前記複数の探索ユニットによって繰り返し処理された回数に基づいて決定されてもよい。
前記複数の探索ユニットのそれぞれの寿命は、前記複数の探索ユニットのそれぞれによって処理されている1つ以上のレイのそれぞれの寿命の和であってもよい。前記複数の探索ユニットのそれぞれの寿命は、前記複数の探索ユニットのそれぞれによって処理されている1つ以上のレイの平均寿命であってもよい。
前記選択された探索ユニットは、前記複数の探索ユニットのうち入力バッファ内に最も少ない個数のレイを有する探索ユニットのうち最も高い寿命を有する探索ユニットであってもよい。
前記入力レイの探索を処理するステップは繰り返して行われてもよい。前記入力レイの探索を処理するステップが繰り返されるとき前記入力レイの寿命は所定の値だけ増加してもよい。
レイ処理方法は、複数の交差検査ユニットのうち入力レイの交差検査を処理する交差検査ユニットを選択するステップと、前記選択された交差検査ユニットを用いて前記入力レイの交差検査を処理するステップとをさらに含んでもよい。
他の一側面によると、1つ以上のプロセッサ−実行可能なユニットを制御するプロセッサと、レイの探索を処理する複数の探索ユニットと、前記複数の探索ユニットのそれぞれの状態に基づいて前記複数の探索ユニットのうち入力レイの探索を処理する探索ユニットを選択するレイディスパッチユニットとを含み、前記選択された探索ユニットは前記入力レイの探索を処理し、前記複数の探索ユニットのそれぞれの状態は、前記複数の探索ユニットのそれぞれによって処理されている1つ以上のレイの状態に基づいて決定されるレイトレーシング装置が提供される。
前記レイディスパッチユニットは、前記複数の探索ユニットの状態に基づいて前記複数の探索ユニットのうちから前記選択された探索ユニットを選択してもよい。
前記ディスパッチユニットは、前記複数の探索ユニットのうち入力バッファ内に最も少ない個数のレイを有する探索ユニットのうち最も高い寿命を有する探索ユニットを前記選択された探索ユニットとして選択してもよい。
前記複数の探索ユニットは入力レイの探索を繰り返して処理してもよい。前記入力レイの探索が繰り返されるとき前記入力レイの寿命は所定の値だけ増加してもよい。
前記レイトレーシング装置は、レイの交差検査を処理する複数の交差検査ユニットと、前記複数の交差検査ユニットのうち入力レイの交差検査を処理する交差検査ユニットを選択するレイ仲裁ユニットとをさらに含んでもよい。前記選択された交差検査ユニットは、前記入力レイの交差検査を処理してもよい。
前述のおよび/または他の側面は、1つ以上のプロセッサ−実行可能なユニットを制御するプロセッサと、複数の探索ユニットの各探索ユニットに状態を割り当てるレイトレーシングユニットと、前記レイトレーシングユニットによって探索ユニットに割り当てられた前記状態に基づいて前記複数の探索ユニットの1つの探索ユニットを選択し、前記選択された探索ユニットにレイを入力する複数のレイディスパッチユニットとを含むレイ処理装置を提供することによって達成することができる。
本発明によると、レイの探索及び交差検査を行う方法及び装置を提供することができる。
一実施形態に係るTRVユニットの構造図である。 一実施形態に係るISTユニットの構造図である。 一実施形態に係るレイトレーシングユニット及びレイトレーシングユニットに関連する個体の構造図である。 一実施形態に係るGPUの構成要素の動作を示す信号フローチャートである。 一実施形態に係るレイの追跡の方法のフローチャートである。 一例に係るTRVユニットの寿命管理方法のフローチャートである。 一例に係るレイディスパッチユニットの動作方法のフローチャートである。 一例に係るレイ仲裁ユニットの動作方法のフローチャートである。
以下、添付する図面を参照しながら実施形態を詳細に説明する。各図面に提示された同一の参照符号は同一の部材を示す。
以下、用語「レイ」はレイトレーシングの対象である「レイオブジェクト」、「レイを示すデータ構造」)、「レイの情報」、または「レイに関連するデータ」を意味し、相互交換されて用いられてもよい。
図1は、一実施形態に係るTRVユニットの構造図である。
TRVユニット100はレイの探索のためのユニットとして、レイの探索を処理する。TRVユニット100はレイの加速構造を探索する。
TRVユニット100は、例えば、入力バッファ110、パイプライン120、キャッシュ130、第1出力バッファ140、第2出力バッファ150、及び第3出力バッファ160を備える。
入力バッファ110は、パイプライン120内で処理される1つ以上のレイそれぞれを格納する。例えば、TRVユニット100に入力されたレイは、入力バッファ110内で探索の処理を待機してもよい。入力バッファ110が追加的なレイを格納することができなければ、入力バッファ110は非利用(unavailable)したものと表示されてもよい。入力バッファ110が追加的なレイを格納することができれば、入力バッファ110は利用可能ものと表示されてもよい。
パイプライン120はレイの探索を処理する。パイプライン120は最大n¬個のレイのそれぞれの探索を同時に処理してもよい。パイプライン120が処理しているレイの個数がk¬であるとき、TRVユニット100のパイプライン活用はk¬/n¬であってもよい。ここで、n¬は1以上の整数であってもよい。k¬は1以上n1以下の整数であってもよい。
キャッシュ130は、レイの探索に関連するデータをキャッシングする。キャッシュ130は、レイの探索に関連するデータをパイプライン120に提供する。
第1出力バッファ140、第2出力バッファ150、及び第3出力バッファ160は、それぞれパイプライン120で処理された1つ以上のレイのそれぞれを格納する。パイプライン120によって探索が処理されたレイは、レイの状態に応じて数個の個体のうち1つの個体に提供されてもよい。TRVユニット100から出力されるレイは、第1出力バッファ140、第2出力バッファ150、または第3出力バッファ160内から出力されることを待機する。
例えば、第1出力バッファ140は、TRVユニット100によって繰り返して処理されるレイを格納してもよい。第2出力バッファ150は、交差検査されるレイを格納してもよい。第3出力バッファ160は、レイトレーシングが完了されてシェーディング(shading)処理されたレイを格納してもよい。
TRVユニット100は、選択的に寿命格納部190を備える。寿命格納部190は、TRVユニット100の寿命を格納してもよい。TRVユニット100の寿命に対して、図5を参照して詳細に説明する。寿命格納部190は、レジスタなどのようなデータを格納するための個体であってもよく、寿命を示すタグであってもよい。
図2は、一実施形態に係るISTユニットの構造図である。
ISTユニット200はレイの交差検査のためのユニットとして、レイの交差検査を処理する。ISTユニット200は、例えば、入力バッファ210、パイプライン220、キャッシュ230、及び出力バッファ240を備える。
入力バッファ210は、パイプライン220内で処理される1つ以上のレイのそれぞれを格納する。すなわち、ISTユニット200に入力されたレイは、入力バッファ210内で交差検査の処理を待機する。入力バッファ210が追加的なレイをさらに格納することができない場合、入力バッファ210は非利用したものと表示されてもよい。入力バッファ210が依然として追加的なレイを格納することができる場合、入力バッファ210は利用したものと表示されてもよい。
パイプライン220はレイの交差検査を処理する。パイプライン220は、最大n個のレイのそれぞれの交差検査を同時に処理してもよい。パイプライン220が処理しているレイの個数がkである場合、ISTユニット200のパイプライン活用はk¬2/nであってもよい。ここで、nは1以上の整数であってもよい。kは1以上n以下の整数であってもよい。
キャッシュ230は、レイの交差検査に関連するデータをキャッシングする。キャッシュ230は、レイの交差検査に関連するデータをパイプライン220に提供する。
出力バッファ240は、パイプライン220で処理された1つ以上のレイのそれぞれに関する情報を格納する。パイプライン220によって交差検査が処理されたレイは、TRVユニット100に繰り返して入力されてもよい。TRVユニット100から入力されるレイは、ISTユニット200によって出力される前に出力バッファ240内で臨時格納されてもよい。
図3は、一実施形態に係るレイトレーシングユニット及びレイトレーシングユニットに関連する個体の構造図である。図3は、レイトレーシングに基づいたレンダリングハードウェアまたはGPUの構造を示す。
図3に示す構成は、例えば、レイ生成ユニット310、レイトレーシングユニット320、第1キャッシュ382、第2キャッシュ384、バス386、外部メモリ388、及びシェーディングユニット390を備える。レイ生成ユニット310、第1キャッシュ382、第2キャッシュ384、及びシェーディングユニット390は、グラフィックスプロセッシングユニット(Graphics Processing Unit;GPU)の構成要素であってもよい。すなわち、一実施形態において、GPUは、レイ生成ユニット310、第1キャッシュ382、第2キャッシュ384、及びシェーディングユニット390を含む。
レイ生成ユニット310はレイを生成する。レイ生成ユニット310は、生成されたレイをレイトレーシングユニット320に提供する。レイ生成ユニット310は、レイに関する情報をレイトレーシングユニット320に提供する作業または個体を示す。
レイトレーシングユニット320はレイの追跡を処理する。レイトレーシングユニット320は、追跡が処理されたレイをシェーディングユニット390に提供する。
シェーディングユニット390は、追跡が処理されたレイの情報に基づいてシェーディングを処理する。シェーディングユニット390は、レイの追跡が処理された後シェーディングを処理する。シェーディングは、映像内のピクセルに対して蓄積されたレイの結果を和することによってピクセルのカラーを最終的に決定することを示す。ここで、レイの結果はレイのレイトレーシングの結果であってもよい。
第1キャッシュ382及び第2キャッシュ384は、レイの追跡に関連する必要なデータをキャッシングしてもよい。レイの追跡を処理するために必要なデータは外部メモリ388内に格納されてもよく、第1キャッシュ382及び第2キャッシュ384は外部メモリ388内に格納されたデータの一部をキャッシングしてもよい。レイの追跡に関連するデータは、バス386によって第1キャッシュ382及び外部メモリ388間で送信されたり、第2キャッシュ384及び外部メモリ388間で送信されてもよい。
第1キャッシュ382は、図1を参照して前述したTRVユニット100のキャッシュ130にレイの探索を処理するために必要なデータを提供する。第2キャッシュ384は、図2を参照して前述したISTユニット200のキャッシュ230にレイの交差検査を処理するために必要なデータを提供する。したがって、TRVユニット100のキャッシュ130及びISTユニット200のキャッシュ230はそれぞれレベル1(level1)キャッシュであってもよく、第1キャッシュ382及び第2キャッシュ384はそれぞれレベル2キャッシュであってもよい。
下記ではレイトレーシングユニット320の構成要素について説明する。
空間分割加速構造としてトリが用いられ、プリミティブとして三角形が用いられる場合、レイトレーシングユニット320は加速構造トリのルートノードから下位のノードへの階層的な探索によって、レイが最も最初に訪問するリーフ(leaf)ノードを検索する。この検索によってリーフノードが訪問されれば、レイトレーシングユニット320は、1)レイ、及び2)リーフノード内に存在する三角形間の交差検査を行う。ここで、リーフノード内に存在する三角形は複数であってもよい。訪問されたリーフノード内でレイと交差している三角形が検索されない場合、レイトレーシングユニット320は、トリの探索を継続してレイと交差するプリミティブを検索してもよい。探索及び交差検査は、それぞれTRVユニット100及びISTユニット200によって行うことができる。
前述したレイの追跡特性のために、レイの追跡は多い量の演算及び高いメモリ帯域幅を同時に要求する。このような要求は、ノードが訪問されたり、レイ及びプリミティブ間の交差検査が行われるたびに、外部メモリ388からノードのデータ、プリミティブのデータ、または両者のデータがフェッチ(fetch)されなければならず、その後に演算が行われることに起因する。したがって、探索及び交差検査にそれぞれ用いられるTRVユニット100及びISTユニット200はそれぞれキャッシュ130及びキャッシュ230を備えてもよい。ノードのデータまたはプリミティブのデータがキャッシュ130またはキャッシュ230内に存在しない場合、外部メモリ388からデータをフェッチするときに長い遅延時間が発生し、それによってレイ追跡の性能が低下する。
例えば、レイトレーシングユニット320は、レイディスパッチユニット330、複数のTRVユニット、レイ仲裁ユニット350、複数のISTユニット、及びバッファ370を備える。
複数のTRVユニットは、それぞれ図1を参照して前述したTRVユニット100に類似してもよい。図3において、複数のTRVユニットとして、第1TRVユニット340−1、第2TRVユニット340−2、第3TRVユニット340−3、第4TRVユニット340−4、及び第NTRVユニット340−5が示されている。ここで、Nは2以上の任意の整数であってもよい。
レイディスパッチユニット330は、レイ生成ユニット310及び複数のTRVユニット間のレイの送信を制御する。レイディスパッチユニット330は、レイトレーシングユニット320に入力された入力レイを複数のTRVユニットのうち任意の1つのTRVユニットに分配してもよい。
複数のTRVユニットの入力バッファの使用可能の有無にのみ基づいて入力レイが分配されれば、複数のTRVユニットのパイプライン活用において負荷の不均衡が発生することがある。言い換えれば、レイディスパッチユニット330が複数のTRVユニットの入力バッファそれぞれの内に空席があるか否かのみを把握して複数のTRVユニットのうち入力レイの探索を処理するTRVユニットを選択する場合、特定のTRVユニットにレイ探索の処理が集中することがある。
複数のTRVユニットのうち1つのTRVユニットから入力されるレイは、レイ生成ユニット310から生成されたレイ、1つのTRVユニットによって探索が処理されたレイ、またはISTユニット200によって交差検査が処理されたレイであってもよい。複数のTRVユニットのうち1つのTRVユニットによって出力されるレイは、探索を処理した1つのTRVユニットに再び入力されてもよく、複数のISTユニットのうちレイ仲裁ユニット350によって選択されたISTユニットから入力されてもよく、シェーディングユニット390から入力されてもよい。
バッファ370は、シェーディングユニット390から出力される1つ以上のレイのそれぞれを格納する。シェーディングユニット390から出力されるレイは、シェーディングユニット390から出力される前にバッファ370内で臨時格納されてもよい。
レイ仲裁ユニット350は、複数のTRVユニット及び複数のISTユニットの間でレイの送信を仲裁する。言い換えれば、レイ仲裁ユニット350は、複数のTRVユニット及び複数のISTユニットの間のレイのデータの流れ(flow)を制御することができる。
複数のISTユニットは、それぞれ図2を参照して前述したISTユニット200と類似するように構成してもよい。図3で、複数のISTユニットとして、第1ISTユニット360−1、第2ISTユニット360−2、及び第M ISTユニット360−3が示された。ここで、Mは2以上の整数であってもよい。
複数のISTユニットのうち1つのISTユニットによって出力されるレイは、複数のTRVユニットのうち1つのTRVユニットから入力されてもよい。ここで、レイが入力されるTRVユニットはレイの探索を処理したTRVユニットであってもよい。
図3を参照すると、複数のTRVユニット内のそれぞれの記号「Pipe」はパイプライン120を示し、記号「$」はキャッシュ130を示す。複数のISTユニットのそれぞれの記号「Pipe」はパイプライン220を示し、記号「$」はキャッシュ230を示す。
レイディスパッチユニット330及びレイ仲裁ユニット350によって複数のTRVユニット及び複数のISTユニットのパイプライン活用がそれぞれ均等になり得る。
図4は、一実施形態に係るGPUの構成要素の動作を示す信号フローチャートである。
ステップS410において、レイ生成ユニット310はレイを生成する。ステップS415において、レイ生成ユニット310は、生成されたレイをレイトレーシングユニット320に提供する。レイ生成ユニット310は、生成されたレイをレイトレーシングユニット320に出力してもよい。
ステップS420において、レイトレーシングユニット320はレイの追跡を処理する。ステップS425において、レイトレーシングユニット320は追跡が処理されたレイをシェーディングユニット390に提供する。レイトレーシングユニット320は、追跡が処理されたレイをシェーディングユニット390に出力する。
ステップS430において、シェーディングユニット390は、追跡が処理されたレイに基づいてシェーディングを処理する。
TRVユニット100では、前述したような多様な経路のレイ入力及びレイ出力が発生する。したがって、複数のTRVユニットの入力バッファ内のレイ個数だけではなく、複数のTRVユニットのパイプラインの状態に基づいて入力レイを処理する目的地が決定される必要がある。ここで、パイプラインの状態はパイプライン内で処理されているレイの状態を意味する。
図5は、一実施形態に係るレイの追跡の方法のフローチャートである。
後述するステップS510ないしステップS570は図4を参照して前述のステップS420に対応する。
入力レイは、図4を参照して前述したステップS415でレイ生成ユニット315によって提供されたレイであってもよい。
ステップS510において、レイディスパッチユニット330は、複数のTRVユニットのそれぞれの状態に基づいて複数のTRVユニットのうち入力レイの探索を処理するTRVユニットを選択する。
また、レイディスパッチユニット330は、複数のTRVユニットの状態に基づいて複数のTRVユニットのうち入力レイの探索を処理するTRVユニットを選択する。ここで、TRVユニット100の状態は、TRVユニット100の入力バッファ110が利用可能であるか否か、またはTRVユニット100の入力バッファ110内のレイの個数を意味する。
例えば、レイディスパッチユニット330は、複数のTRVユニットのうち入力レイの探索を処理する1つのTRVユニットを選択する。さらに詳細に、レイディスパッチユニット330は、入力バッファ内に最も少ない個数のレイを有するTRVユニットのうち最も高い寿命を有するTRVユニットを選択する。または、レイディスパッチユニット330は、複数のTRVユニットのうち入力バッファが利用したTRVユニットのうち最も高い寿命を有するTRVユニットを選択する。
複数のTRVユニットのそれぞれの寿命は、複数のTRVユニットのそれぞれによって処理されている1つ以上のレイの状態に基づいて決定されてもよい。
複数のTRVユニットのそれぞれの寿命は、各TRVユニット、レイディスパッチユニット330、またはレイトレーシングユニット320によって算出または管理される。例えば、TRVユニット100はTRVユニット100の寿命を算出して寿命格納部190内に格納してもよく、格納された寿命をレイディスパッチユニット330に提供する。または、レイディスパッチユニット330は複数のTRVユニットの寿命をそれぞれを算出してもよく、算出された寿命を格納してもよい。
複数のTRVユニットのそれぞれの寿命は、複数のTRVユニットのそれぞれによって処理されている1つ以上のレイの状態に基づいて決定されてもよい。TRVユニット100によって処理されている1つ以上のレイは、TRVユニット100のパイプライン120内で処理されているレイ及び/またはTRVユニット100の入力バッファ内にあるレイを含んでもよい。
レイの状態はレイの寿命である。すなわち、TRVユニット100によって処理されている1つ以上のレイはそれぞれ寿命を有する。レイの寿命はレイがTRVユニット100またはレイディスパッチユニット330内に入力され、TRVユニット100またはレイディスパッチユニット330内に留まった時間の期間を示す情報であってもよい。
複数のTRVユニットの寿命は複数のTRVユニットのそれぞれによって処理されている1つ以上のレイの寿命に基づいて決定される。言い換えれば、TRVユニット100の寿命は、TRVユニット100に入力されたレイの状態または累積寿命を代表する情報であってもよい。例えば、複数のTRVユニットのそれぞれの寿命は、複数のTRVユニットのそれぞれによって処理されている1つ以上のレイの寿命の和である。すなわち、TRVユニット100の寿命は、TRVユニット100によって処理されている1つ以上のレイの寿命の和である。他の例として、複数のTRVユニットのそれぞれの寿命は、複数のTRVユニットのそれぞれによって処理されている1つ以上のレイの寿命の平均であってもよい。すなわち、TRVユニット100の寿命は、TRVユニット100によって処理されている1つ以上のレイの寿命の平均である。更なる例として、レイディスパッチユニットが複数のTRVユニットに対する特定のTRVユニットの相対的な寿命を考慮することを代わりにするか、前記考慮に追加して、レイディスパッチユニット330は処理されなければならないレイの寿命を直接的に考慮することで処理しなければならないレイを複数のTRVユニットのうち特定のTRVユニットに入力してもよい。
1つ以上のレイのそれぞれの寿命は、1つ以上のレイのそれぞれの探索が複数のTRVユニットによって繰り返し処理された回数に基づいて決定される。探索の反復において1つの探索は、加速構造トリの1つのノードを訪問することに対応する。
レイの寿命は、前記レイの探索が複数TRVユニットによって繰り返し処理された回数である。例えば、TRVユニット100の入力バッファ110に新しい寿命が1であるレイが入力されれば、TRVユニット100の寿命が1だけ増加する。または、後述する入力レイの探索を処理するステップS520が繰り返されるとき、入力レイの寿命は1だけ増加する。後述する追跡が処理された入力レイを出力するステップS570において、TRVユニット100の寿命は出力される入力レイの寿命だけ減少する。
言い換えれば、TRVユニット100の大きい寿命または高い寿命は、TRVユニット100のパイプライン120内に相対的にはやくリタイア(retire)する可能性が高いレイが多いことを意味する。したがって、高い寿命を有するTRVユニット100のパイプライン120内のレイは相対的にはやく消耗される。したがって、複数のTRVユニットに入力レイを分配するとき、複数のTRVユニットのうち最も高い寿命を有するTRVユニットへ優先的に入力レイを分配することで複数のTRVユニット間の均衡が維持され得る。
ステップS520において、選択されたTRVユニットを用いることによって入力レイの探索が処理される。選択されたTRVユニットは、入力レイの探索を処理するために用いられる。
ステップS530において、選択されたTRVユニットまたはレイディスパッチユニット330は交差検査の実行可否を判断する。交差検査が要求される場合、ステップS550が行われる。交差検査が要求されない場合にステップS540が行われる。
ステップS540において、選択されたTRVユニットまたはレイディスパッチユニット330は探索を繰り返すか否かを判断する。探索が繰り返される場合、トリの探索を継続するために入力レイの探索を処理するステップS520が繰り返して行われる。探索が繰り返されない場合、ステップS570が行われる。
複数のTRVユニットは、入力レイの探索を繰り返し処理するために用いられてもよい。入力レイの探索が繰り返されるとき、入力レイの寿命は1だけ増加する。探索を繰り返すか否かは交差検査の結果に基づいて決定される。
ステップS530及びステップS540は例示的なものであって、交差検査の実行有無及び探索の反復可否を判断するために任意的な順序または方法が用いられてもよい。
ステップS550において、レイ仲裁ユニット350は、複数のISTユニットのうち入力レイの交差検査を処理するISTユニットを選択する。
複数のTRVユニットのうち1つ以上のTRVユニットが同時または大体的に(substantially)同時にレイをレイ仲裁ユニット350に出力してもよい。
レイ仲裁ユニット350は、同時に出力された複数のレイの状態に基づいて優先的に処理するレイを選択する。例えば、レイ仲裁ユニット350は、同時に出力された複数のレイのうち最も高い寿命を有するレイを優先的に処理するレイとして選択する。
または、レイ仲裁ユニット350は、同時にレイを出力した複数のTRVユニット100の状態に基づいて同時に出力されたレイのうち優先的に処理するレイを選択する。例えば、レイ仲裁ユニット350は、同時にレイを出力した複数のTRVユニット100のうち最も高い寿命を有するTRVユニット100から出力されたレイを優先的に処理するレイとして選択する。一実施形態として、もし、複数のレイが1つの特定のTRVユニットから出力されることに対して利用可能であり、レイ仲裁ユニット350は、特定のTRVユニットの複数のレイのうち最も高い寿命を有するレイをISTユニットの入力として選択する。
ステップS560において、選択されたISTユニットは入力レイの交差検査を処理する。レイの交差検査が処理されれば、レイの探索が再び繰り返される。したがって、ステップS560が行われた後にステップS520を繰り返し行う。
ステップS570において、選択されたTRVユニットは、追跡が処理された入力レイをシェーディングユニット390に出力する。追跡が処理された入力レイはバッファ370を経由してシェーディングユニット390から出力されてもよい。
図6は、一例に係るTRVユニットの寿命管理方法のフローチャートである。
ステップS610において、TRVユニット100は、入力されたレイが存在するか否かを判断する。入力されたレイが存在すればステップS620が行われる。入力されたレイが存在しなければステップS640が行われる。
ステップS620において、TRVユニット100は入力されたレイを入力バッファ110に追加する。
ステップS630において、TRVユニット100はTRVユニット100の寿命を更新する。例えば、TRVユニット100は入力されたレイの寿命を1に設定してもよい。TRVユニット100はTRVユニット100の寿命に1を加えたり、TRVユニット100の寿命に入力されたレイの寿命を加えたり、すべての入力レイの平均寿命を用いるように入力レイの寿命に基づいてTRVユニット100の寿命を更新してもよい。
TRVユニット100は、更新されたTRVユニット100の寿命を寿命格納部190内に格納する。
ステップS640において、パイプライン120はパイプライン内のレイに対する探索を処理する。ステップS640において、パイプライン120内に空間がある場合、入力バッファ110内のレイがパイプライン120に送信されてもよい。入力バッファ110内のレイは先入先出(first−in first−out)方式によりパイプライン120に送信されてもよい。
ステップS650において、TRVユニット100は、探索が終了したレイが存在するか否かを判断する。探索が終了したレイが存在すればステップS660が行われる。探索が終了したレイが存在しなければ、ステップS610を繰り返して行う。
探索が終了していないレイの寿命は1だけ増加してもよい。
ステップS660において、TRVユニット100はTRVユニット100の寿命を更新する。
TRVユニット100は、探索が終了したレイの寿命をTRVユニット100の寿命の更新に反映する。TRVユニット100は、TRVユニット100の寿命を探索が終了したレイの寿命だけ減少させる。
ステップS670において、TRVユニット100はすべてのレイの探索が終了したか否かを判断する。すべてのレイの探索が終了した場合に手続が終了する。探索が終了していないレイがある場合、ステップS610が繰り返して行われる。
前述した図1ないし図5を参照して説明した技術的な内容がそのまま適用されるため、その詳細な説明は以下では省略することにする。
図7は、一例に係るレイディスパッチユニットの動作方法のフローチャートである。
ステップS710ないしステップS730は図5を参照して前述したステップS510に対応する。ステップS710において、レイディスパッチユニット330は、レイ生成ユニット310から入力されたレイが存在するか否かを判断する。入力されたレイが存在しない場合にステップS710が繰り返して行われる。入力されたレイが存在する場合、ステップS720が行われる。
ステップS720において、レイディスパッチユニット330は、複数のTRVユニットのうち入力されたレイの探索を処理するTRVユニットを選択する。前記選択に対して図5を参照して前述した方法を適用してもよい。
ステップS730において、レイディスパッチユニット330は、入力されたレイを選択されたTRVユニットに送信する。
前述した図1ないし図6を参照して説明した技術的な内容がそのまま適用されるため、その詳細な説明は以下では省略することにする。
図8は、一例に係るレイ仲裁ユニットの動作方法のフローチャートである。
ステップS810ないしステップS850は、図5を参照して前述したステップS550に対応する。
ステップS810において、レイ仲裁ユニット350は、複数のTRVユニットから入力されたレイが存在するか否かを判断する。入力されたレイが存在しない場合にステップS810を繰り返し行う。入力されたレイが存在する場合はステップS820が行われる。
ステップS820において、レイ仲裁ユニット350は、入力されたレイが複数であるか否かを判断する。入力されたレイが複数である場合にステップS830が行われる。入力されたレイが複数ではない場合にステップS840が行われる。
ステップS830において、レイ仲裁ユニット350は、複数の入力されたレイのうち優先的に処理するレイを選択する。この選択において、図5を参照して前述した方法が適用される。選択されたレイが下記のステップS850で入力されたレイとして処理されてもよい。
ステップS840において、レイ仲裁ユニット350は、複数のISTユニットのうち入力されたレイの交差検査を処理するISTユニットを選択する。この選択において、図5を参照して前述した方法が適用される。
ステップS850において、レイ仲裁ユニット350は、入力されたレイを選択されたISTユニットに送信する。
前述した図1ないし図7を参照して説明した技術的な内容がそのまま適用されるため、その詳細な説明は以下では省略することにする。
前述した方法によって、複数のTRVユニット及びISTユニットを含むレイトレーシングハードウェアで、パイプライン間の動作負荷の均衡が向上し得る。
実施形態に係るレイ処理方法は、多様なコンピュータ手段を介して様々な処理を実行することができるプログラム命令の形態で実現され、コンピュータ読取可能な記録媒体に記録されてもよい。コンピュータ読取可能な媒体は、プログラム命令、データファイル、データ構造などのうち1つまたはその組合せを含んでもよい。媒体に記録されるプログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり、使用可能なものであってもよい。コンピュータ読取可能な記録媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク及び磁気テープのような磁気媒体、CD−ROM、DVDのような光記録媒体、光ディスクのような光磁気媒体、及びROM、RAM、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置が含まれてもよい。ここで説明されたソフトウェアモジュールの任意の一つ以上は、そのユニットに固有専用のプロセッサによって実行されてもよく、または、モジュールの一つ以上に共通するプロセッサによって実行されてもよい。説明された方法は汎用コンピュータやプロセッサによって実行されてもよく、ここで説明したような特定のマシンによって行われてもよい。
上述したように、本発明を限定された実施形態と図面によって説明したが、本発明は、上記の実施形態に限定されることなく、本発明が属する分野における通常の知識を有する者であれば、このような実施形態から多様な修正及び変形が可能である。
したがって、本発明の範囲は、開示された実施形態に限定されるものではなく、特許請求の範囲のみならず特許請求の範囲と均等なものなどによって定められるものである。
100:TRVユニット
200:ISTユニット
310:レイ生成ユニット
320:レイトレーシングユニット
330:レイディスパッチユニット
350:レイ仲裁ユニット
390:シェーディングユニット

Claims (20)

  1. 複数の探索ユニットのそれぞれの状態に基づいて前記複数の探索ユニットのうち入力レイの探索を処理する探索ユニットを選択するステップと、
    前記選択された探索ユニットを用いて前記入力レイの探索を処理するステップと、
    を含み、
    前記複数の探索ユニットのそれぞれの状態は、前記複数の探索ユニットのそれぞれによって処理されている1つ以上のレイの状態に基づいて決定されることを特徴とするレイ処理方法。
  2. 前記選択された探索ユニットは、前記複数の探索ユニットのそれぞれの寿命に基づいて前記複数の探索ユニットのうちから選択されることを特徴とする請求項1に記載のレイ処理方法。
  3. 前記複数の探索ユニットのそれぞれの寿命は、前記複数の探索ユニットのそれぞれによって処理されている前記一つ以上のレイの寿命に基づいて決定され、
    前記一つ以上のレイのそれぞれの寿命は、前記一つ以上のレイのそれぞれの探索が前記複数の探索ユニットによって繰り返し処理された回数に基づいて決定されることを特徴とする請求項2に記載のレイ処理方法。
  4. 前記複数の探索ユニットのそれぞれの寿命は、前記複数の探索ユニットのそれぞれによって処理されている1つ以上のレイのそれぞれの寿命の和であることを特徴とする請求項2に記載のレイ処理方法。
  5. 前記複数の探索ユニットのそれぞれの寿命は、前記複数の探索ユニットのそれぞれによって処理されている1つ以上のレイの平均寿命であることを特徴とする請求項2に記載のレイ処理方法。
  6. 前記選択された探索ユニットは、前記複数の探索ユニットのうち入力バッファ内に最も少ない個数のレイを有する探索ユニットのうち最も高い寿命を有する探索ユニットであることを特徴とする請求項1に記載のレイ処理方法。
  7. 前記入力レイの探索を処理するステップは繰り返して行われ、
    前記入力レイの探索を処理するステップが繰り返されるとき前記入力レイの寿命は所定の値だけ増加することを特徴とする請求項1に記載のレイ処理方法。
  8. 複数の交差検査ユニットのうち入力レイの交差検査を処理する交差検査ユニットを選択するステップと、
    前記選択された交差検査ユニットを用いて前記入力レイの交差検査を処理するステップと、
    をさらに含むことを特徴とする請求項1に記載のレイ処理方法。
  9. 請求項1ないし請求項8のいずれか一項に記載の方法を実行するプログラムを収録したコンピュータで読み出し可能な記録媒体。
  10. 1つ以上のプロセッサ−実行可能なユニットを制御するプロセッサと、
    レイの探索を処理する複数の探索ユニットと、
    前記複数の探索ユニットのそれぞれの状態に基づいて前記複数の探索ユニットのうち入力レイの探索を処理する探索ユニットを選択するレイディスパッチユニットと、
    を含み、
    前記選択された探索ユニットは前記入力レイの探索を処理し、
    前記複数の探索ユニットのそれぞれの状態は、前記複数の探索ユニットのそれぞれによって処理されている1つ以上のレイの状態に基づいて決定されることを特徴とするレイトレーシング装置。
  11. 前記レイディスパッチユニットは、前記複数の探索ユニットの状態に基づいて前記複数の探索ユニットのうちから前記選択された探索ユニットを選択することを特徴とする請求項10に記載のレイトレーシング装置。
  12. 前記複数の探索ユニットのそれぞれの寿命は、前記複数の探索ユニットのそれぞれによって処理されている前記一つ以上のレイの寿命に基づいて決定され、
    前記一つ以上のレイのそれぞれの寿命は、前記一つ以上のレイのそれぞれの探索が前記複数の探索ユニットによって繰り返し処理された回数に基づいて決定されることを特徴とする請求項11に記載のレイトレーシング装置。
  13. 前記複数の探索ユニットのそれぞれの寿命は、前記複数の探索ユニットのそれぞれによって処理されている1つ以上のレイのそれぞれの寿命の和であることを特徴とする請求項11に記載のレイトレーシング装置。
  14. 前記複数の探索ユニットのそれぞれの寿命は、前記複数の探索ユニットのそれぞれによって処理されている1つ以上のレイの平均寿命であることを特徴とする請求項11に記載のレイトレーシング装置。
  15. 前記ディスパッチユニットは、前記複数の探索ユニットのうち入力バッファ内に最も少ない個数のレイを有する探索ユニットのうち最も高い寿命を有する探索ユニットを前記選択された探索ユニットとして選択することを特徴とする請求項10に記載のレイトレーシング装置。
  16. 前記複数の探索ユニットは入力レイの探索を繰り返して処理し、前記入力レイの探索が繰り返されるとき前記入力レイの寿命は所定の値だけ増加することを特徴とする請求項10に記載のレイトレーシング装置。
  17. 前記レイトレーシング装置は、
    レイの交差検査を処理する複数の交差検査ユニットと、
    前記複数の交差検査ユニットのうち入力レイの交差検査を処理する交差検査ユニットを選択するレイ仲裁ユニットと、
    をさらに含み、
    前記選択された交差検査ユニットは、前記入力レイの交差検査を処理することを特徴とする請求項10に記載のレイトレーシング装置。
  18. 1つ以上のプロセッサ−実行可能なユニットを制御するプロセッサと、
    複数の探索ユニットの各探索ユニットに状態を割り当てるレイトレーシングユニットと、
    前記レイトレーシングユニットによって探索ユニットに割り当てられた前記状態に基づいて前記複数の探索ユニットの1つの探索ユニットを選択し、前記選択された探索ユニットにレイを入力する複数のレイディスパッチユニットと、
    を含むことを特徴とするレイ処理装置。
  19. 前記レイトレーシングユニットは、前記探索ユニットに入力されてきたすべてのレイの累積寿命に基づいて前記探索ユニットに前記状態を割り当てることを特徴とする請求項18に記載のレイ処理装置。
  20. 前記レイトレーシングユニットは、前記探索ユニットに入力されてきたすべてのレイの平均寿命に基づいて前記探索ユニットに前記状態を割り当てることを特徴とする請求項18に記載のレイ処理装置。
JP2013152912A 2012-07-24 2013-07-23 レイ処理方法、レイトレーシング装置及びレイ処理装置 Active JP6246515B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2012-0080547 2012-07-24
KR1020120080547A KR102042539B1 (ko) 2012-07-24 2012-07-24 레이 트레이싱 방법 및 장치

Publications (2)

Publication Number Publication Date
JP2014026652A true JP2014026652A (ja) 2014-02-06
JP6246515B2 JP6246515B2 (ja) 2017-12-13

Family

ID=48832821

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013152912A Active JP6246515B2 (ja) 2012-07-24 2013-07-23 レイ処理方法、レイトレーシング装置及びレイ処理装置

Country Status (5)

Country Link
US (1) US9779537B2 (ja)
EP (1) EP2690599B1 (ja)
JP (1) JP6246515B2 (ja)
KR (1) KR102042539B1 (ja)
CN (1) CN103578130B (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102219289B1 (ko) 2014-05-27 2021-02-23 삼성전자 주식회사 레이 트레이싱 시스템에서의 가속 구조 탐색 장치 및 그 탐색 방법
US10043303B2 (en) * 2016-03-30 2018-08-07 Intel IP Corporation Methods and apparatus for more efficient ray tracing of instanced geometry
US10332303B2 (en) 2016-04-26 2019-06-25 Imagination Technologies Limited Dedicated ray memory for ray tracing in graphics systems
US10417807B2 (en) * 2017-07-13 2019-09-17 Imagination Technologies Limited Hybrid hierarchy of bounding and grid structures for ray tracing
CN113034338B (zh) * 2019-12-24 2023-03-17 深圳市海思半导体有限公司 一种用于gpu的bvh构造方法、装置及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001084401A (ja) * 1999-09-01 2001-03-30 Mitsubishi Electric Inf Technol Center America Inc グラフィック・データの中を通る光線をトレーシングするための方法
JP2011515766A (ja) * 2008-03-21 2011-05-19 コースティック グラフィックス、インク. レイトレース・レンダリングのための並列化された交差テストおよびシェーディングのアーキテクチャ
US7999808B1 (en) * 2007-12-13 2011-08-16 Nvidia Corporation Parallel processing system, method, and computer program product for executing node traversal or primitive intersection
EP2437217A2 (en) * 2009-05-28 2012-04-04 Siliconarts, Inc. Ray tracing core and ray tracing chip including same

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11353496A (ja) 1998-06-10 1999-12-24 Ken Nishimura 光線追跡のための交点探索装置
JP2001034783A (ja) 1999-07-16 2001-02-09 Victor Co Of Japan Ltd 画像データ処理装置
US6466227B1 (en) 1999-09-01 2002-10-15 Mitsubishi Electric Research Laboratories, Inc. Programmable architecture for visualizing sampled and geometry data
JP4352990B2 (ja) 2004-05-17 2009-10-28 日本ビクター株式会社 3次元画像生成システム
US7830379B2 (en) * 2006-09-19 2010-11-09 Caustic Graphics, Inc. Architectures for parallelized intersection testing and shading for ray-tracing rendering
KR100889602B1 (ko) 2006-12-05 2009-03-20 한국전자통신연구원 광선 추적을 위한 광선-삼각형 충돌 처리 방법 및 장치
US8826299B2 (en) * 2007-08-13 2014-09-02 International Business Machines Corporation Spawned message state determination
US8237711B2 (en) 2007-11-19 2012-08-07 Caustic Graphics, Inc. Tracing of shader-generated ray groups using coupled intersection testing
KR100939212B1 (ko) 2007-12-15 2010-01-28 한국전자통신연구원 광선 집합을 이용한 병렬 광선 추적 방법 및 시스템
KR100924122B1 (ko) 2007-12-17 2009-10-29 한국전자통신연구원 픽셀 단위 처리 요소 기반의 광선 추적 장치 및 방법
US8217935B2 (en) 2008-03-31 2012-07-10 Caustic Graphics, Inc. Apparatus and method for ray tracing with block floating point data
US9269182B2 (en) * 2008-09-05 2016-02-23 Nvidia Corporation System and method for identifying entry points of a hierarchical structure
US8963918B2 (en) 2008-09-30 2015-02-24 Microsoft Corporation Ray tracing on graphics hardware using kd-trees
US8350846B2 (en) 2009-01-28 2013-01-08 International Business Machines Corporation Updating ray traced acceleration data structures between frames based on changing perspective
KR20110059037A (ko) 2009-11-27 2011-06-02 삼성전자주식회사 멀티 레벨 커널을 사용하는 레이 트레이싱 장치 및 방법
US8189001B2 (en) 2010-01-04 2012-05-29 Adshir Ltd. Method and apparatus for parallel ray-tracing employing modular space division
US8472455B2 (en) * 2010-01-08 2013-06-25 Nvidia Corporation System and method for traversing a treelet-composed hierarchical structure
CN101826215B (zh) 2010-04-19 2012-05-09 浙江大学 实时二级光线跟踪的并行渲染方法
US8619078B2 (en) 2010-05-21 2013-12-31 International Business Machines Corporation Parallelized ray tracing
US8692825B2 (en) * 2010-06-24 2014-04-08 International Business Machines Corporation Parallelized streaming accelerated data structure generation
KR101705581B1 (ko) * 2010-09-30 2017-02-22 삼성전자주식회사 데이터 처리 장치 및 방법
CN102053258B (zh) 2010-12-15 2012-09-05 中国石油集团川庆钻探工程有限公司 基于复杂地质构造的自适应三维射线追踪方法
CN102243768B (zh) * 2011-06-17 2013-01-30 长春理工大学 一种三维虚拟场景立体画面的绘制方法
CN102495427B (zh) * 2011-12-10 2013-06-19 北京航空航天大学 一种基于隐式模型表达的界面感知射线追踪方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001084401A (ja) * 1999-09-01 2001-03-30 Mitsubishi Electric Inf Technol Center America Inc グラフィック・データの中を通る光線をトレーシングするための方法
US7999808B1 (en) * 2007-12-13 2011-08-16 Nvidia Corporation Parallel processing system, method, and computer program product for executing node traversal or primitive intersection
JP2011515766A (ja) * 2008-03-21 2011-05-19 コースティック グラフィックス、インク. レイトレース・レンダリングのための並列化された交差テストおよびシェーディングのアーキテクチャ
EP2437217A2 (en) * 2009-05-28 2012-04-04 Siliconarts, Inc. Ray tracing core and ray tracing chip including same

Also Published As

Publication number Publication date
US20140028666A1 (en) 2014-01-30
KR102042539B1 (ko) 2019-11-08
CN103578130B (zh) 2018-03-09
EP2690599A2 (en) 2014-01-29
JP6246515B2 (ja) 2017-12-13
EP2690599B1 (en) 2021-10-06
EP2690599A3 (en) 2017-07-12
KR20140014487A (ko) 2014-02-06
US9779537B2 (en) 2017-10-03
CN103578130A (zh) 2014-02-12

Similar Documents

Publication Publication Date Title
US10909654B2 (en) Management of graphics processing units in a cloud platform
KR101705581B1 (ko) 데이터 처리 장치 및 방법
JP6336727B2 (ja) 並列パイプラインを用いるグラフィック処理方法及び装置
JP5740704B2 (ja) レイトレース・レンダリングのための並列化された交差テストおよびシェーディングのアーキテクチャ
JP6246515B2 (ja) レイ処理方法、レイトレーシング装置及びレイ処理装置
US11138782B2 (en) Systems and methods for rendering optical distortion effects
JP5480815B2 (ja) レイトレーシングによるレンダリングシステムおよび方法
KR20140036519A (ko) 레이 추적의 스케쥴링을 위한 장치 및 방법
US9842424B2 (en) Volume rendering using adaptive buckets
US9305392B2 (en) Fine-grained parallel traversal for ray tracing
US20190318530A1 (en) Systems and Methods for Reducing Rendering Latency
US20130271465A1 (en) Sort-Based Tiled Deferred Shading Architecture for Decoupled Sampling
US11418852B2 (en) Detecting latency anomalies from pipeline components in cloud-based systems
US10553012B2 (en) Systems and methods for rendering foveated effects
US10699467B2 (en) Computer-graphics based on hierarchical ray casting
KR102480787B1 (ko) 순서에 관계 없는 캐시 리턴
US11165848B1 (en) Evaluating qualitative streaming experience using session performance metadata
US20140168228A1 (en) Fine-grained parallel traversal for ray tracing
US12013844B2 (en) Concurrent hash map updates
US9123154B2 (en) Distributed element rendering
Sousa et al. Acceleration Data Structures for Ray Tracing on Mobile Devices.
Frank et al. Dependency graph approach to load balancing distributed volume visualization

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160725

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170616

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170704

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170922

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171115

R150 Certificate of patent or registration of utility model

Ref document number: 6246515

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