|
A voxel represents a value on a regular grid in three-dimensional space. As with pixels in a bitmap, voxels themselves do not typically have their position (their coordinates) explicitly encoded along with their values. Instead, the position of a voxel is inferred based upon its position relative to other voxels (i.e., its position in the data structure that makes up a single volumetric image). In contrast to pixels and voxels, points and polygons are often explicitly represented by the coordinates of their vertices. A direct consequence of this difference is that polygons are able to efficiently represent simple 3D structures with lots of empty or homogeneously filled space, while voxels are good at representing regularly sampled spaces that are non-homogeneously filled. Voxels are frequently used in the visualization and analysis of medical and scientific data. Some volumetric displays use voxels to describe their resolution. For example, a display might be able to show 512×512×512 voxels. The word ''voxel'' is based on a contraction of ''vox'' ("volume") and ''el'' (for "element"); similar formations with ''el'' for "element" include the words pixel and texel.〔 == Rendering == A volume described as voxels can be visualized either by direct volume rendering or by the extraction of polygon iso-surfaces that follow the contours of given threshold values. The marching cubes algorithm is often used for isosurface extraction, however other methods exist as well. Both ray-tracing and ray-casting, as well as rasterisation, can be applied to voxel data to obtain 2D raster graphics to depict on a monitor. Another technique for voxels involves Raster graphics where you simply raytrace every pixel of the display into the scene. 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 severe aliasing.〔http://www.tnlc.com/eep/voxels.html〕 Outcast and other 1990's video games employed this graphics technique for effects such as reflection and bump-mapping and usually for terrain rendering. ''Outcasts graphics engine was mainly a combination of a ray casting (heightmap) engine, used to render the landscape, and a texture mapping polygon engine used to render objects. The "Engine Programming" section of the games credits in the manual has several subsections related to graphics, among them: "Landscape Engine", "Polygon Engine", "Water & Shadows Engine" and "Special effects Engine". Although ''Outcast'' is often cited as a forerunner of voxel technology, 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. When ''Outcast'' was developed, the term "voxel engine", when applied to computer games, commonly referred to a ray casting engine (for example the ''VoxelSpace'' engine). On the engine technology page of the game's website, the landscape engine is also referred to as the "Voxels engine".〔(Engine Technology )〕 The engine is purely software-based; it does not rely on hardware-acceleration via a 3D graphics card.〔"(Voxel terrain engine )", introduction. In a coder's mind, 2005.〕 John Carmack also experimented with Voxels for the Quake III engine.〔http://www.tomshardware.com/reviews/voxel-ray-casting,2423-2.html〕 One such problem cited by Carmack is the lack of graphics cards designed specifically for such rendering requiring them to be software rendered, which still remains an issue with the technology to this day. Comanche was also the first commercial flight simulation based on voxel technology. NovaLogic used the proprietary Voxel Space engine developed for the company by Kyle Freeman 〔http://patents.justia.com/inventor/kyle-g-freeman〕(written entirely in Assembly language) to create open landscapes.〔http://www.flightsim.com/vbfs/content.php?2994-NovaLogic-Awarded-Patent-For-Voxel-Space-Graphics-Engine〕 This rendering technique allowed for much more detailed and realistic terrain compared to simulations based on vector graphics at that time.〔 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Voxel」の詳細全文を読む スポンサード リンク
|