Opengl Texturing And Extensions - Asus AGP-V5200 User Manual

Windows nt workstation graphics accelerator
Table of Contents

Advertisement

OpenGL Texturing and Extensions

Efficient Use of Multiple Textures
OpenGL applications that render primitives with multiple texture maps will
achieve much higher performance by not invoking the different textures in
immediate mode. There are two alternative options for efficient switching
between multiple textures.
The first and much preferred option is to use the OpenGL texture object
functionality. Texture objects are fully editable and may have their images and
parameters altered at any time (unlike the use of textures in display lists). Details
on texture object functionality is available in the OpenGL 1.1 specification.
The performance gain using this approach will benefit performance for the
ASUS AGP-V5200 board.
The second option is to define each texture (or array of mip map resolutions)
within a display list — with the limitation that only one texture is allowed per
display list. Switching between different textures is then achieved by referencing
the appropriate display list. Since display lists are not editable in OpenGL, the
OpenGL implementation is able to cache texture data defined within a display
list. In effect the display list identifier acts as a texture handle. This caching
cannot be performed when a texture is invoked in immediate mode because the
application in this case is expected to have changed the texture data since the
time it was previously referred.
Texture Memory Cache Management
Texture data is stored in the local buffer memory on the graphics card. The
memory available for textures is therefore constrained by the local buffer
memory available. It is also constrained by the amount of local buffer memory
already consumed, such as for the depth buffer and stencil buffer. This amount
varies according to the current display resolution in use, i.e., there is more
memory available for textures when the display resolution (and therefore the
size of the depth buffer, stencil buffer) is lowered.
On 3Dlabs OpenGL releases prior to version 1.1.14, if the condition is reached
where there is insufficient local buffer memory to load a new texture, then the
OpenGL texture download will not succeed and will set the error code
GL_OUT_OF_MEMORY
not be rendered correctly. To improve on this behavior a scheme for swapping
. Textured primitives that expect to use this texture will
The Ultimate Windows NT Workstation Graphics Accelerator
• •
23
• •

Advertisement

Table of Contents
loading

Table of Contents