Optimizing a graphics rendering pipeline using early Z-mode
US-8933933-B2 · Jan 13, 2015 · US
US10297067B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10297067-B2 |
| Application number | US-201415028277-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 8, 2014 |
| Priority date | Oct 10, 2013 |
| Publication date | May 21, 2019 |
| Grant date | May 21, 2019 |
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.
Provided are methods and apparatuses for adjusting the processing sequence of draw commands for rendering images. The rendering method including determining, at a processing sequence determiner, previous draw commands that are identical to current draw commands; de-termining a processing sequence of the current draw commands based on depth information of the determined previous draw commands; and performing a Z-test on the current draw commands based on the processing sequence, and performing shading based on a result of the Z-test.
Opening claim text (preview).
The invention claimed is: 1. A rendering method comprising: searching a draw command history buffer for binding information of previous draw commands that is identical to binding information of current draw commands; determining, at a processing sequence determiner, the previous draw commands that are identical to the current draw commands, based on comparing the binding information of the current draw commands with the binding information of the previous draw commands, and determining the previous draw commands that are identical to the current draw commands based on a result of the comparison, wherein binding information of a given draw command is information indicating which data the given draw command uses as an input; obtaining depth values of the determined previous draw commands that are identical to the current draw commands from the draw command history buffer, and comparing the obtained depth values; adjusting a processing sequence of the current draw commands based on an ascending order of the obtained depth values of the determined previous draw commands that are identical to the current draw commands; performing a Z-test on the current draw commands based on the adjusted processing sequence, wherein the performing of the Z-test includes comparing depth values of duplicate fragments in a same pixel, and outputting only a fragment having a smallest depth value among the duplicate fragments in the same pixel for shading based on a result of the comparison; and performing shading of only the output fragment based on a result of the Z-test, wherein shading is not performed for any fragment having a greater depth value than the output fragment among the duplicate fragments in the same pixel. 2. The rendering method of claim 1 , wherein the adjusting of the processing sequence comprises comparing depth values of objects included in the determined previous draw commands, and adjusting the processing sequence of the current draw commands in an ascending order of the depth values of the objects. 3. The rendering method of claim 1 , further comprising generating primitive lists for the current draw commands, wherein the adjusting of the processing sequence comprises comparing depth values of the primitive lists, and adjusting the processing sequence of the current draw commands in an ascending order of the depth values of the primitive lists. 4. The rendering method of claim 1 , further comprising obtaining a depth value by performing geometry processing on a current draw command that has no identical previous draw command from among the current draw commands, wherein the adjusting of the processing sequence comprises determining a processing sequence of the current draw commands based on the obtained depth value. 5. The rendering method of claim 1 , further comprising storing, in the draw command history buffer, information of a current draw command that has no identical previous draw command. 6. The rendering method of claim 5 , wherein the information of the current draw command that has no identical previous draw command comprises at least one of a draw command ID, binding information, or depth information of the current draw command. 7. The rendering method of claim 1 , further comprising generating fragments based on the current draw commands. 8. A rendering apparatus comprising: a memory storing a program of instructions; and a processor configured to execute the program of instructions to search a draw command history buffer for binding information of previous draw commands that is identical to binding information of current draw commands, determine the previous draw commands that are identical to the current draw commands, based on comparing the binding information of the current draw commands with the binding information of the previous draw commands, and determining the previous draw commands that are identical to the current draw commands based on a result of the comparison, wherein binding information of a given draw command is information indicating which data the given draw command uses as an input, obtain depth values of the determined previous draw commands that are identical to the current draw commands from the draw command history buffer, and compare the obtained depth values, adjust a processing sequence of the current draw commands based on an ascending order of the obtained depth values of the determined previous draw commands that are identical to the current draw commands, perform a Z-test on the current draw commands according to the adjusted processing sequence, wherein the performing of the Z-test includes comparing depth values of duplicate fragments in a same pixel, and outputting only a fragment having a smallest depth value among the duplicate fragments in the same pixel for shading based on a result of the comparison, and perform shading of only the output fragment based on a result of the Z-test, wherein shading is not performed for any fragment having a greater depth value than the output fragment among the duplicate fragments in the same pixel. 9. The rendering apparatus of claim 8 , the processor further configured to execute the program of instructions to compare depth values of objects included in the determined previous draw commands, and adjust the processing sequence of the current draw commands in an ascending order of the depth values of the objects. 10. The rendering apparatus of claim 8 , the processor further configured to execute the program of instructions to generate primitive lists for the current draw commands, compare depth values of the primitive lists, and adjust the processing sequence of the current draw commands in an ascending order of the depth values of the primitive lists. 11. The rendering apparatus of claim 8 , the processor further configured to execute the program of instructions to obtain a depth value by performing geometry processing on a current draw command that has no identical previous draw command from among the current draw commands, and determine a processing sequence of the current draw command that has no identical previous draw command based on the obtained depth value. 12. The rendering apparatus of claim 8 , the processor further configured to execute the program of instructions to store, in the draw command history buffer, information of a current draw command that has no identical previous draw command, wherein the information of the current draw command that has no identical previous draw command comprises at least one of a draw command ID, binding information, or depth information of the current draw command. 13. A non-transitory computer-readable recording medium having embodied thereon a program for executing the rendering method of claim 1 . 14. A rendering method comprising: receiving current draw commands; searching a draw command history buffer for binding information of previous draw commands that is identical to binding information of the current draw commands; determining, at a processing sequence determiner, the previous draw commands that are identical to the current draw commands based on comparing the binding information of the current draw commands with the binding information of the previous draw commands, and determining the previous draw commands that are identical to the current draw commands based on a result of the comparison, wherein binding information of a given draw command is information indicating which data the given draw command uses as an input; obtaining depth values of the determined previous draw commands that are identical to the current draw commands from the draw command history buffer, and
Depth or shape recovery · CPC title
General purpose rendering architectures · CPC title
Shading · CPC title
using Z-buffer · CPC title
Memory management · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.