3D texturesss (Three Dimensional Texture), also known as “volume texture,” are a logical extension of the traditional (and better known) 2D textures. In this context, a texture is simply a bitmap image that is used to provide surface coloring for a 3D model. A 3D texture can be thought of as a number of thin pieces of texture used to generate a three dimensional image map. 3D textures are typically represented by 3 coordinates.
Generally, 3D textures are packed into a rectangular parallelepiped with each dimension constrained to a power of two. A rectangular parallelepiped is a 3D figure or 3D box space, of whose face angles are right angles (also known as a cuboid). Therefore, all of the faces of the three dimensional figure will be rectangles while all of its dihedral angles will be right angles. This type of 3D texture mapping occupies a volume rather than a rectangular region and is usually accessed with three texture coordinates.
Similar to 2D textures, the coordinates of a 3D texture range from 0 to 1 in each dimension. The filtering process in a 3D texture is also controlled in the same way as in a 2D texture, that is, with the help of texture parameter and texture environment.
Before the release of Microsoft’s Direct3D 8.0, 3D textures were not widely used in game programming mainly due to their overwhelming cost. A good 3D texture also consumes huge amounts of video memory. But these shortcomings were addressed by Direct3D (D3D) – a part of the DirectX which allows one to draw 3D shapes with smooth shading and scientifically correct lighting – and it is now possible for game programmers to include 3D textures in games without having to use huge amounts of video memory.
3D textures have been used in high-end graphics for nearly a decade now. Thanks to new technology, the possibilities in this field are endless and they will only be amplified in the future. This is great news for game programmers and avid gamers around the world.
– See more at: http://render3d.wpengine.com/3d-textures-technical-information/#sthash.aQaxLPYv.dpuf