JP7123041B2 - Fast generation of ray-traced reflections of virtual objects in real-world environments - Google Patents

Fast generation of ray-traced reflections of virtual objects in real-world environments Download PDF

Info

Publication number
JP7123041B2
JP7123041B2 JP2019521406A JP2019521406A JP7123041B2 JP 7123041 B2 JP7123041 B2 JP 7123041B2 JP 2019521406 A JP2019521406 A JP 2019521406A JP 2019521406 A JP2019521406 A JP 2019521406A JP 7123041 B2 JP7123041 B2 JP 7123041B2
Authority
JP
Japan
Prior art keywords
ray
primary
rays
hitpoints
projection
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
JP2019521406A
Other languages
Japanese (ja)
Other versions
JP2021530005A (en
Inventor
バカラシュ、リューヴェン
ハヴィブ、エラド
Original Assignee
アドシル リミテッド
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 アドシル リミテッド filed Critical アドシル リミテッド
Publication of JP2021530005A publication Critical patent/JP2021530005A/en
Application granted granted Critical
Publication of JP7123041B2 publication Critical patent/JP7123041B2/en
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

Description

本発明は、計算量を低減してレイトレーシング(光線追跡)法を実行する新しく且つ改良された方法に関する。 The present invention relates to a new and improved method of performing ray tracing with reduced computational complexity.

拡張現実(AR)は、その要素がコンピュータ生成のグラフィックスによって拡張された物理的な現実世界環境のライブビューである。拡張オブジェクトに関する情報は、現実世界にオーバーレイされる。拡張は、従来はリアルタイムであって、環境的要素を伴う視覚背景である。高度なAR技術を用いて、ユーザの周囲の現実世界についての情報は、対話型であってデジタル的に操作可能である。ARはデジタルの世界の構成要素を人の知覚される現実世界に引き出すので、ユーザは、拡張オブジェクトの写実性のレベル及びそれらの現実環境との統合に依存して、拡張現実を体験し、対話する。 Augmented Reality (AR) is a live view of a physical real-world environment whose elements are augmented by computer-generated graphics. Information about the augmented object is overlaid on the real world. Augmentation is traditionally real-time and visual background with environmental elements. With advanced AR technology, information about the real world around the user is interactive and digitally manipulable. Because AR brings elements of the digital world into the human perceived real world, users can experience and interact with augmented reality, depending on the level of realism of the augmented objects and their integration with the real environment. do.

先行技術においては、ARで使用されるグラフィックスは従来のラスタ技術に基づいていた。しかし、ラスタグラフィックスは、品質と速度とのトレードオフに起因して、速度を支持して非常に平凡である。その視覚背景は、反射、屈折、カラーブリーディング、コースティクス、等のような写実性の必要な要素を欠く。先行技術においては、レイトレーシングコンピュータ生成のグラフィックスを使用することによって可能にさせる、高品質のコンピュータ生成のリアリズムが映画業界で見られる。 In the prior art, graphics used in AR were based on traditional raster technology. However, raster graphics are very mediocre in favor of speed due to the trade-off between quality and speed. The visual background lacks the necessary elements of realism such as reflections, refractions, color bleeding, caustics, and the like. In the prior art, high-quality computer-generated realism is seen in the motion picture industry, made possible by the use of ray tracing computer-generated graphics.

レイトレーシングは、光線を追跡し、それらの仮想オブジェクトとの遭遇の効果をシミュレートすることによって画像を生成するためのコンピュータグラフィックス技術である。レイトレーシングの背景にある考え方は、点間の可視性を解決することによって、光線の様々なタイプのジオメトリとの交差を計算するための数学的解決策を見つけることである。この技術は、高い視覚的リアリズムを生じさせることを可能にする。低価格帯のレイトレーシングにおいては、光源は、シーンにおける唯一の照明オブジェクトである。 Ray tracing is a computer graphics technique for generating images by tracing rays and simulating the effects of their encounters with virtual objects. The idea behind ray tracing is to find a mathematical solution for computing the intersection of rays with various types of geometry by solving for point-to-point visibility. This technique makes it possible to produce a high visual realism. In low-end raytracing, the light source is the only lighting object in the scene.

より現実的なイメージングは、大域照明に基づく、経路追跡と呼ばれる高価格帯のレイトレーシングによって実現される。大域照明は、光源から直接来る光だけでなく、反射するか否かに関わらず、光がシーンにおいて他のサーフィスから返される後続の場合をも考慮する。 More realistic imaging is achieved by high-end ray tracing called path-tracking, based on global illumination. Global illumination considers not only the light coming directly from the light source, but also the subsequent cases where light is returned from other surfaces in the scene, whether reflected or not.

モンテカルロレイトレーシングと呼ばれる経路追跡は、可能性のある光路のサンプルをランダムに追跡することによって3Dシーンをレンダリングする。画像における任意の所与のピクセルを繰り返しサンプリングすることによって、最終的にサンプルの平均がレンダリング方程式の正しい解に収束し、それは、現存する最も物理的に正確な3Dグラフィックスレンダリング方法の1つになる。経路追跡は、現実に忠実であって、写真(例えばアバターの映画)と区別がつかない画像を生成することができる。視覚的品質は、レイトレーシングより高いが、計算コストがはるかに高い。 Path tracing, called Monte Carlo ray tracing, renders a 3D scene by randomly tracing a sample of possible light paths. By repeatedly sampling any given pixel in the image, the mean of the samples will eventually converge to the correct solution of the rendering equation, making it one of the most physically accurate 3D graphics rendering methods in existence. Become. Path tracking can produce images that are true to reality and indistinguishable from photographs (eg, Avatar movies). The visual quality is higher than raytracing, but the computational cost is much higher.

先行技術のレイトレーシングにおける最も時間を費やすタスクは、加速構造のトラバース、及び光線とポリゴンとの間の交差テストである。全ての単一の光線が、加速構造(例えば、Kツリー又はBVHツリー)に亘って横断し、交差する候補であるポリゴンを探索する。これらのトラバースは、時間を費やす大きいアクションになり、通常、画像生成時間の60%~70%を必要とする。そして、検索に関連する全ての候補ポリゴンは、光線の経路に沿って最も早いヒットを決定するために、線-三角形交差テストを受ける必要がある。 The most time consuming tasks in prior art ray tracing are traversing acceleration structures and intersection testing between rays and polygons. Every single ray traverses over the acceleration structure (eg, K-tree or BVH-tree) and searches for candidate polygons to intersect. These traverses become large time consuming actions, typically requiring 60% to 70% of the imaging time. All candidate polygons involved in the search must then undergo a line-triangle intersection test to determine the earliest hit along the ray's path.

先行技術のレイトレーシング法のレイアウトが図1に描写される。最初に、加速構造10が構築される必要がある。構築は、前処理ステップとしてなされ、単一の画像を生成するよりはるかに多くの時間を必要とする。一般的に、構築時間はシーンのサイズに依存する。シーンが大きいほど、構築時間は長くなる。シーンにおける全ての大きい変更が、加速構造の再構築を必要とする。メモリサイズは、通常、加速構造によって2倍になる。光線12の追跡は、各光線が光線と様々なシーンのオブジェクトとの間の交差を検索するために構造に亘って横断する場合の加速構造11の大規模なトラバースに基づく。結果として生じる交差点は、明るくされ、テクスチャ化され、陰影13を付けられ、画像ピクセルに集約される。 A layout of a prior art ray tracing method is depicted in FIG. First, the acceleration structure 10 needs to be constructed. Construction is done as a preprocessing step and requires much more time than generating a single image. In general, build time depends on the size of the scene. The larger the scene, the longer the build time. Any large change in the scene requires reconstruction of the acceleration structure. Memory size is typically doubled by acceleration structures. The tracing of rays 12 is based on extensive traversal of the accelerating structure 11 as each ray traverses over the structure to search for intersections between rays and various scene objects. The resulting intersections are brightened, textured, shaded 13 and collapsed into image pixels.

先行技術のレイトレーシングにおける加速構造の使用に関連する2つの大きい欠点がある。(i)それらは、シーンの変化のために繰り返し再構築される必要がある。(ii)これらの構造のトラバースは、時間を費やす。両方の不利益が、ARのリアルタイム要件と矛盾する。 There are two major drawbacks associated with the use of acceleration structures in prior art ray tracing. (i) they need to be repeatedly reconstructed for scene changes; (ii) traversing these structures is time consuming; Both disadvantages conflict with the real-time requirements of AR.

従って、本発明の主な目的は、大域照明レイトレーシングの性能をリアルタイムまで加速し、それをARに適するようにすることである。 Therefore, the main objective of the present invention is to accelerate the performance of global illumination ray tracing to real-time and make it suitable for AR.

本発明の他の目的は、レイトレーシングの計算量を低減することである。 Another object of the present invention is to reduce the complexity of ray tracing.

本発明の他の目的は、レイトレーシングの電力消費を低減することである。 Another object of the invention is to reduce the power consumption of ray tracing.

本発明の別の目的は、消費者向け計算デバイスの処理レベルによる大域照明レイトレーシングを可能にすることである。 Another object of the present invention is to enable global illumination raytracing at the processing level of consumer computing devices.

本発明の幾つかの実施形態は、拡張現実(AR)と仮想現実(VR)との両方に適用される。ARは、その要素がコンピュータ生成グラフィックスによって拡張される、物理的な現実世界環境のライブビューである。VRは、現実世界をシミュレートされたものに置き換える。拡張は、従来はリアルタイムであって、環境的要素を伴う視覚背景である。ユーザの体験及び対話が、AR及びVRにおけるリアリズムのレベルによって直接影響される。 Some embodiments of the invention apply to both Augmented Reality (AR) and Virtual Reality (VR). AR is a live view of a physical real-world environment whose elements are augmented by computer-generated graphics. VR replaces the real world with a simulated one. Augmentation is traditionally real-time and visual background with environmental elements. User experience and interaction are directly affected by the level of realism in AR and VR.

先行技術においては、拡張オブジェクトのイメージングは、その高速性に起因して、従来のラスタグラフィックスによって生じる。高度なAR技術(例えば、コンピュータビジョン及びオブジェクト認識の追加)を用いて、ユーザの周囲の現実世界についての情報は、対話型になってデジタル的に操作可能になる。環境及びそのオブジェクトについての情報は、現実世界にオーバーレイされる。 In the prior art, the imaging of augmented objects occurs with conventional raster graphics due to their high speed. With advanced AR technology (eg, adding computer vision and object recognition), information about the real world around the user becomes interactive and digitally manipulable. Information about the environment and its objects are overlaid on the real world.

しかし、通常のラスタグラフィックステクノロジは、画質及び現実世界環境との視覚背景において平凡である。所望の高品質のコンピュータ生成のリアリズムは、今日映画産業において見られることができ、大域照明レイトレーシング、すなわち経路追跡の使用によって可能にされる。残念なことに、それは非常に多い計算量のためにARには適合さず、それは長い生産時間を生じ、高価な計算ファームを要求する。 However, typical raster graphics technology is mediocre in image quality and visual context with real-world environments. The desired high quality of computer-generated realism can be seen in the film industry today and is made possible by the use of global illumination ray tracing, or path tracing. Unfortunately, it is not suitable for AR due to its very high computational complexity, which results in long production times and requires expensive computational firmware.

本発明は、計算量及び消費電力を低減し、消費者向け計算デバイスの処理レベルに適する、経路追跡をリアルタイムで実現する革新的な方法を教示する。本発明の態様は、選択されたオブジェクトに集中して、プリセット環境に現実的にオーバーレイされるオブジェクトの写実的な画像を生成することを可能にする。 The present invention teaches an innovative way to achieve real-time route tracking that reduces computational complexity and power consumption and is suitable for the processing level of consumer computing devices. Aspects of the present invention allow for concentrating on selected objects to generate photorealistic images of the objects that are realistically overlaid on the preset environment.

本発明の実施形態においては、先行技術の加速構造が、新しく且つ新規なデバイス、すなわち動的整列構造(DAS)によって置き換えられる。DASは、大規模な光線群における二次光線とシーン・ジオメトリとの間の交差を実行するための手段であって、高速化及び計算量の低減をもたらす。 In embodiments of the present invention, the prior art acceleration structure is replaced by a new and novel device, the Dynamic Alignment Structure (DAS). DAS is a means for performing intersections between secondary rays and scene geometry in large ray families, providing speed and computational complexity.

図2は、本発明の経路追跡の段階を示す。先行技術(図1)と比較した場合の主要な差は、加速構造がないことである。これらの構造は、DASデバイス21によって置き換えられる。再構成のための前処理はなく、また加速構造のトラバースもない。 FIG. 2 illustrates the path tracing stages of the present invention. The main difference compared to the prior art (Fig. 1) is the absence of acceleration structures. These structures are replaced by DAS devices 21 . There is no preprocessing for reconstruction and no acceleration structure traversal.

DASは、既存のヒットポイントに関連する二次光線を搬送するために使用される光線の整列されたプロジェクションである。先行技術のように、単一のヒットポイント毎に(又は小さい一束の光線で)二次光線を個別に発する代わりに、出願人はまとめてそれを行い、コストを削減する。 A DAS is an aligned projection of rays used to carry secondary rays associated with existing hitpoints. Instead of individually firing secondary rays for each single hitpoint (or in small batches of rays) as in the prior art, Applicants do it in batches to reduce costs.

類似の名称が類似の要素を表す添付の図面を参照しながら、本発明が、本明細書において非限定的な例としてのみ説明される。これらの図面は本発明の典型的な実施形態に関する情報を提供するにすぎず、従って範囲を限定すると見なされるべきではないことを理解されたい。 The present invention is herein described, by way of non-limiting example only, with reference to the accompanying drawings, in which like designations represent like elements. It is appreciated that these drawings merely provide information on typical embodiments of the invention and are therefore not to be considered limiting in scope.

先行技術であって、レイトレーシングのブロック図である。1 is a prior art block diagram of ray tracing; FIG. 本発明のレイトレーシングのブロック図である。1 is a block diagram of the ray tracing of the present invention; FIG. 先行技術であって、光線/オブジェクト交差の点において大域照明を生成する二次光線である。Prior art, secondary rays that produce global illumination at the point of ray/object intersection. DASの基本機構である。This is the basic mechanism of DAS. ランダムに変化する方向に発せられた複数のDASプロジェクションである。Multiple DAS projections emitted in randomly varying directions. 連続DASプロジェクションによってヒットポイントを生成する。Generate hitpoints by continuous DAS projections. 2つの三角形及び2つの一次HIPからなるオープニングシーンである。Opening scene consisting of two triangles and two primary HIPs. HIPに向かって発せられたDAS光線の初期セグメントである。Initial segment of the DAS beam directed towards the HIP. DAS光線のメインセグメントは、HIPから発せられた二次光線を搬送する。The main segment of the DAS beam carries secondary beams emitted from the HIP. DASはHIPデータのみをレンダリングする。DAS renders HIP data only. DASはシーン・ジオメトリをレンダリングする。DAS光線の初期セグメントに沿ったオブジェクトは破棄される。DAS renders the scene geometry. Objects along the initial segment of the DAS ray are discarded. DASのフローチャートである。It is a flow chart of DAS. 単一のDASプロジェクションによって搬送される二次光線の様々な場合である。Various cases of secondary rays carried by a single DAS projection. 半反射面の現実の机において立つ拡張オブジェクトである。An augmented object that stands on a semi-reflective real desk. 拡張オブジェクトの直接イメージングである。一次光線はカメラから発せられ、様々な方向に傾斜される。Direct imaging of extended objects. Primary rays are emitted from the camera and slanted in various directions. 拡張オブジェクトの直接イメージングである。二次光線は、遠近プロジェクションの複数のDAS発射によって生成される。Direct imaging of extended objects. Secondary rays are generated by multiple DAS firings of perspective projection. 拡張オブジェクトの直接イメージングである。二次光線は、平行プロジェクションの複数のDAS発射によって生成され、より大きいデータのレンダリングを保存する。Direct imaging of extended objects. Secondary rays are generated by multiple DAS firings of parallel projection to preserve the rendering of larger data. 拡張オブジェクトの直接画像を生成するフローチャートである。Fig. 10 is a flow chart for generating a direct image of an augmented object; 拡張オブジェクトの反射イメージングである。一次光線は、反射領域に発せられ、複数回繰り返されて傾斜される。Reflection imaging of extended objects. A primary ray is launched into the reflective area and is slanted in multiple iterations. 拡張オブジェクトの反射イメージングである。DASプロジェクションによって搬送される二次光線は、一次HIPのクラスタを通してオブジェクトに発せられる。Reflection imaging of extended objects. The secondary rays carried by the DAS projection are launched through the cluster of primary HIPs to the object. 拡張オブジェクトの反射イメージングである。複数のDASプロジェクションはランダムに傾斜される。Reflection imaging of extended objects. Multiple DAS projections are randomly tilted. 拡張オブジェクトの反射イメージングである。集約光エネルギーに対する二次光線の寄与は、BRDF関数に従う。Reflection imaging of extended objects. The contribution of secondary rays to the aggregate light energy follows a BRDF function. 反射イメージングのフローチャートである。4 is a flow chart of reflectance imaging. その環境における一次光線の拡張オブジェクトのカラーブリーディング効果である。Color bleeding effect of extended objects for primary rays in the environment. その環境における二次光線の拡張オブジェクトのカラーブリーディング効果である。Color bleeding effect of extended objects of secondary rays in its environment. カラーブリーディング効果を生成するフローチャートである。Fig. 10 is a flow chart for creating a color bleeding effect; ピクセルの原点においてサンプリングされた光値を収集する。Collect the sampled light values at the pixel origin. AR及びVRのためのハードウェアである。Hardware for AR and VR.

本発明による装置の原理及び動作は、図面及び付随の説明を参照して理解されてもよく、異なる図面に現れる同様の構成要素は、同一の参照番号で示される。図面及び説明は、概念的なものにすぎない。実際には、単一の構成要素が、1つ以上の機能を実装することができ、或いは、各機能は、複数の構成要素及びデバイスによって実装されることができる。図面において一般的に説明及び例示される本発明の構成要素は、多種多様な異なる構成で配置及び設計されることができることが容易に理解されるであろう。この結果、図面に表されるような、本発明の装置、システム、及び方法の実施形態の以下のより詳細な説明は、主張されるように本発明の範囲を限定することが意図されるものではなく、単に本発明の実施形態を代表するものである。 The principles and operation of apparatus according to the present invention may be understood with reference to the drawings and accompanying description, wherein similar components appearing in different drawings are indicated with the same reference numerals. The drawings and descriptions are conceptual only. In practice, a single component may implement one or more functions, or each function may be implemented by multiple components and devices. It will be readily appreciated that the components of the present invention as generally described and illustrated in the drawings can be arranged and designed in a wide variety of different configurations. Consequently, the following more detailed description of embodiments of the apparatus, systems, and methods of the invention, as depicted in the drawings, is intended to limit the scope of the invention as claimed. rather, it is merely representative of an embodiment of the present invention.

特に記載されない限り、以下の考察から明らかなように、明細書の考察全体を通して、「処理」、「計算」、「算出」、「決定」、「生成」、又は「作成」、等のような用語を利用することは、コンピュータシステムのレジスタ及び/又はメモリ内の物理量、例えば電子量として表されるデータを、コンピューティングシステムのメモリ、レジスタ、又は他のこのような情報記憶デバイス、伝送デバイス若しくは表示デバイス内の物理量として同様に表される他のデータに操作及び/又は変換する、コンピュータ若しくはコンピューティングシステム、又はプロセッサ若しくは類似の電子コンピューティングデバイスのアクション及び/又はプロセスを参照することが理解される。 Throughout the discussion of the specification, terms such as "process," "calculate," "calculate," "determine," "generate," or "create," etc., will be apparent from the discussion below, unless otherwise stated. The use of the term refers to data represented as physical quantities, e.g. It is understood to refer to the actions and/or processes of a computer or computing system, or processor or similar electronic computing device, that manipulates and/or transforms other data that are similarly represented as physical quantities in a display device. be.

本発明の実施形態は、本明細書の動作を行うための、プロセッサ、コンピュータ、装置、システム、サブシステム、モジュール、ユニット、及びデバイスのような用語を(単一又は複数の形態で)使用する場合がある。これは、所望の目的のために具体的に構築されてもよく、又は、それは、コンピュータに記憶されたコンピュータプログラムによって選択的に作動又は再構成される汎用コンピュータを含んでもよい。本開示に具体的に関連する幾つかの技術用語が本明細書で画定される。 Embodiments of the present invention use terms such as processor, computer, apparatus, system, subsystem, module, unit, and device (in singular or plural forms) for performing the operations herein. Sometimes. It may be specifically constructed for the desired purposes, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer. Several technical terms specifically related to this disclosure are defined herein.

コンピュータグラフィックスパイプラインは、レイトレーシング及びレイキャスティングとは異なる、コンピュータ3Dレンダリング、3Dポリゴンレンダリングの最も一般的な形態を参照する。特に、レイキャスティングにおいては、光線が、カメラが存在する点で発生し、その光線がサーフェスに当たった場合には、光線が当たったサーフェスにおける点の色と照明が算出される。3Dポリゴンレンダリングにおいては逆のことが起こり、カメラの視野にある面積が算出され、そして、カメラの視野における全てのサーフェスの全ての部分から光線が作成され、カメラまで遡る。グラフィックスパイプラインは、通常、リアルタイムレンダリングで使用される。 Computer graphics pipeline refers to computer 3D rendering, the most common form of 3D polygon rendering, distinct from ray tracing and ray casting. Specifically, in raycasting, when a ray is launched at a point where the camera is, and the ray hits a surface, the color and illumination of the point on the surface hit by the ray is computed. In 3D polygon rendering the opposite happens, the area in the camera's field of view is calculated, and rays are created from all parts of all surfaces in the camera's field of view and back to the camera. Graphics pipelines are typically used for real-time rendering.

プロジェクションをレンダリングすることは、3Dワイヤフレームモデルをコンピュータにおいてレンダリングする2D画像に自動的に変換する3Dコンピュータグラフィックスプロセスである。プロジェクションは、遠近、平行、逆、又は他の形状であることができる。 Rendering a projection is a 3D computer graphics process that automatically transforms a 3D wireframe model into a 2D image for rendering on a computer. The projection can be perspective, parallel, reverse, or other shapes.

レンダリングターゲットは、フレームバッファ又はバックバッファの代わりに、3Dシーンを中間メモリバッファ又はレンダリングターゲットテクスチャ(RTT)にレンダリングすることを可能にする現代のグラフィックスプロセッシングユニット(GPU)の特徴である。そして、このRTTは、検索を行い、又は最終画像に効果を適用するために、ピクセルシェーダによって操作されることができる。 A render target is a feature of modern graphics processing units (GPUs) that allows rendering a 3D scene to an intermediate memory buffer or render target texture (RTT) instead of a framebuffer or backbuffer. This RTT can then be manipulated by a pixel shader to perform lookups or apply effects to the final image.

一次光線は、可視性を解決するために、すなわち一次光線がサーフィスと交差するか否かを見つけるために、カメラ又は眼からシーンに投射される、レイトレーシングにおける第1の世代の光線である。 Primary rays are the first generation of rays in ray tracing that are cast into the scene from the camera or eye to resolve visibility, i.e. to find out if a primary ray intersects a surface.

レイトレーシングにおける二次光線は、それらの光線-ポリゴン交差点において一次光線から生じる。それらは、影、反射、屈折、等のようなものを計算するために使用される。本明細書においては、出願人は、第3位の光線、第4の世代、等のような、全ての連続した世代にも一括して用語を使用する。 Secondary rays in ray tracing originate from primary rays at their ray-polygon intersections. They are used to calculate things like shadows, reflections, refractions, etc. Applicants herein also use the term collectively for all successive generations, such as the third ray, fourth generation, and so on.

大域照明は、3Dシーンにより現実的な照明を追加することが意味される、3Dコンピュータグラフィックスで使用される一群のアルゴリズムの総称であって、光源から直接来る光(直接照明)だけでなく、同じ光源からの光線が、反射性か否かに関わらず、シーンにおける他のサーフェスによって反射される後続の場合(間接照明)をも考慮する。 Global illumination is a general term for a group of algorithms used in 3D computer graphics that are meant to add more realistic lighting to a 3D scene, not only the light that comes directly from the light source (direct lighting), but also We also consider the subsequent case (indirect lighting) where rays from the same source are reflected by other surfaces in the scene, whether reflective or not.

コンピュータグラフィックスにおけるカラーブリーディングは、近くのサーフィスからの間接光の反射によってオブジェクト又はサーフィスが着色される現象である。これは、シーンが完全な大域照明でレンダリングされた場合に現れる可視性の効果である。 Color bleeding in computer graphics is the phenomenon of objects or surfaces being colored by the reflection of indirect light from nearby surfaces. This is the visibility effect that appears when the scene is rendered with full global illumination.

グリッド、オクトツリー、バイナリ空間分割ツリー(BSPツリー)、kdツリー、BVH(バウンディングボリュームヒエラルキー)のような高速構造は、可視性を解決するためにレイトレーシングにおいて使用され、加速構造を有しない単純なレイトレーシングと比較して、速度及び効率においてレンダリング時間の改善を可能にする。 Fast structures such as grids, octrees, binary space partitioning trees (BSP trees), kd-trees, BVH (bounding volume hierarchy) are used in ray tracing to solve visibility, and simple Allows rendering time improvements in speed and efficiency compared to raytracing.

GPGPU(グラフィックスプロセッシングユニットにおける汎用コンピューティング)は、中央処理装置(CPU)によって伝統的に扱われる用途において計算を行うために、コンピュータグラフィックスのみのための計算を、通常、扱う、グラフィックスプロセッシングユニット(GPU)の使用である。 GPGPU (General Purpose Computing in Graphics Processing Units) is graphics processing, which typically handles computations for computer graphics only, to perform computations in applications traditionally handled by a central processing unit (CPU). The second is the use of units (GPUs).

ARにおけるプリセットシーンは、リアルタイムの世界を置き換える。拡張オブジェクトを含むための前処理された環境シーンである。 Preset scenes in AR replace the real-time world. Preprocessed environment scene for inclusion of augmented objects.

オブジェクトは、プリミティブ(ポリゴン、三角形、ソリッド、等)、又はプリミティブからなる複雑なオブジェクトを表すことができる。 Objects can represent primitives (polygons, triangles, solids, etc.) or complex objects made up of primitives.

ヒットポイントは、光線がオブジェクトと交差する点である。HIPとも呼ばれる。 The hitpoint is the point where the ray intersects the object. Also called HIP.

可視性-ユークリッド空間において一連の障害物が与えられる場合に、その空間における2つの点は、それらを結ぶ線分が任意の障害物と交差しない場合に互いに対して可視性であると言われる。 Visibility—Given a set of obstacles in Euclidean space, two points in the space are said to be visible to each other if the line segment connecting them does not intersect any obstacles.

シーン-カメラが配置されてもよい世界空間における3Dモデル及び光源の集まりであって、3Dレンダリングのためのシーンを説明する。シーンモデルの要素は、ジオメトリックプリミティブ、つまり点又は頂点、線分又は稜線、ポリゴン又は面を含む。 Scene—A collection of 3D models and light sources in world space in which a camera may be placed to describe a scene for 3D rendering. Scene model elements include geometric primitives: points or vertices, lines or edges, polygons or faces.

クリッピングは、コンピュータグラフィックスの文脈においては、画定された関心領域内でレンダリング動作を選択的に有効又は無効にする方法である。 Clipping, in the context of computer graphics, is a method of selectively enabling or disabling rendering operations within a defined region of interest.

本明細書に提示されたプロセス/デバイス及びディスプレイは、他に具体的に記載されない限り、任意の特定のコンピュータ又は他の装置に本質的に関連しない。様々な汎用システムが、本明細書の教示によるプログラムと共に使用されてもよく、又は、それは、所望の方法を行うためのより専門的な装置を構築することが便利であることを証明してもよい。様々なこれらのシステムのための所望の構造は、以下の説明において現れるであろう。加えて、本発明の実施形態は、任意の特定のプログラミング言語を参照して説明されない。様々なプログラミング言語が、本明細書に説明されるような本発明の教示を実装するために使用されてもよいことが理解されるであろう。 The processes/devices and displays presented herein are not inherently related to any particular computer or other apparatus unless specifically stated otherwise. Various general-purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct a more specialized apparatus to perform the desired method. good. The desired structure for a variety of these systems will appear in the description below. Additionally, embodiments of the present invention are not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the invention as described herein.

先行技術から転用して、本発明の態様は、計算量の低減と高速化との両方においてレイトレーシングを実装する方法を教示する。本発明の一態様は、大域照明に基づく高品質のレイトレーシングである、経路追跡に関する。その優れた性能は、光線とシーンオブジェクトとの間の交差を解決するための異なる技術的アプローチに由来する。それは、既存のヒットポイントから放出される二次光線を搬送するために使用される平行光線のプロジェクションである動的整列構造(DAS)に基づく。DAS機構は、GPU(グラフィックスプロセッシングユニット)グラフィックスパイプライン又はCPU(中央処理装置)の何れかによって実装されることができる。機構は、先行技術における加速構造の高価なトラバースを置き換えて、従来のグラフィックス機構を使用することによって光線-三角形交差を解決することができる。 Diverting from the prior art, aspects of the present invention teach how to implement ray tracing in both reduced computational complexity and increased speed. One aspect of the invention relates to path tracking, which is high quality ray tracing based on global illumination. Its superior performance stems from a different technical approach to resolving intersections between rays and scene objects. It is based on the Dynamic Alignment Structure (DAS), which is a projection of collimated rays used to carry secondary rays emitted from existing hitpoints. The DAS mechanism can be implemented by either the GPU (Graphics Processing Unit) graphics pipeline or the CPU (Central Processing Unit). The mechanism can resolve ray-triangle intersections by using conventional graphics mechanisms, replacing the expensive traversal of acceleration structures in the prior art.

DAS機構 一実施形態においては、DAS機構は、大域照明に基づく経路追跡に適用される。大域照明(又は間接照明)は、光源から直接来る光だけでなく、鏡面反射、拡散反射、又は半反射性に関わらず、シーンにおけるサーフィスによって反射される光をも考慮する。図3は、所与のサーフィス点における周囲環境からの拡散相互反射のサンプリングを描写する。拡散サーフィスにおいて大域照明を達成するために、サンプリング光線は、ヒットポイント(HIP)33から発せられる必要がある。HIPは、光線(一次又はニ次)と三角形との間の先の遭遇の結果である。サンプリングは、半球31の境界内でランダムな方向に光線を発することによってなされる。半球は、その北極がサーフィスの法線と整列するように配向される。 DAS Mechanism In one embodiment, the DAS mechanism is applied to path tracking based on global illumination. Global illumination (or indirect illumination) considers not only light coming directly from the light source, but also light reflected by surfaces in the scene, whether specular, diffuse, or semi-reflective. FIG. 3 depicts a sampling of diffuse interreflections from the surrounding environment at a given surface point. In order to achieve global illumination at the diffuse surface, the sampling ray needs to emanate from the hit point (HIP) 33 . A HIP is the result of a previous encounter between a ray (first or second order) and a triangle. Sampling is done by firing rays in random directions within the boundaries of hemisphere 31 . The hemisphere is oriented so that its north pole is aligned with the surface normal.

DASの基本的機構が図4に示され、DASが遠近プロジェクションと関連することが示されるが、平行又は逆のような他のプロジェクションが同様に考えられる。DAS構造は、HIPのクラスタ、例えば、403、405、408を通過し、オブジェクトをターゲットにする光線のプロジェクションを含む。HIPに入射するDAS光線は、二次光線のための搬送波として使用される。例えば、HIP408に付随的に入射するDAS光線は、二次光線406を搬送する。この光線は、HIPの半球407内にある。HIP又は三角形に入射するDAS光線は、開始点400からなり、2つの交差点を有してもよく、第1はHIP408を有し、第2はシーンオブジェクト(三角形)409を有する。同じHIP408に関連する追加の二次光線が、追加のDAS構造によって独立して生成されることができ、同じ半球内で他の方向に追加の二次光線を搬送する。 The basic mechanism of DAS is illustrated in FIG. 4, showing that DAS is associated with perspective projection, but other projections such as parallel or reverse are possible as well. The DAS structure includes projections of rays that pass through clusters of HIPs, eg, 403, 405, 408, and target objects. A DAS beam incident on the HIP is used as a carrier for secondary beams. For example, a DAS ray incidentally incident on HIP 408 carries secondary ray 406 . This ray is within the hemisphere 407 of the HIP. A DAS ray incident on a HIP or triangle may consist of a starting point 400 and have two intersections, the first with the HIP 408 and the second with the scene object (triangle) 409 . Additional secondary rays associated with the same HIP 408 can be independently generated by additional DAS structures, carrying additional secondary rays in other directions within the same hemisphere.

本発明の一実施形態によれば、DASプロジェクションは、CPUソフトウェアグラフィックスパイプラインによって実装されることができるが、最も効率的なデバイスは、GPUハードウェアグラフィックスパイプラインである。この周知技術のコンピュータグラフィックスパイプラインは、3Dモデルをコンピュータが表示するものに変えるプロセスである。グラフィックスパイプラインは、2つのサブシステム、ジオメトリ及びラスタライズからなる。最初に、カメラ視野に従って、DAS錐台内の全てのオブジェクトが、ジオメトリサブシステムによって変換される。そして、ラスタサブシステムにおいて、光線/三角形交差点が、Zバッファリング機構によって選択される。例えば、図4におけるDAS光線402は、プロジェクションの原点400から発せられ、2つのオブジェクト、408及び409と交差する。これら2つのオブジェクトのいずれが選択されるかは、Zバッファリングを制御するAPIディレクティブ(Direct3D又はOpenGL)に依存する。 According to one embodiment of the invention, DAS projection can be implemented by a CPU software graphics pipeline, but the most efficient device is a GPU hardware graphics pipeline. This well-known computer graphics pipeline is the process of turning a 3D model into what a computer displays. The graphics pipeline consists of two subsystems, geometry and rasterization. First, all objects within the DAS frustum are transformed by the geometry subsystem according to the camera view. Then, in the raster subsystem, the ray/triangle intersection points are selected by the Z-buffering mechanism. For example, DAS ray 402 in FIG. 4 originates from projection origin 400 and intersects two objects, 408 and 409 . Which of these two objects is selected depends on the API directive (Direct3D or OpenGL) that controls Z-buffering.

それらの下にある三角形を有する3つの既存のHIP405、408、及び403の例示的なクラスタが示される。HIP405、408の二次光線は、DAS構造によって推進される。例として、搬送波光線402は、HIP408に入射する。HIPとの遭遇から以降は、それは、HIPに関連する二次光線406となり、交差409を探索する。DASは、405及び408のようにそれらの半球がプロジェクションの方向に配向されるHIPにのみ関連するが、403には関連しない。DAS法は、数学的に以下のように表現される。 An exemplary cluster of three existing HIPs 405, 408, and 403 with their underlying triangles is shown. The HIP 405, 408 secondary rays are driven by the DAS structure. As an example, carrier beam 402 is incident on HIP 408 . From the HIP encounter onwards, it becomes the secondary ray 406 associated with the HIP and seeks intersection 409 . DAS is only relevant for HIPs whose hemispheres are oriented in the direction of the projection, such as 405 and 408, but not 403. The DAS method is expressed mathematically as follows.

Tを、dレベルのツリーグラフとし、Vを、空間におけるジオメトリGの上部のその頂点とする。
レベルdにおけるV内の頂点であるVを画定する。
を、Vのクラスタへの分割とする。
d+1を見つけることによって、Tをd+1レベルに広げる。
dcの頂点を有するクラスタc∈Cを選択し、Vd+1cがGの上部のVdcにおける頂点のプロジェクションであるように、VdcからVd+1cへの一連のマッピングであるLを画定する。

Figure 0007123041000001

・Lは同じ入力からの一連のマッピングのセットであるので、任意の入力頂点のための複数のターゲット頂点が存在することに留意すべきである。
全ての頂点v∈Vdcを、
Figure 0007123041000002

における全ての可能なジオメトリg∈Gに投影する代わりに、
Figure 0007123041000003

における全てのクラスタc∈Cに全ての可能なジオメトリg∈Gを投影する。
・Rにおいては、高速マッピング(プロジェクション)を並行して達成するために、従来の3Dグラフィックスパイプライン(ラスタハードウェア)を利用することができる。
スループット/オーバーフィットにおけるC/Lを最適化して、
・クラスタ当たりの平均の最大頂点数(スループット)
・全ての頂点にフィットする(オーバーフィットする)ジオメトリの最小(離散)プロジェクション数
・前処理/実行時間制約
を有する。
は、物理的シナリオをシミュレートするために各v∈Vdcのための可能な分布セグメントを表す擬似ランダム出力を有するように選択される。 Let T be a d-level tree graph and V be its top vertex of a geometry G in space.
Define Vd, which is the vertex in V at level d .
Let C d be the partition of V d into clusters.
Extend T to d+1 levels by finding V d+1 .
Choose a cluster c ε C d with vertices at V dc and define L c , a set of mappings from V dc to V d+1 c such that V d+1 c is the projection of the vertices at V dc on top of G .
Figure 0007123041000001

• Note that there are multiple target vertices for any input vertex, since L c is a set of successive mappings from the same input.
Let all vertices v∈V dc be
Figure 0007123041000002

Instead of projecting onto all possible geometries gεG in
Figure 0007123041000003

Project all possible geometries gεG onto all clusters cεC d in .
• In R3, a conventional 3D graphics pipeline (raster hardware) can be utilized to achieve fast mapping (projection) in parallel.
Optimizing C d /L c in throughput/overfit,
・Average maximum number of vertices per cluster (throughput)
- Minimum number of (discrete) projections of geometry that fits (overfits) all vertices - Has pre-processing/run-time constraints.
L c is chosen to have pseudo-random outputs representing possible distribution segments for each vεV dc to simulate a physical scenario.

複数のDASプロジェクションが、僅かに異なる方向でシーン又はその一部に発せられ、各方向は、ランダムに取られることができる。結果として、大域照明のために、近隣の複数のサンプルが、各HIPにおいて取られることができる。これが図5において例示される。HIP507は、画像ピクセル500から発せられた、一次光線508によって作成された一次ヒットポイントである。3つの後続のDASプロジェクション-501、502、及び503が、HIP507を訪れる。各DASは、HIP507のために1つの二次光線を搬送する。3つの二次光線の各々は、環境から、すなわちサーフィス504、505、及び506からそれぞれ異なるサンプルを実現する。 Multiple DAS projections are projected onto the scene, or portions thereof, in slightly different directions, and each direction can be taken randomly. As a result, multiple neighborhood samples can be taken at each HIP for global illumination. This is illustrated in FIG. HIP 507 is the primary hitpoint created by primary ray 508 emanating from image pixel 500 . Three subsequent DAS projections—501, 502, and 503 visit HIP 507. Each DAS carries one secondary ray for HIP 507 . Each of the three secondary rays achieves a different sample from the environment, ie from surfaces 504, 505 and 506 respectively.

連続DASプロジェクションによって生成されるHIPを利用するための様々な方法があってもよい。図6に示される一実施形態によれば、全ての新しく生成されたHIPがそれらのデータに寄与する。この例においては、4つの連続DASプロジェクションが使用される。601が、画像ピクセル600からの一次発射によって以前に生成された一次HIPであると仮定すると、その第1の後続HIP602は、第1のDASプロジェクションの生産物である。異なる方向を有する第2のDASプロジェクションは、HIPチャイルド603及び604を生成する。第3のDASプロジェクションは、HIP605、606、及び607を生成する。そして、第4のDASプロジェクションの結果として、1つのチャイルドHIP608が生成される。全てのHIPからの光サンプリングは平均化され、画像ピクセル600のためのレンダリング方程式の正しい解に収束される必要があり、例えば、608及び605は603に収束し、603は602に収束し、602は次に601に収束する。最後に、一次HIP601は、その全てのチャイルド602、604、及び607の集約サンプル値を収束し、結果が、ピクセル600に、他の一次HIPのうちのピクセルへの部分的寄与として入る。全ての収束のための正しいレンダリング方程式が、最終的には物理的に正確な画像を生成する。 There may be various ways to exploit the HIP produced by continuous DAS projection. According to one embodiment shown in FIG. 6, all newly generated HIPs contribute their data. In this example, four sequential DAS projections are used. Assuming 601 is the primary HIP previously generated by the primary firing from image pixel 600, its first subsequent HIP 602 is the product of the first DAS projection. A second DAS projection with a different orientation produces HIP children 603 and 604 . A third DAS projection produces HIPs 605 , 606 and 607 . A single child HIP 608 is then generated as a result of the fourth DAS projection. Light samplings from all HIPs must be averaged and converged to the correct solution of the rendering equation for image pixel 600, eg 608 and 605 converge to 603, 603 converge to 602, then converges to 601. Finally, primary HIP 601 converges the aggregate sample values of all its children 602, 604, and 607, and the result enters pixel 600 as a partial contribution to pixels among the other primary HIPs. A correct rendering equation for all convergence will ultimately produce a physically accurate image.

二次光線は、図7a~図7cに示されるように、シーンオブジェクトと交差することが意味される。図7aは、2つの三角形711、712、及び2つの一次HIP713、714からなる初期シーンを示す。図7bにおいては、DASプロジェクション721がHIPに向かって発せられる。HIP714は反対方向を向くので、それは現在のDASから除外される。プロジェクションと確実に整列したHIP713は二次光線を起動させる。更に図7cに示されるように、HIP713に関連する搬送波光線は、2つの部分、初期セグメント731及びメインセグメント732に分割される。初期セグメント731は、DAS原点からHIP713に延伸する。その機能は、HIP及びその深度を特定することである。深度ZHIPが見つかると、HIPから交差点733に向かうメインセグメントは、交差を検索する、二次光線のための搬送波の役割を果たす。それは、二次HIPを生成する、733においてオブジェクトに当たる。 Secondary rays are meant to intersect scene objects, as shown in Figures 7a-7c. FIG. 7a shows an initial scene consisting of two triangles 711,712 and two primary HIPs 713,714. In Figure 7b, a DAS projection 721 is emitted towards the HIP. Since HIP 714 faces the opposite direction, it is excluded from the current DAS. The HIP 713, positively aligned with the projection, activates secondary rays. Further, as shown in FIG. 7c, the carrier beam associated with HIP 713 is split into two parts, initial segment 731 and main segment 732 . Initial segment 731 extends from the DAS origin to HIP 713 . Its function is to identify the HIP and its depth. Once the depth Z HIP is found, the main segment from the HIP to intersection 733 acts as a carrier for secondary rays searching for the intersection. It hits the object at 733, which creates a secondary HIP.

本発明の一実施形態によれば、DASプロジェクションは、図8a及び図8bに例示されるように、GPUのZバッファリング機構を利用する。Zバッファリング機構は、常時HIPの前のオブジェクトを破棄する必要があり、HIP以降からのみオブジェクトの探索を開始する。それは、GPUのZバッファリング機構、例えば、OpenGLのグラフィックスライブラリの関数glDepthMaskの選択的使用に基づく。これは、2つの別個のレンダリングパスにおいてなされる。第1のパスにおいては、HIPは、シーンにおける唯一のオブジェクトとしてレンダリングされ、ジオメトリックデータを無視し、HIPデプスマスク(HIP depth mask)を生成する。第2のパスにおいては、HIPデプスマスクが、シーン・ジオメトリをレンダリングするために使用される。第1のパスは、図8aに示される。HIP811とオーバーレイする搬送波光線812は、2つのセグメントに分割され、2つのパスにおいて処理される。第1のパスの間にレンダリングされた初期セグメントは、カメラ813からHIPまで延伸する。HIPの深度値ZHIPは、HIPデプスマスク810に登録される。深度値は、後の使用のために、第2のパスの間に、HIPへの途中の全てのオブジェクトを除外するために保持される。第2のパス(図8b)においては、ジオメトリックデータは、深度ZHIP(811)において開始してレンダリングされ、例えば、三角形825は無視される。メインセグメント、二次光線の搬送波は、823において三角形に当たる。第2のパスの結果は、レンダリングターゲット820に記憶される。HIPを逃す光線は完全に破棄され、全体として初期セグメントと見なされる。レンダリングターゲットが完成すると、DAS搬送波光線のu、v座標においてレンダリングターゲットを検査することによって、正確な光線/三角形交差点823が見つけられる。交差の三角形は、色、光、法線、材料、等のような重要なデータを実現する。 According to one embodiment of the present invention, DAS projection takes advantage of the Z-buffering mechanism of the GPU, as illustrated in FIGS. 8a and 8b. The Z-buffering mechanism must always discard objects before the HIP and only start looking for objects after the HIP. It is based on selective use of the GPU's Z-buffering mechanism, eg, the function glDepthMask of the OpenGL graphics library. This is done in two separate rendering passes. In the first pass, the HIP is rendered as the only object in the scene, ignoring geometric data and generating a HIP depth mask. In the second pass, the HIP depth mask is used to render the scene geometry. The first pass is shown in Figure 8a. Carrier beam 812, which overlays HIP 811, is split into two segments and processed in two passes. The initial segment rendered during the first pass extends from camera 813 to the HIP. The HIP depth value Z HIP is registered in the HIP depth mask 810 . The depth value is retained during the second pass to exclude all objects en route to the HIP for later use. In the second pass (Fig. 8b) the geometric data is rendered starting at depth Z HIP (811), eg triangle 825 is ignored. The main segment, the carrier of the secondary ray, hits the triangle at 823 . The results of the second pass are stored in render target 820 . Rays that miss the HIP are completely discarded and considered as the initial segment as a whole. Once the render target is complete, the correct ray/triangle intersection 823 is found by inspecting the render target at the u,v coordinates of the DAS carrier ray. Intersecting triangles implement important data such as color, light, normals, materials, and so on.

図8cにおけるDASのフローチャートは、DAS機構を生成して使用する方法を要約する。DASプロジェクションは、HIPのための二次光線を生成するために、オブジェクト(例えば、拡張オブジェクト)又はサブシーンをターゲットにし、HIPのクラスタを通過する。DASは2回発せられる。1回目は、HIPデータのみに発せられ、シーンのジオメトリックデータを無視し、HIPデプスマスクを生成する(831)。2回目は、同一のDASプロジェクションが発せられる(832)。この回は、シーンのジオメトリデータがレンダリングされ、HIPデータを無視する。デプスマスク810は、二次光線の開始点に用いられる。二次光線は、DASプロジェクションにおいて推進し、ジオメトリックデータとの交差を探索する。レンダリング結果、レンダリングターゲット、3Dサブシーンの2Dプロジェクションは、基本的に、二次光線とシーンのジオメトリックデータとの間の全ての交差点における集合である。特定のHIPに直接関連する交差点が、HIPの座標u、vと一致する、レンダリングターゲットにおける座標u’、v’を検索することによって見つけられることができる。交差点における色値及び光値が、HIPにフィードバックされ、大域照明のサンプルを実現する(833)。最後に、交差点は、次世代のHIPとしてHIPリポジトリに記憶される(834)。 The DAS flowchart in FIG. 8c summarizes how to create and use the DAS mechanism. A DAS projection targets an object (eg, an augmented object) or sub-scene and passes through a cluster of HIPs to generate secondary rays for the HIP. DAS is issued twice. The first is fired at the HIP data only, ignoring the scene's geometric data and generating a HIP depth mask (831). A second time, the same DAS projection is issued (832). This time the geometry data of the scene is rendered, ignoring the HIP data. A depth mask 810 is used at the starting point of the secondary rays. Secondary rays are propelled in the DAS projection and seek intersections with the geometric data. The render result, the render target, and the 2D projection of the 3D subscene are essentially the set at all intersections between the secondary rays and the geometric data of the scene. An intersection point directly associated with a particular HIP can be found by searching for coordinates u', v' in the render target that match the coordinates u, v of the HIP. The color and light values at the intersection point are fed back to the HIP to provide global illumination samples (833). Finally, the intersection is stored in the HIP repository as the next generation HIP (834).

二次光線の様々な場合が図9に示され、全てが単一のDASプロジェクションによって搬送される。光線900は、2つのセグメントからなる。カメラ909からHIP903まで延伸する初期セグメントは、三角形906を破棄し、一方、メインセグメントは、交差点905において三角形907に遭遇する。光線902の二次セグメントはオブジェクトに当たらない。光線901は、一次HIPに遭遇せず、従って、それは、その全体において初期セグメントと見なされ、三角形908を無視する。 Various cases of secondary rays are shown in FIG. 9, all carried by a single DAS projection. Ray 900 consists of two segments. The initial segment extending from camera 909 to HIP 903 discards triangle 906 while the main segment encounters triangle 907 at intersection 905 . A secondary segment of ray 902 does not hit the object. Ray 901 does not encounter a primary HIP, so it is considered the initial segment in its entirety, ignoring triangle 908 .

本発明のDAS機構は、他の分野の中で、ARにおいて実装可能である。その実施形態のうちの1つは、シーンにおける1つ以上のオブジェクトのレンダリング、及び拡張オブジェクトと現実環境との間の完全な統合に焦点を合わせた、局所経路追跡を可能にする。図10は、半反射面107の現実の机に立つ拡張オブジェクト、仏像101の例を示す。像の写実的な外観を生成するために必要とされるものは、オブジェクト101の画像だけではなく、その反射102でもある。拡張オブジェクトがその現実環境に及ぼす場合がある影響は、プリセット環境を変更する反射、影、及びカラーブリーディングをもたらす。一方、拡張オブジェクトにおける環境の影響は、オブジェクト自体の照明及び反射をもたらす場合がある。 The DAS mechanism of the present invention can be implemented in AR, among other fields. One of its embodiments enables local path tracking, focused on rendering one or more objects in a scene and full integration between augmented objects and the real environment. FIG. 10 shows an example of an augmented object, a Buddha statue 101, standing on a real desk with a semi-reflective surface 107. FIG. It is not only the image of the object 101 but also its reflection 102 that is needed to produce the realistic appearance of the image. Effects that augmented objects may have on their real environment result in reflections, shadows, and color bleeding that modify the preset environment. On the other hand, environmental influences on augmented objects may result in illumination and reflection of the object itself.

本発明の一実施形態によれば、オブジェクトの画像及び環境内のオブジェクトの反射が、2つの別個のタスクによって生成され、統合された結果が、画像ピクセルに供給される。 According to one embodiment of the invention, the image of the object and the reflection of the object in the environment are generated by two separate tasks and the combined result is supplied to the image pixels.

拡張オブジェクトの直接イメージング 拡張オブジェクトの基本的画像は、オブジェクトのサーフィスを覆うまさに一次HIPから再構築されることができる。しかし、オブジェクトにおいて反射された環境のような画像における大域照明効果のために、オブジェクトからその環境に発せられる二次光線が要求される。拡張オブジェクト110のレンダリングタスクが、図11に示される。簡単にするために、それは2D図面において説明される。カメラ113は、拡張オブジェクトに一次光線114を発し、オブジェクトとの交差を探索する。これらの交差点がHIPになり、大域照明のための二次光線の開始点として使用されることが意味される。 Direct Imaging of Extended Objects A basic image of an extended object can be reconstructed from just the primary HIP covering the surface of the object. However, for global lighting effects in an image such as the environment reflected at an object, secondary rays emanating from the object into its environment are required. The rendering task of extension object 110 is shown in FIG. For simplicity it is illustrated in a 2D drawing. A camera 113 emits a primary ray 114 onto the augmented object and searches for intersections with the object. It is meant that these intersections become HIPs and are used as starting points for secondary rays for global illumination.

一次光線の発射は、各々が僅かな方向の変化を伴って繰り返されて、画像ピクセルにおけるマルチサンプリングが達成される。方向の変化は、画像における不要なパターンを防ぐためにランダムになされる。マルチサンプリングは、アンチエイリアス処理された画像品質に貢献する。図11においては、3つの一次発射115、116、及び117が示される。 The primary ray firings are repeated, each with a slight change in direction, to achieve multisampling in the image pixels. The change of direction is made randomly to prevent unwanted patterns in the image. Multisampling contributes to anti-aliased image quality. In FIG. 11, three primary launches 115, 116 and 117 are shown.

シーンにおける拡張オブジェクトの忠実で統合された外観が、大域照明によって達成される。大域照明に関連する環境は、一次HIPからシーンの関連部分に向けて発せられた二次光線によってサンプリングされる。オブジェクトが反射性の場合には、シーンの関連する部分は、オブジェクトにおける反射によるカメラからの可視性の部分である。 A faithful and unified appearance of augmented objects in the scene is achieved with global illumination. The environment associated with global illumination is sampled by secondary rays emitted from the primary HIP towards relevant parts of the scene. If the object is reflective, the relevant part of the scene is that part of the visibility from the camera due to the reflection on the object.

例えば、このような関連する部分は、オブジェクトにおけるその反射がカメラ127から見られることができるので、図12aのサブシーン123になることができる。 For example, such a relevant portion can become sub-scene 123 of FIG.

二次光線は、図12aのような遠近プロジェクション又は図12bのような平行プロジェクションの何れかのDAS構造によって生成される。図12aにおいては、DASプロジェクションは、一次HIP(例えば128)を通過し、サブシーン123をターゲットにする。 Secondary rays are generated by the DAS structure for either perspective projection as in FIG. 12a or parallel projection as in FIG. 12b. In FIG. 12a, the DAS projection passes through the primary HIP (eg 128) and targets subscene 123. In FIG.

全ての連続DASプロジェクションは同じサブシーン123をターゲットにするので、このサブシーンはフルシーンから切り出されることができ、低減された領域内でのレンダリング動作を選択的に可能にし、この結果、レンダリングプロセスを最小限にする。 Since all successive DAS projections target the same sub-scene 123, this sub-scene can be clipped from the full scene, selectively allowing rendering operations within a reduced area, thus allowing the rendering process to a minimum.

複数のDASプロジェクションの各々は、僅かに異なる視点から異なる方向にランダムに生成され、各HIPにおいて複数の二次光線を生成する。ランダム性の使用が、画像における不要なパターンの出現を防ぐ。二次光線は、HIPのための大域照明をサンプリングし(図3、31)、オブジェクトと環境との間を統合する。サンプリングされた照明は、オブジェクトの材料及びその鏡面性又は拡散性のレベルに応じて画像に影響を与え、例えば、オブジェクトが反射性又は部分的に反射性の場合には、オブジェクトにおける環境の反射又はまさに背景照明量をもたらし、拡散性の場合には、環境に対するオブジェクトの反応を作成する。 Each of the multiple DAS projections are randomly generated in different directions from slightly different viewpoints to generate multiple secondary rays at each HIP. The use of randomness prevents unwanted patterns from appearing in the image. Secondary rays sample the global illumination for HIP (Fig. 3, 31) and integrate between the object and the environment. The sampled illumination affects the image depending on the object's material and its level of specularity or diffuseness, e.g. It just gives the amount of background lighting and, in the diffuse case, creates the object's reaction to the environment.

DASのプロジェクションの数が多いほど、大域照明のカバーが向上する。しかし、プロジェクションの数が多くすると、性能が低下する場合がある。従って、画質と性能との間にはトレードオフがある。 The higher the number of DAS projections, the better the global illumination coverage. However, a large number of projections may degrade performance. Therefore, there is a trade-off between image quality and performance.

拡張オブジェクトの直接画像を生成する方法が、図12cのフローチャートに要約される。最初に、複数の一次プロジェクションが、一次HIPのクラスタを生成するために、拡張オブジェクトにカメラ(目、視点)から発せられる(1231)。そして、二次光線によってターゲットにされるシーンの部分が画定されるべきであり、場合によりサブシーンとして切り取られるべきであり(1232)、DASプロジェクションのための基準点が選択されたサブシーンに従って設定される必要がある(1236)。そして、複数のDASプロジェクションによって生成された二次光線が関連するサブシーンに発せられる(1233)。DASプロジェクションの結果は、決定されたサブシーンのレンダリングターゲットテクスチャである。二次光線と決定されたサブシーンとの間の交差点のための探索は、関連する一次ヒットポイント及びレンダリングターゲットテクスチャの座標を一致させることによってなされる(1237)。 A method for generating direct images of augmented objects is summarized in the flow chart of FIG. 12c. First, multiple primary projections are emitted 1231 from the camera (eye, point of view) to the augmented object to generate a cluster of primary HIPs. The portion of the scene targeted by the secondary ray should then be defined, possibly cropped as a subscene (1232), and the reference point for the DAS projection set according to the selected subscene. (1236). Secondary rays generated by the multiple DAS projections are then launched 1233 into the relevant subscenes. The result of the DAS projection is the determined subscene render target texture. A search for the intersection between the secondary ray and the determined subscene is done by matching the coordinates of the associated primary hitpoint and render target texture (1237).

各一次HIPに、その二次光線と遭遇する三角形との間の対応する交差点の光値が供給される(1234)。上記の手順は、複数のサブシーンが必要とされる場合に繰り返すことができる。そして、最後に、交差点が新世代のHIPとしてHIPリポジトリに追加される(1235)。全ての一次ヒットポイントから集約された、色値及び光値の処理されたサンプルが、画像のピクセルに収束され、3次元シーンの影響を受ける拡張オブジェクトのフル画像を作成する。 Each primary HIP is provided with the light value of the corresponding intersection point between its secondary ray and the triangle it encounters (1234). The above procedure can be repeated if multiple subscenes are required. And finally, the intersection is added to the HIP repository as a new generation HIP (1235). The processed samples of color and light values, aggregated from all primary hitpoints, are converged onto the pixels of the image to create a full image of the augmented object affected by the 3D scene.

拡張オブジェクトの反射 環境アイテムにおけるオブジェクトの画像の反射は、カメラからシーンにおけるサーフィスに光線を辿り、そして、拡張オブジェクトに向かって跳ね返ることによって達成される。光沢のあるサーフィス又はタイルにおける反射は、3Dレンダリングの写実的な効果を高める。反射の程度は、サーフィスの反射率(材料のBRDF)に依存する。 Reflection of Augmented Objects Reflection of an image of an object in an environment item is accomplished by following rays from the camera to surfaces in the scene and bouncing back toward the augmented object. Reflections on glossy surfaces or tiles enhance the photorealistic effect of 3D renderings. The degree of reflection depends on the reflectance of the surface (BRDF of the material).

最初に、拡張オブジェクトを反射する場合がある現実のシーンにおける反射面又は半反射面(若しくはアイテム)が識別される必要がある。そして、出願人は、オブジェクトが反射されることが意図されるサーフィス又はその一部に一次光線を発し、一次HIPを生成する。これらのHIPから、出願人は、拡張オブジェクトをターゲットにしてサンプリングする二次光線を発する。反射を生成するこの方法は、図13a及び図13bに例示される。意図された反射領域をカバーする一次HIPは、カメラ133から画像スクリーン130を通って反射領域134に向かって発せられる一次光線によって作成される。サーフィス132における反射領域134の位置及び境界は、カメラの位置、拡張オブジェクト110の距離及びサイズ、並びにスネルの法則による主方向131の考慮に従って決定される。画像ピクセルにおけるマルチサンプリングのために、一次発射が複数回繰り返される。画像の各ピクセルが複数のサンプルを得るように、各連続回、一次プロジェクションは主方向からランダムに僅かに外れる。反射領域134のサーフィスは、高密度の一次HIPのアレイによって覆われるようになる。マルチサンプリングのランダム性は、結果として生じる画像における不要なパターンを防ぐ。 First, reflective or semi-reflective surfaces (or items) in the real scene that may reflect augmented objects need to be identified. Applicant then directs a primary ray onto the surface or portion thereof where the object is intended to be reflected, producing a primary HIP. From these HIPs, Applicants emit secondary rays that target and sample the augmented object. This method of generating reflections is illustrated in Figures 13a and 13b. A primary HIP covering the intended reflective area is created by primary rays emitted from camera 133 through image screen 130 toward reflective area 134 . The location and boundaries of the reflective area 134 on the surface 132 are determined according to the camera position, the distance and size of the augmented object 110, and consideration of the principal direction 131 by Snell's law. Due to the multisampling in the image pixels, the primary firing is repeated multiple times. Each successive time, the primary projection deviates slightly from the main direction at random so that each pixel of the image gets multiple samples. The surface of the reflective area 134 becomes covered by a dense array of primary HIPs. The randomness of multisampling prevents unwanted patterns in the resulting image.

図13bは、二次光線による反射画像の生成を説明する。サーフィス132における拡張オブジェクト110の反射は、オブジェクトに二次光線を発することによって集められた一次HIPにおけるサンプリングされたデータから再構成される。出願人は、サーフィス132におけるカメラ133の反射であるジオメトリック点136を、複数のDASプロジェクションのための基準点として使用する。各プロジェクションは、基準点136からランダムに外れる異なる点から発せられる。 FIG. 13b illustrates the generation of reflected images by secondary rays. The reflection of augmented object 110 at surface 132 is reconstructed from sampled data in the primary HIP collected by firing secondary rays at the object. Applicants use geometric point 136, which is the reflection of camera 133 at surface 132, as a reference point for multiple DAS projections. Each projection originates from a different point that randomly deviates from the reference point 136 .

図13bに示されるDAS135は、拡張オブジェクト110の中心を向いている軸線139に沿って向けられた基準点136から始まる。DASは、全てが一次HIP(例えば137)において開始して拡張オブジェクトをターゲットにする、二次光線138を搬送する。 The DAS 135 shown in FIG. 13b begins with a reference point 136 oriented along an axis 139 pointing toward the center of the extension object 110 . The DAS carries secondary rays 138 that all start at the primary HIP (eg 137) and target the extended object.

HIPにおいてBRDF関数のスペクトルサンプリングを行うために、複数のDASプロジェクションは、基準DASプロジェクション(基準点において開始し、拡張オブジェクトの中心に向けられたプロジェクションの軸線を有するもの)からランダムに外れる。基準DASからの傾斜は、図14aに示されるように、ランダムになされて基準点142及び中心軸線145から僅かにはずれる。3つのDASプロジェクションが示される。 To perform spectral sampling of the BRDF function in HIP, multiple DAS projections are randomly deviated from the reference DAS projections (starting at the reference point and having the axis of the projections directed toward the center of the extended object). The tilt from the reference DAS is done randomly and slightly off from the reference point 142 and central axis 145 as shown in FIG. 14a. Three DAS projections are shown.

基準DASが正確に基準点142において始まり、その軸線145が中心方向を取ると仮定すると、2つの他のDASプロジェクションは近くの点141及び143において開始し、それらの軸線144及び146は中心方向145から外れる。例として、出願人は、HIP140を選択し、それから3つのニ次光線144、145、及び146が発せられ、各々が異なるDASによって搬送される。 Assuming that the reference DAS starts exactly at the reference point 142 and its axis 145 is centered, two other DAS projections start at nearby points 141 and 143 and their axes 144 and 146 are centered 145 deviate from As an example, Applicants have chosen HIP 140 from which three secondary beams 144, 145, and 146 are emitted, each carried by a different DAS.

基準DASからのDAS二次光線の外れと、その集約された光エネルギーへの寄与との間の関係が図14bに示される。それは、サーフィスの材料132のBRDF関数147と強く関連する。3つの二次光線144、145、及び146の各々は、異なる方向に同じHIPから発せられ、図3の半球によって境界が定められる。結果として、そのサンプリングされたデータは、BRDF関数に従って、集約された光エネルギーに寄与する。二次光線145が正確なスネル方向に進むと仮定すると、そして、それがBRDF関数147のピークにおいて最大の寄与をもたらす。二次光線144及び145は、ピークからの距離におけるBRDF値に依存して、より小さい寄与を有する。 The relationship between the deviation of a DAS secondary ray from the reference DAS and its contribution to the concentrated light energy is shown in Figure 14b. It is strongly related to the BRDF function 147 of the material 132 of the surface. Each of the three secondary rays 144, 145, and 146 emanate from the same HIP in different directions and are bounded by the hemispheres of FIG. As a result, the sampled data contributes to the aggregated light energy according to the BRDF function. Assuming the secondary ray 145 travels in the exact Snell direction, then it has the largest contribution at the peak of the BRDF function 147 . Secondary rays 144 and 145 have smaller contributions depending on the BRDF value at the distance from the peak.

拡張オブジェクトの反射画像を生成する方法が、図14cのフローチャートに要約される。最初に、拡張オブジェクトが反射するべきである現実のシーンにおける領域が決定される(1431)。そして、複数の一次プロジェクションが反射領域にカメラから発せられ、一次HIPのクラスタを生成する(1432)。次に、DASプロジェクションのための基準点としての反射されたカメラの位置、及び拡張オブジェクトに向けられた中心軸線が、算出される必要がある(1433)。そして、DASによって生成される二次光線はオブジェクトに向かって発せられる。複数のDASプロジェクションはランダムに傾斜され、基準DASから外れる(1434)。次に、交差点においてサンプリングされた光値は、それらのそれぞれのHIPの原点に供給される(1435)。最後に、交差点が新世代のHIPとしてHIPリポジトリに追加される(1436)。これらのHIPは、更なる世代の二次光線を生じさせるために役立つことができる。 A method for generating a reflection image of an augmented object is summarized in the flowchart of FIG. 14c. First, the area in the real scene where the augmented object should reflect is determined (1431). A plurality of primary projections are then emitted from the camera into the reflective area to generate clusters of primary HIPs (1432). Next, the position of the reflected camera as a reference point for the DAS projection and the central axis towards the augmented object need to be calculated (1433). Secondary rays generated by the DAS are then emitted toward the object. Multiple DAS projections are randomly tilted to deviate from the reference DAS (1434). The light values sampled at the intersection points are then fed 1435 to the origin of their respective HIPs. Finally, the intersection is added to the HIP repository as a new generation HIP (1436). These HIPs can serve to generate further generations of secondary rays.

カラーブリーディングは、近くのサーフィスからの間接光の反射によってオブジェクト又はサーフィスが着色される現象である。あるサーフィスに到達する照明が光源からまさに直接来るだけでなく、光を反射する他のサーフィスからも来るという意味で、これは大域照明アルゴリズムである。カラーブリーディングは、視点に依存せず、全ての視点のために有用である。AR又はVRにおけるカラーブリーディング効果は、拡張オブジェクトの直ぐ近くで生じる。本発明の一実施形態によるブリーディング効果を生成する例が図15aに例示される。基板152において立つ、拡張オブジェクト154は、現実の基板152においてカラーブリーディング効果を作成することになる。最初に、出願人は、カラーブリーディングが出現する拡張オブジェクトの中心の周りにカラーブリーディングパッチの境界を画定する。パッチのサイズは、関係する材料、距離、及び光量に依存する。そして、出願人は、拡張オブジェクトの不存在の状態で、パッチ155にカメラ153から一次光線を発する。パッチをカバーする一次HIPのクラスタが作成される。一次発射は、各回、主方向151から僅かに外れて、複数回繰り返される。主方向156は、カメラからオブジェクトの立ち位置の中心に向かう。 Color bleeding is the phenomenon in which an object or surface is colored by the reflection of indirect light from nearby surfaces. It is a global lighting algorithm in the sense that the illumination reaching a surface does not just come directly from the light source, but also from other surfaces that reflect the light. Color bleeding is viewpoint independent and useful for all viewpoints. Color bleeding effects in AR or VR occur in the immediate vicinity of augmented objects. An example of creating a bleeding effect according to one embodiment of the present invention is illustrated in FIG. 15a. An augmented object 154 standing on the substrate 152 will create a color bleeding effect on the real substrate 152 . First, Applicants define the boundaries of the color-bleeding patch around the center of the dilated object where the color-bleeding appears. The size of the patch depends on the materials involved, the distance and the amount of light. Applicant then emits a primary ray from camera 153 onto patch 155 in the absence of the augmented object. A cluster of primary HIPs covering the patch is created. The primary shot is repeated multiple times, each time slightly off the main direction 151 . The primary direction 156 is from the camera towards the center of the standing position of the object.

図15bは二次光線の使用を例示する。カラーブリーディング効果は、一次HIPからオブジェクトに向かって発せられる二次光線によってオブジェクトをサンプリングすることによって再構築される。二次光線は、DASプロジェクションによって生成される。DASプロジェクションは、拡張オブジェクトの反射又は直接イメージングの場合とは異なり、逆プロジェクション156の形状を得る。各回、主方向から僅かに外れて、複数のDASプロジェクションがなされる。正しいレンダリング方程式が使用されることを仮定すると、オブジェクトのサーフィスのサンプルが、基板から取得され、基板におけるエネルギー量の算出を可能にする。 Figure 15b illustrates the use of secondary rays. The color bleeding effect is reconstructed by sampling the object with secondary rays emitted from the primary HIP towards the object. Secondary rays are generated by DAS projection. DAS projection obtains the shape of the inverse projection 156, unlike reflection or direct imaging of extended objects. Each time, slightly off the main direction, multiple DAS projections are made. Assuming the correct rendering equations are used, samples of the object's surface are taken from the substrate, allowing calculation of the amount of energy at the substrate.

カラーブリーディングを生成する方法が、図15cのフローチャートに要約される。最初に、シーンにおけるカラーブリードパッチの位置及びサイズが画定される(1531)。そして、複数の一次プロジェクションが、一次HIPのクラスタを生成するために、カラーブリーディングパッチにカメラから発せられる(1532)。次に、DASプロジェクションの中心における基準点が算出され(1533)、同様に、逆プロジェクションの要求される形状が算出される(1534)。そして、二次光線が、各々がDASプロジェクションの中心からランダムに外れる複数のDASプロジェクションによって発さられ(1535)、交差点の光値が、一次HIPに供給される(1536)。カラーブリーディングにおいては、これが唯一の世代のHIPである。 A method for producing color bleeding is summarized in the flow chart of FIG. 15c. First, the location and size of the color bleed patch in the scene are defined (1531). A plurality of primary projections are then emitted 1532 from the camera onto the color bleeding patches to generate clusters of primary HIPs. Next, the reference point at the center of the DAS projection is calculated (1533), and similarly the required shape of the inverse projection is calculated (1534). Secondary rays are then emitted (1535) by a plurality of DAS projections, each randomly off center of the DAS projection, and the light values at the intersections are fed (1536) to the primary HIP. In color bleeding, this is the only generation of HIP.

光値の収集 HIPにおける全てのサンプルの値は、物理的に正確な結果のための正しいレンダリング方程式によって処理される必要がある。考慮されるパラメータは、サーフェスの材料、シーンのジオメトリ、半球のアクティブ領域、及びその他である。特定の画像ピクセルのために、ピクセルからの一次発射によって生成された全てのHIP、及びそれらの全ての二次後続要素の光の寄与は、画像のためのソースピクセルに集約され、処理され、収束される必要がある。図16に示されるように、オブジェクトからの及びその環境からのサンプリングは、画像ピクセル164に収束される。ピクセルは、拡張オブジェクトからのサーフィスにおける一次HIP165から入力を受け取り、次にその連続した世代から値を収集する。ピクセルは、その上、反射HIP161及びその連続世代から入力を受け取る。165及び161の処理結果は重み付けされ、そして画像ピクセル164に集められる。 All sample values in the light value collection HIP need to be processed by the correct rendering equations for physically accurate results. Parameters considered are surface materials, scene geometry, hemispherical active area, and others. For a given image pixel, all HIPs generated by the primary firing from the pixel and the light contributions of all their secondary successors are aggregated, processed and converged to the source pixel for the image. need to be As shown in FIG. 16, the sampling from the object and from its environment are converged to image pixels 164 . A pixel receives input from the primary HIP 165 in the surface from the extension object and then collects values from its successive generations. The pixels also receive input from the reflective HIP 161 and its successive generations. The processing results of 165 and 161 are weighted and aggregated into image pixels 164 .

実装 本発明の核心はDAS機構である。経路追跡において実装される場合に、それは二次光線を生成し、それらのシーンオブジェクトとの交差を位置付けるが、先行技術の加速構造の使用を除外する。従来のラスタグラフィックスパイプラインに基づくDAS機構は、GPUハードウェアパイプライン又はCPUソフトウェアパイプラインの何れかによって実装可能である。GPUの並列構造によって、汎用CPUよりグラフィックスパイプラインが効率的である。GPUは、グラフィックスパイプラインを加速するように設計された特殊用途の電子回路である。CPUがシーケンシャルシリアル処理に焦点を合わせた少数のコアで構成される場合に、GPUは、マルチタスク用に設計された何千もの小さいコアを搭載する。グラフィックスプロセッサには、主に統合型とディスクリートの2種類がある。DASは、システムにおける別個の構成要素(ディスクリートGPU)又はCPUダイにおける組み込みGPU(統合型GPU)の何れかによって利用されることができる。統合型GPUは、組み込みシステム、携帯電話、パーソナルコンピュータ、ワークステーション、及びゲーム機において使用される。 Implementation The heart of the invention is the DAS mechanism. When implemented in path tracing, it generates secondary rays and locates their intersection with scene objects, but precludes the use of prior art acceleration structures. A DAS mechanism based on a traditional raster graphics pipeline can be implemented by either a GPU hardware pipeline or a CPU software pipeline. The GPU's parallel structure makes the graphics pipeline more efficient than a general purpose CPU. A GPU is a special-purpose electronic circuit designed to accelerate the graphics pipeline. Where CPUs are made up of a few cores focused on sequential serial processing, GPUs are equipped with thousands of tiny cores designed for multitasking. There are two main types of graphics processors: integrated and discrete. DAS can be utilized either by a separate component in the system (discrete GPU) or by an embedded GPU in the CPU die (integrated GPU). Integrated GPUs are used in embedded systems, mobile phones, personal computers, workstations, and game consoles.

上記で詳細に説明されたように、プリセットシーン内で拡張オブジェクト及びそれらの視覚背景を作成するコンピューティングタスクは、大部分がグラフィックスパイプラインに基づく。これらのタスクのために、GPUの使用は大きい利点である。大域照明のサンプリング値を収集し、これらの値をレンダリング方程式に従って処理し、その結果を画像ピクセルに収束させるという追加のタスクがまたある。従来の処理と関連する収集タスクは、CPU又はGPGPUの何れかによって実装されることができる。図17に示されるように、ユーザの視覚装置171に関連する追加のタスクがまたある。拡張現実のために、それらは、着用者が見るものと並行して又は見るものに情報を追加するウェアラブルコンピュータメガネである。通常、これは、光学ヘッドマウントディスプレイ(OHMD)又は透明ヘッドアップディスプレイ(HUD)若しくは投影されたデジタル画像を反射する機能を有するARオーバーレイを有する組み込み型無線眼鏡を介して達成され、それを通してユーザが見ることを可能にする。仮想現実のために、視覚装置171は、着用者のために仮想現実を提供する仮想現実ヘッドセットを表すことができる。VRヘッドセットは、コンピュータゲームで広く使用されるが、それらはまた、シミュレータ及びトレーナーを含む他の用途で使用される。それらは、立体的なヘッドマウントディスプレイ(各目に別々の画像を提供する)、ステレオサウンド、及びヘッドモーショントラッキングセンサを備える。いずれにしても、構成要素171は、通常、CPUによって実装されるAPIソフトウェアによってコンピューティングプラットフォームにインターフェースで接続される必要がある。 As detailed above, the computing task of creating augmented objects and their visual backgrounds within a preset scene is largely based on the graphics pipeline. For these tasks, the use of GPUs is of great advantage. There is also the additional task of collecting global illumination sampled values, processing these values according to the rendering equations, and converging the results to image pixels. Acquisition tasks associated with conventional processing can be implemented by either the CPU or the GPGPU. There are also additional tasks associated with the user's visual device 171, as shown in FIG. For augmented reality, they are wearable computer glasses that add information alongside or to what the wearer sees. Typically, this is accomplished via an optical head-mounted display (OHMD) or transparent head-up display (HUD) or built-in wireless glasses with an AR overlay that has the ability to reflect the projected digital image, through which the user can allow you to see. For virtual reality, viewing device 171 may represent a virtual reality headset that provides virtual reality for the wearer. VR headsets are widely used in computer games, but they are also used in other applications including simulators and trainers. They include stereoscopic head-mounted displays (providing separate images for each eye), stereo sound, and head motion tracking sensors. In any event, component 171 must typically be interfaced to the computing platform by API software implemented by the CPU.

その結果、本発明の実施形態は、図17に一般的に示されるように、CPUとGPUとの組み合わせ実装を要求する。GPUは、ディスクリートグラフィックス、統合型グラフィックス、又は両方の組み合わせ(ディスクリートグラフィックスと協力する統合型グラフィックス)を表してもよい。 As a result, embodiments of the present invention call for a combined CPU and GPU implementation, as generally illustrated in FIG. A GPU may represent discrete graphics, integrated graphics, or a combination of both (integrated graphics working together with discrete graphics).

統合型グラフィックスは、GPUがCPUダイに統合され、プロセッサとメモリを共有することを意味する。統合型GPUはシステムRAMに依存するので、それらは、それらのディスクリート対応部品の計算能力を有せず、それらは、それら独自のカードに含まれ、それら独自のメモリ、VRAMを搭載する。統合型GPUは、VRAMとCPUコアとの間のディスクリートグラフィックスカードと比較して、システムRAMからのより低いメモリ帯域幅を有する。この帯域幅は、メモリバスと呼ばれるものであって、性能を制限する可能性がある。また、GPUは極めてメモリを消費するので、統合型プロセッシングは、最小限度のビデオメモリを有し、又は専用のビデオメモリを有さないので、相対的に遅いシステムRAMのためにCPUと競合する場合がある。最高のグラフィックス性能を可能にするためには、ディスクリートグラフィックスチップが、統合型GPUより優れる。 Integrated graphics means that the GPU is integrated into the CPU die and shares memory with the processor. Since integrated GPUs rely on system RAM, they do not have the computing power of their discrete counterparts, they are contained on their own cards and have their own memory, VRAM. Integrated GPUs have lower memory bandwidth from system RAM compared to discrete graphics cards between the VRAM and the CPU core. This bandwidth, called the memory bus, can limit performance. Also, since the GPU is very memory intensive, integrated processing may have minimal or no dedicated video memory, so if competing with the CPU for relatively slow system RAM There is Discrete graphics chips outperform integrated GPUs to enable the highest graphics performance.

一方で、マルチコアチップにおけるグラフィックススコアは、ビッグデータを交換するためにCPUコアと良好に協働することができるので、同じRAMメモリを共有することがまた利益になることができる。イメージングオブジェクト、反射、カラーブリーディングの純粋なグラフィックスタスクは、CPUコアによるレンダリング方程式のために収集及び算出される必要がある、光値のビッグデータを生じさせる。 On the other hand, graphics cores in multi-core chips can work well with CPU cores to exchange big data, so sharing the same RAM memory can also be beneficial. Pure graphics tasks of imaging objects, reflections, and color bleeding result in big data of light values that need to be collected and calculated for rendering equations by the CPU core.

しかし、ディスクリートGPUの性能上の利点にもかかわらず、そのより良好な電力効率、手頃な価格、可搬性、及び汎用性のために、拡張現実、仮想現実、及びコンピュータゲームのような用途における本発明の実装のために統合型GPUを使用することが望ましい。マルチコアCPUチップの構成要素としての統合型GPUは、組み込みシステム、携帯電話、タブレット、及びゲーム機において使用される。 However, despite the performance advantages of discrete GPUs, their better power efficiency, affordability, portability, and versatility make them ideal for applications such as augmented reality, virtual reality, and computer games. It is desirable to use an integrated GPU for implementation of the invention. Integrated GPUs as building blocks of multi-core CPU chips are used in embedded systems, mobile phones, tablets, and game consoles.

ディスクリートGPU又は統合型GPUを使用することに加えて、また、タスクに依存して、協働し且つ交互に行うディスクリートGPU及び統合型GPUを有するハイブリッドシステムを使用する代替手段がある。 In addition to using discrete or integrated GPUs, there is also the alternative of using hybrid systems with discrete and integrated GPUs that cooperate and alternate, depending on the task.

Claims (14)

レイトレーシングのためのグラフィックスパイプライン機構を利用して、3次元シーンにおいて拡張オブジェクトを作成するための方法であって、
a)前記拡張オブジェクトに一次レンダリングプロジェクションを発し、一次ヒットポイントのクラスタを生成するステップと、
b)二次光線によってターゲットにされるサブシーン空間を決定するステップと、
c)二次レンダリングプロジェクションのための基準点を設定するステップと、
d)各回の場合に、
1)前記基準点の近傍から前記一次ヒットポイントのクラスタを通して二次レンダリングプロジェクションを発し、前記決定されたサブシーンのレンダリングターゲットテクスチャを生成し、
2)前記二次光線の前記サブシーンとの交差点を探索し、
3)次世代の二次光線のために前記交差点を保存し、
4)前記交差点において光値をサンプリングし、
5)前記一次ヒットポイントに前記サンプリングされた値をフィードバックする
ことを複数回繰り返すステップであって、各回において、前記二次レンダリングプロジェクションを傾斜させる、ステップと、
e)前記一次ヒットポイントにおいて集約値を処理するステップと、
f)前記処理結果を画像ピクセルに収束させるステップと
を含む方法。
A method for creating augmented objects in a three-dimensional scene utilizing a graphics pipeline mechanism for ray tracing, comprising:
a) emitting a primary rendering projection onto the extension object to generate a cluster of primary hitpoints;
b) determining the sub-scene space targeted by the secondary ray;
c) setting a reference point for the secondary rendering projection;
d) on each occasion,
1) emit a secondary rendering projection from the vicinity of the reference point through the cluster of primary hit points to generate a render target texture for the determined subscene;
2) searching for intersections of said secondary rays with said subscene;
3) preserving the intersection points for the next generation of secondary rays;
4) sampling light values at said intersection;
5) repeating feeding back the sampled values to the primary hitpoints multiple times, each time tilting the secondary rendering projection;
e) processing aggregate values at the primary hitpoints;
f) converging the processing results to image pixels.
前記二次光線と前記決定されたサブシーンとの間の交差の探索が、前記一次ヒットポイントと前記レンダリングターゲットテクスチャとの座標を一致させることによってなされる、請求項1に記載の方法。 2. The method of claim 1, wherein searching for intersections between the secondary rays and the determined subscene is done by matching coordinates of the primary hit points and the render target texture. 前記保存された二次光線の交差点は、前記次世代の二次光線のための一次ヒットポイントのクラスタとして機能することができる、請求項1に記載の方法。 2. The method of claim 1, wherein the stored secondary ray intersections can serve as clusters of primary hitpoints for the next generation of secondary rays. 全ての前記一次ヒットポイントから集約された前記処理された色値及び光値のサンプルは前記画像ピクセルに収束され、前記3次元シーンの影響を受ける前記拡張オブジェクトのフル画像を作成する、請求項1に記載の方法。 2. The processed color and light value samples aggregated from all the primary hitpoints are converged onto the image pixels to create a full image of the augmented object affected by the three-dimensional scene. The method described in . グラフィックスパイプラインを利用して、3次元シーンにおける拡張オブジェクトをレイトレーシングするためのシステムであって、前記システムは、
メモリを有する少なくとも1つのグラフィックスプロセッサと、
メモリを有する少なくとも1つの汎用プロセッサと、
前記3次元シーンのジオメトリックデータベースと、
レンダリングターゲットメモリと
を備え、実行時に、
a)グラフィックスプロセッサは、拡張オブジェクトに一次レンダリングプロジェクションを発し、一次ヒットポイントのクラスタを生成し、
b)サブシーン空間が、二次光線によってターゲットにされるように決定され、
c)二次レンダリングプロジェクションのための基準点が設定され、
d)二次レンダリングプロジェクションは、各回において傾斜して、複数回繰り返され、各回の場合に、
1)二次光線が、前記二次レンダリングプロジェクションを利用して生成され、前記二次レンダリングプロジェクションは、前記一次ヒットポイントのクラスタを通して前記基準点の近傍から発せられ、前記サブシーンのレンダリングターゲットテクスチャを生成し、
2)前記二次光線の前記サブシーンとの交差点が探索され、
3)前記交差点は、次世代の二次光線のために保存され、
4)光値が、前記交差点においてサンプリングされ、
5)前記サンプリングされた光値は、前記一次ヒットポイントにフィードバックされ、
e)前記サンプリングされた光値は、前記一次ヒットポイントのために集約されて処理され、
f)前記サンプリングされた光値の処理結果は、画像ピクセルに収束される
システム。
A system for ray tracing augmented objects in a three-dimensional scene using a graphics pipeline, the system comprising:
at least one graphics processor having memory;
at least one general purpose processor having memory;
a geometric database of the three-dimensional scene;
with render target memory and, at runtime,
a) the graphics processor emits a primary rendering projection onto the augmented object to generate clusters of primary hitpoints;
b) the sub-scene space is determined to be targeted by the secondary ray;
c) a reference point is set for the secondary rendering projection;
d) the secondary rendering projection is repeated multiple times, each time tilted, each time
1) A secondary ray is generated using the secondary rendering projection, the secondary rendering projection emanating from the vicinity of the reference point through the cluster of primary hit points to render a render target texture of the subscene. generate and
2) searching for intersections of said secondary rays with said subscene;
3) the intersection points are preserved for subsequent generations of secondary rays;
4) light values are sampled at said intersection points;
5) the sampled light values are fed back to the primary hitpoints;
e) the sampled light values are aggregated and processed for the primary hitpoints;
f) A system in which the processed sampled light values are converged into image pixels.
前記グラフィックスプロセッサは、ハードウェアグラフィックスパイプラインを有するディスクリートGPUである、請求項5に記載のシステム。 6. The system of claim 5, wherein the graphics processor is a discrete GPU with a hardware graphics pipeline. 前記グラフィックスプロセッサは、ハードウェアグラフィックスパイプラインを有する統合型GPUである、請求項5に記載のシステム。 6. The system of claim 5, wherein the graphics processor is an integrated GPU with a hardware graphics pipeline. 非一次光線からのレイトレーシングにおいて二次光線を生じさせるためのコンピュータベースの方法であって、前記方法は、
一次光線が発せられた後に3次元シーンに追加の光線を発するステップ
を含み、前記シーンは、
一次光線によって以前に生成された既存のヒットポイントのクラスタと、
前記シーンのジオメトリックデータを含むジオメトリオブジェクトと
からなり、
前記追加の光線と既存のヒットポイントとの間の交差において、二次光線が前記追加の光線から生じて、各生じた二次光線は、
交差の既存のヒットポイントにおいて発生し、
前記交差の既存のヒットポイントに関連するようになり、
常にその元の発射方向を保持し、
その関連する既存のヒットポイントの前方に位置付けられたジオメトリックオブジェクトとの交差を探索するために使用され
二次光線とジオメトリックオブジェクトとの間の交差は、前記追加の光線の第2のプロジェクションの間に生じ
方法。
A computer-based method for generating secondary rays in ray tracing from non-primary rays, the method comprising:
emitting additional rays into a three-dimensional scene after the primary rays are emitted, said scene comprising:
a cluster of existing hitpoints previously generated by the primary ray, and
a geometry object containing geometric data of said scene;
At intersections between said additional rays and existing hitpoints, secondary rays arise from said additional rays, each resulting secondary ray comprising:
Occurs at an existing hitpoint of the intersection,
become associated with the existing hitpoints of said intersection,
always retains its original firing direction,
used to search for intersections with geometric objects positioned in front of its associated existing hitpoint ,
A method wherein an intersection between a secondary ray and a geometric object occurs during a second projection of said additional ray .
追加の光線と既存のヒットポイントとの間の交差は、前記既存のヒットポイントのクラスタに追加の光線の第1のプロジェクションを発することによって生じる、請求項8に記載の方法。 9. The method of claim 8, wherein the intersection between an additional ray and an existing hitpoint occurs by emitting a first projection of an additional ray onto the cluster of existing hitpoints. 前記投影された追加の光線は、二次光線のための搬送波として使用される、請求項8に記載の方法。 9. The method of claim 8, wherein the projected additional rays are used as carriers for secondary rays. 追加の光線から生じたニ次光線と既存のヒットポイントとの間の関連付けは、前記光線のジオメトリックオブジェクトとの交差の結果が前記既存のヒットポイントに関連することを意味する、請求項8に記載の方法。 9. The method of claim 8, wherein the association between a secondary ray resulting from an additional ray and an existing hitpoint means that the result of intersection of said ray with a geometric object is relative to said existing hitpoint. described method. グラフィックスパイプラインを利用して、拡張オブジェクトの光線追跡反射を現実世界環境の画像に高速に生成するためのコンピュータベースの方法であって、前記方法は、現実世界環境の画像空間において、
a.拡張オブジェクトの反射を作成するための領域を識別するステップと、
b.カメラからの一次光線のプロジェクションを前記識別された領域に発し、一次ヒットポイントのクラスタを生成するステップと、
c.前記一次ヒットポイントのクラスタを通して前記拡張オブジェクトに二次光線のプロジェクションを発し、それによってレンダリングターゲットテクスチャがもたらされるステップと、
d.前記レンダリングターゲットテクスチャから、二次光線と拡張オブジェクトとの間の交差の点を明らかにしてサンプリングするステップと、
e.前記交差点における前記サンプリングされた光値をそれらのそれぞれの一次ヒットポイントに供給するステップと
を含み、
前記一次光線のプロジェクションは、複数回繰り返され、各回の前記一次光線のプロジェクションは、その方向が別の回の方向からランダムに外れるように発せられる、方法。
A computer-based method for rapidly generating ray-traced reflections of an augmented object into an image of a real-world environment utilizing a graphics pipeline, the method comprising:
a. identifying an area for creating a reflection of the augmented object;
b. emitting projections of primary rays from a camera into the identified regions to generate clusters of primary hitpoints;
c. projecting a secondary ray onto the augmented object through the cluster of primary hitpoints, thereby resulting in a render target texture;
d. identifying and sampling points of intersection between secondary rays and dilation objects from the render target texture;
e. and providing the sampled light values at the intersection points to their respective primary hit points ;
The method of claim 1, wherein the projection of the primary ray is repeated multiple times, each time the projection of the primary ray being emitted such that its direction randomly deviates from the direction of another time .
前記反射を作成するための領域の位置及び境界は、カメラの位置、前記拡張オブジェクトの距離及びサイズ、並びに主方向の考慮に従って決定される、請求項1に記載の方法。 13. The method of claim 12 , wherein the position and boundaries of the region for creating the reflection are determined according to camera position, distance and size of the augmented object, and consideration of the main direction. 前記二次光線のプロジェクションは、GPUのZバッファリング機構を利用する、請求項1に記載の方法。 13. The method of claim 12 , wherein the secondary ray projection utilizes a Z-buffering mechanism of a GPU.
JP2019521406A 2018-05-21 2018-05-21 Fast generation of ray-traced reflections of virtual objects in real-world environments Active JP7123041B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IL2018/050549 WO2019224804A1 (en) 2018-05-21 2018-05-21 Fast generation of ray traced reflections of virtual objects in real world environment

