To end with, the interface should be flexible adequate to contain additions, hence that as new graphics operations become important, these operations can be given without sacrificing the original interface. OpenGL meets these measures by giving a simple interface to the basic operations of 3D graphics rendering. It supports basic graphics primitives, basic rendering operations and lighting calculations. It also helps advanced rendering attributes such as texture mapping.
Open Graphics Library
OpenGL draws primitives into a structured buffer focus to a various selectable modes. Every Point, line, polygon, or bitmap are called as a primitive. Each mode can be modified separately; the parameters of one do not affect the parameters of others. Modes defined, primitives detailed, and other OpenGL operations explained by giving commands in the form of procedure calls.
Fig.5.7. Schematic diagram of OpenGL
Figure 5.7 shows a schematic diagram of OpenGL. Commands go into OpenGL on the left. The majority commands may be collected in a ‘display list’for executing at a later time. If not, commands are successfully sent through a pipeline for processing.
The first stage gives an effective means for resembling curve and surface geometry by estimating polynomial functions of input data. The next stage works on geometric primitives explained by vertices. In this stage vertices are converted, and primitives are clipped to a seeing volume in creation for the next stage.
All ‘fragment’created is supplied to the next stage that executes processes on personal fragments before they lastly change the structural buffer. These operations contain restricted updates into the structural buffer based on incoming and formerly saved depth values, combination of incoming colors with stored colors, as well as covering and other logical operations on fragment values.
To end with, rectangle pixels and bitmaps by pass the vertex processing part of the pipeline to move a group of fragments in a straight line to the individual fragment actions, finally rooting a block of pixels to be written to the frame buffer. Values can also be read back from the frame buffer or duplicated from one part of the frame buffer to another. These transfers may contain several type of encoding or decoding.