Learn about the technologies behind the Internet with The TCP/IP Guide! NOTE: Using robot software to mass-download the site degrades the server and is prohibited. See here for more. Find The PC Guide helpful? Please consider a donation to The PC Guide Tip Jar. Visa/MC/Paypal accepted. View over 750 of my fine art photos any time for free at DesktopScenes.com!

3D Images and Operations

3D images are much more complex than 2D images because of the much greater amount of information that must be used in order to create a realistic 3D world. In addition, several mathematical operations must be used in order to convert this 3D world to one that can be projected on a computer screen.

When you look at the world, your eyes and brain do this automatically. Most of the operations that allow you to perceive a three-dimensional world occur so seamlessly that you don't even realize they are happening. Have you ever wondered how you can, say, look at a nature scene of a mountain range, forest and a lake, and know that the mountains are farther away than the lake is, for example? This occurs through a complex interaction of visual effects--light levels, shadowing, relative motion--combined with your own knowledge of how the world works. The job of a 3D graphics engine is to duplicate this to whatever extent possible so that what you see on the screen seems realistic to the eye.

3D images are handled inside the computer using abstract models. Usually, each 3D object is composed of hundreds or even thousands of small triangles (or other polygons) that describe its structure. When the program wants to move an object, it manipulates the corners of the triangles to create movement. (This is highly simplified of course but gives you the general idea). Of course real objects aren't made up of thousands of triangles but doing it this way is necessary in order to do the animation.

The heavy computation work is involved in converting these hollow triangles into solid surfaces. In the real world, objects aren't islands; they interact. They overlap one another, cast shadows, reflect light, and they appear dimmer when in the distance. There are very complex mathematical equations that are used to determine when an object is visible in a scene based on a given angle, what color it should be, etc. If you are playing a 3D game and want smooth animation, these calculations must be redone 20+ times per second! This is why 3D accelerators are used--they are customized to performing these resource-intensive computations.

Each time the screen is recalculated (due to movement in a game, for example), it is necessary to recalculate the color and intensity of each pixel on the 2D screen! This is done by applying different 3D computations to the scene, in a process that is called rendering. There are several different types of computations that are performed in 3D processing. Some cards support more of them than others, and some are more efficient at certain ones than others are. Here are some of the more common 3D operations:

• Gourad Shading: This is an algorithm that is used to give 3D surfaces realistic shading. The effect helps the object appear to have depth and helps to define the shape better. It is a popular computation that is used in many 3D games.
• Clipping: This operation determines what part of an object is visible on the screen and "clips out" any part that the user cannot see. This saves time since the parts of objects that are off-screen are ignored.
• Lighting: Objects in the real world have their appearance shaped by the light sources in the scene. Lighting effects cause color shading, light reflection, shadows and other effects to be added to objects based on their position and the position of light sources in the room. Light sources can be anything from an overhead light in an internal room in an office (or castle) to the sun, moon, or even an explosion!
• Transparency: Some objects in the real world are transparent or semi-transparent. Special calculations can be done to determine what objects are visible through a glass door, for example.
• Texture Mapping: For realistic objects, it is necessary to overlay pictures on them to give them texture. For example, most walls are not made of a solid, flat substance. They are made of a material such as brick, wood or plaster, and they may have pictures, tapestry or signs on them. Texture mapping allows objects to be made so that they appear to have substance instead of being "flat". There are in fact several different types of texture mapping that are used by various software and hardware.
• Dithering: This is an effect that is actually used in many different places, including regular 2D graphics and also in printing. Dithering is the process of mixing a small number of colors together in specific patterns to create the illusion of there being a larger number of colors. For example, inkjet color printers use dithering to create a wide spectrum of apparent color, even though each dot printed is only one of three (or four) different real shades. In 3D, it is used largely to show more realistic color without needing to increase the color depth of the image (which means more computation time and more memory to store the graphics).
• Fogging: An effect used in outdoor scenes, fogging serves two purposes by blurring objects that are in the distance. First, it helps to make the scene appear more realistic. If you've ever looked at a mountain scene you know that in the distance, objects to appear fuzzy due to atmospheric moisture. Second, fogging allows the 3D process to be performed more quickly because those objects in the distance that are "fogged out" can be computed more quickly since they are shown in less detail.
• Filtering: There are several types of filtering that can be applied to the image. These are used to "clean up" the image and smooth out textures and shapes. In particular, bilinear filtering is used when showing textures up close to remove the "blocky" look that results from magnifying an object when showing it at the front of a scene.
• Buffering: This isn't really a 3D operation like the others listed here, because it isn't something that is done to the data. However, advanced 3D cards include memory buffers that are used for various tasks during these complex calculations. The more buffers the card has available, the more flexibility it has when doing advanced operations. This is why 3D cards usually need more memory than would strictly be necessary just to hold the screen image. Newer AGP systems can use the system memory for this.

Home  -  Search  -  Topics  -  Up

 The PC Guide (http://www.PCGuide.com) Site Version: 2.2.0 - Version Date: April 17, 2001© Copyright 1997-2004 Charles M. Kozierok. All Rights Reserved. Not responsible for any loss resulting from the use of this site. Please read the Site Guide before using this material.