Publications (2)

Publication Number Publication Date
JP2021530005A JP2021530005A (en) 2021-11-04
JP7123041B2 true JP7123041B2 (en) 2022-08-22

Family

ID=68617216

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019521406A Active JP7123041B2 (en) 2018-05-21 2018-05-21 Fast generation of ray-traced reflections of virtual objects in real-world environments

Country Status (3)

Country Link
JP (1) JP7123041B2 (en)
CN (1) CN110832549B (en)
WO (1) WO2019224804A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112967369A (en) * 2021-04-20 2021-06-15 北京天空卫士网络安全技术有限公司 Light ray display method and device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007299080A (en) 2006-04-28 2007-11-15 Sgi Japan Ltd Image generation method and image generation device
JP2010134919A (en) 2008-12-05 2010-06-17 Internatl Business Mach Corp <Ibm> System, method, and program for photorealistic imaging using ambient occlusion
JP2013003848A (en) 2011-06-16 2013-01-07 Nippon Telegr & Teleph Corp <Ntt> Virtual object display device

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6844981B2 (en) * 2002-09-25 2005-01-18 Koninklijke Philips Electronics N.V. Non-symmetrical light stop
US20070242239A1 (en) * 2006-04-12 2007-10-18 Arthur Berman Method and Apparatus for Placing Light Modifying Elements in a Projection Lens
CN102243074B (en) * 2010-05-13 2014-06-18 中国科学院遥感应用研究所 Method for simulating geometric distortion of aerial remote sensing image based on ray tracing technology
CN102982575B (en) * 2012-11-29 2015-05-06 杭州挪云科技有限公司 Hair rendering method based on ray tracking
US9483865B2 (en) * 2012-12-26 2016-11-01 Adshir Ltd. Ray shooting method utilizing geometrical stencils
CN103279974A (en) * 2013-05-15 2013-09-04 中国科学院软件研究所 High-accuracy high-resolution satellite imaging simulation engine and implementation method
US10417824B2 (en) * 2014-03-25 2019-09-17 Apple Inc. Method and system for representing a virtual object in a view of a real environment
KR102204919B1 (en) * 2014-06-14 2021-01-18 매직 립, 인코포레이티드 Methods and systems for creating virtual and augmented reality
CN104183007B (en) * 2014-08-12 2017-02-15 中国科学院软件研究所 Thin film interference effect drawing method based on ray tracer
CN104700448B (en) * 2015-03-23 2017-06-20 山东大学 A kind of self adaptation Photon Mapping optimized algorithm based on gradient
CN104700447B (en) * 2015-04-01 2017-04-12 山东大学 Light tracing parallel optimization method based on Intel many-core framework
CN107665501A (en) * 2016-07-29 2018-02-06 北京大学 A kind of Real time changing focus ray tracing rendering engine

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007299080A (en) 2006-04-28 2007-11-15 Sgi Japan Ltd Image generation method and image generation device
JP2010134919A (en) 2008-12-05 2010-06-17 Internatl Business Mach Corp <Ibm> System, method, and program for photorealistic imaging using ambient occlusion
JP2013003848A (en) 2011-06-16 2013-01-07 Nippon Telegr & Teleph Corp <Ntt> Virtual object display device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Artur Lira dos Santos, Diego Lemos, etc.,Real Time Ray Tracing for Augmented Reality,2012 14the Aymposium on Virtual and Augmented Reality,米国,IEEE,2012年05月

