Thank Yossarian for your advice,but still another problem puzzles me,that is How I can control the texture level?Should I control it myself?for example,when the distance the texture from the camera is 100m,I load the image1,when the distance is 50m,I load the image2 ,and so on?
Mipmapping is controlled by the hardware. You upload all mipmap levels on loadtime and make sure you set the minification filter to GL_LINEAR_MIPMAP_LINEAR (trilinear filtering).
i believe u want
LOD texture bias (or something with a similar name) is part of opengl1.3 (check the extension registry)
Hardware mipmapping is based on the texture minification on the screen. I think in the standard case the behaviour is to pick the mipmap level that (most closely) satisfies “the size of one pixel in the texture corresponds to the size of one pixel on the screen”. So for instance, if a 64x64 texture (mipmap level 0 = 64x64) is drawn on an area of the screen that is about 16x16 in size, mipmap level 2 will be used (which is 16x16 pixels). Of course, a polygon may be mapped with several mipmap levels if required (when the distance to the polygon varies across its surface).