opengl中文教程opengl-5-纹理

opengl中文教程opengl-5-纹理

ID:24377000

大小:157.50 KB

页数:4页

时间:2018-11-14

opengl中文教程opengl-5-纹理_第1页
opengl中文教程opengl-5-纹理_第2页
opengl中文教程opengl-5-纹理_第3页
opengl中文教程opengl-5-纹理_第4页
资源描述:

《opengl中文教程opengl-5-纹理》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、4、绘制带纹理三棱锥NeHeSDK是把Nehe的教程中所介绍的所有功能,以面向对象的形式,提供给编程人员快速开发的一套编程接口。在下面的教程中,我将按NeHeSDK源码的功能分类,一步一步把这套api介绍给大家。如果你觉得有更好的学习方法,或者有其他有益的建议,请联系我。zhouwei02@mails.tsinghua.edu.cn,zhouwei506@mails.gucas.ac.cn程序结构:我们在第三课程序的基础上添加一下功能:1.创建一个全局的纹理类2.利用纹理类载入纹理文件3.创建绘制带纹理坐标的三棱锥的函数1.设置当前的纹理并启用它,绘制带纹理坐标的三棱锥为

2、了使用纹理类,我们需要包含下面的头文件(texture.h),并声明一个全局的视口变量text2D。我们在主程序文件和绘制文件中添加如下的代码:/*************************************新增的代码:包含纹理类的声明****************************/#include"texture.h"//包含纹理类的声明/**********************************新增的代码:包含纹理类的声明:结束**************************//***************************

3、**********新增的代码:创建Texture类****************************/Texturetex;//使用全局变量Texture类的实例inttexID;//使用全局变量texID,保存加载的纹理ID/**********************************新增的代码:创建Text2D类:结束**************************/2、利用纹理类载入纹理文件我们在IniScene函数中完成这个工作,首先调用纹理类的Load函数载入base.bmp图像文件,接着检查是否成功,如果不成功则弹出对话框,提示载入失败。实

4、现代码如下:/******************************************************初始化场景***************************************************************************voidIniScene(OpenGL*gl,ControlData*cont){/*************************************新增的代码:载入纹理****************************/texID=tex.Load("base.bmp");if(

5、texID==0){MessageBox(NULL,"不能加载base.bmp图像","Error",MB_OK

6、MB_ICONEXCLAMATION);cont->quit=true;return;}/**********************************新增的代码:载入纹理:结束**************************/}/****************************************************初始化场景:结束***************************************************

7、*********************/3、创建绘制带纹理坐标的三棱锥的函数我们使用标准的OpenGL函数完成这个功能/*************************************新增的代码:绘制带纹理坐标的三棱锥****************************///绘制带纹理坐标的三棱锥voidDrawTexTri(void){glPushAttrib(GL_CURRENT_BIT);//保存当前的绘制属性glBegin(GL_TRIANGLES);//前面glTexCoord2f(0.5f,0.5f);glVertex3f(0.0f,1.0f

8、,0.0f);glTexCoord2f(0.0f,0.0f);glVertex3f(-1.0f,-1.0f,1.0f);glTexCoord2f(1.0f,0.0f);glVertex3f(1.0f,-1.0f,1.0f);//右面glTexCoord2f(0.5f,0.5f);glVertex3f(0.0f,1.0f,0.0f);glTexCoord2f(1.0f,0.0f);glVertex3f(1.0f,-1.0f,1.0f);glTexCoord2f(1.0f,1.0f);glVertex3f(1.0f,-1.0f,-

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。