Systems and methods for providing forward mapping with visibility for and resolution of accumulated samples
AssigneeMicrosoft Corporation
InventorJohn Michael Snyder
Life of this patent
Estimating the term…
Abstract
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.
Claims25
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.
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.
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.
Dependencies are inferred from the claim text.