- ... well.1
- The phrase 3D
texturing is often used in touting new graphics hardware and software
products. The common usage of the phrase is to indicate support for
applying a 2D texture to 3D geometry. OpenGL's specification would
call that merely 2D texturing. OpenGL assumes that any type of
texturing can be applied to arbitrary 3D geometry so the
dimensionality of texture mapping (1D, 2D, or 3D) is based on the
dimensionality of the texture image. A 2D texture image (one with
width and height) is used for 2D texturing. A 3D image (one with
width, height, and depth) is required for 3D texturing in the OpenGL
technical sense of the phrase. Unfortunately, the market continues to
use the phrase 3D texturing to mean just GL_TEXTURE_2D.
To avoid confusion, the phrase volumetric texturing
unambiguously refers to what OpenGL technically calls 3D texturing.
Be aware that the phrases solid texture and hypertexture
are also used in the graphics literature to denote 3D texture images.
One more bit of trivia: the term voxel is often used to denote
the texels of a 3D texture image.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... sampled.2
- The clamp to
edge functionality is also available through the SGIS_texture_edge_clamp
extension.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... SIZE="-1">gluBuild3DMipmaps()3
- Introduced
in GLU version 1.3.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... levels.4
- This
same functionality for controlling texture level of detail is also available through
the SGIS_texture_lod extension.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... environment5
- Introduced by OpenGL 1.1.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...
textures.6
- While
the SGIX_list_priority extension does provide a way to prioritize display
lists, the concept of querying texture residency, while important to texture
objects, is not applicable to display lists.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... SIZE="-1">GL_CLAMP_TO_EDGE.7
- The same functionality is
also available through the SGIS_texture_edge extension.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... SIZE="-1">NV_texgen_reflection_vector8
- The suffix NV indicates this extension was specified by
NVIDIA Corporation. At the time of writing,
NV_texgen_reflection_vector is implemented in NVIDIA's OpenGL
and Mesa 3.1, an OpenGL-like API.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... equation.9
- Many
texts [27,28,82] present this reflection vector formula
with a sign reversed from the form shown in
Equation 7.
It is the still the same fundamental formula;
the difference is simply one of convention. The
OpenGL
vector points from the
eye to the surface vertex (i.e., an eye-space position), while many
texts present the formula instead considering a light
vector pointing from the surface to a light.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...
portability:10
- According to Microsoft's documentation,
the pre-defined _WIN32 macro is
``Defined for applications for Win32.
Always defined.'' This macro is therefore the most automatic way to
conditionally compile code just for Win32 programs.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... ordering.11
- The functionality of the EXT_bgra
extension is now an official part of OpenGL 1.2. The BGRA color component ordering is
important because it matches the color component ordering of Win32's GDI 2D
API and therefore many PC-based file formats use it.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.