This isn't strictly an ES-question, but more a general OpenGL question. I have only used OpenGL for like a week, so bear with me if I have misunderstood something.
I can't really get a clear view of how it works from reading the OpenGL or OpenGL ES specifications. So maybe its implementation specific...
Its about texture management... I read that when using texture objects the GL will have some kind of texture management to load and unload textures. But how does this really work?
Am I right that the idea is that I as a user of the GL don't know if the actual pixel data for a texture object is actually loaded in texture memory or not?
What actually happens when I do a glTexImage2D on a texture target bound to a specific texture object? Is it loaded into texture memory at this point? It seems so.
What if it doesn't fit in texture memory?
Will it throw out the least recently used texture? what happens if I then try to bind the texture object name I used to define that old texture? will it be loaded into texture memory again automaticly? I assume so.
But from where? Here is my problem.
Does the pointer I specified to glTexImage2D have to still be valid for it to be reloaded? What if I when I called glTexImage2D provided a NULL pointer and filled my texture with glTexSubImage? then it couldn't know where to reload it from?
Is texture management disabled then?
It all seems a bit weird to me...
If anyone can shed any light on the subject I would appreciate it.
[ January 20, 2005: Message edited by: Olof Hedman ]