All Topics  
Real-time computer graphics

 

   Email Print
   Bookmark   Link






 

Real-time computer graphics



 
 
Real-time computer graphics is the subfield of computer graphics
Computer graphics

Computer graphics are graphics created by computers and, more generally, the representation and manipulation of pictorial data by a computer....
 focused on producing and analyzing images in real time
Real-time computing

In computer science, real-time computing is the study of Computer hardware and computer software systems that are subject to a "real-time constraint"?i.e., operational deadlines from event to system response....
. The term is most often used in reference to interactive 3D computer graphics
3D computer graphics

3D computer graphics are graphics that use a Cartesian coordinate system#Three-dimensional coordinate system representation of geometric data that is stored in the computer for the purposes of performing calculations and rendering 2D images....
, typically using a GPU
Graphics processing unit

A graphics processing unit or GPU is a dedicated graphics rendering device for a personal computer, workstation, or game console. Modern GPUs are very efficient at manipulating and displaying computer graphics, and their highly parallel structure makes them more effective than general-purpose Central processing unit for a range of com...
, with video games the most noticeable users. The term can also refer to anything from rendering an application
Application software

Application software is any tool that functions and is operated by means of a computer, with the purpose of supporting or improving the software user 's work....
's GUI
Graphical user interface

A graphical user interface is a type of user interface which allows people to human-computer interaction such as computers; hand-held devices such as MP3 Players, Portable Media Players or Gaming devices; household appliances and office equipment....
 to real-time image processing
Image processing

In electrical engineering and computer science, image processing is any form of signal processing for which the input is an , such as photographs or video frame; the output of image processing can be either an image or a set of characteristics or parameters related to the image....
 and image analysis
Image analysis

Image analysis is the extraction of meaningful information from s; mainly from digital images by means of digital image processing techniques. Image analysis tasks can be as simple as reading barcoded tags or as sophisticated as facial recognition system....
.

Although computers have been known from the beginning (e.g. Bressenham's line drawing algorithm
Bresenham's line algorithm

The Bresenham line algorithm is an algorithm that determines which points in an n-dimensional raster should be plotted in order to form a close approximation to a straight line between two given points....
) to be capable of generating 2D images in real-time involving simple lines, images and polygons - 3D computer graphics has always been a daunting task for traditional Von Neumann architecture
Von Neumann architecture

The von Neumann architecture is a design model for a stored-program digital computer that uses a central processing unit and a single separate computer storage structure to hold both instructions and data ....
-based systems to keep up with the speed necessary for generating fast, good quality 3D computer images onto a display screen.






Discussion
Ask a question about 'Real-time computer graphics'
Start a new discussion about 'Real-time computer graphics'
Answer questions from other users
Full Discussion Forum



Encyclopedia


Real-time computer graphics is the subfield of computer graphics
Computer graphics

Computer graphics are graphics created by computers and, more generally, the representation and manipulation of pictorial data by a computer....
 focused on producing and analyzing images in real time
Real-time computing

In computer science, real-time computing is the study of Computer hardware and computer software systems that are subject to a "real-time constraint"?i.e., operational deadlines from event to system response....
. The term is most often used in reference to interactive 3D computer graphics
3D computer graphics

3D computer graphics are graphics that use a Cartesian coordinate system#Three-dimensional coordinate system representation of geometric data that is stored in the computer for the purposes of performing calculations and rendering 2D images....
, typically using a GPU
Graphics processing unit

A graphics processing unit or GPU is a dedicated graphics rendering device for a personal computer, workstation, or game console. Modern GPUs are very efficient at manipulating and displaying computer graphics, and their highly parallel structure makes them more effective than general-purpose Central processing unit for a range of com...
, with video games the most noticeable users. The term can also refer to anything from rendering an application
Application software

Application software is any tool that functions and is operated by means of a computer, with the purpose of supporting or improving the software user 's work....
's GUI
Graphical user interface

A graphical user interface is a type of user interface which allows people to human-computer interaction such as computers; hand-held devices such as MP3 Players, Portable Media Players or Gaming devices; household appliances and office equipment....
 to real-time image processing
Image processing

In electrical engineering and computer science, image processing is any form of signal processing for which the input is an , such as photographs or video frame; the output of image processing can be either an image or a set of characteristics or parameters related to the image....
 and image analysis
Image analysis

Image analysis is the extraction of meaningful information from s; mainly from digital images by means of digital image processing techniques. Image analysis tasks can be as simple as reading barcoded tags or as sophisticated as facial recognition system....
.

Although computers have been known from the beginning (e.g. Bressenham's line drawing algorithm
Bresenham's line algorithm

The Bresenham line algorithm is an algorithm that determines which points in an n-dimensional raster should be plotted in order to form a close approximation to a straight line between two given points....
) to be capable of generating 2D images in real-time involving simple lines, images and polygons - 3D computer graphics has always been a daunting task for traditional Von Neumann architecture
Von Neumann architecture

