读书人

这样写为什么不呢个纹理贴图,该怎么处

发布时间: 2012-03-04 11:13:33 作者: rapoo

这样写为什么不呢个纹理贴图

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" ); 这个是必须的

楼主要在多个模型上贴图的话,重复使用即可

读书人网 >网络游戏

热点推荐