Brush (video Game)
   HOME

TheInfoList



OR:

Brushes are templates used in some 3D video
game engine A game engine is a software framework primarily designed for the development of video games which generally includes relevant libraries and support programs such as a level editor. The "engine" terminology is akin to the term " software engine" u ...
s, such as the
Quake engine The ''Quake'' engine (part of id Tech 2) is the game engine developed by id Software to power their 1996 video game '' Quake''. It featured true 3D real-time rendering. Since 1999, it has been licensed under the terms of GNU General Publi ...
, its derivatives the
GoldSrc GoldSrc (pronounced "Gold Source"), sometimes called the ''Half-Life'' engine, is a proprietary game engine developed by Valve. At its core, GoldSrc is a heavily modified version of id Software's ''Quake'' engine. It made its debut in 1998 with ...
and Source game engines, or the
Unreal Engine Unreal Engine (UE) is a 3D computer graphics game engine developed by Epic Games, first showcased in the 1998 first-person shooter video game '' Unreal''. Initially developed for PC first-person shooters, it has since been used in a variety of ...
, to construct levels. Brushes can be primitive shapes (such as cubes, spheres and cones), pre-defined shapes (such as staircases), or custom shapes (such as prisms and other
polyhedra In geometry, a polyhedron (: polyhedra or polyhedrons; ) is a three-dimensional figure with flat polygonal faces, straight edges and sharp corners or vertices. The term "polyhedron" may refer either to a solid figure or to its boundary su ...
). In order to describe these shapes mathematically, each brush is made up of planes that define its boundaries. A plane can be represented by an equation in 3D space, which looks like this: ax+by+cz+d=0 This equation describes a single flat surface (or plane) in 3D space, where a, b, and c are coefficients that determine the orientation of the plane, and d is a constant that shifts the plane along its axis. To construct a brush, the game engine uses multiple planes working together. For example, a cube can be defined by six planes, each restricting space within a certain region. Here’s how a set of three planes would be represented mathematically: \begin a_1x + b_1y + c_1z + d_1 = 0 \\ a_2x + b_2y + c_2z + d_2 = 0 \\ a_3x + b_3y + c_3z + d_3 = 0 \end Each of these equations corresponds to a different plane that helps define the shape of the brush. In some engines such as Unreal, brushes are categorized as either additive or subtractive. Additive brushes add volume to the level, forming walls, platforms, or other structures, while subtractive brushes carve out spaces within these volumes, like windows or doorways. During the map compilation process, brushes are turned into meshes that can be rendered by the game engine. Often brushes are restricted to convex shapes only, as this reduces the complexity of the
binary space partitioning In computer science, binary space partitioning (BSP) is a method for space partitioning which recursively subdivides a Euclidean space into two convex sets by using hyperplanes as partitions. This process of subdividing gives rise to a representa ...
process. However, using CSG operations, complex rooms and objects can be created by adding, subtracting and intersecting brushes to and from one another. Additionally, brushes can be used as liquids or as an area trigger.


History

Brush-based techniques originated during the period of three-dimensional game development, being developed around the same time period as Quake. These games required 3D geometry for constructing more advanced true 3D environments different from previous
raycasting Ray casting is the methodological basis for 3D CAD/CAM solid modeling and image rendering. It is essentially the same as ray tracing for computer graphics where virtual light rays are "cast" or "traced" on their path from the focal point of a came ...
approaches. During this time brushes became used with and closely associated with
Binary Space Partitioning In computer science, binary space partitioning (BSP) is a method for space partitioning which recursively subdivides a Euclidean space into two convex sets by using hyperplanes as partitions. This process of subdividing gives rise to a representa ...
as this allowed for sustaining real-time performance on constrained computational hardware. Brushes offered a viable solution, enabling level designers to utilize elementary geometric primitives for the creation of intricate spatial structures.


Modern use

Brush-based modeling is extensively used in constructive solid geometry, a technique that builds complex surfaces by combining simpler ones using Boolean operations such as union, intersection, and difference. In modern game engines, brushes are usually limited to only being used during the initial prototyping or "Block out" phase. This is due to the fact that they are less efficient when overused, slowing down performance due to their simple, non-optimized geometry.


References

{{reflist Video game development