如何给立方体的6个面贴上不同的纹理??nbsp;nbsp;关于OpenGL

我最近再看NeHe的OpenGL教程....看到纹理这章,nbsp;但我还是不知道要怎么给立方体的六个面贴上不同的纹理...请各位帮我写下代码~~nbsp;nbsp;谢谢了...
最新回答
清清茶烟挽

2024-09-26 14:34:40

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