JP2018124986A - 複合照明を用いる経路追跡によるシーンレンダリング用の装置及び方法 - Google Patents

複合照明を用いる経路追跡によるシーンレンダリング用の装置及び方法 Download PDF

Info

Publication number
JP2018124986A
JP2018124986A JP2017240429A JP2017240429A JP2018124986A JP 2018124986 A JP2018124986 A JP 2018124986A JP 2017240429 A JP2017240429 A JP 2017240429A JP 2017240429 A JP2017240429 A JP 2017240429A JP 2018124986 A JP2018124986 A JP 2018124986A
Authority
JP
Japan
Prior art keywords
pixels
intersection
light source
visibility test
light
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.)
Pending
Application number
JP2017240429A
Other languages
English (en)
Inventor
デュファイ,アーサー
Dufay Arthur
ルコック,パスカル
Lecocq Pascal
マービー,ジャン−ウード
Marvie Jean-Eudes
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.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
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 Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of JP2018124986A publication Critical patent/JP2018124986A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/80Shading
    • 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/06Ray-tracing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0007Image acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • 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
    • G06T15/506Illumination models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2211/00Image generation
    • G06T2211/40Computed tomography
    • G06T2211/428Real-time

Landscapes

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

Abstract

【課題】既存の光線追跡システム又は遅延レンダリングエンジンと互換性があり、グラフィックスハードウェア上での実行が有利に容易であるレンダリング装置を提供する。
【解決手段】光源L1、L2によって照明された3Dシーン2が、経路追跡によって2D画像グリッド3上でレンダリングされる。各グリッド画素P1A、P1B、P2から生じる少なくとも1つの光線は、それが、交点M1A、M1B、M2において3D対象物21、グランド22に出会うまで3Dシーンにおいて追跡される。その光線は、光源の1つの方へ反射され、視認性試験が、交点とその光源との間でその光線用に行われ、その光線の寄与が、関係のある画素でレンダリングを実行する際に交点において追加される。視認性試験は、光源に従いクラスタ方式で画素にわたって実行され、視認性試験は、視認性試験にそれぞれ関連する光源に相関する計算及び又はメモリ記憶装置の点でクラスタ化される。
【選択図】図2

Description

