Reducing Shading by Merging Fragments from the Adjacent Primitives
Abstract
Instead of shading a triangle from the rasterizer as soon as it is known that there is a sample inside the triangle, in accordance with one embodiment, shading is delayed until the triangle beside it, called the neighboring triangle, is received. If there is a neighboring triangle facing the same way, with non-mutually exclusive coverage, meaning that it is not overlapping the same region, then the shader shades only once for the pair of triangles. That is, two separate fragments are merged and treated as one fragment. Specifically, the fragment that is over the pixel center is the one that is used and the other fragment is replaced by merging. The merger happens only over the extent of a pixel and more than one primitive is not shaded at a time. However, multiple merges within a 2×2 block of pixels are possible.
Claims
exact text as granted — not AI-modified1 - 30 . (canceled)
31 . One or more non-transitory computer readable media storing instructions executed by a processor to perform a sequence comprising:
detecting that a non-silhouette primitive shares an edge with a adjacent second primitive; testing whether the first and second primitives are overlapping; and merging the first and second primitives that share an edge.
32 . The media of claim 1 further storing instructions to perform a sequence including merging the first and second primitives if they are not overlapping.
33 . The media of claim 2 further storing instructions to perform a sequence including using a vertex array data to determine if the first and second primitives have a shared edge.
34 . An apparatus comprising:
a processor to detect that a non-silhouette primitive shares an edge with a adjacent second primitive, test whether the first and second primitives are overlapping, and merge the first and second primitives that share an edge; and a memory coupled to said processor.
35 . The apparatus of claim 34 , said processor to merge the first and second primitives if they are not overlapping.
36 . The apparatus of claim 35 , said processor to use a vertex array data to determine if the first and second primitives have a shared edge.
37 . A system comprising:
a processor to detect that a non-silhouette primitive shares an edge with a adjacent second primitive, test whether the first and second primitives are overlapping, and merge the first and second primitives that share an edge; and a display coupled to said processor.
38 . The system of claim 37 , said processor to merge the first and second primitives if they are not overlapping.
39 . The system of claim 38 , said processor to use a vertex array data to determine if the first and second primitives have a shared edge.Join the waitlist — get patent alerts
Track US2017186227A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.