JP6948226B2 - 加速構造を生成する方法及びその装置 - Google Patents
加速構造を生成する方法及びその装置 Download PDFInfo
- Publication number
- JP6948226B2 JP6948226B2 JP2017211625A JP2017211625A JP6948226B2 JP 6948226 B2 JP6948226 B2 JP 6948226B2 JP 2017211625 A JP2017211625 A JP 2017211625A JP 2017211625 A JP2017211625 A JP 2017211625A JP 6948226 B2 JP6948226 B2 JP 6948226B2
- Authority
- JP
- Japan
- Prior art keywords
- bounding box
- primitives
- primitive
- aligned
- ray
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/06—Ray-tracing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/55—Radiosity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/80—Shading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/005—Tree description, e.g. octree, quadtree
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/12—Bounding box
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Image Generation (AREA)
Description
20 画面
30 一次光線
40 反射光線
50 屈折光線
60 シャドー光線
70 シーンオブフェクト
100 レイトレーシングコア
110 光線生成ユニット
120 TRVユニット
130 ISTユニット
140 シェーディングユニット
200 加速構造生成装置
210 加速構造生成部
210 プロセッサ
220 メモリ
250 外部メモリ
251 加速構造
252 幾何データ
800 三次元空間
Claims (20)
- 少なくとも1つのプロセッサによって、光線追跡に使用される加速構造を生成する方法において、
三次元空間に含まれた複数のプリミティブそれぞれの位置を示す線形コードを生成する段階と、
前記生成された線形コードにより、前記複数のプリミティブを整列させる段階と、
前記整列された複数のプリミティブを生成されたバウンディングボックスへ順次に入力しながら、前記生成されたバウンディングボックスのサイズ変化比率を決定する段階と、
前記生成されたバウンディングボックスのサイズ変化比率に基づいて、前記整列された複数のプリミティブのうち1つを選択する段階と、
前記選択されたプリミティブに従って、前記整列された複数のプリミティブを複数の決定されたバウンディングボックスへと区分する段階と、
を含む、方法。 - 前記決定する段階は、
前記整列された複数のプリミティブのうち第1プリミティブが含まれたバウンディングボックスに、前記第1プリミティブの次の順に整列された第2プリミティブを入力する段階と、
前記第1プリミティブが含まれたバウンディングボックスに対する、前記第1プリミティブ及び前記第2プリミティブが含まれたバウンディングボックスの増大比率を決定する段階と、
を含む、ことを特徴とする請求項1に記載の方法。 - 前記選択する段階は、
前記整列された複数のプリミティブのうち、前記生成されたバウンディングボックスのサイズの変化が最大であるプリミティブを選択する、
ことを特徴とする請求項1に記載の方法。 - 前記複数のプリミティブそれぞれの位置は、
前記三次元空間での前記複数のプリミティブそれぞれの中心の座標情報に基づいて決定される、
ことを特徴とする請求項1に記載の方法。 - 前記区分する段階は、
前記整列された複数のプリミティブを、第1バウンディングボックスと第2バウンディングボックスへと区分し、
前記第1バウンディングボックスは、前記選択されたプリミティブ、及び、前記選択されたプリミティブの前に整列された少なくとも1つのプリミティブを含み、かつ、
前記第2バウンディングボックスは、前記選択されたプリミティブの後に整列された少なくとも1つのプリミティブを含む、
ことを特徴とする請求項1に記載の方法。 - 前記方法は、さらに、
前記第1バウンディングボックスに対応する第1ノード、及び、前記第2バウンディングボックスに対応する第2ノードを生成する段階と、
前記第1ノード及び前記第2ノードを、前記加速構造の子ノードとして追加する段階と、
を含む、ことを特徴とする請求項5に記載の方法。 - 前記方法は、さらに、
前記整列に基づいて加重値を設定する段階を、含み、
前記選択する段階は、
前記設定された加重値、及び、前記生成されたバウンディングボックスのサイズ変化比率に基づいて、前記整列された複数のプリミティブのうち1つを選択する、
ことを特徴とする請求項1に記載の方法。 - 前記設定する段階は、
前記整列された複数のプリミティブの整列順序の中心から遠くなるほど前記加重値を減少させる、
ことを特徴とする請求項7に記載の方法。 - 前記線形コードは、
モートンコードを含む、
ことを特徴とする請求項1に記載の方法。 - 光線追跡に使用される加速構造を生成する装置であって、
三次元空間に含まれた複数のプリミティブそれぞれの位置に関する前記加速構造及び情報を保存するメモリと、
プロセッサであり、
前記複数のプリミティブそれぞれの位置に関する線形コードにより、前記複数のプリミティブを整列させ、
前記整列された複数のプリミティブを生成されたバウンディングボックスへ順次に入力しながら、前記生成されたバウンディングボックスのサイズ変化比率を決定し、
前記生成されたバウンディングボックスのサイズ変化比率に基づいて、前記整列された複数のプリミティブのうち1つを選択し、かつ、
前記選択されたプリミティブに従って、前記整列された複数のプリミティブを複数の決定されたバウンディングボックスへと区分する、
ように構成されている、プロセッサと、
を含む、装置。 - 前記プロセッサは、
前記整列された複数のプリミティブのうち第1プリミティブが含まれたバウンディングボックスに、前記第1プリミティブの次の順に整列された第2プリミティブを入力し、かつ、
前記第1プリミティブが含まれたバウンディングボックスに対する、前記第1プリミティブ及び前記第2プリミティブが含まれたバウンディングボックスの増大比率を決定する、
ことを特徴とする請求項10に記載の装置。 - 前記プロセッサは、
前記整列された複数のプリミティブのうち、前記生成されたバウンディングボックスのサイズの変化が最大であるプリミティブを選択する、ように構成されている、
ことを特徴とする請求項10に記載の装置。 - 前記複数のプリミティブそれぞれの位置は、
前記三次元空間での前記複数のプリミティブそれぞれの中心の座標情報に基づいて決定される、
ことを特徴とする請求項10に記載の装置。 - 前記プロセッサは、
前記整列された複数のプリミティブを、第1バウンディングボックスと第2バウンディングボックスへと区分する、ように構成されており、
前記第1バウンディングボックスは、前記選択されたプリミティブ、及び、前記選択されたプリミティブの前に整列された少なくとも1つのプリミティブを含み、かつ、
前記第2バウンディングボックスは、前記選択されたプリミティブの後に整列された少なくとも1つのプリミティブを含む、
ことを特徴とする請求項10に記載の装置。 - 前記プロセッサは、
前記第1バウンディングボックスに対応する第1ノード、及び、前記第2バウンディングボックスに対応する第2ノードを生成し、かつ、
前記第1ノード及び前記第2ノードを、前記加速構造の子ノードとして追加する、ように構成されている、
ことを特徴とする請求項14に記載の装置。 - 前記プロセッサは、
前記複数のプリミティブの整列順によって加重値を設定し、かつ、
前記設定された加重値、及び、前記生成されたバウンディングボックスのサイズ変化比率に基づいて、前記整列された複数のプリミティブのうち1つを選択する、ように構成されている、
ことを特徴とする請求項10に記載の装置。 - 前記プロセッサは、
前記整列された複数のプリミティブの整列順序の中心から遠くなるほど前記加重値を減少させる、ように構成されている、
ことを特徴とする請求項16に記載の装置。 - 前記線形コードは、
モートンコードを含む、
ことを特徴とする請求項10に記載の装置。 - プログラムを保管している非一時的なコンピュータで読取り可能な記憶媒体であって、
コンピュータによって実行されると、請求項1に記載の方法を前記コンピュータに実行させる、
コンピュータで読取り可能な記憶媒体。 - 前記バウンディングボックスのサイズ変化は、前記バウンディングボックスの表面積の変化である、
ことを特徴とする請求項1に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2016-0146908 | 2016-11-04 | ||
KR1020160146908A KR20180050124A (ko) | 2016-11-04 | 2016-11-04 | 가속 구조를 생성하는 방법 및 장치 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2018073427A JP2018073427A (ja) | 2018-05-10 |
JP2018073427A5 JP2018073427A5 (ja) | 2020-12-10 |
JP6948226B2 true JP6948226B2 (ja) | 2021-10-13 |
Family
ID=60190749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017211625A Active JP6948226B2 (ja) | 2016-11-04 | 2017-11-01 | 加速構造を生成する方法及びその装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10460506B2 (ja) |
EP (1) | EP3319047B1 (ja) |
JP (1) | JP6948226B2 (ja) |
KR (1) | KR20180050124A (ja) |
CN (1) | CN108022284B (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10839598B2 (en) * | 2016-07-26 | 2020-11-17 | Hewlett-Packard Development Company, L.P. | Indexing voxels for 3D printing |
PL3938894T3 (pl) | 2019-03-15 | 2024-02-19 | Intel Corporation | Zarządzanie pamięcią wielokafelkową dla wykrywania dostępu krzyżowego między kafelkami, zapewnianie skalowanie wnioskowania dla wielu kafelków i zapewnianie optymalnej migracji stron |
US11398072B1 (en) * | 2019-12-16 | 2022-07-26 | Siemens Healthcare Gmbh | Method of obtaining a set of values for a respective set of parameters for use in a physically based path tracing process and a method of rendering using a physically based path tracing process |
US20230206378A1 (en) * | 2021-12-23 | 2023-06-29 | Nvidia Corporation | Hardware-accelerated nearest neighbor queries for arbitrary data primitives |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7580927B1 (en) | 2001-05-29 | 2009-08-25 | Oracle International Corporation | Quadtree center tile/boundary tile optimization |
US8018457B2 (en) | 2006-09-19 | 2011-09-13 | Caustic Graphics, Inc. | Ray tracing system architectures and methods |
GB0710795D0 (en) | 2007-06-05 | 2007-07-18 | Arm Norway As | Method of and apparatus for processing graphics |
US8063902B2 (en) | 2007-10-12 | 2011-11-22 | Caustic Graphics, Inc. | Method and apparatus for increasing efficiency of transmission and/or storage of rays for parallelized ray intersection testing |
US8072460B2 (en) | 2007-10-17 | 2011-12-06 | Nvidia Corporation | System, method, and computer program product for generating a ray tracing data structure utilizing a parallel processor architecture |
US8237711B2 (en) | 2007-11-19 | 2012-08-07 | Caustic Graphics, Inc. | Tracing of shader-generated ray groups using coupled intersection testing |
US8773422B1 (en) | 2007-12-04 | 2014-07-08 | Nvidia Corporation | System, method, and computer program product for grouping linearly ordered primitives |
US8390618B2 (en) * | 2008-03-03 | 2013-03-05 | Intel Corporation | Technique for improving ray tracing performance |
JP5244977B2 (ja) | 2008-09-22 | 2013-07-24 | コースティック グラフィックス インコーポレイテッド | レイトレーシングシェーダapiのためのシステム及び方法 |
US8379022B2 (en) | 2008-09-26 | 2013-02-19 | Nvidia Corporation | Fragment shader for a hybrid raytracing system and method of operation |
US8243073B2 (en) | 2009-01-28 | 2012-08-14 | International Business Machines Corporation | Tree insertion depth adjustment based on view frustum and distance culling |
KR101004110B1 (ko) | 2009-05-28 | 2010-12-27 | 주식회사 실리콘아츠 | 레이 트레이싱 코어 및 이를 포함하는 레이 트레이싱 칩 |
US8441482B2 (en) | 2009-09-21 | 2013-05-14 | Caustic Graphics, Inc. | Systems and methods for self-intersection avoidance in ray tracing |
US8472455B2 (en) | 2010-01-08 | 2013-06-25 | Nvidia Corporation | System and method for traversing a treelet-composed hierarchical structure |
US8780112B2 (en) | 2011-06-08 | 2014-07-15 | Pacific Data Images Llc | Coherent out-of-core point-based global illumination |
US20130033507A1 (en) | 2011-08-04 | 2013-02-07 | Nvidia Corporation | System, method, and computer program product for constructing an acceleration structure |
CN105957134B (zh) * | 2011-08-05 | 2019-11-08 | 想象技术有限公司 | 用于3-d场景加速结构创建和更新的方法和装置 |
GB2545589A (en) * | 2012-11-02 | 2017-06-21 | Imagination Tech Ltd | On demand geometry and acceleration structure creation |
US9317948B2 (en) | 2012-11-16 | 2016-04-19 | Arm Limited | Method of and apparatus for processing graphics |
US20140340412A1 (en) | 2013-05-14 | 2014-11-20 | The Provost, Fellows, Foundation Scholars, & the other members of Board, et al. | Hardware unit for fast sah-optimized bvh constrution |
US10331632B2 (en) | 2013-06-10 | 2019-06-25 | Nvidia Corporation | Bounding volume hierarchies through treelet restructuring |
KR102164541B1 (ko) * | 2013-10-22 | 2020-10-12 | 삼성전자 주식회사 | 레이 트레이싱 시스템에서의 가속 구조 생성 장치 및 그 생성 방법 |
US10347042B2 (en) | 2014-03-13 | 2019-07-09 | Pixar | Importance sampling of sparse voxel octrees |
US9990758B2 (en) | 2014-03-31 | 2018-06-05 | Intel Corporation | Bounding volume hierarchy generation using a heterogeneous architecture |
US9697640B2 (en) * | 2014-04-21 | 2017-07-04 | Qualcomm Incorporated | Start node determination for tree traversal in ray tracing applications |
KR102244619B1 (ko) * | 2014-09-30 | 2021-04-26 | 삼성전자 주식회사 | 가속 구조를 생성 및 탐색하는 방법 |
CN105117533B (zh) * | 2015-08-03 | 2018-05-22 | 常州赞云软件科技有限公司 | 家装设计软件中光线跟踪算法的加速方法 |
-
2016
- 2016-11-04 KR KR1020160146908A patent/KR20180050124A/ko active Search and Examination
-
2017
- 2017-08-29 US US15/689,266 patent/US10460506B2/en active Active
- 2017-09-06 CN CN201710794757.6A patent/CN108022284B/zh active Active
- 2017-10-27 EP EP17198959.3A patent/EP3319047B1/en active Active
- 2017-11-01 JP JP2017211625A patent/JP6948226B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
KR20180050124A (ko) | 2018-05-14 |
US20180130249A1 (en) | 2018-05-10 |
CN108022284A (zh) | 2018-05-11 |
EP3319047A1 (en) | 2018-05-09 |
JP2018073427A (ja) | 2018-05-10 |
CN108022284B (zh) | 2023-06-02 |
US10460506B2 (en) | 2019-10-29 |
EP3319047B1 (en) | 2021-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102604737B1 (ko) | 가속 구조를 생성하는 방법 및 장치 | |
JP6948226B2 (ja) | 加速構造を生成する方法及びその装置 | |
JP6476090B2 (ja) | 加速構造の生成及び探索を行う方法並びに装置 | |
KR102197067B1 (ko) | 멀티 프레임들의 동일한 영역을 연속으로 렌더링하는 방법 및 장치 | |
KR20180069461A (ko) | 가속 구조를 생성하는 방법 및 장치 | |
TWI546770B (zh) | 圖形處理單元中3d加速結構之完全並列原地建構 | |
KR102242566B1 (ko) | 레이 트레이싱 처리 장치 및 방법 | |
US10586374B2 (en) | Bounding volume hierarchy using virtual grid | |
KR20150039496A (ko) | 이전 렌더링의 결과를 이용하여 광선을 추적하는 방법 및 장치 | |
KR102252374B1 (ko) | 광선 추적 유닛 및 광선 데이터를 처리하는 방법 | |
JP2018073427A5 (ja) | ||
KR20150136347A (ko) | 레이 트레이싱 시스템에서의 가속 구조 탐색 장치 및 그 탐색 방법 | |
KR102537530B1 (ko) | 가속 구조를 생성하는 방법 및 장치 | |
KR20150034062A (ko) | 동일한 그룹의 데이터를 라우팅하는 방법 및 장치, 렌더링 유닛을 재구성하는 방법 및 장치 | |
KR102467031B1 (ko) | 가속 구조를 생성 및 탐색하는 방법 | |
KR101228118B1 (ko) | 다각형 중요도에 기반을 둔 교차 검사 가속화 자료 구조 구성 방법 | |
KR20130124125A (ko) | 공간 가속 구조 탐색 장치 및 방법 | |
Domaradzki et al. | Fracturing sparse-voxel-octree objects using dynamical voronoi patterns | |
Wang | Accelerating Ray Tracing with Range Query Data Structures | |
KR20160133358A (ko) | 트리 구조를 생성하는 장치 및 방법 | |
Christoph | Gpu-based visualisation of viewshed from roads or areas in a 3d environment | |
Forstmann et al. | Visualizing large procedural volumetric terrains using nested clip-boxes | |
Patil et al. | Web-based Visualization Tools to Demonstrate the Working of Sorting and Pathfinding Algorithms | |
Hanson | Adaptive level-of-detail representations for real-time simulation of natural environments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20201030 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201030 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210812 |
|
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: 20210824 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210917 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6948226 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |