-
公开(公告)号:US20210398340A1
公开(公告)日:2021-12-23
申请号:US16905844
申请日:2020-06-18
Applicant: NVIDIA Corporation
Inventor: Gregory MUTHLER , John BURGESS , Ronald Charles BABICH, JR. , William Parsons Newhall, JR.
Abstract: Techniques are disclosed for improving the throughput of ray intersection or visibility queries performed by a ray tracing hardware accelerator. Throughput is improved, for example, by releasing allocated resources before ray visibility query results are reported by the hardware accelerator. The allocated resources are released when the ray visibility query results can be stored in a compressed format outside of the allocated resources. When reporting the ray visibility query results, the results are reconstructed based on the results stored in the compressed format. The compressed format storage can be used for ray visibility queries that return no intersections or terminate on any hit ray visibility query. One or more individual components of allocated resources can also be independently deallocated based on the type of data to be returned and/or results of the ray visibility query.
-
公开(公告)号:US20210390759A1
公开(公告)日:2021-12-16
申请号:US16901023
申请日:2020-06-15
Applicant: NVIDIA Corporation
Inventor: Gregory MUTHLER , John BURGESS , Ian Chi Yan KWONG
Abstract: Enhanced techniques applicable to a ray tracing hardware accelerator for traversing a hierarchical acceleration structure and its underlying primitives are disclosed. For example, traversal speed is improved by grouping processing of primitives sharing at least one feature (e.g., a vertex or an edge) during ray-primitive intersection testing. Grouping the primitives for ray intersection testing can reduce processing (e.g., projections and transformations of primitive vertices and/or determining edge function values) because at least a portion of the processing results related to the shared feature in one primitive can be used in determine whether the ray intersects another primitive(s). Processing triangles sharing an edge can double the culling rate of the triangles in the ray/triangle intersection test without replicating the hardware.
-
公开(公告)号:US20210390756A1
公开(公告)日:2021-12-16
申请号:US16897764
申请日:2020-06-10
Applicant: NVIDIA Corporation
Inventor: Gregory MUTHLER , John BURGESS
Abstract: A bounding volume is used to approximate the space an object occupies. If a more precise understanding beyond an approximation is required, the object itself is then inspected to determine what space it occupies. Often, a simple volume (such as an axis-aligned box) is used as bounding volume to approximate the space occupied by an object. But objects can be arbitrary, complicated shapes. So a simple volume often does not fit the object very well. That causes a lot of space that is not occupied by the object to be included in the approximation of the space being occupied by the object. Hardware-based techniques are disclosed herein, for example, for efficiently using multiple bounding volumes (such as axis-aligned bounding boxes) to represent, in effect, an arbitrarily shaped bounding volume to better fit the object, and for using such arbitrary bounding volumes to improve performance in applications such as ray tracing.
-
公开(公告)号:US20200051315A1
公开(公告)日:2020-02-13
申请号:US16101180
申请日:2018-08-10
Applicant: NVIDIA Corporation
Inventor: Samuli Laine , Timo AILA , Tero KARRAS , Gregory MUTHLER , William Parsons NEWHALL, JR. , Ronald Charles BABICH, JR. , Craig KOLB , Ignacio LLAMAS
Abstract: Methods and systems are described in some examples for changing the traversal of an acceleration data structure in a highly dynamic query-specific manner, with each query specifying test parameters, a test opcode and a mapping of test results to actions. In an example ray tracing implementation, traversal of a bounding volume hierarchy by a ray is performed with the default behavior of the traversal being changed in accordance with results of a test performed using the test opcode and test parameters specified in the ray data structure and another test parameter specified in a node of the bounding volume hierarchy. In an example implementation a traversal coprocessor is configured to perform the traversal of the bounding volume hierarchy.
-
公开(公告)号:US20240095994A1
公开(公告)日:2024-03-21
申请号:US17946193
申请日:2022-09-16
Applicant: NVIDIA Corporation
Inventor: Gregory MUTHLER , John BURGESS , Magnus ANDERSSON , Ian KWONG , Edward BIDDULPH
CPC classification number: G06T15/06 , G06T15/005 , G06T15/40 , G06T2210/12 , G06T2210/21
Abstract: Techniques applicable to a ray tracing hardware accelerator for traversing a hierarchical acceleration structure with reduced false positive ray intersections are disclosed. The reduction of false positives may be based upon one or more of selectively performing a secondary higher precision intersection test for a bounding volume, identifying and culling bounding volumes that degenerate to a point, and parametrically clipping rays that exceed certain configured distance thresholds.
-
公开(公告)号:US20240013471A1
公开(公告)日:2024-01-11
申请号:US18471651
申请日:2023-09-21
Applicant: NVIDIA CORPORATION
Inventor: Samuli LAINE , Timo AILA , Tero KARRAS , Gregory MUTHLER , William P. NEWHALL, JR. , Ronald C. BABICH, JR. , Craig KOLB , Ignacio LLAMAS , John BURGESS
CPC classification number: G06T15/06 , G06T15/005 , G06T17/005
Abstract: Methods and systems are described in some examples for changing the traversal of an acceleration data structure in a highly dynamic query-specific manner, with each query specifying test parameters, a test opcode and a mapping of test results to actions. In an example ray tracing implementation, traversal of a bounding volume hierarchy by a ray is performed with the default behavior of the traversal being changed in accordance with results of a test performed using the test opcode and test parameters specified in the ray data structure and another test parameter specified in a node of the bounding volume hierarchy. In an example implementation a traversal coprocessor is configured to perform the traversal of the bounding volume hierarchy.
-
7.
公开(公告)号:US20230316632A1
公开(公告)日:2023-10-05
申请号:US18137418
申请日:2023-04-20
Applicant: NVIDIA Corporation
Inventor: Gregory MUTHLER , John BURGESS
CPC classification number: G06T15/06 , G06F9/5027 , G06T15/08 , G06T17/005 , G06T17/10 , G06T2210/12
Abstract: A bounding volume is used to approximate the space an object occupies. If a more precise understanding beyond an approximation is required, the object itself is then inspected to determine what space it occupies. Often, a simple volume (such as an axis-aligned box) is used as bounding volume to approximate the space occupied by an object. But objects can be arbitrary, complicated shapes. So a simple volume often does not fit the object very well. That causes a lot of space that is not occupied by the object to be included in the approximation of the space being occupied by the object. Hardware-based techniques are disclosed herein, for example, for efficiently using multiple bounding volumes (such as axis-aligned bounding boxes) to represent, in effect, an arbitrarily shaped bounding volume to better fit the object, and for using such arbitrary bounding volumes to improve performance in applications such as ray tracing.
-
公开(公告)号:US20230078932A1
公开(公告)日:2023-03-16
申请号:US17946828
申请日:2022-09-16
Applicant: NVIDIA Corporation
Inventor: John BURGESS , Gregory MUTHLER , Nikhil DIXIT , Henry MORETON , Yury URALSKY , Magnus ANDERSSON , Marco SALVI , Christoph KUBISCH
Abstract: A Displaced Micro-mesh (DMM) primitive enables high complexity geometry for ray and path tracing while minimizing the associated builder costs and preserving high efficiency. A structured, hierarchical representation implicitly encodes vertex positions of a triangle micro-mesh based on a barycentric grid, and enables microvertex displacements to be encoded efficiently (e.g., as scalars linearly interpolated between minimum and maximum triangle surfaces). The resulting displaced micro-mesh primitive provides a highly compressed representation of a potentially vast number of displaced microtriangles that can be stored in a small amount of space. Improvements in ray tracing hardware permit automatic processing of such primitive for ray-geometry intersection testing by ray tracing circuits without requiring intermediate reporting to a shader.
-
公开(公告)号:US20220180593A1
公开(公告)日:2022-06-09
申请号:US17681168
申请日:2022-02-25
Applicant: NVIDIA Corporation
Inventor: Gregory MUTHLER , John BURGESS
Abstract: A bounding volume is used to approximate the space an object occupies. If a more precise understanding beyond an approximation is required, the object itself is then inspected to determine what space it occupies. Often, a simple volume (such as an axis-aligned box) is used as bounding volume to approximate the space occupied by an object. But objects can be arbitrary, complicated shapes. So a simple volume often does not fit the object very well. That causes a lot of space that is not occupied by the object to be included in the approximation of the space being occupied by the object. Hardware-based techniques are disclosed herein, for example, for efficiently using multiple bounding volumes (such as axis-aligned bounding boxes) to represent, in effect, an arbitrarily shaped bounding volume to better fit the object, and for using such arbitrary bounding volumes to improve performance in applications such as ray tracing.
-
公开(公告)号:US20210390755A1
公开(公告)日:2021-12-16
申请号:US16897745
申请日:2020-06-10
Applicant: NVIDIA Corporation
Inventor: Gregory MUTHLER , John BURGESS , James ROBERTSON , Magnus ANDERSSON
Abstract: Enhanced techniques applicable to a ray tracing hardware accelerator for traversing a hierarchical acceleration structure are disclosed. The traversal efficiency of such hardware accelerators are improved, for example, by transforming a ray, in hardware, from the ray's coordinate space to two or more coordinate spaces at respective points in traversing the hierarchical acceleration structure. In one example, the hardware accelerator is configured to transform a ray, received from a processor, from the world space to at least one alternate world space and then to an object space in hardware before a corresponding ray-primitive intersection results are returned to the processor. The techniques disclosed herein facilitate the use of additional coordinate spaces to orient acceleration structures in a manner that more efficiently approximate the space occupied by the underlying primitives being ray-traced.
-
-
-
-
-
-
-
-
-