Multi-pass method of generating an image frame of a 3d scene using an object-division based parallel graphics rendering process
Abstract
A multi-pass method of generating an image frame of a 3D scene, using a parallel graphics processing system having a plurality of graphics processing pipelines (GPPLs), including a primary GPPL. In the system, each GPPL includes a color frame buffer and Z depth buffer, and the GPPLs support an object-division based parallel graphics rendering process, in which the 3D scene is decomposed into objects that are assigned to particular GPPLs for processing. The multi-pass method involves, during a first pass, providing a Global Data Map (GDM) to the Z depth buffer of each GPPL. This step involves the transmission of graphics commands and data for all objects in the frame, to all GPPLs to be rendered. Then, during subsequent passes, a complementary-type partial image is generated within the color buffer of each GPPL using the GDM and a Z test filter supported by the Z depth buffer, and transmitting graphics commands and data of objects in the image frame, to only assigned GPPLs. After subsequent passes are performed, a complete color image is recomposited within the primary GPPL, using the complementary-type partial images stored in the color buffers of the GPPLs, without comparing depth values in the Z depth buffers.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A multi-pass method of generating an image frame of a 3D scene, using a parallel graphics processing system having a plurality of graphics processing pipelines (GPPLs), including a primary GPPL, wherein each said GPPL includes a color frame buffer and Z depth buffer, and said GPPLs support an object-division based parallel graphics rendering process, wherein the 3D scene is decomposed into objects that are assigned to particular GPPLs for processing, said multi-pass method comprising: (a) during a first pass, providing a Global Data Map (GDM) to the Z depth buffer of each GPPL involving the transmission of graphics commands and data for all objects in the frame, to all said GPPLs to be rendered; (b) during subsequent passes, generating a complementary-type partial image within the color buffer of each GPPL using said GDM and a Z test filter supported by said Z depth buffer, and transmitting graphics commands and data of objects in the image frame, to only assigned GPPLs; and (c) after said subsequent passes, recompositing a complete color image within said primary GPPL, using the complementary-type partial images stored in the color buffers of said GPPLs, without comparing depth values in said Z depth buffers.
2 . The multi-pass method of claim 1 , which further comprises a hash table in which each entry holds the state of a primitive, which is not assigned to any GPPL, for tracking the appearance of object primitives during the first phase of the method, and a current state buffer for storing a draw command.
3 . A method of eliminating the overdrawing of objects along a plurality of graphics processing pipelines (GPPLs) in a parallel graphics processing system, while generating image frames of objects in a 3D scene, wherein said GPPLs include a primary GPPL, each said GPPL has a Z depth buffer and a color buffer, said 3D scene to be rendered from a viewing direction is decomposed into objects, and said objects are assigned to particular GPPLs for processing for multi-pass rendering with depthless image merging, said method comprising the steps of:
(a) transmitting graphics commands and data for all objects in the image frame, to all said GPPLs to be rendered; (b) within each GPPL, during a first pass, using said graphics commands and data, transmitted in step (a) to locally generate a Global Depth Map (GDM) within the Z depth buffer of said GPPL; (c) transmitting graphics commands and data of objects in the image frame, to only assigned GPPLs; (d) within the color buffer of each GPPL, during subsequent passes, generating a complementary-type partial image consisting of visible pixels only using said GDM, a Z test filter operating on said Z depth buffer, and said graphics commands and data transmitted in step (c), and then storing said complementary-type partial image in the color buffer of said GPPL; and (c) after said subsequent passes, using the complementary-type partial images stored in the color buffers of said GPPLs, to recomposite a complete color image within said primary GPPL, without comparison, recompositing or otherwise using said Z depth buffers.
4 . The method of claim 3 , wherein the generation of said GDM at each GPU is carried out as a computational process within said CPU.
5 . The method of claim 3 , wherein said plurality of GPPLs is realized using CPU-based GPPLs, wherein each GPU-based GPPL comprises a graphics processing unit (GPU) and a video memory.
6 . The method of claim 3 , wherein step (d) comprises generating said complementary-type partial image by (i) rendering without color (i.e. in black) the pixels of objects in the image frame sent to non-assigned GPPLs, and (ii), rendering in color, the pixels of all objects in the image frame sent to assigned-GPPLs.
7 . A computing system supporting parallel 3D graphics rendering of image frames based on the division of objects in 3D scenes while eliminating the overdrawing of objects within graphics processing pipelines (GPPLs), said computing system comprising:
CPU memory space for storing one or more graphics-based applications and a graphics library for generating graphics commands and data (GCAD) during the run-time of the graphics-based applications; one or more CPUs for executing said graphics-based applications; and a parallel graphics processing system (i) having multiple graphics processing pipelines (GPPLs), (ii) supporting object division based parallelism among said GPPLs wherein said 3D scene to be rendered is decomposed into objects; wherein said GPPLs include a primary GPPL, and each said GPPL has a Z depth buffer and a color buffer; wherein during a first pass involved in rendering an image frame, graphics commands and data for all objects in the image frame are transmitted to all said GPPLs to be rendered: wherein graphics commands and data transmitted to each GPPL during said first pass are used to locally generate a Global Depth Map (GDM) within the Z depth buffer of said GPPL; wherein, during pixel rendering processing, pixel depth values are compared within each GPPL using said locally generated GDM; wherein during a subsequent pass involved in rending said image frame, graphics commands and data for objects in the image frame are transmitted to only assigned GPPLs; wherein, within h color buffer of each GPPL, a complementary-type partial image consisting of visible pixels only (i) is generated using said GDM, a Z test filter operating on said Z depth buffer, and said graphics commands and data transmitted to said GPPL, and then (ii) stored in the color buffer of said GPPL; and wherein within said primary GPPL, a complete color image is recomposited without comparison or recompositing said Z depth buffers, and using only the complementary-type partial images stored in the color buffers of said GPPLs, while eliminating the overdrawing of objects within said GPPLs.
8 . The computing system of claim 7 , wherein the generation of said GDM each GPU is carried out using a computational process within said GPU.
9 . The computing system of claim 7 , wherein said plurality of GPPLs is realized using GPU-based GPPLs, wherein each GPU-based GPPL comprises a graphics processing unit (GPU) and a frame buffer.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.