Interactive raster-graphics systems typically employ several processing units. In addition to the CPU, a special purpose processor called the video controller or display controller is used to control the operation of the display device.
The figure shows the organization of a raster system. The frame buffer can be anywhere in the system memory, and the video controller access the frame buffer to refresh the screen.
A fixed area of the system memory is reserved for the frame buffer, and the video controller is given direct access to the frame buffer memory. The co-ordinates of the graphics monitor starts at the lower left screen corner. Positive x values increasing to the right and y values increasing from bottom to top.
The above diagram shows the refresh operation of video controller. Two registers are used to store the co-ordinates of the screen pixels. Initially x=0 and y=ymax. The value stored in the frame buffer corresponding to this pixel position is retrieved. And the x value is incremented by 1 and the corresponding y value is retrieved, like that the pixel values are retrieved line by line. Once the last pixel is reached again the registers are reset to initial value to repeat the process.
The purpose of the display processor or graphics controller is to free the CPU from the graphics chores. In addition to the system memory a separate display processor memory area can also provided.
A major task of the display processor is digitizing a picture definition given in an application program into a set of pixel-intensity values for storage in the frame buffer. This digitization process is called scan conversion. Lines and other geometric objects are converted into set of discrete intensity points. Characters can be defined with rectangular grids, or they can be defined with curved outlines.
To reduce the memory space required to store the image information, each scan line are stored as a set of integer pairs. One number of each pair indicates an intensity value, and the second number specifies number of adjacent pixels the scan line that is also having same intensity. This technique is called run-length encoding.
An application program is input and stored in the system memory along with a graphics package. Graphics commands in the program are translated by the graphics package into a display file stored in the system memory. This display file is then accessed by the display processor to refresh the screen. The display processor cycles through each command in the display file program once during every refresh cycle. Sometimes the display processor in a random-scan system is refreshed to as a display processing unit or a graphics controller.
Graphic patterns are drawn on a random scan system by directing the electron beam along the component lines of the picture. Lines are defined by the values for their co-ordinate endpoints, and these input co-ordinate values are converted to x and y deflection voltages. A scene is then drawn one line at a time by positioning the beam to fill in the line between specified endpoints.