-
公开(公告)号:US20210082177A1
公开(公告)日:2021-03-18
申请号:US17108346
申请日:2020-12-01
Applicant: Nvidia Corporation
Inventor: Christoph Kubisch , Ziyad Hakura , Manuel Kraemer
Abstract: The disclosure provides a cloud-based renderer and methods of rendering a scene on a computing system using a combination of raytracing and rasterization. In one example, a method of rendering a scene includes: (1) generating at least one raytracing acceleration structure from scene data of the scene, (2) selecting raytracing and rasterization algorithms for rendering the scene based on the scene data, and (3) rendering the scene utilizing a combination of the raytracing algorithms and the rasterization algorithms, wherein the rasterization algorithms utilize primitive cluster data from the raytracing acceleration structures.
-
公开(公告)号:US20200372703A1
公开(公告)日:2020-11-26
申请号:US16420996
申请日:2019-05-23
Applicant: Nvidia Corporation
Inventor: Christoph Kubisch , Ziyad Hakura , Manuel Kraemer
Abstract: The disclosure is directed to methods and processes of rendering a complex scene using a combination of raytracing and rasterization. The methods and processes can be implemented in a video driver or software library. A developer of an application can provide information to an application programming interface (API) call as if a conventional raytrace API is being called. The method and processes can analyze the scene using a variety of parameters to determine a grouping of objects within the scene. The rasterization algorithm can use as input primitive cluster data retrieved from raytracing acceleration structures. Each group of objects can be rendered using its own balance of raytracing and rasterization to improve rendering performance while maintaining a visual quality target level.
-
公开(公告)号:US11468630B2
公开(公告)日:2022-10-11
申请号:US17108346
申请日:2020-12-01
Applicant: Nvidia Corporation
Inventor: Christoph Kubisch , Ziyad Hakura , Manuel Kraemer
Abstract: The disclosure provides a cloud-based renderer and methods of rendering a scene on a computing system using a combination of raytracing and rasterization. In one example, a method of rendering a scene includes: (1) generating at least one raytracing acceleration structure from scene data of the scene, (2) selecting raytracing and rasterization algorithms for rendering the scene based on the scene data, and (3) rendering the scene utilizing a combination of the raytracing algorithms and the rasterization algorithms, wherein the rasterization algorithms utilize primitive cluster data from the raytracing acceleration structures.
-
4.
公开(公告)号:US10909739B2
公开(公告)日:2021-02-02
申请号:US15881566
申请日:2018-01-26
Applicant: NVIDIA Corporation
Inventor: Ziyad Hakura , Yury Uralsky , Christoph Kubisch , Pierre Boudier , Henry Moreton
Abstract: In various embodiments, a parallel processor implements a graphics processing pipeline that generates rendered images. In operation, the parallel processor causes execution threads to execute a task shading program on an input mesh to generate a task shader output specifying a mesh shader count. The parallel processor then generates mesh shader identifiers, where the total number of the mesh shader identifiers equals the mesh shader count. For each mesh shader identifier, the parallel processor invokes a mesh shader based on the mesh shader identifier and the task shader output to generate geometry associated with the mesh shader identifier. Subsequently, the parallel processor performs operations on the geometries associated with the mesh shader identifiers to generate a rendered image. Advantageously, unlike conventional graphics processing pipelines, the performance of the graphics processing pipeline is not limited by a primitive distributor.
-
公开(公告)号:US12260486B2
公开(公告)日:2025-03-25
申请号:US17946828
申请日:2022-09-16
Applicant: NVIDIA Corporation
Inventor: John Burgess , Gregory Muthler , Nikhil Dixit , Henry Moreton , Yury Uralsky , Magnus Andersson , Marco Salvi , Christoph Kubisch
IPC: G06T15/50 , G06T1/60 , G06T9/00 , G06T15/00 , G06T15/06 , G06T15/40 , G06T17/10 , G06T17/20 , G06T19/20
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.
-
公开(公告)号:US12249022B2
公开(公告)日:2025-03-11
申请号:US17946515
申请日: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.
-
公开(公告)号:US10853994B1
公开(公告)日:2020-12-01
申请号:US16420996
申请日:2019-05-23
Applicant: Nvidia Corporation
Inventor: Christoph Kubisch , Ziyad Hakura , Manuel Kraemer
Abstract: The disclosure is directed to methods and processes of rendering a complex scene using a combination of raytracing and rasterization. The methods and processes can be implemented in a video driver or software library. A developer of an application can provide information to an application programming interface (API) call as if a conventional raytrace API is being called. The method and processes can analyze the scene using a variety of parameters to determine a grouping of objects within the scene. The rasterization algorithm can use as input primitive cluster data retrieved from raytracing acceleration structures. Each group of objects can be rendered using its own balance of raytracing and rasterization to improve rendering performance while maintaining a visual quality target level.
-
8.
公开(公告)号:US10600229B2
公开(公告)日:2020-03-24
申请号:US15881564
申请日:2018-01-26
Applicant: NVIDIA Corporation
Inventor: Ziyad Hakura , Yury Uralsky , Christoph Kubisch , Pierre Boudier , Henry Moreton
Abstract: In various embodiments, a parallel processor implements a graphics processing pipeline that generates rendered images via a shading program. In operation, the parallel processor causes a first set of execution threads to execute the shading program on a first portion of the input mesh to generate first geometry stored in an on-chip memory. The parallel processor also causes a second set of execution threads to execute the mesh shading program on a second portion of the input mesh to generate second geometry stored in the on-chip memory. Subsequently, the parallel processor reads the first geometry and the second geometry from the on-chip memory, and performs operations on the first geometry and the second geometry to generate a rendered image derived from the input mesh. Advantageously, unlike conventional graphics processing pipelines, the performance of the graphics processing pipeline is not limited by a primitive distributor.
-
公开(公告)号:US09489763B2
公开(公告)日:2016-11-08
申请号:US13719073
申请日:2012-12-18
Applicant: NVIDIA Corporation
Inventor: Christoph Kubisch , Markus Tavenrath
CPC classification number: G06T15/005 , G06F9/3887 , G06T1/60
Abstract: One embodiment sets forth a method for processing draw calls that includes setting up a plurality of shader input buffers in memory, receiving shader input data related to a graphics scene from a software application, storing the shader input data in the plurality of shader input buffers, computing a pointer to each shader input buffer included in the plurality of shader input buffers, and passing the pointers to the plurality of shader input buffers to the software application. By implementing the disclosed techniques, a shader program advantageously can access the shader input data associated with a graphics scene and stored in various shader input buffers without having to go through the central processing unit to have the shader input buffers binded to the shader program.
Abstract translation: 一个实施例提出了一种处理绘图调用的方法,包括在存储器中设置多个着色器输入缓冲器,从软件应用接收与图形场景相关的着色器输入数据,将着色器输入数据存储在多个着色器输入缓冲器中, 计算指向包括在多个着色器输入缓冲器中的每个着色器输入缓冲器的指针,以及将指针传递到多个着色器输入缓冲器到软件应用程序。 通过实现所公开的技术,着色器程序有利地可以访问与图形场景相关联并且存储在各种着色器输入缓冲器中的着色器输入数据,而不必经过中央处理单元以使着色器输入缓冲器与着色器程序绑定。
-
公开(公告)号:US09342857B2
公开(公告)日:2016-05-17
申请号:US13853531
申请日:2013-03-29
Applicant: NVIDIA Corporation
Inventor: Christoph Kubisch , Markus Tavenrath
IPC: G06T1/20
CPC classification number: G06T1/20
Abstract: One embodiment sets forth a method for modifying draw calls using a draw-call shader program included in a processing subsystem configured to process draw calls. The draw call shader receives a draw call from a software application, evaluates graphics state information included in the draw call, generates modified graphics state information, and generates a modified draw call that includes the modified graphics state information. Subsequently, the draw-call shader causes the modified draw call to be executed within a graphics processing pipeline. By performing the computations associated with generating the modified draw call on-the-fly within the processing subsystem, the draw-call shader decreases the amount of system memory required to render graphics while increasing the overall processing efficiency of the graphics processing pipeline.
Abstract translation: 一个实施例提出了一种使用包括在配置成处理绘制调用的处理子系统中的绘制调用着色器程序来修改绘图调用的方法。 绘图调用着色器从软件应用程序接收绘图调用,评估包含在绘图调用中的图形状态信息,生成修改的图形状态信息,并生成包含修改的图形状态信息的修改的绘图调用。 随后,绘图调用着色器使修改后的绘图调用在图形处理流水线中执行。 通过在处理子系统内执行与生成修改的绘图调用相关联的计算,绘图调用着色器减少渲染图形所需的系统内存量,同时增加图形处理流水线的整体处理效率。
-
-
-
-
-
-
-
-
-