The von Neumann architecture is a design model for a stored-program digital computer that uses a central processing unit and a single separate computer storage structure to hold both instructions and data ....
-based systems to keep up with the speed necessary for generating fast, good quality 3D computer images onto a display screen. The rest of this article concentrates on this widely-accepted aspect of real-time graphics rather than expanding on the principles of real-time 2D 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
Film frame

A film frame, or just frame, is one of the many single photographys in a film. The individual frames are separated by frame lines. Normally, 24 frames are needed for one second of film....
. 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
Ray tracing

In computer graphics, ray tracing is a technique for generating an digital image by tracing the path of light through pixel in an . The technique is capable of producing a very high degree of photorealism; usually higher than that of typical scanline rendering methods, but at a greater computation time....
 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
Vertex shader

Vertex shader is a shader program, normally executed on the Graphics processing unit....
 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)
Fragment (computer graphics)

In computer graphics, a fragment is the data necessary to generate a single pixel's worth of a drawing primitive in the frame buffer. This data may include, but is not limited to:...
 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
Texture mapping

Texture mapping is a method for adding detail, surface texture, or colour to a computer-generated imagery or 3D model. Its application to 3D graphics was pioneered by Dr Edwin Catmull in his Ph.D....
 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
Shadow mapping

Shadow mapping or projective shadowing is a process by which shadow are added to 3D computer graphics. This concept was introduced by Lance Williams in 1978, in a paper entitled "Casting curved shadows on curved surfaces"....
).

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 10 class hardware are the top-line GPUs capable of generating complex effects on the fly (i.e. in real-time) such as shadow volume
Shadow volume

Shadow volume is a technique used in 3D computer graphics to add shadows to a rendered scene. They were first proposed by Franklin C. Crow in 1977 as the geometry describing the 3D shape of the region occluded from a light source....
s, motion blur
Motion blur

Motion blur is the apparent streaking of rapidly moving objects in a Photography or a sequence of images such as a film or animation....
ring, real-time triangle generation
Geometry shader

A geometry shader is a shader program model introduced with Shader Model 4.0 of DirectX 10. NVIDIA GeForce 8800 Graphics processing unit were the first providing hardware support for Geometry Shaders....
 among many others. Although the gap in quality between real-time graphics and traditional off-line graphics is narrowing, the accuracy is still a far-cry to be justified in the near-future .

Why real-time computer graphics?

Another interesting difference between real-time and non-real-time graphics is the interactivity desired in real-time graphics. Feedback is typically the main motivation for pushing real-time graphics to its furore. In cases like films, the director has the complete control and determinism of what has to be drawn on each frame, typically involving weeks or even years of decision-making involving a number of people.

In the case of real-time interactive computer graphics, usually a user is in control of what is about to be drawn on the display screen; the user typically uses an input device to provide feedback to the system - for example, wanting to move a character on the screen - and the system decides the next frame based on this particular instance of action. Usually the display is far slower (in terms of the number of frames per second) in responsiveness than the input device (in terms of the input device's response time measured in ms). In a way this is justified due to the immense difference between the infinitesimal response time generated by a human-being's motion and the very slow perspective speed of the human-visual system
Persistence of vision

Persistence of vision is the phenomenon of the eye by which even nanoseconds of exposure to an image result in milliseconds of reaction from the retina to the optic nerves....
; this results in significant advancements in computer graphics, whereas the advancements in input devices typically take a much longer time to achieve the same state of fundamental advancement (e.g., the current Wii controller), as these input devices have to be extremely fast in order to be usable.

Another important factor controlling real-time computer graphics is the combination of physics
Game physics

Computer animation physics or game physics involves the introduction of the laws of physics into a simulation or game engine, particularly in 3D computer graphics, for the purpose of making the effects appear more real to the observer....
 and animation
Computer animation

Computer animation is the art of creating moving images with the use of computers. It is a subfield of computer graphics and animation....
. These techniques largely dictate what is to be drawn on the screen - or more precisely, where to draw certain objects (deciding their position) on the screen. These techniques imitate the behavior (the temporal dimension, not the spatial dimensions) seen in real-world to a degree that is far more realistic than and compensating computer-graphics' degree of realism.

See also

  • Augmented reality
    Augmented reality

    Augmented reality is a field of computer research which deals with the combination of real-world and computer-generated data , where computer graphics objects are blended into real footage in real time....
  • Demoscene
    Demoscene

    The demoscene is a computer art subculture that specializes in producing Demo , which are non-interactive audio-visual presentations that run in Real-time computing on a computer....
  • Mixed reality
    Mixed reality

    Mixed reality refers to the merging of real and virtual worlds to produce new environments and visualisations where physical and digital objects co-exist and interact in real time....
  • Optical feedback
    Optical feedback

    Optical feedback is the optics equivalent of acoustic feedback. The feedback occurs when a loop exists between an optical input, for example, a videocamera and a Television or video monitor....
  • Video art
    Video art

    Video art is a type of art which relies on moving pictures and comprises video and/or sound reproduction data. . Video art came into existence during the 1960s and 1970s, is still widely practiced and has given rise to the widespread use of video installations....


External links

  • - links to many useful resources for 3D computer graphics
  • - a trimmed-down "best of" set of links to resources