1.技術分野
本発明は、特に、複合照明を用いた仮想3Dシーンのインタラクティブレンダリング用の、コンピュータグラフィックスにおける画像レンダリング領域に関する。本発明は、とりわけ、GPU(グラフィックス処理ユニット)リアルタイムレンダリングに関する。
本開示において、「レンダリング」という用語は、視覚画像へのジオメトリ及び素材データの変換を広く指す。
2.背景技術
現実的な照明効果のレンダリングは、全ての直接及び間接照明の寄与を考慮することによる、シーンの十分な光変換の適切なシミュレーションを必要とする。この挑戦的なタスクは、表面に達して四方八方に散乱される全ての照明寄与の積分により表されるレンダリング方程式を解くことを要する。かかる方程式は、例えば、James T. Kajiya,“The Rendering Equation”, ACM SIGGRAPH Computer Graphics, n°143-150, 1986による記事に説明されている。
しかしながら、そのレンダリング方程式を解くことは、主に複合的なシーンジオメトリによって誘発される視認性問題故に、簡単なことではなく、解析的解法は存在しない。経路追跡(特に上記のACM SIGGRAPHの言及を参照)などの確率的光線追跡法は、その方程式を解くために、大量の光路を追跡する必要がある。
多くの確率的経路が、直接的には光源に達しないので、経路追跡エンジンは、次のイベントシミュレーションと呼ばれる、経路に沿った直接光サンプリング戦略に依存することが多い。この方法は、経路に沿った各反射において光源を直接サンプリングすること、及びその光寄与を経路によって伝達されたエネルギに追加することによって、経路追跡収束速度を改善する。
この技術は、エネルギを経路に追加する際に非常に助けとなるが、しかし必要とされる計算時間においては改善すべきものがあり得る。
D. van Antwerpen,“Improving SIMD Efficiency for Parallel Monte Carlo Light transport on the GPU”, High Performance Graphics, 2011による記事において、特に経路追跡などのモンテカルロ光輸送アルゴリズムは、ランダムウォークの確率的終了に関連して改善されるが、ランダムウォークは、通常、サンプル間の不均一な作業負荷に帰着し、それは、SIMD(単一命令多重データ)効率を低下させる。この点において、ストリーム圧縮が、サンプル再生と組み合わされ、新しいサンプルは、各拡張後のストリームの終わりに再生される。新しく生成されたサンプルが、ストリームの終わりに並んで配置されるので、SIMD効率は、サンプル再生中は高いままになる。
計算効率を向上させるが、計算効率は、ランダムなロシアンルーレット終了に、且つ関連するワープにおいて並んで新しく生成されたサンプルの数に依存する。
また、双方向経路追跡の技術もまた、よく知られている。かかる実装形態において、光線は、両方の画素及び光源から追跡される。より正確には、ランダムウォーク段階中に、眼経路及び光路は、各サンプル用に構成され、両方が終了すると、それらの経路間の全ての接続は、接続段階中に評価される。
従って、眼経路及び光路の確率的終了は、サンプル間の不均一な作業負荷に帰着する。上記の記事においてD. van Antwerpenによって提案された解決法は、言及された効率制限に従う例の問題を部分的に解決する。
E. P. Lafortune and Y. D. Willems,“Reducing the Number of Shadow Rays in Bidirectional Path Tracing”, WSCG’95, 1995による記事において、双方向経路追跡におけるシャドー光線の数を低減するためのアルゴリズムが提案される。サンプル数を共同して増加させることによって、確率的プロセスの変動におけるわずかな増加を補償することができる。より正確には、シャドー光線は、それらの寄与の重要性に基づいて選択される。実装形態に依存して、単一のシャドー光線が、光路上のポイント当たりの照明寄与のグループ、眼経路上のポイント当たりの照明寄与のグループ、又は全ての照明寄与のグループ間の各グループ用に選択される。画素当たりのサンプル数は、光線の一定の総数をほぼ取得するように選択される。
その解決法は、RMS(二乗平均)誤差を減少させるが、特に小さなシーンに関し、シャドー光線交差試験に消費される時間と比較して、顕著なオーバーヘッド故に計算効率に影響を及ぼす傾向がある。
3.概要
本開示の目的は、同一のサンプリング戦略を維持できるようにしながら、既存の経路追跡技術に対して計算時間を更に低減すること、及びレンダリングアルゴリズムにおけるシャドー計算を加速することである。
本開示の目的は、特に、既存の光線追跡システム又は遅延レンダリングエンジンと互換性があり、グラフィックスハードウェア上での実行が有利に容易であるレンダリング装置である。
この点で、本開示は、少なくとも2つの光源によって照明された3Dシーンを経路追跡することによって画像グリッド上でレンダリングするための装置に関し、画像グリッドは、画素を含む。装置は、
− 画素のそれぞれのために、3Dシーンにおけるその画素から生じる少なくとも1つの光線を追跡し、その光線が、交点において3Dシーンの対象物と出会うまで追跡するように、
− 対象物上の交点でその光線を3Dシーンの光源の少なくとも1つの方へ反射させるように、
− 交点と光源との間でその光線用の視認性試験を行うように、
− 視認性試験が、正の出力を結果としてもたらす場合のみ、画像グリッドのその画素においてレンダリングを実行する際に交点における光源の寄与を追加するように、
構成された少なくとも1つのプロセッサを含む。
本開示によれば、少なくとも1つのプロセッサは、光源に従いクラスタ方式で画素にわたって視認性試験を進めるように更に構成され、視認性試験は、視認性試験にそれぞれ関連する光源に相関する計算及び/又はメモリ記憶装置の点でクラスタ化される。
画素セット用の視認性試験のクラスタ化は、有利なことに、光線コヒーレンシを改善する効果を有する。何故なら、GPU上で並列に計算された光視認性光線が、3D空間の同じ領域、即ち考慮される光源と関連付けられるからである。光視認性光線(又はシャドー光線)は、3Dシーンのあるポイントから別のポイントへと(それらの2ポイント間の視認性試験用に)送信される光線である。
典型的には、GPUは、ワープと呼ばれる並列スレッドブロックのグリッド上で、光線交差などのカーネルプログラムをインスタンス化する。各スレッドブロックは、同じカーネルを実行する同時実行スレッドセットを含む。ブロック内のスレッドは、第1レベルのキャッシュメモリ、即ちL1キャッシュへのアクセスを有し、一方でブロックにわたるスレッドは、わずかに遅い共有される第2レベルのキャッシュメモリ、即ちL2キャッシュを共有する。純粋な実例のために、特定の実施形態におけるGPUは、24のワープを含み、ワープのそれぞれは、8スレッドの4ブロックを含み、24のワープは、GPUにおいて768スレッドを作る。別の特定の実施形態において、GPUは、32スレッドの16ブロックを含む一意のワープを含み、それは、GPUにおいて512スレッドになる。
上記の装置は、有利なことに、直接光サンプリングを用いる既存の解決法に対して、速度処理の向上をもたらす。実際に、直接光サンプリングは、光源が確率的に選択されるので、GPUキャッシュコヒーレンシを壊す傾向がある。更に、それらの周知の技術において、確率的な光源選択は、(視認性試験用に用いられる)未組織のシャドー光線につながる。即ち、GPUワープにおいて計算される光線群は、ランダム面からはじまりランダム光源に進む追跡光線である。シャドー光線のこの未組織の分散は、メモリコヒーレンシにとって悪く、処理遅延を伴う。本装置は、同じGPUワープにおいて計算されたシャドー光線間のよりよいコヒーレンシの取得を支援することができる。即ち、接続経路は、それらの経路追跡実装形態において、光源によって分類することができる。
計算及び/又は記憶装置の点における視認性試験のクラスタ化は、恐らく特にコスト効率をよくすることができる。
この点で、所与のGPUワープの全てのスレッドは、有利なことに、所与の反射ステップにおいて(特定の実施形態において:各所与の反射ステップにおいて)同じ光源と関連付けられる。特定の実装形態において、これは、全ての利用されるGPUワープ用に達成される。また、光サンプルは、有利なことに、所与の反射ステップにおいて(特定の実施形態において:各所与の反射ステップにおいて)経路トレーサによって潜在的に選択された光源のバッファにそれぞれ関連するバッファにクラスタ化される。次に、光線クエリが、視認性試験用のそれらのバッファ上で実行され得る。
光源に相関する視認性試験のかかるクラスタ化の適用は、従来の光線クラスタ化の点から見て、同様に次のイベントシミュレーションを伴う経路追跡における従来の視認性試験の点から見て、極めて予想外で驚くべきものに見える。
特定の実装形態において、少なくとも1つのプロセッサは、光源から交点の方へ光視認性光線を放出することによって、交点と光源との間で、画素のそれぞれのために視認性試験を実行するように構成される。
逆シャドー光線を用いるその実装形態は、特に興味深い。何故なら、GPU上で並列に計算される光線が、通常、3D空間のほぼ同じポイントからスタートするからである。光源からの可能な光線スタート位置は、光線が3Dシーンにおける任意の表面からスタートできる場合の従来の光線クエリと比較して大幅に低減される。
クラスタ化された解決法は、光線クエリを含むバッファにわたる高速GPU縮小など、幾つかの方法の1つを用いて実行することができる。(ストリーム圧縮と呼ばれる)かかる実装形態の例が、D. V. Antwerpen,“Improving SIMD efficiency for parallel Monte Carlo light transport on the GPU”, Proceedings of the ACM SIGGRAPH Symposium on High Performance Graphics, pp. 41-50, 2011による記事に与えられている。
好ましくは、画像グリッドは、バッファリング記憶装置を提供され、少なくとも1つのプロセッサはまた、
− 視認性試験が、正の出力を結果としてもたらす場合のみ、交点における光源の寄与をバッファリング記憶装置に格納するように、
− 視認性試験を行う前に、視認性試験用に提供された、且つ縮小光バッファと呼ばれる少なくとも2つのバッファにバッファリング記憶装置を配分し、それらの縮小光バッファのそれぞれが、画素の1つに関連する光源の1つに対応するように、
− 縮小光バッファに問い合わせることによって視認性試験を行うように、
構成される。
バッファリング記憶装置は、有利なことに、画素にそれぞれマッピングされたバッファ素子を含む。
より正確には、特定の実施形態において、少なくとも1つのプロセッサは、画素のそれぞれのために、その画素に関連する光源のインデックスを、その画素にマッピングされたバッファ素子に格納するように構成される。
また有利なことに、少なくとも1つのプロセッサは、バッファ素子を縮小光バッファにクラスタ化するように、且つ/又は画素のそれぞれのために、その画素に関連する光源のインデックス及びその画素に関連する交点の位置を縮小光バッファのそれぞれに格納するように構成される。
好ましくは、少なくとも1つのプロセッサは、光源のいずれかに関連する視認性試験における少なくとも2つを並列に実行するように構成される。
好ましい実装形態において、装置は、
− 3Dシーン及び光源に関するデータを受信するように適合された少なくとも1つの入力部と、
− レンダリングから結果としてもたらされるレンダリングされた画像を出力するように適合された少なくとも1つの出力部と、
を更に含む。
本開示はまた、少なくとも2つの光源によって照明された3Dシーンを経路追跡することによって画像グリッド上でレンダリングするための装置に関し、画像グリッドは、画素を含む。装置は、
− 画素のそれぞれのために、3Dシーンにおけるその画素から生じる少なくとも1つの光線を追跡するための手段であって、その光線が、交点において3Dシーンの対象物と出会うまで追跡するための手段と、
− 対象物上の交点でその光線を3Dシーンの光源の少なくとも1つの方へ反射させるための手段と、
− 交点と光源との間でその光線用の視認性試験を行うための手段と、
− 視認性試験が、正の出力を結果としてもたらす場合のみ、画像グリッドのその画素におけるレンダリングを実行する際に交点における光源の寄与を追加するための手段と、
を含む。
本開示によれば、視認性試験を行うための手段は、光源に従いクラスタ方式で画素にわたる視認性試験を続けるように更に構成される。
本発明は、画像を生成するように適合された少なくとも1つのプロセッサと、生成画像を格納するように適合された少なくとも1つのフレームバッファと、フレームバッファからのディスプレイに生成画像を提供するように適合されたディスプレイへの少なくとも1つの出力部と、を含むGPU又はグラフィックス処理ユニットに更に関する。
本開示によれば、GPUは、上記の実施形態に従うレンダリング用の装置を含む。
本開示はまた、少なくとも2つの光源によって照明された3Dシーンを経路追跡することによって画像グリッド上でレンダリングするための方法に関し、その画像グリッドは、画素を含む。方法は、
− 画像のそれぞれのために、3Dシーンにおけるその画素から生じる少なくとも1つの光線を追跡することであって、その光線が、交点において3Dシーンの対象物と出会うまで追跡することと、
− 対象物上の交点でその光線を3Dシーンの光源の少なくとも1つの方へ反射させることと、
− 交点と光源との間でその光線用の視認性試験を行うことと、
− 視認性試験が、正の出力を結果としてもたらす場合のみ、画像グリッドのその画素におけるレンダリングを実行する際に交点におけるその光源の寄与を追加することと、
を含む。
本開示によれば、その方法は、光源に従いクラスタ方式で画素にわたり視認性試験を進めることであって、視認性試験が、視認性試験にそれぞれ関連する光源に相関する計算及び/又はメモリ記憶装置の点でクラスタ化されることを更に含む。
その方法は、上記の実施形態のいずれかによる装置によって実行されるのが好ましい。
加えて、本開示は、プログラムがプロセッサによって実行される場合に、上記の実行モードのいずれかに従って方法ステップを実行するように適合されたソフトウェアコードを含む、3Dシーンをレンダリングするためのコンピュータプログラムに関する。
本開示は、本開示に従って3Dシーンをレンダリングするための方法を実行するコンピュータによって実行可能な命令プログラムを実体的に具体化する、コンピュータによって判読可能な非一時的なプログラム記憶装置に更に関する。
かかる非一時的なプログラム記憶装置は、限定するわけではないが、電子、磁気、光、電磁気、赤外線、半導体装置、又は前述の任意の適切な組み合わせとすることができる。より具体的な例を提供するが、次のもの、即ちポータブルコンピュータディスケット、ハードディスク、ROM(読み取り専用メモリ)、EPROM(消去可能プログラム可能なROM)又はフラッシュメモリ、ポータブルCD−ROM(コンパクトディスクROM)が、単に実例であり、当業者によって容易に認識されるように排他的なリストではないことを理解されたい。
4.図面の一覧
特定の非限定的な実例的実施形態の次の説明を読めば、本開示が一層よく理解され、他の特定の特徴及び利点が明らかになろう。説明は、添付の図面を参照する。
本開示に従い、経路追跡によって画像グリッド上の3Dシーンをレンダリングするための装置を概略的に表すブロック図である。 図1の装置を用いた、観察者視点から画像グリッド用の3Dシーンに適用される光サンプリングを示す。 図2の画像グリッドに対応する光サンプリング記憶装置を示す。 図3の光サンプリング記憶装置に由来する縮小された光バッファを表す。 図1の装置で実行された連続レンダリングステップを示す流れ図である。 図1に表された装置を含むグラフィックス処理機器を図式で示す。
5.実施形態の詳細な説明
本説明は、本開示の原理を示す。従って、本明細書では明示的に説明も図示もされていないが、当業者が、本開示の原理を具体化する、且つその趣旨及び範囲内に含まれる様々な配列を考案できることが理解されよう。
本明細書で挙げられる全ての例及び条件付き言語は、本開示の原理、及び当該技術を推し進めることに対して発明者によって寄与される概念を理解する際に読者を支援する教育目的用に意図され、且つかかる特に挙げられた例及び条件への限定がないものとして解釈されるべきである。
更に、本開示の原理、態様及び実施形態と同様にそれらの具体例を列挙する本明細書の全ての言明は、それらの構造及び機能的等価物を包含するように意図されている。加えて、かかる等価物が、現在周知の等価物と同様に、将来開発される等価物、即ち構造にかかわらず同じ機能を実行する任意の開発される要素の両方を含むことが意図されている。
従って、例えば、本明細書で提示されるブロック図が、本開示の原理を具体化する実例的な回路の概念図を表すことが、当業者によって理解されよう。同様に、どんなフローチャート、流れ図等も、コンピュータ可読媒体においてほぼ表現され、従ってコンピュータ又はプロセッサ(かかるコンピュータ又はプロセッサが明示的に示されていてもいなくても)によって実行され得る様々なプロセスを表現することが理解されよう。
「適合される」及び「構成される」という用語は、材料を介して達成されるにせよ、ソフトウェア手段(ファームウェアを含む)を介して達成されるにせよ、本装置の初期の構成、後の適合若しくは補足、又は同様にそれらの任意の組み合わせとして、本開示において用いられる。
図に示されている様々な要素の機能は、専用ハードウェアと同様に、適切なソフトウェアと関連してソフトウェアを実行できるハードウェアの使用を通して提供されてもよい。プロセッサによって提供される場合に、機能は、単一の専用プロセッサ、単一の共有プロセッサ、又は複数の個別プロセッサによって提供されてもよく、それらの個別プロセッサの幾つかは、共有されてもよい。更に、「プロセッサ」という用語の明示的な使用は、ソフトウェアを実行できるハードウェアを排他的に指すと解釈されるべきではなく、処理装置を一般的に指し、処理装置は、例えば、コンピュータ、マイクロプロセッサ、集積回路、又はプログラマブル論理装置(PLD)を含む。加えて、関連する且つ/又は結果としての機能を実行できる命令及び/又はデータは、例えば集積回路、ハードディスク、CD(コンパクトディスク)、DVD(デジタル多用途ディスク)などの光ディスク、RAM(ランダムアクセスメモリ)、又はROMメモリなどの任意のプロセッサ可読媒体上に格納されてもよい。命令は、特に、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組み合わせに格納されてもよい。
図に示されている要素が、ハードウェア、ソフトウェア又はそれらの組み合わせの様々な形態で実現され得ることを理解されたい。好ましくは、これらの要素は、1つ又は複数の適切にプログラムされた汎用装置上でハードウェア及びソフトウェアの組み合わせにおいて実現され、それらの汎用装置は、プロセッサ、メモリ及び入出力インターフェースを含んでもよい。
本開示は、図1に示されているように、3Dシーンをレンダリングするための装置1の特定の機能的な実施形態に関連して説明される。
装置1は、経路追跡プロセスによって、光源により照明された3Dシーンをレンダリングするように適合される。
有利なことに、装置1は、言及される機能を実行するように設計され、構成され、且つ/又は適合された機器又は機器の物理的な部分であり、言及される効果又は結果を生じる。代替実装形態において、装置1は、同じマシンにおいてグループ化されるにせよ又は恐らくは遠隔の相異なるマシンにおいてグループ化されるにせよ、機器セット又は機器の物理的な部分として具体化される。
以下において、モジュールは、物質的で物理的に別個のコンポーネントではなく、機能的なエンティティとして理解されたい。従って、それらは、同じ有形で具体的なコンポーネントに一緒にグループ化されるか、又は幾つかのかかるコンポーネントに配分されるように具体化することができる。また、それらのモジュールのそれぞれは、恐らくそれ自体は少なくとも2つの物理コンポーネント間で共有される。加えて、モジュールは、ハードウェア、ソフトウェア、ファームウェア、又は同様にそれらの任意の混合形態において実行される。それらは、装置1の少なくとも1つのプロセッサ内で具体化されるのが好ましい。
装置1は、3Dシーンにおいて光線を追跡するためのモジュール11と、3Dシーンにおいて対象物とそれらの光線との交差に対応する交点を決定するためのモジュール12と、それらの対象物におけるそれらの光線の反射から光源をターゲットとするためのモジュール13と、光源に対してクラスタ化される視認性試験を実行するためのモジュール14と、交点における、結果としての光源寄与を追加するためのモジュール15と、を含む。モジュール11〜15は、互いにつながれ、モジュール15は、3Dシーンにおける光線追跡を遂行するためにモジュール11にループバックする。
情報は、装置1と対話するユーザインターフェース16を介して、ユーザによって入力及び検索され得る。ユーザインターフェース16は、データ、情報又は命令を入力又は検索するのに適した任意の手段、特に当業者によって同様に周知の次の手段、即ちスクリーン、キーボード、トラックボール、タッチパッド、タッチスクリーン、ラウドスピーカ、音声認識システムのいずれか又は幾つかを含む視覚、触覚及び/又はオーディオ能力を含む。
装置1はまた、記憶資源10からのシーンデータを供給されるように適合される。代替として又は補足的に、装置1は、有利なことに実時間で他の装置又は装置の一部からシーンデータを受信するように構成される。それらのシーンデータは、ジオメトリ(例えば、3Dシーンにおける対象物及び光源形状、サイズ及び位置であり、視点、深度マップ及び/又はシャドーマップに関連することを含む)に関する、物質の光特性(例えば半透明対象物、反射表面又は拡散表面、反射率値、光動作表現の種類)に関する、且つ照明状態(例えば時間に合わせた光源又はエリア光源と見なされる光源の種類、照明強度)に関する情報を含む。装置1は、かかるデータが、時が経てば動的に変化する場合に、かかるデータを処理できるように構成されるのが好ましい。
記憶資源10は、任意の種類の適切な記憶手段から入手することができ、記憶手段は、特に、恐らくはSSD(固体ディスク)内の、フラッシュメモリなどのRAM又はEEPROM(電気的消去可能プログラム可能読み出し専用メモリとすることができる。
方法の実装形態は、2D画像グリッド3上に表現される3Dシーン2を観察者視点30から示す図2に明確にされている。画像グリッド3は、画素アレイによって構成される。また、3Dシーン2は、3D対象物21及びグランド22などの対象物を含み、且つ光源L1、L2によって照明される。光線は、対象物21、22上の散乱から反射される。
動作において、経路は、観察者視点30によって見られるような3Dシーン2における画素から開始される(モジュール11)。それらの経路の1つが、シーン2の対象物と交差する場合に、対応する交点が決定される(モジュール12)。これは、図示の例において、3D対象物21が交点M1A及びM2で交差される場合、及びグランド22が交点M1Bで交差される場合である。
次に、光源の1つが、それらの交点M1A、M1B及びM2のそれぞれのためにランダムに選択され(モジュール13)、視認性試験が、関係のある交点と、関連する選択された光源との間で行われる(モジュール14)。図示の例において、交点M1A、M1Bは、両方とも光源1と関連付けられ、一方で交点M2は、光源L2と関連付けられる。本開示に従って、視認性試験は、光源L1、L2に対してクラスタ方式で画像グリッド3の画素セット用に実行される。即ち、視認性試験の処理は、M1A及びM1B用に共同で、且つM2用には恐らく別個に実行される。
次に、光源L1及びL2の照明寄与は、必要に応じてM1A、M1B及びM2用の放射輝度計算に追加され(モジュール15)、それは、画像グリッド3における画素P1A、P1B及びP2用の関連する表現にそれぞれつながる。
視認性試験に適用されるクラスタ化された動作は、図3及び4に関連して、特定の実装形態において以下で更に詳述される。スレッドの2Dグリッドが、画像画素の2D画像グリッド3にマッピングされ、2Dバッファ記憶装置S(バッファなど)が、光サンプリング用に使用される。それによって、その2Dバッファ記憶装置は、計算グリッド及び画像グリッド3上にマッピングされる。計算グリッドにおける各スレッドは、画素の1つのための経路を計算する責任を負う。
経路に沿った各反射において、現在の画素用にランダムに選択された光源は、2Dバッファ記憶装置Sに格納されたインデックスを有する。図示の例(図3)において、光サンプリング記憶装置Sは、画像グリッド3の画素に従って分割され、その結果、位置B1A、B1B及びB2は、画素P1A、P1B及びP2にそれぞれ対応し、関連データを受信する。
有利なことに、光サンプリング記憶装置Sは、Nの小さなバッファに動的に縮小され、Nは、関係する光源の数である。例(図4)において、N=2で小さな(又は縮小された)バッファRB1及びRB2は、光源L1及びL2にそれぞれ対応する。次に、縮小バッファRB1は、交点M1A及びM1Bにそれぞれ対応する2つの部分RB1A及びRB1Bを含み、一方で縮小バッファRB2は、交点M2に対応する1つの位置を含む。
次に、サンプリングされた光源と表面との間の視認性を解くために、逆光線クエリが、それらのNの小さなバッファ(RB1、RB2)に対して計算される。
実行において、図5に示されているように、装置1は、レンダリング動作において以下のように進むのが好ましい。開始ステージ(ステップ41)において、経路は、3Dシーン2において開始される。次に、各経路用に(ボックス42)、最大経路長さに達したかどうかがチェックされる(ステップ43)。yesの場合に、処理は、その経路用には終了される(ステップ44)。そうでなければ、経路が3Dシーン2と交差するかどうかがチェックされる(ステップ45)。noの場合に、処理は、その経路用には終了される(ステップ44)。
そうでなければ、経路と3Dシーン2との間の交差から取得された交点に関連して、光源が、ランダムに選択される(ステップ46)。従って、関連する光源インデックスが、光サンプリング記憶装置Sに格納される(ステップ47)。
次に、経路及び従って画像グリッド3の画素用に集合的に、光サンプリング記憶装置Sは、Nの小さな光バッファに縮小され(ステップ48)、逆シャドー光線が、それらの光バッファ用に計算される(ステップ49)。
有利なことに、それらの特徴は、GPUシェーダ又は計算カーネルにおいて実現される。
図6に見える特定の機器5は、上記の装置1を具体化している。それは、例えば、パーソナルコンピュータ(PC)、ラップトップ、タブレット、スマートフォン、又はゲームコンソール(例えば画像を生で生成及び表示する専門のゲームコンソールなど)に対応する。機器5は、クロック信号もまた搬送する、アドレス及びデータのバス55によって、互いに接続される以下の要素を含む。即ち、
− マイクロプロセッサ51(又はCPU)と、
− 幾つかのグラフィカルプロセッサユニット(又はGPU)520及びグラフィカルランダムアクセスメモリ(GRAM)521を含むグラフィックスカード52と、
− ROM型56の不揮発性メモリと、
− RAM57と、
− 例えばキーボード、マウス、ジョイスティック、ウェブカメラなどの1つ又は幾つかのI/O(入出力)装置54(例えば音声認識など、コマンドの導入用の他のモードもまた可能である)と、
− 電源58と、
− 無線周波数ユニット59と、
を含む。
機器5はまた、グラフィックスカードにおいて計算され構成された合成画像を例えば生で表示するために、グラフィックスカード52に直接接続された表示画面タイプの表示装置53を含む。グラフィックスカード52に表示装置53を接続する専用バスの使用は、はるかに大きなデータ送信ビットレートを有する、且つ従ってグラフィックスカードによって構成された画像の表示用の待ち時間を低減するという利点を提供する。変形によれば、表示装置は、機器5の外部にあり、且つ表示信号を送信するために、ケーブルによって又は無線で機器5に接続される。機器5、例えばグラフィックスカード52は、例えばLCD、プラズマスクリーン、又はビデオプロジェクタなどの外部表示手段に表示信号を送信するように適合された、送信又は接続用のインターフェースを含む。この点で、RFユニット59は、無線送信用に使用することができる。
メモリ521、56及び57の説明において用いられる「レジスタ」という単語が、低容量(幾らかの2進データ)のメモリゾーンと同様に大容量(プログラム全体を格納できるようにするか又は計算されたデータを表すデータの全て若しくは一部を表示できるようにする)のメモリゾーンの両方を、言及されるメモリのそれぞれにおいて示すことに留意されたい。また、GRAM521用に表されたレジスタは、任意の方法で配置及び構成することができ、レジスタのそれぞれは、必ずしも隣接するメモリ位置に対応せず、別の状況では分散することができる(それは、1つのレジスタが、幾つかのより小さなレジスタを含む状況を特にカバーする)。
スイッチオンされると、マイクロプロセッサ51は、RAM57に含まれるプログラムの命令をロードし実行する。
ランダムアクセスメモリ57は、
− レジスタ570における、機器5をスイッチオンする責任があるマイクロプロセッサ51の動作プログラムと、
− レジスタ571における、シーンを表すパラメータ(例えばシーンの対象物のモデル化パラメータ、シーンの照明パラメータ)と、
− レジスタ572における、例えば光サンプリング記憶装置S及び小さな光バッファRB1、RB2などのサンプリングパラメータと、
を特に含む。
本開示に特有の、且つ上記で説明した方法ステップを実行するアルゴリズムは、それらのステップを実行する機器5に関連するグラフィックスカード52のメモリGRAM521に格納される。スイッチオンされ、且つひとたび環境及びピーク形状関数データを表すパラメータ571及び572が、RAM57にロードされると、グラフィックスカード52のグラフィックプロセッサ520は、それらのパラメータをGRAM521にロードし、例えばHLSL(ハイレベルシェーダ言語)という言語又はGLSL(オープンGLシェーダ言語)を用い、「シェーダ」タイプのマイクロプログラムの形態におけるそれらのアルゴリズムの命令を実行する。
ランダムアクセスメモリGRAM521は、
− レジスタ5211における、シーンを表すパラメータと、
− レジスタ5212における、ロードされたサンプリングパラメータと、
− レジスタ5213における、レンダリング動作の枠において計算されたローカル放射輝度と、
を特に含む。
変形によれば、原始関数に関係するデータの少なくとも幾らかは、RAM57に格納され、マイクロプロセッサ51によって処理される。しかしながら、この変形は、GPU520に含まれるマイクロプログラムから構成された環境の表現を含む画像の合成において、より大きな待ち時間をもたらす。何故なら、データは、バス55を通ってグラフィックスカードからランダムアクセスメモリ57に送信されなければならず、そのための送信容量は、GPU520からGRAM521への(逆も同様である)データの送信用にグラフィックスカードにおいて利用可能な容量より一般に劣っているからである。
別の変形によれば、電源58は、機器5の外部にある。
本開示及び詳細な実施形態に基づいて、他の実装形態が可能であり、且つ本発明の範囲から逸脱せずに当業者の手の届く範囲内にある。特定の要素は、本開示の枠内に留まったまま、任意の方法で特に交換するか又は関連付けることができる。また、相異なる実装形態の要素は、他の実装形態を生成するために、結合されるか、補足されるか、修正されるか、又は除去されてもよい。特に、どんなBRDF(双方向反射率分布関数)モデルも、説明された機能性を保持しながら利用することができる。それらの全ての可能性は、本開示によって意図されている。

Claims (16)

  1. 少なくとも2つの光源によって照明された3Dシーンを経路追跡することによって画像グリッド上でレンダリングするための装置であって、前記画像グリッドが、画素を含み、前記装置が、
    − 前記画素のそれぞれのために、前記3Dシーンにおける前記画素の前記それぞれから生じる少なくとも1つの光線を追跡し、前記少なくとも1つの光線が、交点において前記3Dシーンの対象物と出会うまで追跡することと、
    − 前記対象物上の前記交点で前記少なくとも1つの光線を前記3Dシーンの前記光源の少なくとも1つの方向へ反射させることと、
    − 前記交点と前記光源の少なくとも1つとの間で前記少なくとも1つの光線用の視認性試験を行うことと、
    − 前記視認性試験が、正の出力を結果としてもたらす場合のみ、前記画像グリッドの前記画素において前記レンダリングを実行する際に、前記交点における前記光源の前記少なくとも1つにおける寄与を追加することと、
    を実行するように構成された少なくとも1つのプロセッサを含み、
    前記少なくとも1つのプロセッサが、前記光源に従いクラスタ方式で前記画素にわたり前記視認性試験を進めるように更に構成され、前記視認性試験が、前記視認性試験にそれぞれ関連する前記光源に相関する計算及び/又はメモリ記憶装置の点でクラスタ化される装置。
  2. 前記少なくとも1つのプロセッサが、前記光源から前記交点の方向へ光視認性光線を放出することによって、前記交点と前記光源との間で前記画素のそれぞれのために前記視認性試験を実行するように構成される、請求項1に記載の装置。
  3. 前記画像グリッドが、バッファリング記憶装置により提供され、前記少なくとも1つのプロセッサがまた、
    − 前記視認性試験が、正の出力を結果としてもたらす場合のみ、前記交点における前記光源の前記寄与を前記バッファリング記憶装置に格納することと、
    − 前記視認性試験を行う前に、前記視認性試験用に提供された、且つ縮小光バッファと呼ばれる少なくとも2つのバッファに前記バッファリング記憶装置を配分し、前記縮小光バッファのそれぞれが、前記画素の1つに関連する前記光源の1つに対応させることと、
    − 前記縮小光バッファに問い合わせることによって前記視認性試験を行うことと、
    を実行するように構成される、請求項1に記載の装置。
  4. 前記バッファリング記憶装置が、前記画素にそれぞれマッピングされたバッファ素子を含む、請求項3に記載の装置。
  5. 前記少なくとも1つのプロセッサが、前記画素のそれぞれのために、前記画素の前記それぞれに関連する前記光源のインデックスを前記画素の前記それぞれにマッピングされた前記バッファ素子に格納するように構成される、請求項4に記載の装置。
  6. 前記少なくとも1つのプロセッサが、前記バッファ素子を前記縮小光バッファにクラスタ化するように構成される、請求項3に記載の装置。
  7. 前記少なくとも1つのプロセッサが、前記画素のそれぞれのために、前記画素の前記それぞれに関連する前記光源のインデックス及び前記画素の前記それぞれに関連する前記交点の位置を前記縮小光バッファのそれぞれに格納するように構成される、請求項3に記載の装置。
  8. 前記少なくとも1つのプロセッサが、前記光源のいずれかに関連する前記視認性試験の少なくとも2つを並列に実行するように構成される、請求項1に記載の装置。
  9. 前記装置が、
    − 前記3Dシーン及び前記光源に関するデータを受信するように適合された少なくとも1つの入力部と、
    − 前記レンダリングから結果としてもたらされるレンダリングされた画像を出力するように適合された少なくとも1つの出力部と、
    を更に含む、請求項1に記載の装置。
  10. 画像を生成するように適合された少なくとも1つのプロセッサと、
    前記生成画像を格納するように適合された少なくとも1つのフレームバッファと、
    前記少なくとも1つのフレームバッファからディスプレイに前記生成画像を提供するように適合された前記ディスプレイへの少なくとも1つの出力部と、
    を含むGPU又はグラフィックス処理ユニットであって、請求項1に従ってレンダリングするための装置を含むGPU又はグラフィックス処理ユニット。
  11. 少なくとも2つの光源によって照明された3Dシーンを経路追跡することによって画像グリッド上でレンダリングするための方法であって、前記画像グリッドが、画素を含み、前記方法が、
    − 前記画素それぞれのために、前記3Dシーンにおける前記画素の前記それぞれから生じる少なくとも1つの光線を追跡することであって、前記少なくとも1つの光線が、交点において前記3Dシーンの対象物と出会うまで追跡することと、
    − 前記対象物上の前記交点で前記少なくとも1つの光線を前記3Dシーンの前記光源の少なくとも1つの方向へ反射させることと、
    − 前記交点と前記光源の前記少なくとも1つとの間で前記少なくとも1つの光線用の視認性試験を行うことと、
    − 前記視認性試験が、正の出力を結果としてもたらす場合のみ、前記画像グリッドの前記画素における前記レンダリングを実行する際に、前記交点における前記光源の前記少なくとも1つにおける寄与を追加することと、
    を含み、
    前記方法が、前記光源に従いクラスタ方式で画素にわたり視認性試験を進めることであって、前記視認性試験が、前記視認性試験にそれぞれ関連する前記光源に相関する計算及び/又はメモリ記憶装置の点でクラスタ化されることを更に含む方法。
  12. 前記方法が、前記光源から前記交点の方向へ光視認性光線を放出することによって、前記交点と前記光源との間で前記画素のそれぞれのために前記視認性試験を実行することを含む、請求項11に記載の方法。
  13. 前記画像グリッドが、バッファリング記憶装置により提供され、前記方法が、
    − 前記視認性試験が、正の出力を結果としてもたらす場合のみ、前記交点における前記光源の前記寄与を前記バッファリング記憶装置に格納することと、
    − 前記視認性試験を行う前に、前記視認性試験用に提供された、且つ縮小光バッファと呼ばれる少なくとも2つのバッファに前記バッファリング記憶装置を配分し、前記縮小光バッファのそれぞれが、前記画素の1つに関連する前記光源の1つに対応することと、
    − 前記縮小光バッファに問い合わせることによって前記視認性試験を行うことと、
    を含む、請求項11に記載の方法。
  14. 前記バッファリング記憶装置が、前記画素にそれぞれマッピングされたバッファ素子を含む、請求項13に記載の方法。
  15. 前記方法が、前記画素のそれぞれのために、前記画素の前記それぞれに関連する前記光源のインデックスを、前記画素の前記それぞれにマッピングされた前記バッファ素子に格納することを含む、請求項14に記載の方法。
  16. − 前記画素それぞれのために、前記3Dシーンにおける前記画素の前記それぞれから生じる少なくとも1つの光線を追跡することであって、前記少なくとも1つの光線が、交点において前記3Dシーンの対象物と出会うまで追跡することと、
    − 前記対象物上の前記交点で前記少なくとも1つの光線を前記3Dシーンの前記光源の少なくとも1つの方向へ反射させることと、
    − 前記交点と前記光源の前記少なくとも1つとの間で前記少なくとも1つの光線用の視認性試験を行うことと、
    − 前記視認性試験が、正の出力を結果としてもたらす場合のみ、前記画像グリッドの前記画素における前記レンダリングを実行する際に、前記交点における前記光源の前記少なくとも1つにおける寄与を追加することと、
    を含む、3Dシーンをレンダリングするための方法を実行するコンピュータによって実行可能な命令プログラムを実体的に具体化する、コンピュータによって判読可能な非一時的なプログラム記憶装置であって、
    前記方法が、前記光源に従いクラスタ方式で前記画素にわたり前記視認性試験を進めることであって、前記視認性試験が、前記視認性試験にそれぞれ関連する前記光源に相関する計算及び/又はメモリ記憶装置の点でクラスタ化されることを更に含む非一時的なプログラム記憶装置。
JP2017240429A 2016-12-20 2017-12-15 複合照明を用いる経路追跡によるシーンレンダリング用の装置及び方法 Pending JP2018124986A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP16306739.0A EP3340180A1 (en) 2016-12-20 2016-12-20 Device and method for scene rendering by path tracing with complex lighting
EP16306739.0 2016-12-20

Publications (1)

Publication Number Publication Date
JP2018124986A true JP2018124986A (ja) 2018-08-09

Family

ID=57749788

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017240429A Pending JP2018124986A (ja) 2016-12-20 2017-12-15 複合照明を用いる経路追跡によるシーンレンダリング用の装置及び方法

Country Status (5)

Country Link
US (1) US20180174354A1 (ja)
EP (2) EP3340180A1 (ja)
JP (1) JP2018124986A (ja)
KR (1) KR20180071958A (ja)
CN (1) CN108205819A (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019045144A1 (ko) * 2017-08-31 2019-03-07 (주)레벨소프트 의료용 항법 장치를 위한 의료 영상 처리 장치 및 의료 영상 처리 방법
TWI767179B (zh) * 2019-01-24 2022-06-11 宏達國際電子股份有限公司 混合實境中偵測真實世界光源的方法、混合實境系統及記錄媒體
CN111210499B (zh) * 2020-01-14 2023-08-25 南方电网数字平台科技(广东)有限公司 模型渲染方法及装置
US11663773B2 (en) * 2020-08-21 2023-05-30 Nvidia Corporation Using importance resampling to reduce the memory incoherence of light sampling
CN114066721B (zh) * 2021-11-03 2024-02-02 抖音视界有限公司 显示方法、装置和电子设备
CN114119853B (zh) * 2022-01-26 2022-06-10 腾讯科技(深圳)有限公司 图像渲染方法、装置、设备和介质

Also Published As

Publication number Publication date
US20180174354A1 (en) 2018-06-21
CN108205819A (zh) 2018-06-26
KR20180071958A (ko) 2018-06-28
EP3340182A1 (en) 2018-06-27
EP3340180A1 (en) 2018-06-27

Similar Documents

Publication Publication Date Title
US10679405B2 (en) Object illumination in hybrid rasterization and ray traced 3-D rendering
JP2018124986A (ja) 複合照明を用いる経路追跡によるシーンレンダリング用の装置及び方法
US11816782B2 (en) Rendering of soft shadows
US10134102B2 (en) Graphics processing hardware for using compute shaders as front end for vertex shaders
EP3206190A1 (en) Device and process for improving efficiency of image rendering
EP2698768B1 (en) Method and apparatus for graphic processing using parallel pipeline
US20190197761A1 (en) Texture processor based ray tracing acceleration method and system
US11315303B2 (en) Graphics processing
Lee et al. Real-time ray tracing on coarse-grained reconfigurable processor
US11270494B2 (en) Shadow culling
JP2012089136A (ja) 仮想環境でのオクルージョンを推定する方法
US20180040155A1 (en) Cache friendly jittered hemispherical sampling
CN113393564B (zh) 利用全局照明数据结构的基于水塘的时空重要性重采样
CN112041894A (zh) 渲染期间提高涉及水面的场景的真实感
GB2607348A (en) Graphics processing
CA2810921C (en) Ordering rays in rendered graphics for coherent shading
Schiffer et al. Ray tracing: lessons learned and future challenges
US20240037840A1 (en) Bounding volume hierarchy (bvh) widening based on node compressibility
Demoullin Hybrid rendering: in pursuit of real-time raytracing
Yoon et al. Real-time Ray-tracing Chip Architecture
Yıldırım Kalkan Efficient rendering of complex scenes on heterogeneous parallel architectures