-
公开(公告)号:US12067669B2
公开(公告)日:2024-08-20
申请号:US18198949
申请日:2023-05-18
Applicant: NVIDIA Corporation
Inventor: Samuli Laine , Tero Karras , Timo Aila , Robert Ohannessian , William Parsons Newhall, Jr. , Greg Muthler , Ian Kwong , Peter Nelson , John Burgess
CPC classification number: G06T15/06 , G06T15/005
Abstract: A hardware-based traversal coprocessor provides acceleration of tree traversal operations searching for intersections between primitives represented in a tree data structure and a ray. The primitives may include triangles used in generating a virtual scene. The hardware-based traversal coprocessor is configured to properly handle numerically challenging computations at or near edges and/or vertices of primitives and/or ensure that a single intersection is reported when a ray intersects a surface formed by primitives at or near edges and/or vertices of the primitives.
-
公开(公告)号:US12020367B2
公开(公告)日:2024-06-25
申请号:US17669430
申请日:2022-02-11
Applicant: NVIDIA Corporation
Inventor: Gregory Muthler , John Burgess , James Robertson , Magnus Anderson
CPC classification number: G06T15/06 , G06F9/5027 , G06T1/20 , G06T15/005 , G06T15/08 , G06T17/10 , G06T2210/12
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.
-
53.
公开(公告)号:US11928772B2
公开(公告)日:2024-03-12
申请号:US17889545
申请日:2022-08-17
Applicant: NVIDIA Corporation
Inventor: Greg Muthler , Ronald Charles Babich, Jr. , William Parsons Newhall, Jr. , Peter Nelson , James Robertson , John Burgess
CPC classification number: G06T15/06 , G06F9/3877 , G06N5/046 , G06T1/20 , G06T1/60 , G06T17/005
Abstract: In a ray tracer, to prevent any long-running query from hanging the graphics processing unit, a traversal coprocessor provides a preemption mechanism that will allow rays to stop processing or time out early. The example non-limiting implementations described herein provide such a preemption mechanism, including a forward progress guarantee, and additional programmable timeout options that can be time or cycle based. Those programmable options provide a means for quality of service timing guarantees for applications such as virtual reality (VR) that have strict timing requirements.
-
公开(公告)号:US11816783B2
公开(公告)日:2023-11-14
申请号:US17829954
申请日:2022-06-01
Applicant: NVIDIA Corporation
Inventor: Gregory Muthler , John Burgess
CPC classification number: G06T15/06 , G06F9/30094 , G06F9/5027 , G06T15/08 , G06T17/005 , G06T2210/12
Abstract: Enhanced techniques applicable to a ray tracing hardware accelerator for traversing a hierarchical acceleration structure are disclosed. For example, traversal efficiency is improved by combining programmable traversals based on ray operations with per-node static configurations that modify traversal behavior. The per-node static configurations enable creators of acceleration data structures to optimize for potential traversals without necessarily requiring detailed information about ray characteristics and ray operations used when traversing the acceleration structure. Moreover, by providing for selective exclusion of certain nodes using per-node static configurations, less memory is needed to express an acceleration structure that includes, for example, different geometric levels of details corresponding to a single object.
-
公开(公告)号:US11804000B2
公开(公告)日:2023-10-31
申请号:US17513023
申请日:2021-10-28
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.
-
公开(公告)号:US11790595B2
公开(公告)日:2023-10-17
申请号:US17490024
申请日:2021-09-30
Applicant: NVIDIA Corporation
Inventor: Samuli Laine , Tero Karras , Greg Muthler , William Parsons Newhall, Jr. , Ronald Charles Babich, Jr. , Ignacio Llamas , John Burgess
CPC classification number: G06T15/06 , G06T1/20 , G06T15/005 , G06T2210/21
Abstract: A hardware-based traversal coprocessor provides acceleration of tree traversal operations searching for intersections between primitives represented in a tree data structure and a ray. The primitives may include opaque and alpha triangles used in generating a virtual scene. The hardware-based traversal coprocessor is configured to determine primitives intersected by the ray, and return intersection information to a streaming multiprocessor for further processing. The hardware-based traversal coprocessor is configured to provide a deterministic result of intersected triangles regardless of the order that the memory subsystem returns triangle range blocks for processing, while opportunistically eliminating alpha intersections that lie further along the length of the ray than closer opaque intersections.
-
公开(公告)号:US11302056B2
公开(公告)日:2022-04-12
申请号:US16897909
申请日:2020-06-10
Applicant: NVIDIA Corporation
Inventor: Gregory Muthler , John Burgess
Abstract: Ray tracing hardware accelerators supporting multiple specifiers for controlling the traversal of a ray tracing acceleration data structure are disclosed. For example, traversal efficiency and complex ray tracing effects can be achieved by specifying traversals through such data structures using both programmable ray operations and explicit node masking. The explicit node masking utilizes dedicated fields in the ray and in nodes of the acceleration data structure to control traversals. Ray operations, however, are programmable per ray using opcodes and additional parameters to control traversals. Traversal efficiency is improved by enabling more aggressive culling of parts of the data structure based on the combination of explicit node masking and programmable ray operations. More complex ray tracing effects are enabled by providing for dynamic selection of nodes based on individual ray characteristics.
-
58.
公开(公告)号:US10825232B2
公开(公告)日:2020-11-03
申请号:US16749089
申请日:2020-01-22
Applicant: NVIDIA Corporation
Inventor: Greg Muthler , Tero Karras , Samuli Laine , William Parsons Newhall, Jr. , Ronald Charles Babich, Jr. , John Burgess , Ignacio Llamas
IPC: G06T15/06
Abstract: A hardware-based traversal coprocessor provides acceleration of tree traversal operations searching for intersections between primitives represented in a tree data structure and a ray. The primitives may include opaque and alpha triangles used in generating a virtual scene. The hardware-based traversal coprocessor is configured to determine primitives intersected by the ray, and return intersection information to a streaming multiprocessor for further processing. The hardware-based traversal coprocessor is configured to omit reporting of one or more primitives the ray is determined to intersect. The omitted primitives include primitives which are provably capable of being omitted without a functional impact on visualizing the virtual scene.
-
59.
公开(公告)号:US10580196B1
公开(公告)日:2020-03-03
申请号:US16101066
申请日:2018-08-10
Applicant: NVIDIA Corporation
Inventor: Greg Muthler , Tero Karras , Samuli Laine , William Parsons Newhall, Jr. , Ronald Charles Babich, Jr. , John Burgess , Ignacio Llamas
IPC: G06T15/06
Abstract: A hardware-based traversal coprocessor provides acceleration of tree traversal operations searching for intersections between primitives represented in a tree data structure and a ray. The primitives may include opaque and alpha triangles used in generating a virtual scene. The hardware-based traversal coprocessor is configured to determine primitives intersected by the ray, and return intersection information to a streaming multiprocessor for further processing. The hardware-based traversal coprocessor is configured to omit reporting of one or more primitives the ray is determined to intersect. The omitted primitives include primitives which are provably capable of being omitted without a functional impact on visualizing the virtual scene.
-
-
-
-
-
-
-
-