|
|
AUX_RGBImageRec *pTextureImage256base = auxDIBImageLoa( ".\\texbase256.bmp" );
if( pTextureImage256base != NULL )
{
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
glGenTextures( 1, &g_mipMapTextureID );
glBindTexture(GL_TEXTURE_2D, g_mipMapTextureID);
gluBuild2DMipmaps
(GL_TEXTURE_2D,3,pTextureImage256base>sizeX,pTextureImage256base->sizeY, GL_RGB, GL_UNSIGNED_BYTE,pTextureImage256base->data);
}
//*************************************
下面用glTexImage2D函数一个个的加载各级纹理每个是上一个的1/2大小
//************************************
AUX_RGBImageRec *pTexArray[6];
pTexArray[0] = auxDIBImageLoad( ".\\tex256.bmp" );
pTexArray[1] = auxDIBImageLoad( ".\\tex128.bmp" );
pTexArray[2] = auxDIBImageLoad( ".\\tex64.bmp" );
pTexArray[3] = auxDIBImageLoad( ".\\tex32.bmp" );
pTexArray[4] = auxDIBImageLoad( ".\\tex16.bmp" );
pTexArray[5] = auxDIBImageLoad( ".\\tex8.bmp" );
glTexImage2D( GL_TEXTURE_2D, 0, 3, pTexArray[0]->sizeX, pTexArray[0]->sizeY, 0,
GL_RGB, GL_UNSIGNED_BYTE, pTexArray[0]->data);
glTexImage2D( GL_TEXTURE_2D, 1, 3, pTexArray[1]->sizeX, pTexArray[1]->sizeY, 0,
GL_RGB, GL_UNSIGNED_BYTE, pTexArray[1]->data);
glTexImage2D( GL_TEXTURE_2D, 2, 3, pTexArray[2]->sizeX, pTexArray[2]->sizeY, 0,
GL_RGB, GL_UNSIGNED_BYTE, pTexArray[2]->data);
glTexImage2D( GL_TEXTURE_2D, 3, 3, pTexArray[3]->sizeX, pTexArray[3]->sizeY, 0,
GL_RGB, GL_UNSIGNED_BYTE, pTexArray[3]->data);
glTexImage2D( GL_TEXTURE_2D, 4, 3, pTexArray[4]->sizeX, pTexArray[4]->sizeY, 0,
GL_RGB, GL_UNSIGNED_BYTE, pTexArray[4]->data);
glTexImage2D( GL_TEXTURE_2D, 5, 3, pTexArray[5]->sizeX, pTexArray[5]->sizeY, 0,
GL_RGB, GL_UNSIGNED_BYTE, pTexArray[5]->data);
|
|