This topic is now archived and is closed to further replies.

Textures question

This topic is 6024 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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 !

Share this post

Link to post
Share on other sites
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;
glGetTexLevelParameteriv(GL_PROXY_TEXTURE_2D, 0,

"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.

Share this post

Link to post
Share on other sites