这样写为什么不呢个纹理贴图
- C/C++ code
GLuint Texture::LoadGLTexture( const char *filename ) { AUX_RGBImageRec *pImage; // 常见保存纹理的空间 GLuint Texture = 0; // 纹理的ID pImage = LoadBMP( filename ); // 读入指定文件的位图数据 if ( pImage != NULL && pImage->data != NULL ) // 如果纹理图像存在 { glGenTextures(1, &Texture); // 典型的纹理生成方法 glBindTexture(GL_TEXTURE_2D, Texture); glTexImage2D(GL_TEXTURE_2D, 0, 3, pImage->sizeX, pImage->sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE, pImage->data); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR); free(pImage->data); // 释放纹理图像内存 free(pImage); // 释放图像结构 } return Texture; // 返回纹理}
必须指定 pImage = LoadBMP( "Data/Hill.bmp" ); 这样才能贴图
但是我需要在多个模型中贴图啊
[解决办法]
当然要从硬盘里读取贴图,pImage = LoadBMP( "Data/Hill.bmp" ); 这个是必须的
楼主要在多个模型上贴图的话,重复使用即可