Computer graphics systems are well known in many forms including video games, training simulators, modeling units, animated sequence generators and so on. Typically, computer graphics systems incorporate a display structure providing a light image, to give the viewer the impression of looking at a scene through a window. The display is somewhat like a television picture and over the years dynamic scenes with considerable realism have been attained.
Advanced computer graphics systems store basic forms (primitives), typically as part of a large data base. Picture content is then selected from the storage, oriented with respect to a viewpoint and processed to remove hidden surfaces. Individual fragments or picture elements (pixels) are then processed for a display.
Somewhat typically, prior to display, the pixel data is stored in a frame buffer for cyclic modification to accommodate dynamic displays. In synchronism with frame buffer modifications, pixels are scanned from the frame buffer, for example in a raster pattern, to drive a display device, e.g. a cathode ray tube structure.
It has been proposed to store data for several distinct image levels, representing independent pictures, or picture components for combination in a composite display. Typically, the level of highest priority takes precedence so that its picture content is dominant in the display. Thus, the display may be analogized to papers on a table. The highest priority level, or top paper is always visible. Conversely, lower priority levels are visible in descending order of priority, only if unobscured by higher priority levels. In multiple level display systems, the background is usually the lowest priority level.
To consider an exemplary multiple level or composite display, an aircraft might be depicted in flight passing clouds against a background of blue sky. In order of decreasing priority, the aircraft could be carried on an overlay layer (top), the clouds on a middle layer and the blue sky on an underlay. Although forms of such systems have been effectively used in the past, a need exists for improvement. Specifically, a need exists for improved images and increased flexibility.
Generally, to process data for individual picture elements (pixels), each of the objects contending to be represented in each pixel is considered with respect to position and transparency. Specifically, pixels are composed by considering the objects that are intersected by a ray extended from the eye point through the pixel. Typically, foremost objects are favored. However if the ray intersects two objects at a boundary, complications arise. If a choice favors either object, boundaries appear as jagged lines, as often viewed in television displays. Various anti-aliasing techniques have been proposed to avoid such jagged lines or edges in computer graphics displays. In general, the system of the present invention is based on recognizing the need for anti-aliasing operations to improve multiple layer displays. In a related context, a need also is recognized for flexibility in multiple-level computer graphics displays.
In accordance with the present invention, data for multiple display levels is generated by a graphics display system and stored for display by a picture generator. With the data stored, the picture generator selectively displays composite data from the multiple levels, on a pixel-by-pixel basis. Generally, contention for a pixel by individual objects is resolved on the basis of level priority (higher priority levels dominating over lower priority levels). In instances of boundary contention or transparency contention, pixels are shared by blending techniques to improve the display as by anti aliasing. Furthermore, the system of the disclosed embodiment incorporates control selectivity not only with regard to color but additionally with regard to level fragments. Consequently, an improved multiple level display system is provided affording substantial flexibility and improved displays.