glTexImage2D()和gluBuild2DMipmaps()

来源:互联网 发布:arm9 linux qt 编辑:程序博客网 时间:2024/04/29 17:23

说明:两者的都是生成纹理,即:将载入的位图文件(*.bmp)转换成纹理贴图。

 

glTexImage2D()的用法举例

glTexImage2D(GL_TEXTURE_2D, //此纹理是一个2D纹理
0,                                         //代表图像的详细程度, 默认为0即可
3,                                         //颜色成分R(红色分量)、G(绿色分量)、B(蓝色分量)三部分,若为4则是R(红色分量)、G(绿色分量)、B(蓝色分量)、Alpha
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,                                              //颜色成分R(红色分量)、G(绿色分量)、B(蓝色分量)三部分,若为4则是R(红色分量)、G(绿色分量)、B(蓝色分量)、Alpha
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()支持任意分辨率位图文件。

原创粉丝点击