- 1、本文档共144页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
OpenGL 游戏程序设计 2、强大的可移植性 微软的Direct3D虽然也是十分优秀的图形API,但它只用于Windows系统(现在还要加上一个XBOX游戏机)。而OpenGL不仅用于 Windows,还可以用于Unix/Linux等其它系统,它甚至在大型计算机、各种专业计算机(如:医疗用显示设备)上都有应用。并且,OpenGL 的基本命令都做到了硬件无关,甚至是平台无关。 3、高性能的图形渲染。 OpenGL是一个工业标准,它的技术紧跟时代,现今各个显卡厂家无一不对OpenGL提供强力支持,激烈的竞争中使得OpenGL性能一直领先 OpenGL程序准备工作 第一步,选择一个编译环境 现在Windows系统的主流编译环境有Visual Studio,Broland C++ Builder等都是支持OpenGL的。但这里我们选择Visual C++作为学习OpenGL的环境。 第二步,安装GLUT工具包 GLUT不是OpenGL所必须的,但它会给我们的学习带来一定的方便,推荐安装。 Windows环境下安装GLUT的步骤: 1、将下载的压缩包解开,将得到5个文件 2、在“我的电脑”中有哪些信誉好的足球投注网站“gl.h”,并找到其所在文件夹。把解压得到的glut.h放到这个文件夹。 3、把解压得到的glut.lib和glut32.lib放到静态函数库所在文件夹(如果是Visual C++,则应该是其安装目录下面的“VC\lib”文件夹)。 4、把解压得到的glut.dll和glut32.dll放到操作系统目录下面的system32文件夹内。(典型的位置为:C:\Windows\System32) 第三步,建立一个OpenGL工程 这里以Visual C++ 6.0为例。 选择File-New-Project,然后选择Win32 Console Application,选择一个名字,然后按OK。 在谈出的对话框左边点Application Settings,找到Empty project并勾上,选择Finish。 然后向该工程添加一个代码文件。 第一个OpenGL程序 见文本文件“第一个OpenGL文本文件” 第二章 基本图元绘制 OpenGL函数形式 OpenGL 函数通常以gl开头,中间是函数相关功能单词,后面跟一个数字和1~2个字母。例如: glVertex2d glVertex2f glVertex3f glVertex3fv数字表示参数的个数,2表示有两个参数,3表示三个,4表示四个 字母表示参数的类型: s表示16位整数(OpenGL中将这个类型定义为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);(四)glVertex4f(1.0f, 3.0f, 0.0f, 1.0f);(五)GLfloat VertexArr3[] = {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_LINES,则两个点将被认为是直线的两个端点,OpenGL将会画出一条直线。 glBegin支持的方式除了GL_POINTS和GL_LINES,还有GL_LINE_STRIP,GL_LINE_LOOP,GL_TRIANGLES,GL_TRIANGLE_STRIP,GL_TRIANGLE_FAN等,每种方式的大致效果见下图: 程序代码:void myDisplay(void){???? glClear(GL_CO
您可能关注的文档
- 工信部:当前纺织行业发展现状及推动创新与转型升级的政策.pptx
- 月全国财政收入14249亿元 增12.pptx
- 彩盒生产流程图.doc
- 华民慈善基金会.doc
- 价格鉴定行为规范2010年版.doc
- 2007年国家司法考试真题解析卷一.doc
- 固体矿产正常损失和非正常损失.doc
- 找准治理切入点消弭经济金融落差.pptx
- 易哈佛2014会计从业资格《财经法规》考点归纳解析(2).docx
- 信用证相关问题汇总.docx
- 六年级数学下册教学课件《解比例》.pptx
- 8.21.5 鸟类的生殖与发育(课件)八年级生物下册课件(苏教版).pptx
- 钠离子电池项目智能制造方案(范文参考).docx
- 2023-2024学年吉林省吉林市舒兰市七年级(上)期末语文试卷.docx
- 2024年吉林省吉林市丰满区亚桥实验学校中考数学三模试卷.docx
- 2023-2024学年吉林省辽源市东辽县七年级(上)期末英语试卷.docx
- 2023-2024学年吉林四平九年级数学第一学期期末水平检测试卷.docx
- 2023-2024学年吉林市蛟河市三校联考九年级(上)期末英语试卷.docx
- 2023-2024学年吉林松原九年级英语上册考场实战试卷.docx
- 电解液新材料项目智能制造方案.docx
文档评论(0)