Game Development Reference
In-Depth Information
This knowledge will help you understand some of the code if you decide to dig in to the
engine source. Here's a rudimentary dictionary:
Quake : A true 3D game that uses a map design system to display a
pre-rendered 3D environment to reduce the processing in slow CPUs.
Maps : A 3D environment where the game takes place. Maps are created
with a map editor program that uses a number of simple convex 3D
geometric objects known as brushes.
Brushes : Brushes are placed and oriented to create an enclosed, empty,
volumetric space; they then run through the rendering preprocessor.
Pruning : Maps are preprocessed to reduce polygon count from the
original unprocessed count. This step is called pruning .
Quake sky : The famous cloudy sky in Quake is, in fact, closed space
covered over and enclosed with brushes and then textured with a
special skybox texture that always looks the same from any viewing
position, giving the illusion of a distant sky.
Lightmaps and 3D light sources : id Software's innovation that has since
become common in many 3D games. A lightmap is a data structure
that contains the brightness of surfaces. It is precomputed and normally
used with light sources for 3D Surface Model Animation.
Map sectioning : A technique to increase rendering speed by sectioning
off large regions of the map that are currently not visible to the player
and to render those unseen spaces. With this engine optimization, if
the player could not see into a nearby region, the 3D engine could be
alerted to not include any of the objects in that space in the rendering
calculations, greatly reducing the rendering load on the CPU.
Binary space partitioning (BSP): A technique used to section a map
by building a tree from the map. Each leaf represents an area of 3D
space. The leaves of this binary tree have polygons of the original map
associated with them, which are then used for computing each area's
visibility. This process uses large amounts of memory and takes a time
complexity of O( n 2) (where n is the number of polygons).
Run-length encoding (RLE): A simple form of data compression where
sequences of the same data value occur in many consecutive data
elements and are stored as a single data value and count, rather than as
the original run. This encoding is used to compress sections of the BSP
tree and is what allows Quake's sophisticated graphics to run so quickly
on low-end hardware.
Overdraw : The process of rendering a new pixel that hides a previously
rendered point, meaning the previous work was wasted. To minimize
overdraw, the environment was displayed first, from front to back.
 
Search WWH ::




Custom Search