int LoadGLTextures() { int Status=FALSE; AUX_RGBImageRec *TextureImage[1]; //创建纹理储存空间 memset(TextureImage,0,sizeof(void*)*1); ///////////////////////////////// //增加图片的路径 char name1[20]; char name2[20]; glGenTextures(6,&texture[0]); //告诉GL我们即将创建六个纹理,并将其保存在以0开始的texture数组中 for(int i=0;i<6;i++) { //图片路径的处理 strcpy(name1,"Images/薛华啤酒"); itoa(i+1,name2,10); strcat(name2,".bmp"); strcat(name1,name2); if(TextureImage[0]=LoadBMP(name1)) { Status=TRUE; //glGenTextures(6,&texture[0]); //创建六个纹理 //使用来自位图的数据创建Nearest滤波贴图 glBindTexture(GL_TEXTURE_2D,texture[i]); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_NEAREST); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_NEAREST); glTexImage2D(GL_TEXTURE_2D,0,3,TextureImage[0]->sizeX,TextureImage[0]->sizeY,0,GL_RGB,GL_UNSIGNED_BYTE,TextureImage[0]->data); } else { Status=FALSE; } } if(TextureImage[0]) { if(TextureImage[0]->data) { free(TextureImage[0]->data); } free(TextureImage[0]); } return Status; }/////////////////////////////////////////////我也弄过这个教程一段时间,希望上面的代码对你有帮助,当然,我的这个方法有点取巧了。
intLoadGLTextures(){intStatus=FALSE;AUX_RGBImageRec*TextureImage[1];//创建纹理储存空间memset(TextureImage,0,sizeof(void*)*1);///////////////////////////////////增加图片的路径charname1[20];charname2[20];glGenTextures(6,&texture[0]);//告诉GL我们即将创建六个纹理,并将其保存在以0开始的texture数组中for(inti=0;i<6;i++){//图片路径的处理strcpy(name1,"Images/薛华啤酒");itoa(i+1,name2,10);strcat(name2,".bmp");strcat(name1,name2);if(TextureImage[0]=LoadBMP(name1)){Status=TRUE;//glGenTextures(6,&texture[0]);//创建六个纹理//使用来自位图的数据创建Nearest滤波贴图glBindTexture(GL_TEXTURE_2D,texture[i]);glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_NEAREST);glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_NEAREST);glTexImage2D(GL_TEXTURE_2D,0,3,TextureImage[0]->sizeX,TextureImage[0]->sizeY,0,GL_RGB,GL_UNSIGNED_BYTE,TextureImage[0]->data);}else{Status=FALSE;}}if(TextureImage[0]){if(TextureImage[0]->data){free(TextureImage[0]->data);}free(TextureImage[0]);}returnStatus;}/////////////////////////////////////////////我也弄过这个教程一段时间,希望上面的代码对你有帮助,当然,我的这个方法有点取巧了。