When you play a game or view a scene on your PC, what you actually see is a 2-dimensional image. The image may appear to be 3-dimensional, but what you actually see can only physically be 2-dimensional, simply because the display device (your monitor) is flat. Up until a few years ago, games were designed and illustrated with that fact in mind. They were illustrated, modeled, and drawn all in two dimensions. In other words, they looked much like a painting or a board game -- everything flat against the screen.
It then became apparent that games designed as 3-dimensional environments looked more lifelike than flat, sprite-based games, even though monitors are still only capable of 2-dimensional display. As processors became more powerful, rendering scenes in 3-dimensions became a much more realistic goal. The problem with rendering 3-dimensional scenes is that, to the computer, the scene is 3-dimensional, a complete environment, but the user can only see a limited portion of it at any given time. The computer cannot simply display what it has rendered. Instead, it must decide which parts of the scene the user should be able to see, and display only those. It’s much like taking a picture with a camera -- while there exists an entire scene, the camera (or your monitor) only captures a limited, 2-dimensional piece at any given time. The computer has to decide which parts of the scene the camera sees, and which are hidden or out of view.
The trick is in the depth perception. A standard 2-dimensional scene has both height and width, however rendering in 3D adds another dimension: depth. The system must decide which objects should be visible based on their depth, or distance away from the camera. This is a tricky process -- if precision isn’t maintained, the camera (eye) can begin to observe anomalies, such as objects being visible through walls or through objects which should be in front of them.
|