   Unloading individual mipmap levels.
  Is it possible to remove individual mip map levels from a texture object?I am writin a texture streamer and want to design it so it will be possible to just load the high resolusion mip levels when they are needed.I have been thinking about sending NULL as pixel data and zero as width/height to glTexImage2D at the specified mip-level but I'am not sure if this actually frees the memory on the gfx board. 
  There is nothing you can do to force the release of memory. All VRAM memory management is entirely within the exclusive control of the driver. You should not attempt to manage these resources yourself, as it will interfere with the drivers own memory management, and could severely impact performance. You could also easily put your textures in an invalid state.If you want to stream texture data, then use a fixed pool of textures. Use PBO to upload data to these textures. Let the driver do the rest.;I dont understand how to allocate such a pool. Do you mean that I should create a bunch of textures with different sizes with and without a mipmap chain.When I want to create texture 'A' for my game/demo I lookup a free texture on the GPU that match the properties of 'A' and writes the pixel data to it?Or do you mean that I should only allocate a bunch of texture maps without a mipmap chain. If I want to create the mipmapped texture with size 256 It just lookups free textures of the size 256, 128, 64, ... 1 (if i want the complete pyramid) writes to them and let shaders do the mipmap lookups on the array of textures.;  only think u can do is build your own mega texturing system, but it's a little bit complicated :D   