Texture priorities are floating-point values ranked from 0.0 to 1.0, with 1.0 being the highest priority. You can call this function as many times as you need to in order to reassign texture priorities. Texture objects with a 1.0 priority will most likely be in graphics memory at any given time, and those with 0.0 priority will only be in memory if they have been used at least once and there is still texture memory to burn. Being in graphics memory is called being resident in OpenGL terminology. Prioritizing textures allows OpenGL to worry about how many and which textures will fit in the available texture memory space.
Compromise is always possible.
Even when you do your own low-level texture management in some other API, you 'll still have to handle a situation in which you have more textures than will fit in texture memory. You can use this function to load all of your texture objects and then test to see if they all fit within local texture memory. For example, you might want to adjust the size of some large texture in order to get more texture objects resident. Figure 4 On a modern graphics card with plentiful texture memory, all textures in this example will be resident. By experimenting with different texture sizes and different amounts of available texture memory, you'll find that the best performance is achieved when all textures can be resident.