Also Published As

Publication number Publication date
JP2021530005A (en) 2021-11-04
CN110832549B (en) 2023-06-27
WO2019224804A1 (en) 2019-11-28
CN110832549A (en) 2020-02-21

Similar Documents

Publication Publication Date Title
US10332304B1 (en) System for fast intersections in ray tracing
US11017582B2 (en) Method for fast generation of path traced reflections on a semi-reflective surface
US11481955B2 (en) System for photo-realistic reflections in augmented reality
US20210201560A1 (en) System for non-planar specular reflections in hybrid ray tracing
US20040181382A1 (en) Visualizing the surface of a liquid
US10991147B1 (en) Creating coherent secondary rays for reflections in hybrid ray tracing
US10410401B1 (en) Spawning secondary rays in ray tracing from non primary rays
US20230017276A1 (en) System for photo-realistic reflections in augmented reality
JP7123041B2 (en) Fast generation of ray-traced reflections of virtual objects in real-world environments
EP4085428A2 (en) Real-time, software-based hybrid ray tracing for battery-powered computing devices
CN117333598B (en) 3D model rendering system and method based on digital scene
US20230090732A1 (en) System and method for real-time ray tracing in a 3d environment
Bernik et al. TEHNIKE RENDERIRANJA I RAČUNALNOG OSVJETLJENJA.
Bernik et al. Rendering and computer lighting techniques
Cunningham et al. An Information-Theoretic Ambient Occlusion

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210510

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210510

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220311

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220404

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220704

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220809

R150 Certificate of patent or registration of utility model

Ref document number: 7123041

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150