In computing, avoxel is a representation of a value on a three-dimensionalregular grid, akin to the two-dimensionalpixel. Voxels are frequently used in thevisualization and analysis ofmedical and scientific data (e.g.geographic information systems (GIS)).[1] Voxels also have technical and artistic applications in video games, largely originating with surface rendering inOutcast (1999).Minecraft (2011) makes use of an entirely voxelated world to allow for a fully destructible and constructable environment.[2]Voxel art, of the sort used inMinecraft and elsewhere, is a style and format of 3D art analogous topixel art.
As with pixels in a 2Dbitmap, voxels themselves do not typically have their position (i.e.coordinates) explicitly encoded with their values. Instead,rendering systems infer the position of a voxel based upon its position relative to other voxels (i.e., its position in thedata structure that makes up a single volumetric image). Somevolumetric displays use voxels to describe theirresolution. For example, a cubic volumetric display might be able to show 512×512×512 (or about 134 million) voxels.
In contrast to pixels and voxels,polygons are often explicitly represented by the coordinates of theirvertices (aspoints). A direct consequence of this difference is that polygons can efficiently represent simple 3D structures with much empty or homogeneously filled space, while voxels excel at representing regularly sampled spaces that are non-homogeneously filled.
One of the definitions is:
Voxel is an image of a three-dimensional space region limited by given sizes, which has its ownnodal point coordinates in an accepted coordinate system, its ownform, its ownstate parameter that indicates its belonging to some modeled object, and hasproperties of modeled region.
This definition has the following advantage. If fixed voxel form is used within the whole model it is much easier to operate with voxelnodal points (i.e. three coordinates of this point). Yet, there is the simple form of record: indexes of the elements in the model set (i.e. integer coordinates). Model set elements in this case arestate parameters, indicating voxel belonging to the modeled object or its separate parts, including their surfaces.[3]
The wordvoxel originated by analogy to "pixel", withvo representing "volume" (instead of pixel's "picture") andel representing "element";[4] a similar formation withel for "element" is the word "texel".[4]The termhypervoxel is a generalization of voxel forhigher-dimensional spaces.[5]
A volume described as voxels can be visualized either by directvolume rendering or by the extraction ofpolygon iso-surfaces that follow the contours of given threshold values. Themarching cubes algorithm is often used for iso-surface extraction, however other methods exist as well.
Another technique for voxels involves raster graphics where one simply raytraces every pixel of the display into the scene, tracking anerror term to determine when to step. A typical implementation will raytrace each pixel of the display starting at the bottom of the screen using what is known as a y-buffer. When a voxel is reached that has a higher y value on the display it is added to the y-buffer overriding the previous value and connected with the previous y-value on the screen interpolating the color values. There is a major downside to voxel rasterization when transformation is applied which causes severealiasing. The advantage was the ability to rasterise using cheap integer calculations on aCPU withouthardware acceleration.[6]
Outcast, and other 1990s video games employed this graphics technique for effects such asreflection andbump-mapping and usually forterrain rendering.Outcast'sgraphics engine was mainly a combination of a ray casting (heightmap) engine, used to render the landscape, and atexture mappingpolygon engine used to render objects. The "Engine Programming" section of the game's credits in the manual has several subsections related to graphics, among them: "Landscape Engine", "Polygon Engine", "Water & Shadows Engine" and "Special effects Engine".[7] AlthoughOutcast is often cited as a forerunner of voxel technology,[8] this is somewhat misleading. The game does not actually model three-dimensional volumes of voxels. Instead, it models the ground as a surface, which may be seen as being made up of voxels. The ground is decorated with objects that are modeled using texture-mapped polygons. WhenOutcast was developed, the term "voxel engine", when applied to computer games, commonly referred to a ray casting engine (for example theVoxel Space engine). On the engine technology page of the game's website, the landscape engine is also referred to as the "Voxels engine".[9] The engine is purelysoftware-based: it does not rely on hardware-acceleration via a 3Dgraphics card.[10]
John Carmack also experimented with voxels for theQuake III Arena engine.[11] One such problem cited by Carmack was the lack of graphics cards designed specifically for such rendering requiring them to be software rendered.
Comanche was also the first commercialflight simulation based on voxel technology.NovaLogic used the proprietaryVoxel Space engine developed for the company by Kyle Freeman[12] (written entirely inAssembly language) to create open landscapes.[13] This rendering technique allowed for much more detailed and realistic terrain compared to simulations based onvector graphics at that time.[10]
A voxel represents a single sample, or data point, on a regularly spaced, three-dimensional grid. This data point can consist of a single piece of data, such as an opacity, or multiple pieces of data, such as a color in addition to opacity. A voxel represents only a single point on this grid, not a volume; the space between each voxel is not represented in a voxel-based dataset. Depending on the type of data and the intended use for the dataset, this missing information may be reconstructed and/or approximated, e.g. via interpolation.
The value of a voxel may represent various properties. InCT scans, the values areHounsfield units, giving the opacity of material to X-rays.[14]: 29 Different types of value are acquired fromMRI orultrasound.
Voxels can contain multiplescalar values, essentially vector (tensor) data; in the case ofultrasound scans with B-mode andDoppler data,density, andvolumetric flow rate are captured as separate channels of data relating to the same voxel positions.
While voxels provide the benefit of precision and depth of reality, they are typically large data sets and are unwieldy to manage given the bandwidth of common computers. However, through efficient compression and manipulation of large data files, interactive visualization can be enabled on consumer market computers.
Uses of voxels include volumetric imaging in medicine and representation of terrain in games and simulations. Voxel terrain is used instead of aheightmap because of its ability to represent overhangs, caves, arches, and other 3D terrain features. These concave features cannot be represented in a heightmap due to only the top 'layer' of data being represented, leaving everything below it filled (the volume that would otherwise be the inside of the caves, or the underside of arches or overhangs).
Dual Universe is a single-shard universe MMORPG game that uses voxels to build spaceships, civilizations, and space stations.
Enshrouded is a voxel-based survival RPG by Keen Games released in 2024.
EverQuest Next andEverQuest Next: Landmark, cancelled MMORPGs bySony Online Entertainment, made extensive use of voxels for world creation as well as player generated content
Hexplore, a multi-player role playing game, uses a voxel engine allowing the player to rotate the isometric rendered playfield.
Luanti (previouslyMinetest) is a moddable sandbox video game that uses voxels to store terrain data, but does not use voxel rendering techniques. Instead, it uses polygon rendering to display each voxel as a cubic "node".
Master of Orion III uses voxel graphics to render space battles and solar systems. Battles displaying 1000 ships at a time were rendered slowly on computers without hardware graphic acceleration.
Moonglow Bay is a fishing role-playing video game, released in 2021 and developed by Bunnyhug, using voxel art style.
Miner Wars 2081 is a 6DOF open world game made byKeen Software House that uses its own VRage voxel rendering engine to let the user deform the terrain of asteroids allowing tunnels to be formed.
Nivalis is an upcoming cyberpunk slice-of-life, set in voxel-based world, previously featured inCloudpunk.
No Man's Sky is a space exploration game consisting of procedurally generated star systems containing explorable planets, moons and asteroids made up of voxels. The voxel engine allows for both terrain destruction and creation.
Outcast, is a third-person action computer game made by former Belgianvideo game developer Appeal,[21] with landscapes rendered by a voxel engine.
Robocraft, a vehicular combat game in which players build combat machines out of voxels and premade components
Shadow Warrior andBlood useBuild engine for first-person shooter game voxel rendering, instead ofsprites, as an option for many of the items pickups and scenery.Duke Nukem 3D has a fan-created pack in a similar style.
Shattered Steel featured deforming landscapes using voxel technology.
Trove is a voxel-based MMORPG with building elements, developed and published byTrion Worlds.[23]
Vangers is a computer game uses voxels for its two-level terrain system.[24]
Veloren, is an action-adventure role-playing game set in a vast fantasy world.[25]
Vintage Story, is a sandbox survival game developed and published by Anego Studios.
Vox, released in 2012, is a voxel based exploration/RPG game focused on player generated content.
Voxatron, a computer game produced by Lexaloffle, is composed and generated fully using voxels.[26][27]
Werewolf vs. Comanche is a computer game made byNovaLogic that used voxel-based rendering technology. It was originally bundled and shipped with theComanche 2 game although they were two separate games.
Worms 4: Mayhem uses a voxel-based engine to simulate land deformation similar to the older 2DWorms games.
While scientific volume visualization does not require modifying the actual voxel data, voxel editors can be used to create art (especially 3Dpixel art) and models for voxel based games. Some editors are focused on a single approach to voxel editing while others mix various approaches. Some common approaches are:
Slice based: The volume is sliced in one or more axes and the user can edit each image individually using2D raster editor tools. These generally store color information in voxels.
Sculpture: Similar to thevector counterpart but with no topology constraints. These usually store density information in voxels and lack color information.
Building blocks: The user can add and remove blocks just like aconstruction set toy.
There are a few voxel editors available that are not tied to specific games or engines. They can be used as alternatives or complements to traditional 3D vector modeling.
A generalization of a voxel is thetoxel, or temporal voxel.[28] This is used in the case of a4D dataset, for example, an image sequence that represents 3D space together with another dimension such as time. In this way, an image could contain 100×100×100×100 voxels, which could be seen as a series of 100frames of a 100×100×100 volume image (the equivalent for a 3D image would be showing a 2D cross section of the image in each frame). Although storage and manipulation of such data requires large amounts of memory, it allows the representation and analysis ofspacetime systems.
^Shchurova, Catherine I. (2015). "A methodology to design a 3D graphic editor for micro-modeling of fiber-reinforced composite parts".Advances in Engineering Software.90. Advances in Engineering Software Volume 90, December 2015, Pages 76-82:76–82.doi:10.1016/j.advengsoft.2015.07.001.
^abFoley, James D.; Andries van Dam; John F. Hughes; Steven K. Feiner (1990). "Spatial-partitioning representations; Surface detail".Computer Graphics: Principles and Practice. The Systems Programming Series.Addison-Wesley.ISBN978-0-201-12110-0.These cells are often calledvoxels (volume elements), in analogy to pixels.
^Stelldinger, Peer.Image Digitization and Its Influence on Shape Properties in Finite Dimensions. Aka, 2008, p. 46
^Bertuch, Manfred (2009). "'Klötzchenwelten' [Worlds of little blocks] in c't Magazin issue 04/2009".C't: Magazin für Computertechnik. Hannover: Heise Zeitschriften Verlag GmbH & Co. KG: 183.ISSN0724-8679.