opengl游戏程序设计

opengl游戏程序设计

ID:36316147

大小:301.50 KB

页数:144页

时间:2019-05-09

opengl游戏程序设计_第1页
opengl游戏程序设计_第2页
opengl游戏程序设计_第3页
opengl游戏程序设计_第4页
opengl游戏程序设计_第5页
资源描述:

《opengl游戏程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、OpenGL游戏程序设计第一章OpenGL概述一、OpenGL的特点1、与C语言紧密结合。OpenGL命令最初就是用C语言函数来进行描述的,对于学习过C语言的人来讲,OpenGL是容易理解和学习的。如果你曾经接触过TC的graphics.h,你会发现,使用OpenGL作图甚至比TC更加简单。2、强大的可移植性微软的Direct3D虽然也是十分优秀的图形API,但它只用于Windows系统(现在还要加上一个XBOX游戏机)。而OpenGL不仅用于Windows,还可以用于Unix/Linux等其它系统,它甚至在大型计算机、各种专业计算机(如:医疗用显示设备)上都有应用。并且,Ope

2、nGL的基本命令都做到了硬件无关,甚至是平台无关。3、高性能的图形渲染。OpenGL是一个工业标准,它的技术紧跟时代,现今各个显卡厂家无一不对OpenGL提供强力支持,激烈的竞争中使得OpenGL性能一直领先OpenGL程序准备工作第一步,选择一个编译环境现在Windows系统的主流编译环境有VisualStudio,BrolandC++Builder等都是支持OpenGL的。但这里我们选择VisualC++作为学习OpenGL的环境。第二步,安装GLUT工具包GLUT不是OpenGL所必须的,但它会给我们的学习带来一定的方便,推荐安装。Windows环境下安装GLUT的步骤:1

3、、将下载的压缩包解开,将得到5个文件2、在“我的电脑”中搜索“gl.h”,并找到其所在文件夹。把解压得到的glut.h放到这个文件夹。3、把解压得到的glut.lib和glut32.lib放到静态函数库所在文件夹(如果是VisualC++,则应该是其安装目录下面的“VClib”文件夹)。4、把解压得到的glut.dll和glut32.dll放到操作系统目录下面的system32文件夹内。(典型的位置为:C:WindowsSystem32)第三步,建立一个OpenGL工程这里以VisualC++6.0为例。选择File->New->Project,然后选择Win32Conso

4、leApplication,选择一个名字,然后按OK。在谈出的对话框左边点ApplicationSettings,找到Emptyproject并勾上,选择Finish。然后向该工程添加一个代码文件。第一个OpenGL程序见文本文件“第一个OpenGL文本文件”第二章基本图元绘制OpenGL函数形式OpenGL函数通常以gl开头,中间是函数相关功能单词,后面跟一个数字和1~2个字母。例如:glVertex2d glVertex2f glVertex3f glVertex3fv数字表示参数的个数,2表示有两个参数,3表示三个,4表示四个字母表示参数的类型:s表示16位整数(OpenG

5、L中将这个类型定义为GLshort);i表示32位整数(OpenGL中将这个类型定义为GLint和GLsizei);f表示32位浮点数(OpenGL中将这个类型定义为GLfloat和GLclampf);d表示64位浮点数(OpenGL中将这个类型定义为GLdouble和GLclampd)。v表示传递的几个参数将使用指针的方式,见下面的例子。 这些函数除了参数的类型和个数不同以外,功能是相同的。例如,以下五个代码段的功能是等效的: (一)glVertex2i(1,3);(二)glVertex2f(1.0f,3.0f);(三)glVertex3f(1.0f,3.0f,0.0f);(四

6、)glVertex4f(1.0f,3.0f,0.0f,1.0f);(五)GLfloatVertexArr3[]={1.0f,3.0f,0.0f};      glVertex3fv(VertexArr3);OpenGL要求:指定顶点的命令必须包含在glBegin函数之后,glEnd函数之前(否则指定的顶点将被忽略)。并由glBegin来指明如何使用这些点。例如:glBegin(GL_POINTS);     glVertex2f(0.0f,0.0f);     glVertex2f(0.5f,0.0f);glEnd();则这两个点将分别被画出来。如果将GL_POINTS替换成GL

7、_LINES,则两个点将被认为是直线的两个端点,OpenGL将会画出一条直线。glBegin支持的方式除了GL_POINTS和GL_LINES,还有GL_LINE_STRIP,GL_LINE_LOOP,GL_TRIANGLES,GL_TRIANGLE_STRIP,GL_TRIANGLE_FAN等,每种方式的大致效果见下图:程序代码:voidmyDisplay(void) {glClear(GL_COLOR_BUFFER_BIT);glBegin(/*在这里填上你所希望的模式*/)

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

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

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