Claims
- 1. A graphics system comprising:
a graphics processor operable to receive 3D graphics data, wherein the graphics processor is operable to render a plurality of samples from the 3D graphics data; a sample buffer coupled to said graphics processor for storing said samples; and a sample-to-pixel calculation unit coupled to said sample buffer, wherein the sample-to-pixel calculation unit is operable to select and filter stored samples to generate output pixels to a display, wherein the graphics system is operable to display a plurality of windows on the display, wherein the graphics systems maintains a window ID value for at least a subset of the windows displayed on the display device, wherein, for a respective window, the window ID value specifies a sample mode for pixels displayed in the respective window, and wherein the sample mode indicates a number of samples used in generating the output pixels to the display.
- 2. The graphics system of claim 1, wherein said samples comprise a plurality of bits, wherein a subset of said bits defines said window ID.
- 3. The graphics system of claim 1, wherein said pixels comprise a plurality of bits, wherein a subset of said bits defines said window ID.
- 4. The graphics system of claim 1, wherein said pixels comprise a plurality of bits, wherein a subset of said bits defines one or more of said samples, and wherein another subset of said bits defines said window ID.
- 5. The graphics system of claim 1, wherein the sample mode includes a first sample mode indicating a plurality of samples per pixel, and wherein the sample mode includes a second sample mode indicating one sample per pixel.
- 6. The graphics system of claim 5,
wherein the graphics system is operable to utilize a plurality of samples in generating each of a first plurality of output pixels in a first window; wherein the graphics system is operable to utilize only a single sample in generating each of a second plurality of output pixels in a second window.
- 7. The graphics system of claim 5,
wherein a first window includes a first sample mode indicating a plurality of samples per pixel for pixels displayed in the first window, and wherein a second window includes a second sample mode indicating one sample per pixel for pixels displayed in the second window; wherein the first window includes a first plurality of output pixels, and wherein the second window includes a second plurality of output pixels; wherein the graphics system is operable to utilize a plurality of samples in generating each of the first plurality of output pixels in the first window; wherein the graphics system is operable to utilize a single sample in generating each of the second plurality of output pixels in the second window.
- 8. The graphics system of claim 1, wherein the window ID further specifies one or more of a sample mode, source attributes, and color attributes.
- 9. The graphics system of claim 8, wherein said source attributes comprise one or more of a double-buffer attribute, and an overlay attribute.
- 10. The graphics system of claim 8, wherein said color attributes comprise one or more of a true color/pseudo-color attribute, gamma-correction attribute, anti-aliasing attribute, depth-of-field attribute, brighter-than-bright attribute.
- 11. The graphics system of claim 1, further comprising:
a memory storing a look up table, wherein the look up table is addressable using a window ID value, wherein the look up table stores one or more of a sample mode, source attributes, and color attributes.
- 12. The graphics system of claim 11, wherein said source attributes comprise one or more of a double-buffer attribute, and an overlay attribute.
- 13. The graphics system of claim 11, wherein said color attributes comprise one or more of a true color/pseudo-color attribute, gamma-correction attribute, anti-aliasing attribute, depth-of-field attribute, brighter-than-bright attribute
- 14. The graphics system of claim 1,
wherein the graphics system is operable to receive graphics commands from an external device, wherein said graphics commands are designed for use in a legacy graphics system utilizing a frame buffer; wherein the graphics system is operable to emulate operation of a frame buffer in processing the graphics commands.
- 15. The graphics system of claim 8, wherein the sample mode includes a first sample mode indicating a plurality of samples per pixel, and wherein the sample mode includes a second sample mode indicating one sample per pixel;
wherein the graphics system is operable to utilize the second sample mode indicating one sample per pixel to emulate operation of the frame buffer.
- 16. The graphics system of claim 15, wherein the graphics commands include a window ID value indicating usage of the second sample mode.
- 17. The graphics system of claim 8, wherein the graphics commands comprise pixel write commands for writing pixels into a frame buffer;
wherein the graphics processor is operable to render one sample value into the sample buffer in response to each pixel write command.
- 18. The graphics system of claim 17, wherein, for each respective pixel specified by a pixel write command, the graphics processor is further operable to replicate said one sample value into other sample positions corresponding to the respective pixel.
- 19. The graphics system of claim 17, wherein, for each respective pixel specified by a pixel write command, the sample-to-pixel calculation unit is operable to use said one sample value in generating the respective pixel for display.
- 20. The graphics system of claim 8, wherein the graphics commands are X-Windows graphics commands.
- 21. The graphics system of claim 1, wherein the sample-to-pixel calculation unit is operable to select and filter stored samples and generate output pixels which are provided directly to a display with no frame buffer therebetween.
- 22. The graphics system of claim 1, wherein said sample buffer is configured to double buffer at least a portion of each stored sample.
- 23. The graphics system of claim 1, wherein said sample-to-pixel calculation unit is configured to filter samples to form output pixels on one of: a real-time basis or an on-the-fly basis.
- 24. A method for generating pixels for display in a graphics system, the method comprising:
receiving 3D graphics data; rendering a plurality of samples into a sample buffer in response to the 3D graphics data; and generating output pixels in response to the samples stored in the sample buffer, wherein said generating includes selecting and filtering stored samples to generate the output pixels to the display, wherein at least one of said rendering and said generating operates according to a sample mode, wherein, for a respective window, said sample mode is determined according to a window ID of the respective window.
- 25. The method of claim 24, wherein said samples comprise a plurality of bits, wherein a subset of said bits defines said window ID.
- 26. The method of claim 24, wherein said pixels comprise a plurality of bits, wherein a subset of said bits defines said window ID.
- 27. The method of claim 24, wherein said pixels comprise a plurality of bits, wherein a subset of said bits defines one or more of said samples, and wherein another subset of said bits defines said window ID.
- 28. The method of claim 24,
wherein said rendering comprises rendering a first set of samples according to a first sample mode indicating a plurality of samples per pixel, wherein said rendering comprises rendering a second set of samples according to a second sample mode indicating one sample per pixel.
- 29. The method of claim 24, wherein said rendering according to a second sample mode comprises
- 30. The method of claim 24,
wherein said generating comprises generating a first set output pixels according to a first sample mode indicating a plurality of samples per pixel, and wherein said generating comprises generating a second set of output pixels according to a second sample mode indicating one sample per pixel.
- 31. The method of claim 30,
wherein said generating comprises utilizing the first set of samples in generating a first set of output pixels in a first window; wherein said generating comprises utilizing the second set of samples in generating a second set of output pixels in a second window.
- 32. The method of claim 24, wherein said receiving 3D graphics data comprises, receiving graphics commands from an external device, wherein said graphics commands are designed for use in a legacy graphics system utilizing a frame buffer;
wherein at least of one of said rendering and said generating emulate operation of the frame buffer in processing the graphics commands.
- 33. The method of claim 32, wherein said receiving graphics commands comprises receiving X-Windows graphics commands.
- 34. The method of claim 32, wherein said receiving graphics commands comprises receiving window ID information with said graphics commands, wherein said window ID information indicates usage of a second sample mode.
- 35. The method of claim 32, wherein said receiving graphics commands comprises receiving, for a respective pixel, a pixel write command supplying a value to the frame buffer corresponding to each respective pixel; and
wherein said rendering further comprises rendering one sample value into the sample buffer in response to each pixel write command.
- 36. The method of claim 32,
wherein said rendering comprises rendering a plurality of samples according to a first sample mode indicating a plurality of samples per pixel, and wherein said rendering comprises rendering a second set of samples according to a second sample mode indicating one sample per pixel; wherein said rendering according to the second sample mode comprises emulating a frame buffer.
- 37. The method of claim 34, wherein said receiving graphics commands further comprises replicating the value received with the pixel command to other samples corresponding to each respective pixel.
- 38. The method of claim 34, wherein said generating comprises generating, for each respective pixel, a pixel value corresponding said value supplied by said pixel write command.
- 39. The method of claim 24, wherein said generating output pixels comprises selecting and filtering stored samples to generate output pixels which are provided directly to the display with no frame buffer therebetween.
- 40. The method of claim 24, wherein said rendering the plurality of samples into the sample buffer includes double buffering at least a portion of each stored sample.
- 41. The method of claim 24, wherein said generating comprises selecting and filtering stored samples to form output pixels on one of: a real-time basis or an on-the-fly basis.
- 42. A graphics system comprising:
a graphics processor operable to receive 3D graphics data, wherein the graphics processor is operable to render a plurality of samples from the 3D graphics data; a sample buffer coupled to said graphics processor for storing said samples; and a sample-to-pixel calculation unit coupled to said sample buffer, wherein the sample-to-pixel calculation unit is operable to select and filter stored samples to generate output pixels to a display, wherein the graphics system is operable to display a plurality of windows on the display, wherein the graphics systems maintains a window ID value for at least a subset of the windows displayed on the display device, wherein, for a respective window, the window ID value specifies one or more of a filter type or a sample mode for pixels displayed in the respective window, and wherein the sample mode indicates a number of samples used in generating the output pixels to the display.
- 43. The graphics system of claim 42, wherein said samples comprise a plurality of bits, wherein a subset of said bits defines said window ID.
- 44. The graphics system of claim 42, wherein said pixels comprise a plurality of bits, wherein a subset of said bits defines said window ID.
- 45. The graphics system of claim 42, wherein said pixels comprise a plurality of bits, wherein a subset of said bits defines one or more of said samples, and wherein another subset of said bits defines said window ID.
- 46. The method of claim 42, wherein said filter type is chosen from one or more of an averaging filter, a convolution filter, a summing filter, a filtering function, a weighting filter, and a randomized function filter.
- 47. The method of claim 46, wherein said convolution filter is chosen from one or more of a sinc pulse filter, a triangle sinc filter, a Gaussian filter, and a Catmull-Rom filter.
PRIORITY CLAIM
[0001] This patent application claims the benefit of U.S. provisional patent application No. 60/190223, filed on Mar. 17, 2000, titled “A Graphics System Having a Super-Sampled Sample Buffer that Utilizes a Window ID to Specify Pixel Characteristics” and U.S. Provisional Application No. 60/175,384, filed on Jan. 11, 2000, and titled “Photorealistic Hardware Antialiasing”.
Provisional Applications (2)
|
Number |
Date |
Country |
|
60190223 |
Mar 2000 |
US |
|
60175384 |
Jan 2000 |
US |