Textures question

Started by
1 comment, last by Crypthor 22 years, 9 months ago
Hi, ppls, When i''m loading textures, i''m processing next speps: 1. Load file tga, bmp, pcx,... 2. glBindTexture( ..., tID ); 3. some functions with glTexParameteri(.... ); 4. [gluBuild2dMipmaps] 5. glTexImage2D(....) now, after this code where will be my texture, in video card memory ?? i''m right ? or ? How to delete texture from memory ?? and how i can know about free memory in my videocard ? thank you !
Cryp
Advertisement
glDeleteTextures(1, tID);

------------------------------
Trent (ShiningKnight)
E-mail me
OpenGL Game Programming Tutorials
Yes, your texture is in the cards memory and you can safely return the memory for the image. I do not know of any method to find out how much memory that is left on the card. You can use something like this from the red book

Example 9-2 : Querying Texture Resources with a Texture Proxy
GLint format;
glTexImage2D(GL_PROXY_TEXTURE_2D, 0, GL_RGBA8,
64, 64, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL);
glGetTexLevelParameteriv(GL_PROXY_TEXTURE_2D, 0,
GL_TEXTURE_INTERNAL_FORMAT, &format);

but
"Note: There is one major limitation about texture proxies: The texture proxy tells you if there is space for your texture,
but only if all texture resources are available (in other words, if it''s the only texture in town). If other textures are using
resources, then the texture proxy query may respond affirmatively, but there may not be enough space to make your
texture resident (that is, part of a possibly high-performance working set of textures). (See "Texture Objects" for more
information about managing resident textures.)"

Anyway, the question is difficult since other (slower) memory is used if not all the textures can be on the card. Making assumptions about how the performance will be affected is certainly not easy. Particulary if your forced to guess about systems you do not have access to or perhaps has not even been built yet.

The only reasonable solution is to making the texture detail and other stuff something that the user can set. This is not difficult to implement and your application will be easier to debug. Remember that drivers are far from perfect.

This topic is closed to new replies.

Advertisement