Forward mapping is provided, which accumulates and resolves over all samples forward mapped to each pixel bin. During accumulation and resolution of each of the samples, since a point sample from a forefront object and a point sample from an occluded object may be received by the same bin, wherein only the former should be accumulated and resolved according to the accumulation and resolution process, a Z-range, or Z-interval, is assigned to each sample instead of the conventional Z-value. The Z-range is a function of the Z-value. Analysis of the overlapping of these Z-ranges then determines which samples are to be accumulated and resolved together according to the accumulation and resolution process, and which are not.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A method of rendering visual content to a display device having a plurality of pixels, comprising: receiving at least one sample in each bin of a buffer, wherein at least two samples are received in at least one bin of the buffer, wherein each sample includes a Z-value reflecting an orthogonal distance of the sample front a plane of a display of the display device defined by said plurality of pixels; and for each bin, assigning a Z-range to each of said at least one sample in the bin, and if the Z-range of the first sample of said at least one sample does not overlap the Z-range of a second sample, setting the Z-interval for the bin to the Z-range of the first sample if the first sample's Z-range is in front of the second sample's Z-range, and to the Z-range of the second sample if the Z-range of the second sample is in front of the Z-range of the first sample, wherein the second sample is discarded if the first sample's Z-range is in front of the second sample's Z-range, and the first sample is discarded if the Z-range of the second sample is in front of the Z-range of the first sample, and wherein the second sample is stored temporarily if the first sample's Z-range is in front of the second sample's Z-range in case the Z-interval for the bin subsequently overlaps with the second sample's Z-range, and the first sample is temporarily stored if the Z-range of the second sample is in front of the Z-range of the first sample in case the Z-interval for the bin subsequently overlaps with the first sample's Z-range.
2. A method according to claim 1 , further including for each bin, if the Z-range of a first sample of said at least one sample overlaps the Z-range of a second sample, setting a Z-interval for the bin to have a low limit which is the lower of the low limit of the Z-range for the first sample and the low limit for the Z-range for the second sample.
3. A method according to claim 1 , further including for each bin, if the Z-range of the first sample of said at least one sample overlaps the Z-range of a second sample, setting the Z-interval for the bin to have a high limit which is the higher of the high limit of the Z-range for the first sample and the high limit for the Z-range for the second sample.
4. A method according to claim 1 , wherein said assigning includes: calculating said Z-range for each sample based on a function of at least one of (A) the Z-value for the sample and (B) a Z-value for a neighbor of the sample from a geometry map from where the samples originated.
5. A method according to claim 4 , wherein said Z-range for each sample is set at a width such that the Z-value for said sample and at least one neighbor of the sample has a Z-value that are in said Z-range.
6. A method according to claim 1 , further including for each bin, accumulating at least one sample that has a Z-value in said Z-interval for the bin; and resolving said accumulated at least one sample.
7. A method according to claim 6 , further including: calculating at least one pixel value of a pixel associated with said bin in accordance with the output of said resolving.
8. A method according to claim 1 , wherein the buffer is a frame buffer and a pixel of the display device is set based upon at least one of said at least one sample in accordance with an analysis of at least one Z-range.
9. At least one of an operating system, driver code, an application programming interface, a tool kit and a coprocessing device for providing the image rendering of claim 1 .
10. A computing device comprising means for performing the method of claim 1 .
11. A system for rendering visual content to a display device having a plurality of pixels comprising: a frame buffer comprising a plurality of bins, wherein each bin receives at least one sample, whereby a pixel of the display device is set based upon at least one of said at least one sample and wherein each sample includes a Z-value reflecting an orthogonal distance of the sample from a plane of a display of the display device defined by said plurality of pixels; a Z-range assigning component for assigning a Z-range to each of said at least one sample in each bin; and a Z-interval setting component for setting a Z-interval for each bin, wherein if the Z-range of the first sample of said at least one sample does not overlap the Z-range of a second sample, the setting component sets the Z-interval for the bin to the Z-range of the first sample if the first sample's Z-range is in front of the second sample's Z-range, and to the Z-range of the second sample if the Z-range of the second sample is in front of the Z-range of the first sample, and wherein the second sample is discarded if the first sample's Z-range is in front of the second sample's Z-range, and the first sample is discarded if the Z-range of the second sample is in front of the Z-range of the first sample, and wherein the second sample is stored temporarily if the first sample's Z-range is in front of the second sample's Z-range in case the Z-interval for the bin subsequently overlaps with the second sample's Z-range, and the first sample is temporarily stored if the Z-range of the second sample is in front of the Z-range of the first sample in case the Z-interval for the bin subsequently overlaps with the first sample's Z-range.
12. A system according to claim 11 , wherein if the Z-range of a first sample of said at least one sample in each bin overlaps the Z-range of a second sample, the setting component sets a Z-interval for the bin to have a low limit which is the lower of the low limit of the Z-range for the first sample and the low limit for the Z-range for the second sample.
13. A system according to claim 11 , wherein if the Z-range of the first sample of said at least one sample overlaps the Z-range of a second sample, the setting component sets the Z-interval for the bin to have a high limit which is the higher of the high limit of the Z-range for the first sample and the high limit for the Z-range for the second sample.
14. A system according to claim 11 , wherein said Z-range assigning component calculates said Z-range for each sample based on a function of at least one of (A) the Z-value for the sample and (B) a Z-value for a neighbor of the sample from a geometry map from where the samples originated.
15. A system according to claim 14 , wherein said Z-range for each sample is set at a width such that the Z-value for said sample and at least one neighbor of the sample has a Z-value that are in said Z-range.
16. A system according to claim 11 , further including an accumulating component for accumulating at least one sample that has a Z-value in said Z-interval for each bin; and a resolution component for resolving said samples accumulated by said accumulating component.
17. A system according to claim 16 , further including: a rasterizing component that calculates at least one pixel value of a pixel associated with the bin in accordance with the output of said resolving.
18. At least one computer readable medium for rendering visual content to a display device having a plurality of pixels having stored thereon a plurality of computer-executable modules comprising computer executable instructions, the modules comprising: buffering means comprising a plurality of bins, wherein each bin receives at least one sample, whereby a pixel of the display device is set based upon at least one of said at least one sample and wherein each sample includes a Z-value reflecting an orthogonal distance of the sample from a plane of a display of the display device defined by said plurality of pixels; Z-range assigning means for assigning a Z-range to each of said at least one sample in each bin; and Z-interval setting means for setting a Z-interval for each bin based upon an analysis of at least one Z-range of a sample in the bin, wherein if the Z-range of the first sample of said at least one sample does not overlap the Z-range of a second sample, the setting means sets the Z-interval for the bin to the Z-range of the first sample if the first sample's Z-range is in front of the second sample's Z-range, and to the Z-range of the second sample if the Z-range of the second sample is in front of the Z-range of the first sample, wherein the second sample is discarded if the first sample's Z-range is in front of the second sample's Z-range, and the first sample is discarded if the Z-range of the second sample is in front of the Z-range of the first sample, and wherein the second sample is stored temporarily if the first sample's Z-range is in front of the second sample's Z-range in case the Z-interval for the bin subsequently overlaps with the second sample's Z-range, and the first sample is temporarily stored if the Z-range of the second sample is in front of the Z-range of the first sample in case the Z-interval for the bin subsequently overlaps with the first sample's Z-range.
19. At least one computer readable medium according to claim 18 , wherein if the Z-range of a first sample of said at least one sample in each bin overlaps the Z-range of a second sample, the setting means sets a Z-interval for the bin to have a low limit which is the lower of the low limit of the Z-range for the first sample and the low limit for the Z-range for the second sample.
20. At least one computer readable medium according to claim 18 , wherein if the Z-range of the first sample of said at least one sample overlaps the Z-range of a second sample, the setting means sets the Z-interval for the bin to have a high limit which is the higher of the high limit of the Z-range for the first sample and the high limit for the Z-range for the second sample.
21. At least one computer readable medium according to claim 18 , wherein said Z-range assigning means calculates said Z-range for each sample based on a function of at least one of (A) the Z-value for the sample and (B) a Z-value for a neighbor of the sample from a geometry map from where the samples originated.
22. At least one computer readable medium according to claim 21 , wherein said Z-range for each sample is set at a width such that the Z-value for said sample and at least one neighbor of the sample has a Z-value that are in said Z-range.
23. At least one computer readable medium according to claim 18 , further including accumulating means for accumulating at least one sample that has a Z-value in said Z-interval for each bin; and resolution means for resolving said samples accumulated by said accumulating means.
24. At least one computer readable medium according to claim 18 , further including: rasterizing means that calculates at least one pixel value of a pixel associated with the bin in accordance with the output of said resolving.
25. A computing device for use in connection with image rendering, comprising the modules of claim 18 .
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
June 28, 2002
October 10, 2006
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.