Single pass surface splatting
AssigneeQUALCOMM Incorporated
InventorPhi Hung Le Nguyen
Life of this patent
Estimating the term…
Abstract
At least one processor may retrieve from a framebuffer a depth value associated with a pixel. The at least one processor may determine whether a fragment depth value associated with a fragment of a splat is within a non-zero offset of the depth value associated with the pixel. Responsive to determining that the fragment depth value associated with the fragment of the splat is within the non-zero offset of the depth value associated with the pixel, the at least one processor may output updated data for the pixel to the framebuffer based at least in part on data associated with the fragment of the splat.
Claims24
A method for rendering, comprising:
- responsive to determining one or more discontinuities between splats of a plurality of splats, generating, by at least one processor, one or more splats for inclusion in the plurality of splats to cover the one or more discontinuities;
- and
- performing, by the at least one processor, an accumulation pass to render the plurality of splats without performing a separate visibility pass, including rendering a fragment of a splat of the plurality of splats into a pixel by:
- determining, by the at least one processor, whether a fragment depth value associated with the fragment of the splat of the plurality of splats is within a non-zero offset of a depth value associated with the pixel that is stored in a framebuffer by comparing the fragment depth value with a previous fragment depth value associated with a previous fragment of the splat that was most recently rendered to the pixel, and
- responsive to determining that the fragment depth value associated with the fragment of the splat is within the non-zero offset of the depth value associated with the pixel, outputting, by the at least one processor, updated data for the pixel, including a fragment color value associated with the fragment, to the framebuffer based at least in part on data associated with the fragment of the splat.
A device configured for of graphics processing comprising:
- a framebuffer;
- and
- at least one processor configured to:
- responsive to determining one or more discontinuities between splats of a plurality of splats, generate one or more splats for inclusion in the plurality of splats to cover the one or more discontinuities;
- and
- perform an accumulation pass to render the plurality of splats without performing a separate visibility pass, including rendering a fragment of a splat of the plurality of splats into a pixel by:
- determining whether a fragment depth value associated with the fragment of the splat of the plurality of splats is within a non-zero offset of a depth value associated with a pixel that is stored in the framebuffer by comparing the fragment depth value with a previous fragment depth value associated with a previous fragment of the splat that was most recently rendered to the pixel, and
- responsive to determining that the fragment depth value associated with the fragment of the splat is within the non-zero offset of the depth value associated with the pixel, outputting updated data for the pixel, including a fragment color value associated with the fragment, to the framebuffer based at least in part on data associated with the fragment of the splat.
A non-transitory computer-readable storage medium having instructions stored thereon that when executed cause one or more processors to:
- responsive to determining one or more discontinuities between splats of a plurality of splats, generate one or more splats for inclusion in the plurality of splats to cover the one or more discontinuities;
- and
- perform an accumulation pass to render the plurality of splats without performing a separate visibility pass, including rendering a fragment of a splat of the plurality of splats into a pixel by:
- determining whether a fragment depth value associated with the fragment of the splat of the plurality of splats is within a non-zero offset of a depth value associated with a pixel that is stored in the framebuffer by comparing the fragment depth value with a previous fragment depth value associated with a previous fragment of the splat that was most recently rendered to the pixel, and
- responsive to determining that the fragment depth value associated with the fragment of the splat is within the non-zero offset of the depth value associated with the pixel, outputting updated data for the pixel, including a fragment color value associated with the fragment, to the framebuffer based at least in part on data associated with the fragment of the splat.
A device comprising:
- means for generating one or more splats for inclusion in a plurality of splats to cover one or more discontinuities between splats of the plurality of splats responsive to determining the one or more discontinuities;
- and
- means for performing an accumulation pass to render the plurality of splats without performing a separate visibility pass, including means for rendering a fragment of a splat of the plurality of splats into a pixel, and further including:
- means for determining whether a fragment depth value associated with the fragment of the splat of the plurality of splats is within a non-zero offset of a depth value associated with the pixel that is stored in a framebuffer by comparing the fragment depth value with a previous fragment depth value associated with a previous fragment of the splat that was most recently rendered to the pixel, and
- means for outputting updated data for the pixel, including a fragment color value associated with the fragment, to the framebuffer based at least in part on data associated with the fragment of the splat responsive to determining that the fragment depth value associated with the fragment of the splat is within the non-zero offset of the depth value associated with the pixel.
Dependencies are inferred from the claim text.