Real-time Computer Graphics - Principles of Real-time 3D Computer Graphics

Principles of Real-time 3D Computer Graphics

The goal of computer graphics is to generate a computer generated image using certain desired metrics. This image is often called a frame. How fast these images or frames are generated in a given second determines the method's real-timeliness.

One interesting aspect of real-time computer graphics is the way in which it differs from traditional off-line rendering systems (and hence, these are the non-real-time graphics systems); non-real-time graphics typically rely on ray-tracing where the expensive operation of tracing rays from the camera to the world is allowed and can take as much as hours or even days for a single frame. On the other hand, in the case of real-time graphics, the system has less than 1/30th of a second per image. In order to do that, the current systems cannot afford shooting millions or even billions of rays; instead, they rely on the technique of z-buffer triangle rasterization. In this technique, every object is decomposed into individual primitives — the most popular and common one is the triangle. These triangles are then 'drawn' or rendered onto the screen one by one. Each of these triangles get positioned, rotated and scaled on the screen and a special hardware (or in the case of an emulator, the software rasterizer) called rasterizer generates the pixels inside each of these triangles. These triangles are then decomposed into further smaller atomic units called pixels (or in computer graphics terminology, aptly called fragments) that are suitable for displaying on a display screen. The pixels are then drawn on the screen using a certain color; current systems are capable of deciding the color that results in these triangles — for e.g. a texture can be used to 'paint' onto a triangle, which is simply deciding what color to output at each pixel based on a stored picture; or in a more complex case, at each pixel, one can compute if a certain light is being seen or not resulting in very good shadows (using a technique called shadow mapping).

Thus, real-time graphics is oriented toward providing as much performance as possible for the lowest quality possible for a given class of hardware. Most video-games and simulators fall in this category of real-time graphics. As mentioned above, real-time graphics is currently possible due to the significant recent advancements in these special hardware components called graphics processing units (GPUs). These GPUs are capable of handling millions of triangles per frame and within each such triangle capable of handling millions or even billions of pixels (i.e. generating these pixel colors). Current DirectX 11/OpenGL 4.x class hardware is capable of generating complex effects on the fly (i.e. in real-time) such as shadow volumes, motion blurring, real-time triangle generation among many others. Although the gap in quality between real-time graphics and traditional off-line graphics is narrowing, the accuracy is still far below the accuracy of offline rendering.

Read more about this topic:  Real-time Computer Graphics

Famous quotes containing the words principles of, principles and/or computer:

    Though the ancients were ignorant of the principles of Christianity there were in them the germs of its spirit.
    Herman Melville (1819–1891)

    To abandon oneself to principles is really to die—and to die for an impossible love which is the contrary of love.
    Albert Camus (1913–1960)

    The Buddha, the Godhead, resides quite as comfortably in the circuits of a digital computer or the gears of a cycle transmission as he does at the top of a mountain or in the petals of a flower.
    Robert M. Pirsig (b. 1928)