纹理对象的使用:纹理图像数据的类型,图像数据的导入导出方式,纹理的使用过程:图像数据的加载,纹理参数的设置,纹理的绑定。
一、图像数据的分类:位图图像和像素图像
在OpenGL中:使用4字节的行对齐方式,每一行补全到4的倍数,使用glPixelStorei(pname,param)可以改变或者恢复像素的存储方式
介绍常用的两组:内存<->缓冲区的压缩和解包
glPixcelStorei(GL_UNPACK_ALIGNMENT) ----图像数据从内存到缓冲区的解包设置
glPixcelStorei(GL_PACK_ALIGNMENT) ---- 图像数据从缓冲区到内存的封包设置
三、像素图的存储过程(从颜色缓冲区中获取图像保存为图片)
1、从颜色缓冲区读取像素数据到内存中:glReadPixcels(x,y,width,height,format,type,*pixcels)
pixcels:必须有足够的存储空间
format:指定颜色布局,类似GL_RGB,GL_RBGA之类
type:颜色分量的数据类型,类似GL_UNSIGHED_BYTE,GL_BYTE之类
2、从内存到硬盘的图像文件保存
四、像素图数据的获取过程(从硬盘到内存)
gltReadTGABits(szFileName,iWidth,iHeight,iComponents,eFormat)
获取:图片位图数据,宽高,iComponents:颜色成分的存储大小和压缩状况,eFormat:颜色布局
这些数据是位图数据从内存加载到缓冲区的时候,OpenGL需要的数据
五、纹理载入方式一(图像数据从内存到纹理缓冲区):
glTexImage1D/glTexImage2D/glTexImage3D
glTexImage2D(target,level,internalformat,width,height,border,format,type,*data)
target:GL_TEXTURE_1D,GL_TEXTURE_2D,GL_TEXTURE_3D