Skip to main content
GameDev.net gamedev.net
🔒 Locked

Textures question

Started by Crypthor Jul 19, 2001 at 4:47 AM 1 replies 550+ views
Original Post
Crypthor
Crypthor
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
Obelix
Obelix
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.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.