Polygonal Graphics

These are the dominant building blocks of today's 3D graphics. What are they?

The word "polygon" means a 2D shape with straight sides, and that's how it applies here. The usual shape is a triangle, although a few exotic games use other ones like squares or pentagons. Either way, polygonal graphics use the polygons as a rough approximation to depict 3D objects that would take too long to actually calculate. The way they work is to lock themselves together like puzzle pieces or origami until they form a 3D shape. Each polygon can then be rendered to 2D, where visual effects can easily be applied to each individual polygon.

Let's say the polygons are arranged in a roughly spherical shape. If you want to make the sphere visible, the most basic way is to make a visible "wire frame" out of the polygons' edges. But on today's powerful systems, more is expected. If the sphere isn't meant to be that detailed, like a ping pong ball, then textures may not be needed, just a "flat shaded" white fill in each polygon with its brightness altered according to its angle. In order to keep the ball's surface from appearing too faceted (like a jewel), a smooth gradient can be applied, averaging the brightness from each of its polygon's corners to the other (a technique known as Gouraud shading). This is reasonably easy with polygons because their simple shape means that the position and angle of every bit of their surface can be pinpointed exactly.

Insufficient numbers of polygons tend to produce unconvincing renditions of objects; for example, in the original Metal Gear Solid, characters' upper and lower arms were visibly composed of four rectangles. On the other hand, too many polygons takes too long to render; even today, individual frames of a Pixar film can take more than 24 hours to render. Add to this the Real Time nature of gameplay and the problem is compounded. So the game artist's challenge is to arrange as few polygons as possible into a reasonably-good-looking model. One of the criteria for rating this is, simply, "polycount"--how many polygons are in a model. (Play Station 1-era Solid Snake had maybe 500. Shrek has in the millions.)

Textures can help with this as well. These are images (most often a bitmap) that are applied to the polygons; if each texture is drawn correctly, they can add further detail to the wireframe and fool the player into thinking a model is more complex than it actually is. However, placing a static picture on a surface is only so compelling. Such a scene would lack lighting, shadowing (technically the same thing, but implemented in different ways), and various other dynamic concepts. This is solved primarily by applying mathematical functions, or even full-fledged programs, to polygons, rather than just painting an image over them. Programs that are used for this purpose are called "shaders".

With something like a human, the basic principle is the same. You just need a lot more polygons, and a lot more textures. Animation is largely possible because textures and polygons are also flexible. They can stretch, shrink, and warp. The work for developers is just making that look convincing.