Polygon span interpolator with main memory Z buffer
First Claim
1. A system for manipulating data for display on a display device, comprising:
- a memory for storing data to be displayed;
a processing unit for processing said data at respective clock states thereof; and
memory controller means responsive to said processing unit for selectively accessing said data in said memory, said memory controller means including a free running processor whose processes are initiated by said processing unit but which processes predetermined coordinate data from said processing unit independent of the clock states of the processing unit and stores said processed predetermined coordinate data in a predetermined portion of said memory.
3 Assignments
0 Petitions
Accused Products
Abstract
A scan converter incorporating a polygon span interpolator with main memory Z buffering. The span interpolator is initiated by instructions from a central processing unit (CPU), and when initiated, the span interpolator inerpolates input color and Z values in parallel. The span interpolator has its own state machine and can, once initiated, operate independent of the clock states of the CPU so that the CPU may process other data. Also, rather than using a dedicated memory as the Z buffer, the Z buffer shares main memory with the CPU. This allows the CPU to send pretranslated initial Z buffer addresses to the span interpolator when the span interpolator is initiated. Subsequent Z buffer addresses and color data addresses may be calculated in parallel with the input color and Z interpolations. Also, since the successive main memory and graphics addresses are known by the software, the memory controller of the invention allows data to be moved directly from main memory to the graphics address without CPU intervention and without having to pass the data through the data caches of the CPU. This greatly improves data transfer efficiencies since the cache penalties present in prior art software scan converters are not present.
-
Citations
17 Claims
-
1. A system for manipulating data for display on a display device, comprising:
-
a memory for storing data to be displayed; a processing unit for processing said data at respective clock states thereof; and memory controller means responsive to said processing unit for selectively accessing said data in said memory, said memory controller means including a free running processor whose processes are initiated by said processing unit but which processes predetermined coordinate data from said processing unit independent of the clock states of the processing unit and stores said processed predetermined coordinate data in a predetermined portion of said memory. - View Dependent Claims (2, 3)
-
-
4. A computer graphics workstation for manipulating graphics data for display on a graphics display device, comprising:
-
main memory means for storing said graphics data; a processing unit for processing said graphics data at respective clock states thereof; and memory controller means responsive to said processing unit for selectively accessing said graphics data in said main memory means, said memory controller means including a free running span processor whose processes are initiated by said processing unit but which processes predetermined coordinate data independent of the clock states of the processing unit and stores said processed predetermined coordinate data in a predetermined portion of said main memory means. - View Dependent Claims (5, 6, 7, 8, 9)
-
-
10. A computer graphics workstation for manipulating graphics data for display on a graphics display device, comprising:
-
main memory means for storing said graphics data; a processing unit for processing said graphics data at respective clock states thereof; a graphics sub-system for outputting said processed graphics data for display on said graphics display device; and memory controller means responsive to said processing unit for selectively accessing said graphics data in said main memory means, said memory controller means including a free running span processor whose processes are initiated by said processing unit but which processes coordinate data in a predetermined coordinate direction independent of said clock states of said processing unit and stores said processed coordinate data in a predetermined portion of said main memory means, said memory controller means further comprising means for transferring graphics data stored in said main memory means to and from said graphics sub-system without passing said graphics data through said processing unit. - View Dependent Claims (11, 12)
-
-
13. A method of manipulating data for display on a display device, comprising the steps of:
-
storing input data in a main memory; geometrically transforming said input data in response to respective clock states of a processing unit; initiating scan conversion of said geometrically transformed input data in a free running span processor in response to an instruction from said processing unit; selectively accessing said data in said main memory with said free running span processor independent of the clock states of the processing unit; comparing accessed Z coordinate data with input Z coordinate data from said processing unit; outputting for display on said display device one of said accessed Z coordinate data and said input Z coordinate data as a result of the comparison in said comparing step; and updating the accessed Z coordinate data in a predetermined portion of said main memory in accordance with the comparison in said comparing step. - View Dependent Claims (14, 15, 16, 17)
-
Specification