gluBuild2DMipmaps与glTexImage2D

来源:互联网 发布:长春知满天教育官网 编辑:程序博客网 时间:2024/05/16 09:13

 两者的都是生成纹理。我觉得glTexImage2D比gluBuild2DMipmaps更稳定,有时后者也不知道什么原因就贴不好图。至少我这遇见了好几次了,可能是我前面滤波设置的问题,但也很有可能是这个函数自身的问题。希望谁懂的能告诉我。不过后者对BMP图片的要求就宽松了,这就是其优点吧。哈。

glTexImage2D()的用法举例

glTexImage2D(GL_TEXTURE_2D, //此纹理是一个2D纹理
                              0,                                    //代表图像的详细程度, 默认为0即可
                               3,                                   //颜色成分
                              TextureImage[0]->sizeX,          //纹理的宽度
                              TextureImage[0]->sizeY,          //纹理的高度
                              0,                                         //边框的值
                             GL_RGB,                               //告诉OpenGL图像数据由红、绿、蓝三色数据组成
                             GL_UNSIGNED_BYTE,                //组成图像的数据是无符号字节类型
                             TextureImage[0]->data);          //告诉OpenGL纹理数据的来源,此例中指向存放在TextureImage[0]记录中的数据

gluBuild2DMipmaps()的用法举例

gluBuild2DMipmaps(GL_TEXTURE_2D,//此纹理是一个2D纹理
                                          3,                                   //颜色成分
                                           TextureImage[0]->sizeX,               //纹理的宽度
                                           TextureImage[0]->sizeY,               //纹理的高度
                                           GL_RGB,                                      //告诉OpenGL图像数据由红、绿、蓝三色数据组成
                                           GL_UNSIGNED_BYTE,                     //组成图像的数据是无符号字节类型
                                           TextureImage[0]->data);             //告诉OpenGL纹理数据的来源,此例中指向存放在TextureImage[0]记录中的数据

使用注意事项
  
使用glTexImage2D()时所采用的位图文件分辨率必须为:64×64、128×128、256×256三种格式,如果其他大小则会出现绘制不正常。gluBuild2DMipmaps()支持任意分辨率位图文件。 


超越C++原创文章,转载请注明来源并保留原文链接

本文链接:http://www.beyondc.cn/glubuild2dmipmaps-and-glteximage2d.html