预览加载中,请您耐心等待几秒...
1/9
2/9
3/9
4/9
5/9
6/9
7/9
8/9
9/9

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

HYPERLINK"http://blog.csdn.net/budingningmeng/article/details/7788859"AUX_RGBImageRecauxRGBImageLoad等函数意义 分类:HYPERLINK"http://blog.csdn.net/budingningmeng/article/category/1185919"opengl学习笔记2012-07-2614:00416人阅读HYPERLINK"http://blog.csdn.net/budingningmeng/article/details/7788859"\l"comments"评论(0)HYPERLINK"javascript:void(0);"\o"收藏"收藏HYPERLINK"http://blog.csdn.net/budingningmeng/article/details/7788859"\l"report"\o"举报"举报 HYPERLINK"http://blog.csdn.net/tag/details.html?tag=filter"\t"_blank"filterHYPERLINK"http://blog.csdn.net/tag/details.html?tag=textures"\t"_blank"texturesHYPERLINK"http://blog.csdn.net/tag/details.html?tag=components"\t"_blank"componentsHYPERLINK"http://blog.csdn.net/tag/details.html?tag=%e5%9b%be%e5%bd%a2"\t"_blank"图形HYPERLINK"http://blog.csdn.net/tag/details.html?tag=null"\t"_blank"nullHYPERLINK"http://blog.csdn.net/tag/details.html?tag=file"\t"_blank"file OpenGL可以把纹理映射到指定的图形的表面上。简单一点的,就是给平面映射纹理,比如一个四边形,一个长方体的6个面,都可以指定位图作为纹理映射到各个面上。 关于将一个位图作为纹理映射到某个或者多个面上,可以学习JeffMolofee的OpenGL系列教程。 对于指定的多个纹理,要根据自己的需要映射到不同的面上,需要对位图创建一个数组,用来存储位图的名称,然后在初始化OpenGL的时候,可以读取这些位图,然后生成多个纹理存储到一个纹理数组中,接着就可以指定绘制的某个面,对该指定的面进行纹理映射。 下面,在的JeffMolofee教程的第六课的基础上,实现对6个面分别进行不同的纹理映射。 准备工作就是制作6幅不同的位图,如图所示: 关键代码及其说明如下。 创建全局纹理数组 GLuinttexture[6];//创建一个全局的纹理数组,用来存储将位图转换之后得到的纹理,对应于立方体的6个面 加载位图文件 加载位图,也就是把位图读取到内存空间,实现纹理的创建,加载位图的函数说明一下: AUX_RGBImageRec*LoadBMP(char*Filename)//根据位图文件的名称进行加载{FILE*File=NULL;//文件指针 if(!Filename)//如果没有指定位图文件名称就返回NULL{returnNULL;} File=fopen(Filename,"r");//根据指定的位图文件名称,打开该位图文件 if(File)//如果位图文件存在{fclose(File);//因为只是需要判断问题是否存在,而不需要对位图文件进行写操作,所以关闭位图文件returnauxDIBImageLoad(Filename);//其实,只需要一个真正存在的位图文件的名称,实现加载位图文件,并返回一个指针} returnNULL;//位图文件加载失败就返回NULL} 上面实现加载位图的函数中,AUX_RGBImageRec是glaux.h中定义的类型,该类型的定义如下所示: /***RGBImageStructure*/ typedefstruct_AUX_RGBImageRec{GLintsizeX,sizeY;unsignedchar*data;}AUX_RGBImageRec; 首先,AUX_RGBImageRec类型是一个RGB图像结构类型。该结构定义了三个成员: sizeX——图像的宽度;sizeY——图像的高度;data;——图形所包含的数据,其实也就是该图形在内存中的像素数据的一个指针。 AUX_RGBImageR