GB2223651A - Overwriting display memory without clearing speeds computer animation - Google Patents

Overwriting display memory without clearing speeds computer animation Download PDF

Info

Publication number
GB2223651A
GB2223651A GB8911381A GB8911381A GB2223651A GB 2223651 A GB2223651 A GB 2223651A GB 8911381 A GB8911381 A GB 8911381A GB 8911381 A GB8911381 A GB 8911381A GB 2223651 A GB2223651 A GB 2223651A
Authority
GB
United Kingdom
Prior art keywords
memory
frame identification
stored
window
frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
GB8911381A
Other versions
GB8911381D0 (en
GB2223651B (en
Inventor
William Joy
Serdar Ergene
Szu-Cheng Sun
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of GB8911381D0 publication Critical patent/GB8911381D0/en
Publication of GB2223651A publication Critical patent/GB2223651A/en
Application granted granted Critical
Publication of GB2223651B publication Critical patent/GB2223651B/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/395Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/02Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
    • G09G5/024Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed using colour registers, e.g. to control background, foreground, surface filling
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/399Control of the bit-mapped memory using two or more bit-mapped memories, the operations of which are switched in time, e.g. ping-pong buffers
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/12Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Digital Computer Display Output (AREA)
  • Image Generation (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

To reduce the time interval between frames in a computer animation system the display memory is not cleared between frames. The display system has a first full screen bitmapped display memory 13, 14 and a second memory 17, 18. The second memory 17, 18 holds, for each pixel in 13, 14, the number of the frame that that particular pixel appears in. Thus only those pixels relating to frame O are read out during frame O, etc., and rather than clearing the display memory data can be overwritten because the frame numbers in the second memory 17, 18 will prevent the production of spacious images. A similar system (Fig 2) is used in a windowing system. <IMAGE>

Description

APPARATUS FOR RAPIDLY CLEARING THE OUTPUT DISPLAY OF A COMPUTER SYSTEM BACKGROUND OF THE INVENTION The present invention relates to logic circuitry and, more particularly, to logic circuitry used to provide extremely rapid switching between output display frames in a computei system.
DISCUSSION OF THE PRIOR ART As computer systems such as work stations have grown more and more sophisticated, it has become clear that they might be conveniently utilized for providing the animation features that one associates with motion pictures and television. A computer which is capable of providing an animated output offers a distinct advantage over television and motion pictures because it, unlike the others, allows both the construction and revision of the images of animated displays. The ability of computers to provide three dimensional displays has hastened and heightened the desire for systems which are capable of handling animated subjects.
A major problem in utiiizing computers to provide animated output is that animation requires the display of frames which vary by small increments and succeed one another in rapid sequence. In order to display a single frame of graphical material on a cathode ray tube (CRT), it is necessary to store an indication for each position (pixel) which is to appear on the cathode ray tube or other display of the information which is to be displayed at that position. With large and detailed displays, the number of pixels on the cathode ray tube may average approximately 1,000 in a horizontal direction and a like number in the vertical direction giving a total of approximately one million pixels about which information is to be stored.In a preferred system which is capable of providing a number of different colors and hues on the cathode ray tube, each of these pixels contains twenty-four bits of digital information specifying the particular color output. Consequently, approximately twenty-four million bits of information needs to be stored for each frame to be presented at the output.
However, not only does writing the approximately twenty-four million bits to each storage position of a frame to be provided as output to a cathode ray tube require a substantial amount of time, but the clearing of those bits in order to provide the next frame requires an additional amount of time. Some of the delay between frames has been obviated by using double buffered systems in which two full screen bitmapped memories are provided and switched alternately to the cathode ray tube output. Such a system reduces substantially the time between presentation of two frames of information but does not eliminate the need to rapidly clear each of the display memories so that they may be written to for the frames which follow. Consequently, even such double buffered systems are too slow to provide optimum outputs for animation purposes.
It is, therefore, an object of this invention to improve the speed at which images may be switched from frame to frame and presented at the output of a computer system.
It is another object of this invention to eliminate a substantial portion of the delay associated with clearing display memories between frames in a computer system.
It is another object of this invention to eliminate the necessity of clearing display and depth memories between frames in a computer system.
An additional object of this invention is to improve the speed at which computer systems operate.
SUMMARY OF THE PRESENT INVENTION The present invention improves the speed at which individual frames may be switched to the output of a computer system by essentially eliminating the time normally used for clearing the display memories in such a system. The system accomplishes this by providing double-buffered frame identification memory to store indications of the frame being stored corresponding to the information in an associated display memory. Each pixel in the display memory has an associated, corresponding pixel in the frame identification memory.
When a frame which has been written into the display memory is to be read out, an output frame identification register provides an indication of the frame to be read out as a frame number, and that frame number is compared with the value of each pixel in the frame identification memory as the frame identification memory and the display memory are scanned for cathode ray tube refresh. Only those pixels in the selected frame are provided as output from the display memory to the cathode ray tube. At pixels at which the number in the output frame identification register and the frame identification memory do not compare, a background color generator is activated to provide information to the cathode ray tube. This allows frame to frame writing to the display memory to continue without erasing the display memory and erasing only a small portion of the frame identification memory.
An additional somewhat similar logic arrangement is provided for determining the depth to which pixels of a particular frame are to be written along the Z-axis so that three dimensional figures may be accurately represented on a two dimensional output display. The invention allows frameto-frame use of the Z buffer to continue without erasing the Z buffer. Moreover, another similar logic arrangement is provided for determining the window in which pixels of a particular frame are to be written so that windows may be handled in the same system.
These and other features and advantages of the present invention will become apparent to those skilled in the art after having read the following detailed description in conjunction with the several figures of the drawing.
IN THE DRAWINGS Figure 1 is a block diagram illustrating a arrangement in accordance with the invention for selecting individual frames to be displayed on a computer output device.
Figure 2 is a block diagram illustrating an arrangement in accordance with the invention for selecting individual windows to be displayed on a computer output device.
Figure 3 is a block diagram illustrating an arrangement in accordance with the invention for selecting particular frames involving three-dimensional figures to be displayed on a computer output device.
Figure 4 is a truth table useful in illustrating the operation of the arrangement shown in Figure 3.
Figure 5 is a block diagram of a system incorporating arrangements for selecting windows, frames, and depth dimensions of signals to be provided on a computer output device.
Figure 6 is a truth table useful in illustrating the operation of the circuitry shown in Figure 5.
Figure 7 is a block diagram illustrating the registers and memories which are addressable on the host address bus from the central processing unit in accordance with the present invention.
Figure 8 is a diagram useful in understanding the operation for clearing frame identification memories in accordance with the present invention.
DETAILED DESCRIPTION OF THE INVENTION FRAME IDENTIFICATION.
Referring now to Figure 1, there is shown a display output system 10 for processing information rapidly in accordance with the invention. For the purposes of this explanation, a frame may include a particular graphical or data structure which it is desired to present as a full screen presentation on a cathode ray tube or other computer output device. The system 10 operates under control of a central processing unit (CPU) not shown in Figure 1.
When it is desired to write a particular graphic frame to an output device such as the cathode ray tube (CRT) 12 shown in Figure 1, the actual information to be displayed is written to a display memory. The system 10 comprises a first display memory A (13) and a second display memory B (14;.
The use of two display memories in parallel, the output of which may be selected by a multiplexor 15, allows the rapid switching between the frames of a display which is necessary to accomplish animation. In the usual case, a frame is written to display memory A while the frame in display memory B is being furnished as output to the cathode ray tube. The information in the frame in display memory A is then furnished as output to the cathode ray tube while a new frame is written to display memory B.
In prior art systems, each of the display memories A and B must be cleared before new information can be stored in it. This clearing step, with a display having a significant number of pixels and storing twenty-four bits of information at each pixel as in the preferred embodiment, requires a significant amount of time and may slow the operation of the system to the point where its use in animation is impractical.
To obviate this loss of time and provide the switching speed necessary for animation, the output system 10 of the present invention also includes an input frame identification (FID) register 16, a pair of frame identification (FID) memories A (17) and B (18) each associated with the similarly named one of the display memories A and B, an output frame identification (FID) register 19, a background color register 20, and a control register 21. The system 10 also includes a multiplexor 22, a comparator circuit 23, a write enable logic circuit 24, and a logic circuit 25.
The operation of the system 10 is as follows. The CPU writes a value to the control register 21 using the host data bus to select which of the FID memories A (17) or B (18) and its associated display memory A (13) or B (14) is to be written to.
The CPU then provides a frame identification number which is stored in the input frame identification register 16 used for all of the information to be written for that frame. In a preferred system, sixteen frame numbers (0-15) are utilized. After the input frame identification register has been initialized with the frame number, the actual information to be displayed on the output device is sent from the CPU to the selected display memory A or B. The display memories A and B are each full screen bitmapped memories. The frame identification memories A and B are also full screen bitmapped memories, each receiving input from the input FID register 16 and providing outputs to a multiplexor 22 which allows them to be rapidly switched for the presentation of animated graphic images.
Each piece of input information on the host data bus from the CPU carries a pixel address, and color information (an RGB color value, for example). Presuming that the display memory A and the FID memory A have been selected, the RGB color value is written to the appropriate pixel address in display memory A while the frame identification number is written to the same pixel address in the frame identification memory A. In a preferred system, the frame identification number requires four bits of storage while the RGB color value requires twenty-four bits of storage at each pixel.
Consequently, when any particular full frame has been written to display memory A, the display memory A contains, at the addressed positions chosen for the particular frame, the representation to be displayed in RGB color values.
Presuming that a triangle (such as that shown in the upper left corner of CRT 12)is to be stored in the display memory A and written to the cathode ray tube 12 shown in Figure 1, the color values for that triangle are placed at the appropriate pixels of the display memory A while a triangular indication is stored at the same pixels in the frame identification memory A but as the frame identification number.
For example, if the triangular indication has been stored as frame zero, the color indications are provided in triangular form in the display memory while the numbers zero are stored at the same triangular positions in the associated FID memory. When it is time to display frame zero at the CRT, the CPU, using the host data bus stores the frame identification number, a zero in this case, in the output frame identification register 19 (again a four bit register in the preferred embodiment). The CPU also writes to the control register 21 so that the multiplexors 22 and 15 controlling the outputs of the frame identification memories and the display memories, respectively, are set to select the output from memories A.Then, as each pixel in the display memory A is scanned to the output through its associated multiplexor, frame identification values are also scanned from the frame identification memory A for that particular pixel.
The values from the frame identification memory will be zero only at the positions where the triangle is stored. Consequently, a comparator circuit 23 comparing the output from the selected frame identification memory and from the output frame identification register 19 provides a signal indicating those pixels of the frame identification memory A where frame zero has been written (i.e., the triangle having a frame identification number of zero). Therefore, at those positions at which the frame identification memory A stores a zero frame identification number, the comparator circuit provides an equal output indicating a pixel which is a part of the current frame; and the RGB color signal stored at that pixel in the display memory A is furnished to the cathode ray tube via logic circuit 25. On the other hand, at all pixels other than those having a frame identification number of zero in the frame identification memory A, the comparator circuit 23 provides a not equal output indicating that the pixel is not a part of the current frame; and a background color is provided from the background color register 20 and transferred to the cathode ray tube 12.
This arrangement for processing signals has a number of significant advantages. For example, the system requires that color values be stored in the display memories only at positions indicative of foreground data.
Background colors need not be stored in the display memories. Consequently, storage of information may proceed at a more rapid rate than with the usual system where twenty-four bits of information must be stored at each pixel. More importantly, a display memory need not be erased after the information for a frame is read out in order to write the next frame in that memory.
For example, after frame zero has been processed as explained above, the next frame to be processed by the particular FID memory has the next frame number which is one. The information written to the FID memory and to the associated display memory may, consequently, simply be written on top of the information in those memories because the only information which will ultimately be furnished to the display will be information associated with frame number one, as selected by the FID output register.
It will be appreciated that this arrangement which eliminates the need to clear the display memory significantly speeds the operation of the system and allows the rapid switching necessary for animation.
Although the use of FID memories and registers allows the system to function without clearing the display memories between particular frames, the number of bits utilized in the frame identification number system, four bits in the preferred case, determines how many total frames may be written before the FID memories must be cleared. With four bits of digital storage to record the frame number, sixteen total frames may be utilized. If the FID memories have not been cleared after sixteen frames, then it is possible that information relating to a previous zero frame, for example, will remain in an FID memory as the zero frame is again reached. Since this information might be erroneous, the system does require that the FID memories be cleared at least once in each sixteen uses.
An advantageous way of accomplishing the clearing without slowing the operation of the system to any extent is to clear at least one-fifteenth or greater of an FID memory after each frame is written to the output device. For example, Figure 8 illustrates the division of an FID memory into fifteen horizontal strips.
After the zero frame has been displayed on the CRT, a clear value of "zero" frame number is written to the uppermost horizontal strip of the FID memory; and after the one frame has been displayed, a clear value of "one" frame number is written to the next horizontal strip of the memory. Similar values are applied to each succeeding horizontal strip after each succeeding display of a frame.
Consequently, the next time a zero frame is to be written to the FID memory, the memory will be entirely clear of zero values because all horizontal strips below the top strip will have been purged of zero values and the top strip of FID memory, which originally held zero values, will have been filed with values of fifteen, the last FID frame number to have been used. Consequently, no old zero frame signals will be present to distort the information to be stored in the FID memory. The same result will occur as each next frame number is written, the memory will have been cleared of all indications of that frame number just before the new frame is written. Clearing the values from memory is, of course, accomplished in a manner well known to the prior art by means specific to the particular storage elements.
It will be clear to those skilled in the art, that clearing one-fifteenth of the FID memory after each output of a frame to the CRT is significantly faster than the arrangements used by prior art systems which required the clearing of the entire display memory with each output to the CRT. First, the display memory includes twenty-four bits at each pixel, and each must be cleared. On the other hand, the FID memories hold only four bits at each pixel. This alone would make the system six times faster even if the FID memories were to be cleared entirely after each write to the output device. In the preferred embodiment which clears only one-fifteenth of the FID memories, the time required is but one-fifteenth of that to clear the full FID memory.Consequently, the total time utilized for clearing in the present system is approximately one ninetieth of that required in prior art systems having equivalent display memories. This advantage can be easily increased if using FID memories with more bits.
WINDOW IDENTIFICATION.
The output system described with respect to Figure 1 may conveniently be utilized in a computer system which makes full use of multiple windows For example, Figure 2 illustrates a window identification output system 30 which may be utilized with or apart from the frame identification arrangement described above. The system 30 is utilized to provide output signals to a cathode ray tube 12 which signals appear in different windows on the cathode ray tube.
System 30 includes a pair of double-buffered display memories A (13) and B (14), each of which is a full screen bitmapped memory. In a preferred embodiment each display memory may include twenty-four bits of storage for each pixel for storing color information. The system 30 also includes a window identification (WID) register 34 which in a preferred embodiment stores four bits of information and a window identification (WID) memory 35 which in the preferred embodiment is a full screen bitmapped memory which stores four bits of information for each pixel. A window identification (WID) comparator 36 receives output signals from the WID register 34 and the WID memory 35. The system 30 also includes a multiplexor 37, write enable logic 38 and a control register 39 for selectively enabling each of the display memories A and B.
In operation, windows are first selected by values provided from the CPU. These values include both a pixel address and a window identification number for each pixel of the window. The window identification number is written to each corresponding pixel of the particular window in the window identification memory 35. When a first window is written to the window identification memory, each pixel within that window carries the window identification number for that window. When a next window which lies in front of the first window is written to the window identification memory, the portions of the second window which overlay the first are written on top of the overlapping pixels of the first and, therefore, automatically cover and clip the first.After all of the windows desired have been written, the window identification memory 35 has stored indications as shown in the display of the CRT 12 in Figure 2.
When it is desired to write information to a display memory for particular windows (the system for windowing may be used with single display memories as well as double-buffered systems), the information is written into the display memory from the CPU through the data bus. This information includes a pixel address, an RGB color value as discussed above, and a window identification number. The window identification number is stored in the window identification register 34 and compared to the window identification number stored at that pixel in the window identification memory 35. If the window identification number stored in the window identification memory 35 is the same as that in the window identification register 34, the comparator circuit 36 causes the write enable logic 38 to allow the RGB information to be written to the addressed pixel of the selected display memory.If the comparator circuitry determines that the window identification number is not the same as the number stored at that pixel in the window identification memory, then the RGB information is not stored in the display memory. Consequently, only at those addresses of the selected display memory which are within each particular window will a signal for that window be written. The signal written to the display memory is ultimately transferred from the particular display memory via a multiplexor 37 to the cathode ray tube 31 shown in Figure 2.
A number of additional advantages are realized by the use of the window identification system herein described. For example, without more, the window identification system provides that the information in a particular window is written to the correct area of the display and that portios of any particular window which lie behind other windows are appropriately clipped.
Moreover, since the window identification memory is a full screen bitmapped memory, the windows may be of any shape which it is possible to describe rather than simply rectangular windows as in the usual case.
DEPTH INFORMATION.
The system shown in Figure 1 for providing rapid switching between frames of display memory without clearing those display memories may also incorporate apparatus for providing output indicative of the depth of each pixel provided for a particular display on the cathode ray tube. Various systems are known in the prior art for providing depth information, but the usual manner is to provide an indication with each pixel to be written on the display of the position of that pixel along a Z-axis (third dimensional axis).
Figure 3 illustrates a system 40 for including this information. The system 40 adds to the circuitry illustrated in Figure 1 a Z buffer memory 41 which stores Z or depth information values; a Z buffer comparator circuit 42 which compares stored Z buffer values to new Z values for each particular pixel, a multiplexor 43 at the output of the FID memories, and a comparator 44.
The write enable logic circuit 24 is also ultilized for controlling the writing of information to the FID memories, the Z buffer memory, and the display memories.
As is the case with the display memories, in order to speed system operation, it is desirable to utilize a Z buffer memory 41 which does not require clearing during operation. The normal Z buffer memory is a full screen bitmapped memory which, like the FID memory, the display memories, and the window memory, stores at each pixel address an indication of the particular position that pixel is to take along the Z-axis. In the preferred embodiment of this invention, the Z buffer memory stores twenty-four bits at each pixel; consequently, the process of clearing this memory can substantially slow the system.
In prior art systems, the Z buffer memory is first cleared to the background Z value after each frame. This occurs because the Z buffer memory for each frame stores only the frontmost value for each pixel. Since the background is the deepest indication which may be displayed, the 2 buffer memory is normally cleared to background before any frame is written. Unless it is cleared, after the system has been operated for any time, the Z buffer memory contains information from a number of previous frames, and it is necessary to know which pixels are to be utilized and which are to be disregarded.
In order to know if a new pixel should be written to a display memory, it is first necessary to know whether that pixel of the frame identification memory contains information in the frame being written. This determination is made in the system 40 using the input frame identification register 16 and the particular FID memory 17 or 18 selected by the control register 21 as described above.
The incoming FID number is compared with the FID number stored at the indicated pixel in the FID memory; and if that comparison shows that the numbers are equal, then the FID comparator 44 provides an equal output to the write enable logic 24 which indicates that the FID number stored at that pixel is in the frame being written and, therefore, that the pixel has been written at least once for this frame. If the FID numbers are not equal, then this pixel has not been written before in this frame, and the comparator circuit 44 provides a not equal signal to the write enable logic which causes the incoming information to be written to the various memories. In this case, the selected display memory receives the color display signal at the pixel position, the selected FID memory receives the new frame identification number, and the Z value is written to the Z buffer memory.
If the signals from the FID comparator 44 are equal indicating that the pixel has been previously written in this frame, then a Z buffer comparison is necessary to determine whether to write. The Z buffer comparator 42 looks at the Z value at that pixel position in the Z buffer memory and compares it to the new Z value. If the Z buffer comparison shows that the Z number is less than or equal to that which is stored in memory, then the new pixel is in a position at the same plane or in front of the pixel previously written; and the write enable logic is enabled to write the pixel to the appropriate display memory, the FID memory, and the Z buffer memory.
A truth table is shown in Figure 4 which shows the comparison values to be used in the FID comparator 44 and the Z buffer comparator 42 in order to operate the write enable logic so that a pixel may be written to the display memory and the other memories In the table, for the comparator outputs, a one indicates that the = or < = condition is true, a zero means that the condition is not true, while an X indicates that the comparison condition is not used. For the write output, a zero means a write will not occur and a one means a write will occur. As the table shows1 if the result of the FID memory comparison is that the FID numbers differ, then a new frame is being written and the write enable circuit is operated whatever the Z buffer comparison may be.On the other hand, if the FID comparison shows the FID numbers to be the same, then the results of the Z buffer comparison control the operation of the write enable circuitry.
Figure 5 illustrates a system 50 which incorporates the elements of the present invention previously described to provide extremely rapid switching between frames to be displayed by a pair of double buffered display memories at an output cathode ray tube. This system includes a control register 21 which receives input signals from the CPU on a data bus and sends signals to enable the window identification circuitry, the Z buffer circuitry and the frame identification circuitry. The control register also selects which of the double buffered display memories 13 and 14 and frame identification memories 17 and 18 are to be selected for any particular operation such as input or output.
The system 50 also includes write enable logic 24 which operates as the central control to cause information to be written to the frame identification memories, the Z buffer memory, and the display memories.
In operation, the system 50 works in the following manner. The control register 21 receives a value which indicates which of the particular elements of circuitry are to be enabled. For example, the particular program may or may not operate with the window comparison circuitry, with the frame identification registers, or with the Z buffer memory circuitry. This is true because the particular program may not have enabled the window operation, may not be operating in the three-dimensional domain, or may not be used to provide animation at the particular moment. The following discussion presumes that all three of the subsystems have been enabled by signals to the control register.
The basic operation of this system 50 is to first determine whether data signals are within a particular window: then to determine whether the data signals fall into the particular frame being written: and finally to determine whether the data signals to be stored for that frame lie in front of data signals already stored in that frame.
The first step in any operation is to store the windows to be utilized in the window identification memory. This is accomplished by writing to the window identification memory 35 values from the CPU which are indicative of each of the windows to be utilized.
Thereafter, when it is desired to write a particular pixel to a display memory 13 or 14, a value is stored into the control register 21 to select the appropriate A or B display memory and the appropriate associated frame identification memory 17 or 18. The CPU writes the values of the current window into the WID register 34 and the value of the current frame into the input FID register 16. In the window identification circuitry, the window number in the WID register 34 is compared with the window identification number stored in the window identification memory 35 and if they are equal (that is, the information at that pixel lies in the window), then an enable signal is transferred to the write enable logic 24.
At the input FID comparator 44, the frame number in the input FID register is compared with the frame number stored in the frame identification memory which has been selected by the control register. If the comparison is unequal, then that pixel has not yet been written for this frame and a signal is provided directly to the write enable logic 24 which causes the write enable logic (if it has received an enable signal from the window identification comparison circuit) to write to each of the memories. That is, the write enable logic writes to the particular FID memory which has been selected, to the Z buffer memory, and to the display memory which has been selected by the control register.
If no enable signal has been received from the window identification comparison, then the enabling signal from the FID comparator does not cause the write enable logic to write to any of the memories.
Presuming that the window comparison has provided an enable signal and that the comparison of the signals in the FID register and the selected FID memory shows that the pixel identification is the same, this indicates that this pixel has already been written to at this address for this frame; and it is necessary to make a Z buffer comparison in order to determine whether the present pixel is in front of the pixel already stored. The Z buffer comparison compares the Z value furnished by the CPU with the Z value stored in the Z buffer memory for that pixel. If the Z value furnished by the CPU is equal to or less than that stored in the Z buffer memory, then the new or present pixel is in front of the pixel stored; and a signal is provided to cause the write enable logic 24 to write to the FID memory, the Z buffer memory, and the selected display memory.
Figure 6 is a truth table illustrating how the results of the the comparisons at the window comparator circuitry: the frame identification comparator, and the Z buffer comparator control the operation of the write enable circuitry of Figure 5.
The other portions of the circuitry shown in Figure 5 for system 50 are substantially identical to those previously described and will not therefore be described in detail again. For example, the background color register 20 is utilized to provide background color in the positions in which the pixel to be displayed on the CRT is not a foreground pixel in the selected frame. The output FID register 19 is used: as described above, to determine by comparison of the output frame identification number with the frame identification number stored in the selected FID memory and to enable output from the appropriate display memory or the background color register.
Although the present invention has been described in terms of a preferred embodiment, it will be appreciated that various modifications and alterations might be made by those skilled in the art without departing from the spirit and scope of the invention. The invention should therefore be measured in terms of the claims which follow:

Claims (15)

1. A computer output system comprising a first full screen bitmapped memory, a second full screen bitmapped memory, means for providing input signals for writing information to be displayed by an output device to each position of the first memory, means for storing in the second memory the positions of each position of the first memory to be written to the output device, and means for comparing the signal stored at each position of the first memory and the signal stored at the same position of the second memory to determine whether information at the position is to be written to the output device.
2. A computer output system as claimed in claim 1 in which the second full screen bitmapped memory is utilized for storing at each position an indication of the window to be utilized for displaying the information at that position at the output device, in which the means for providing input signals for writing information to be displayed by an output device to each position of the first memory also provides with each signal an indication of the window associated therewith, and in which the means for comparing the signal stored at each position of the first memory and the signal stored at the same position of the second memory to determine whether information at the position is to be written to the output device comprises a window identification register for stoing signals indicating the window with which each information signal is associated, and a comparator for comparing the window signal in the window identification register with the indication at the selected position in the second memory.
3. A computer output system as claimed in claim 1 in which the second full screen bitmapped memory is utilized for storing at each position an indication of the frame in which each piece of information in the first memory is to appear at the output device, in which the means for providing input signals for writing information to be displayed by an output device to each position of the first memory also provides with each signal an indication of the frame associated therewith, and in which the means for comparing the signal stored at each position of the first memory and the signal stored at the same position of the second memory to determine whether information at the position is to be written to the output device comprises a frame identification register for storing an indication of the frame to be furnished to the output device, and a comparator for comparing the frame signal in the frame identification register with the indication at the selected position in the second memory.
4. A computer output system as claimed in claim 3 in which the second memory is capable of storing a selected number of individual frames: and further comprising means for clearing the second memory in portions at least one less than the selected number of frames which may be stored by the second memory.
5. A computer output system as claimed in claim 1 in which the second full screen bitmapped memory is utilized for storing at each position an indication of the depth at which each piece of information in the first memory is to appear at the output device, in which the means for providing input signals for writing information to be displayed by an output device to each position of the first memory also provides with each signal an indication of the depth associated therewith, and in which the means for comparing the signal stored at each position of the first memory and the signal stored at the same position of the second memory to determine whether information at the position is to be written to the output device comprises a comparator for comparing the depth information in the incoming signal with the indication at the selected position in the second memory.
6. A computer output system as claimed in claim 5 in which the comparator comprises means for determining whether the incoming signal is to be displayed at the same depth or closer than the indication stored at the selected position in the second memory.
7. A computer output system comprising a display memory, a window memory means for storing in the window memory the positions of each window to be written to an output device, means for providing input signals for writing information to each position of the display memory, means for determining whether an input signal to be written to a particular position of the display memory lies in the particular window stored in the window memory at the same position: and means for enabling the write control signal to allow an input signal to be written to the display memory when the signal lies in the window stored in the window memory.
8. A computer output system comprising a pair of double-buffered display memories: a pair of double-buffered frame identification memories: means for providing a frame identification number to each position of each of the frame identification memories: means for providing input signals for writing information to each position of each of the display memories and for enabling the means for providing a frame identification number to provide a frame identification number at the same positions of the frame identification memory, means for determining the positions of the frame identification memory at which a particular frame identification number is stored, and means for causing signals stored at positions of the display memory having the particular frame identification number to be displayed on an output device.
9. A computer output system as claimed in claim 8 in which the means for determining the positions of the frame identification memory at which a particular frame identification number is stored comprises an output frame identification register, means for providing frame identification signals to the frame identification register, and a comparator circuit for comparing the signals stored in the frame identification memory with signals stored in the frame identification register.
10. A computer output system comprising a display memory, a frame identification memory, means for providing a frame identification number to each position of the frame identification memory, means for providing input signals for writing information to each position of the display memory and for enabling the means for providing a frame identification number to provide a frame identification number at the same positions of the frame identification memory, means for determining the positions of the frame identification memory at which a particular frame identification number is stored, and means for causing signals stored at positions of the display memory having the particular frame identification number to be written to an output device.
11. A computer output system comprising a display memory, a window memory, means for storing the positions of each window to be written to an output device in the window memory, means for providing input signals for writing information to each position of the display memory, means for determining whether an input signal to be written to a particular position of the display memory lies in the particular window stored in the window memory at the position: and means for enabling the write control signal to allow an input signal to be written to the display memory when the signal lies in the window stored in the window memory.
12. A computer output system comprising a pair of double-buffered display memories for displaying color information; a pair of double-buffered frame identification memories for storing frame identification numbers; a z buffer memory for storing depth information; means for providing input signals associated with each position of each of the display memories: each such signal containing a position address, a frame number, a depth indication, and color information; write circuitry for storing the color information in the display memory, the depth information in the Z buffer memory, and the frame identification number in the frame identification register; means for comparing the frame identification number of the addressed position of the incoming signal with the frame identification number stored at that position of the frame identification memory; means for enabling the write circuitry when the frame identification number stored in the frame identification memory at the addressed position is different than the frame number of the addressed position of the incoming signal; means for comparing the depth information of the addressed position with the depth information stored in the Z buffer memory at the addressed position; means for enabling the means for comparing the depth information when the frame identification number stored at the addressed position of the frame identification register and the addressed position of the incoming signal are the same; and means for enabling the write circuitry when the depth of the addressed position of the incoming signal is equal to or less than the depth stored in the Z buffer memory.
13. A computer output system as claimed in claim 12 further comprising means for determining the positions of the frame identification memory at which a particular frame identification number is stored, and means for causing signals stored at positions of the display memory having the particular frame identification number to be written to an output device.
14. A computer output system comprising a pair of double-buffered display memories for displaying color information; a pair of double-buffered frame identification memories for storing frame identification numbers; a window memory; means for storing the positions of each window to be written to an output device in the window memory; a z buffer memory for storing depth information; means for providing input signals associated with each position of each of the display memories: each such signal containing a position address, a window number: a frame number, a depth indication, and color information; write circuitry for storing the color information in the display memory, the window information in the window memory, the depth information in the Z buffer memory, and the frame identification number in the frame identification register; means for comparing the frame identification number of the addressed position of the incoming signal with the frame identification number stored at that position of the frame identification memory; means for determining whether an input signal to be written to a particular position of the display memory lies in the particular window stored in the window memory at the position; means for disabling the write control signal when the input signal is not in the window stored in the window memory for the addressed position; means for enabling the write circuitry when the frame identification number stored in the frame identification memory at the addressed position is different than the frame number of the addressed position of the incoming signal; means for comparing the depth information of the addressed position with the depth information stored in the Z buffer memory at the addressed position; means for enabling the means for comparing the depth information when the frame identification number stored at the addressed position of the frame identification register and the addressed position of the incoming signal are the same; and means for enabling the write circuitry when the depth of the addressed position of the incoming signal is equal to or less than the depth stored in the Z buffer memory.
15. A computer output system substantially as hereinbefore described with reference to the accompanying drawings.
GB8911381A 1988-10-07 1989-05-18 Apparatus for rapidly clearing the output display of a computer sytem Expired - Fee Related GB2223651B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US25495788A 1988-10-07 1988-10-07

Publications (3)

Publication Number Publication Date
GB8911381D0 GB8911381D0 (en) 1989-07-05
GB2223651A true GB2223651A (en) 1990-04-11
GB2223651B GB2223651B (en) 1993-03-31

Family

ID=22966239

Family Applications (1)

Application Number Title Priority Date Filing Date
GB8911381A Expired - Fee Related GB2223651B (en) 1988-10-07 1989-05-18 Apparatus for rapidly clearing the output display of a computer sytem

Country Status (6)

Country Link
JP (1) JP2858137B2 (en)
KR (1) KR960003073B1 (en)
CA (1) CA1316271C (en)
FR (1) FR2637706B1 (en)
GB (1) GB2223651B (en)
HK (1) HK98793A (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2230924A (en) * 1989-04-28 1990-10-31 Sun Microsystems Inc Improved apparatus for rapidly clearing the output display of a computer system
EP0396377A2 (en) * 1989-05-01 1990-11-07 EVANS &amp; SUTHERLAND COMPUTER CORPORATION Computer graphics dynamic control
GB2273636A (en) * 1992-12-04 1994-06-22 Network Computing Devices Inc Rendering 3-D images without clearing Z buffer for each new frame
EP0660295A2 (en) * 1993-11-16 1995-06-28 Sun Microsystems, Inc. Method and apparatus for NTSC display of full motion animation
EP0675479A1 (en) * 1994-03-24 1995-10-04 Eastman Kodak Company Frame buffer address generator for the multiple format display of multiple format source video
EP0837449A2 (en) * 1996-10-17 1998-04-22 International Business Machines Corporation Image processing system and method
EP0902413A2 (en) * 1997-09-11 1999-03-17 NEC Corporation Image drawing apparatus
WO2003071517A1 (en) * 2002-02-19 2003-08-28 Intel Corporation Sparse refresh double-buffering

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2113950A (en) * 1982-01-15 1983-08-10 Quantel Ltd Image composition system
GB2130857A (en) * 1982-11-02 1984-06-06 Cadtrak Corp Graphics display system with viewports of arbitrary location and content
GB2141908A (en) * 1983-05-25 1985-01-03 Westinghouse Electric Corp Multi-level raster scan display arrangement
GB2144607A (en) * 1983-07-28 1985-03-06 Quantel Ltd Improvements relating to video graphic simulator systems
EP0149310A2 (en) * 1983-11-03 1985-07-24 Unisys Corporation Method of electronically moving portions of several different images on a CRT screen
EP0175341A2 (en) * 1984-09-17 1986-03-26 Honeywell Bull Inc. Graphic display scan line windowing capability
EP0185294A2 (en) * 1984-12-20 1986-06-25 International Business Machines Corporation Display apparatus
EP0197413A2 (en) * 1985-04-05 1986-10-15 Tektronix, Inc. Frame buffer memory
GB2181928A (en) * 1985-10-16 1987-04-29 Philips Electronic Associated Teletext television receivers
GB2214038A (en) * 1987-10-05 1989-08-23 Int Computers Ltd Image display system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2191917A (en) * 1986-06-16 1987-12-23 Ibm A multiple window display system
JPS63118787A (en) * 1986-11-07 1988-05-23 株式会社日立製作所 Superimposition display system

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2113950A (en) * 1982-01-15 1983-08-10 Quantel Ltd Image composition system
GB2130857A (en) * 1982-11-02 1984-06-06 Cadtrak Corp Graphics display system with viewports of arbitrary location and content
GB2141908A (en) * 1983-05-25 1985-01-03 Westinghouse Electric Corp Multi-level raster scan display arrangement
GB2144607A (en) * 1983-07-28 1985-03-06 Quantel Ltd Improvements relating to video graphic simulator systems
EP0149310A2 (en) * 1983-11-03 1985-07-24 Unisys Corporation Method of electronically moving portions of several different images on a CRT screen
EP0175341A2 (en) * 1984-09-17 1986-03-26 Honeywell Bull Inc. Graphic display scan line windowing capability
EP0185294A2 (en) * 1984-12-20 1986-06-25 International Business Machines Corporation Display apparatus
EP0197413A2 (en) * 1985-04-05 1986-10-15 Tektronix, Inc. Frame buffer memory
GB2181928A (en) * 1985-10-16 1987-04-29 Philips Electronic Associated Teletext television receivers
GB2214038A (en) * 1987-10-05 1989-08-23 Int Computers Ltd Image display system

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2230924B (en) * 1989-04-28 1993-09-22 Sun Microsystems Inc Apparatus for rapidly clearing the output display of a computer system
GB2230924A (en) * 1989-04-28 1990-10-31 Sun Microsystems Inc Improved apparatus for rapidly clearing the output display of a computer system
EP0396377A2 (en) * 1989-05-01 1990-11-07 EVANS &amp; SUTHERLAND COMPUTER CORPORATION Computer graphics dynamic control
EP0396377A3 (en) * 1989-05-01 1991-12-04 EVANS &amp; SUTHERLAND COMPUTER CORPORATION Computer graphics dynamic control
GB2273636B (en) * 1992-12-04 1997-02-05 Network Computing Devices Inc Buffer recycling method and apparatus
GB2273636A (en) * 1992-12-04 1994-06-22 Network Computing Devices Inc Rendering 3-D images without clearing Z buffer for each new frame
EP0660295B1 (en) * 1993-11-16 2001-06-27 Sun Microsystems, Inc. Method and apparatus for NTSC display of full motion animation
EP0660295A2 (en) * 1993-11-16 1995-06-28 Sun Microsystems, Inc. Method and apparatus for NTSC display of full motion animation
EP0675479A1 (en) * 1994-03-24 1995-10-04 Eastman Kodak Company Frame buffer address generator for the multiple format display of multiple format source video
EP0837449A2 (en) * 1996-10-17 1998-04-22 International Business Machines Corporation Image processing system and method
EP0837449A3 (en) * 1996-10-17 1999-08-25 International Business Machines Corporation Image processing system and method
US6288722B1 (en) 1996-10-17 2001-09-11 International Business Machines Corporation Frame buffer reconfiguration during graphics processing based upon image attributes
EP0902413A2 (en) * 1997-09-11 1999-03-17 NEC Corporation Image drawing apparatus
EP0902413A3 (en) * 1997-09-11 2000-06-28 NEC Corporation Image drawing apparatus
WO2003071517A1 (en) * 2002-02-19 2003-08-28 Intel Corporation Sparse refresh double-buffering
US7038689B2 (en) 2002-02-19 2006-05-02 Intel Corporation Sparse refresh double-buffering

Also Published As

Publication number Publication date
FR2637706A1 (en) 1990-04-13
KR960003073B1 (en) 1996-03-04
JPH02123422A (en) 1990-05-10
HK98793A (en) 1993-09-30
FR2637706B1 (en) 1994-03-18
CA1316271C (en) 1993-04-13
KR900007186A (en) 1990-05-09
AU3458189A (en) 1990-04-12
JP2858137B2 (en) 1999-02-17
GB8911381D0 (en) 1989-07-05
GB2223651B (en) 1993-03-31
AU616966B2 (en) 1991-11-14

Similar Documents

Publication Publication Date Title
US5043923A (en) Apparatus for rapidly switching between frames to be presented on a computer output display
AU612222B2 (en) Z-buffer allocated for window identification
US5587726A (en) Method and apparatus for increasing the speed of operation of a double buffered display system
US5091717A (en) Apparatus for selecting mode of output in a computer system
US5742788A (en) Method and apparatus for providing a configurable display memory for single buffered and double buffered application programs to be run singly or simultaneously
US5101365A (en) Apparatus for extending windows using Z buffer memory
US5266941A (en) Apparatus and method for controlling storage of display information in a computer system
US5061919A (en) Computer graphics dynamic control system
CA2058250C (en) Method and apparatus for arranging access of vram to provide accelerated writing of vertical lines to an output display
EP0566847A2 (en) Multi-media window manager
JPH08504961A (en) Graphics control plane for windowed and other display operations
US5050102A (en) Apparatus for rapidly switching between output display frames using a shared frame gentification memory
GB2223651A (en) Overwriting display memory without clearing speeds computer animation
EP0525986A2 (en) Apparatus for fast copying between frame buffers in a double buffered output display system
US5291188A (en) Method and apparatus for allocating off-screen display memory
US4748442A (en) Visual displaying
JPH08272344A (en) High speed picture display device and method therefor
US5847700A (en) Integrated apparatus for displaying a plurality of modes of color information on a computer output display
AU617464B2 (en) Apparatus for extending windows using z buffer memory
JP3292960B2 (en) Circuit for translating pixel data stored in a frame buffer into pixel data to be displayed on an output display of a computer device
EP0436959A2 (en) Digital color video system using dirty bits to provide high speed pixel data for raster displays
GB2203317A (en) Display system
JPS61208091A (en) Display system for graphic data
GB2270450A (en) Intergrated apparatus for displaying a plurality of modes of color information on a computer output display
JPH07210140A (en) Image supply method and graphic control apparatus using spatial redundance in order to improve bandwidth

Legal Events

Date Code Title Description
PCNP Patent ceased through non-payment of renewal fee

Effective date: 20060518