Methods and Systems for Rendering Virtual Reality Content Based on Two-Dimensional (2D) Captured Imagery of a Three-Dimensional (3D) Scene
US-2019385356-A1 · Dec 19, 2019 · US
US12400286B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12400286-B2 |
| Application number | US-202418440793-A |
| Country | US |
| Kind code | B2 |
| Filing date | Feb 13, 2024 |
| Priority date | Feb 3, 2020 |
| Publication date | Aug 26, 2025 |
| Grant date | Aug 26, 2025 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A method for graphics processing. The method including rendering graphics for an application using graphics processing units (GPUs). The method including using the plurality of GPUs in collaboration to render an image frame including a plurality of pieces of geometry. The method including during the rendering of the image frame, subdividing one or more of the plurality of pieces of geometry into smaller pieces, and dividing the responsibility for rendering these smaller portions of geometry among the plurality of GPUs, wherein each of the smaller portions of geometry is processed by a corresponding GPU. The method including for those pieces of geometry that are not subdivided, dividing the responsibility for rendering the pieces of geometry among the plurality of GPUs, wherein each of these pieces of geometry is processed by a corresponding GPU.
Opening claim text (preview).
What is claimed is: 1. A method for graphics processing, comprising: using a plurality of graphics processing units (GPUs) in collaboration to render an image frame including a plurality of geometry, wherein the plurality of geometry includes one or more pieces of geometry; generating information during a Z pre-pass phase of rendering by at least determining an overlap of each of the plurality of geometry for the image frame with each of a plurality of screen regions; assigning the plurality of screen regions to the plurality of GPUs for performing a geometry pass phase of rendering for the image frame based on the information; determining timing information for each of the plurality of GPUs during execution of the geometry pass phase of rendering for the image frame by the plurality of GPUs, wherein the timing information is related to execution of the geometry pass phase of rendering for the one or more pieces of geometry for the image frame by the each of plurality of GPUs; and dynamically reassigning the plurality of screen regions to the plurality of GPUs based on the timing information during execution of the geometry pass phase of rendering for the image frame. 2. The method of claim 1 , wherein the dynamically reassigning the plurality of screen regions includes: reassigning a first screen region initially assigned to a first GPU to a second GPU during the geometry pass phase of rendering. 3. The method of claim 1 , further comprising: reassigning a geometry from a first GPU to a second GPU for processing during the geometry pass phase of rendering based on the timing information. 4. The method of claim 1 , wherein the timing information, for a corresponding GPU, tracks progress of completing the geometry pass phase of rendering on one or more corresponding screen regions assigned to the corresponding GPU. 5. The method of claim 4 , further comprising: determining a first GPU is behind a second GPU based on the timing information when performing the geometry pass phase of rendering; and reassigning less screen regions to the first GPU than the second GPU when performing the dynamically reassigning the plurality of screen regions to the plurality of GPUs, wherein a first progress of the first GPU completing the geometry pass phase of rendering is behind a second progress of the second GPU completing the geometry pass phase of rendering. 6. The method of claim 1 , wherein one or more of the plurality of GPUs are portions of a larger GPU that is configured as a plurality of virtual GPUs. 7. A computer system comprising: a processor; and memory coupled to the processor and having stored therein instructions that, if executed by the computer system, cause the computer system to execute a method for graphics processing, comprising: using a plurality of graphics processing units (GPUs) in collaboration to render an image frame including a plurality of geometry, wherein the plurality of geometry includes one or more pieces of geometry; generating information during a Z pre-pass phase of rendering by at least determining an overlap of each of the plurality of geometry for the image frame with each of a plurality of screen regions; assigning the plurality of screen regions to the plurality of GPUs for performing a geometry pass phase of rendering for the image frame based on the information; determining timing information for each of the plurality of GPUs during execution of the geometry pass phase of rendering for the image frame by the plurality of GPUs, wherein the timing information is related to execution of the geometry pass phase of rendering for the one or more pieces of geometry for the image frame by the each of plurality of GPUs; and dynamically reassigning the plurality of screen regions to the plurality of GPUs based on the timing information during execution of the geometry pass phase of rendering for the image frame. 8. The computer system of claim 7 , wherein in the method the dynamically reassigning the plurality of screen regions includes: reassigning a first screen region initially assigned to a first GPU to a second GPU during the geometry pass phase of rendering. 9. The computer system of claim 7 , the method further comprising: reassigning a geometry from a first GPU to a second GPU for processing during the geometry pass phase of rendering based on the timing information. 10. The computer system of claim 7 , wherein in the method the timing information, for a corresponding GPU, tracks progress of completing the geometry pass phase of rendering on one or more corresponding screen regions assigned to the corresponding GPU. 11. The computer system of claim 10 , the method further comprising: determining a first GPU is behind a second GPU based on the timing information when performing the geometry pass phase of rendering; and reassigning less screen regions to the first GPU than the second GPU when performing the dynamically reassigning the plurality of screen regions to the plurality of GPUs, wherein a first progress of the first GPU completing the geometry pass phase of rendering is behind a second progress of the second GPU completing the geometry pass phase of rendering. 12. The computer system of claim 7 , wherein in the method one or more of the plurality of GPUs are portions of a larger GPU that is configured as a plurality of virtual GPUs. 13. A non-transitory computer-readable medium storing a computer program for graphics processing, the computer readable medium comprising: program instructions for using a plurality of graphics processing units (GPUs) in collaboration to render an image frame including a plurality of geometry, wherein the plurality of geometry includes one or more pieces of geometry; program instructions for generating information during a Z pre-pass phase of rendering by at least determining an overlap of each of the plurality of geometry for the image frame with each of a plurality of screen regions; program instructions for assigning the plurality of screen regions to the plurality of GPUs for performing a geometry pass phase of rendering for the image frame based on the information; program instructions for determining timing information for each of the plurality of GPUs during execution of the geometry pass phase of rendering for the image frame by the plurality of GPUs, wherein the timing information is related to execution of the geometry pass phase of rendering for the one or more pieces of geometry for the image frame by the each of plurality of GPUs; and program instructions for dynamically reassigning the plurality of screen regions to the plurality of GPUs based on the timing information during execution of the geometry pass phase of rendering for the image frame. 14. The non-transitory computer-readable medium of claim 13 , wherein the program instructions for dynamically reassigning the plurality of screen regions includes: program instructions for reassigning a first screen region initially assigned to a first GPU to a second GPU during the geometry pass phase of rendering. 15. The non-transitory computer-readable medium of claim 13 , further comprising: program instructions for reassigning a geometry from a first GPU to a second GPU for processing during the geometry pass phase of rendering based on the timing information. 16. The non-transitory computer-readable medium of claim 13 , wherein in the program instructions for reassigning the geometry from a first GPU to a second GPU, the timing information, for a corresponding GPU, tracks progress of completing the geometry pass phase of rendering on on
Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes · CPC title
using a secondary processor, e.g. coprocessor (peripheral processor G06F13/12) · CPC title
Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution · CPC title
Task transfer initiation or dispatching · CPC title
Buffers; Shared memory; Pipes · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.