基于OpenGL的台球游戏设计.docx
- 文档编号:248527
- 上传时间:2022-10-07
- 格式:DOCX
- 页数:40
- 大小:302.99KB
基于OpenGL的台球游戏设计.docx
《基于OpenGL的台球游戏设计.docx》由会员分享,可在线阅读,更多相关《基于OpenGL的台球游戏设计.docx(40页珍藏版)》请在冰豆网上搜索。
基于OpenGL的台球游戏设计
摘要 2
Abstract. 2
引言 4
第一章开发平台的选择和OpenGL 6
1.1开发平台介绍 6
1.2在开发平台下选择的开发工具 6
1.2.1VisualC++6.0的简介 6
1.3OpenGL基础的介绍 7
1.4VC++与OpenGL关系 8
第二章OpenGL3D游戏开发技术 9
2.1OpenGL工作流程 9
2.2OpenGL图形操作步骤 10
2.3OpenGL游戏开发需要的技术 11
2.3.1图形变换 11
2.3.2光照 11
2.3.3材质 12
2.3.4光照与材质的关系 13
2.3.5纹理映射 13
第三章台球游戏具体实现 15
3.1在MFC中设计游戏显示的框架 15
3.2在MFC中使用OpenGL设计台球游戏 15
3.2.1使用OpenGL具体实现台球桌面 16
3.2.2使用OpenGL具体实现台球球体 21
3.2.3使用OpenGL具体实现绘制方向箭头 25
3.2.4利用OpenGL实现变换 27
3.2.5数学模型实现 29
3.2.6运动模型实现 31
第四章总结与展望 39
4.1研究内容总结 39
4.2存在的不足和未来的工作 39
参考文献 39
致谢 40
基于OpenGL的台球游戏设计
摘要:
OpenGL被认为是高性能图形和交互式视景处理的标准,可以制作出更顺畅的3D效果。
由大量功能强大的图形函数组成,集成了所有曲面造型、图形变换、光照、材质、纹理、像素操作、融合、反选择、雾化等复杂的计算机图形学算法。
VC++是一种语法比较灵活和编译后的可执行程序的运行速度快,面向对象的高级语言,特别适合利用OpenGL的图形引擎开发图形处理软件。
该游戏主要完成了游戏的界面的设计,以及游戏中球体运动,碰撞的实现。
该游戏的一个重要特点是利用了OpenGL和VC++制作,通过模型建立、光源设置、材质设置、纹理处理、碰撞检测、运动模拟等将真实世界中的台球游戏在计算机中再现。
本游戏在VC++6.0平台下开发,主要利用OpenGL三维图形处理的功能,以及编程思路和实现过程。
关键词:
openGL;三维图形;3D游戏;碰撞检测;
OpenGL-basedbilliardsgamedesign
Abstract:
OpenGListhehighperformancegraphicsandinteractiveviewdisposalstandard,composedoflotsofgraphicsfunctionswithstrongfunction,integratingmanycomputergraphicsalgorithmssuchasgraphicstransformation,lighting,texturemapping,pixeloperation,blending,anti-aliasing,fog,etc.VC++isanobject-orientedlanguagewithflexiblegrammarandfastexecutionspeedaftercompiling,soitadaptstoOpenGLenginegraphicsprocessingsoftware.
Therefore,thisgamedesignmajortocompleteuserinterfacedigsn,aswellastheballmovementandimplementationofcollisioninthegame,ThegamedesignisanimportantcharacteristicoftheuseofOpenGLandVC++.Throughmodelestablishment,scenedisposal,collisiondetection,lightingandmetarialsetup,texturemappingmotionsimulation,etc,thebilliardintherealworldreappearsinthecomputer.ThesoftwaredevelopmentplatformisVC++6.0.ThispaperdiscussesthefunctionsandfeaturesofOpenGLaswellastheprocedureandimplementationof3Dbilliards.
KeyWords:
OpenGL;three-dimensiongraphics;3Dgames;collisiondetection
引言
最近几年,随着计算机信息技术的高速发展,以及计算机图形学的发展使得三维表现技术得以形成,这些三维表现技术能够再现三维世界中的物体,能够用三维物体来表示复杂的信息,从而便于和计算机直接交流。
这种技术已经把人和计算机的力量以一种直觉而自然的方式加以统一,这种革命性的变化无疑将极大地提高人们的工作效率。
计算机三维动画技术被广泛的应用于许多方面。
利用计算机和三维动画软件的强大功能,通过三维建模、材质及动画的设定可以将真实世界中的各种对象在计算机中真实再现。
不仅仅是机械工程师可以从二维平面图中得以解放直接进入了三维世界,从而很快得到自己设计的三维机械零件模型。
医生可以从病人的三维扫描图像分析病人的病状。
军事指挥员可以面对用三维图形技术生成的战场地形,指挥具有真实感的三维飞机、军舰、坦克向目标开进并分析战斗方案的效果。
而三维游戏也是其中应用之一。
电脑游戏,一个对广大的计算机应用者毫不陌生的名词,相信每一个电脑爱好者对其都有不同程度的喜爱,尤其是面对一些图形处理非常精美的三维游戏来说,多少会有一些爱不释手吧!
记得以前我对网络游戏非常的陌生,直到有一次,在仔细观察同学正起劲的玩着当时最流行的三维网络游戏时,我看傻了眼!
那精美的画面,细致的表情,流畅的动作,以及眩目的人物造型等等都让我目瞪口呆,再看到同学那副痴迷的神态,我不能不感叹这电脑游戏的魅力!
所以后来在选毕业设计的课题时,我选择了这个三维台球游戏的软件开发的课题!
本论文的主要研究的内容是如何利用OpenGL开发出一个微型游戏。
因此,所要解决的主要问题有四个:
一是如何用数学方法建立所需三维场景的几何描述,并将它们输入到计算机中,这部分工作由三维实体造型系统完成。
场景的几何描述直接影响了图形的复杂性和图形绘制的计算耗费,选择合理的有效的数据表示和输入手段是极其重要。
二是将三维几何描述转换为二维透视,通过场景透视换来完成。
三是确定场景中的所有可视面,这需要使用隐藏面消除算法将视域之外或其他物体的遮挡不可见面消去。
四是计算机场景中所有可见面的颜色,这就需要根据基于光学物理的光照明模型计算机可见面投射到观察者眼中的光亮度的大小和色彩组成,并将它换成适合图形设备的颜色值,从而确定投影画面上每一象素的颜色,最终生成图形。
鉴于时间、技术、设备、资源等各方面的原因,我现在还无法开发出一个完整的网络游戏,只能研究其最基础的部分,在这里我们将开发出一个小型的三维台球游戏。
借此掌握三维游戏制作的基础部分。
在这基础部分实现的过程中主要完成的是对三维图形技术的应用,比如对台球的光照球体的渲染和纹理映射的实现。
以及如何利用跟踪算法来跟踪台球,利用跟踪算法求得球运动速度和方向,最终确定球是落袋还是静止在桌面上某一个位置。
所以该课题的应用前景十分广阔,不但锻炼了三维图形技术的实现能力,还提高了编程的总体思路,大大提高编程水平。
更何况中国市场的匮乏,这无疑是一块很大的蛋糕!
最后,从这个台球游戏中,我可以学到如何设计三维图形,利用OpenGL的三维图形技术和VC++的面向对象的程序设计的优势,来实现台球游戏的桌面和球体的绘制。
第一章开发平台的选择和OpenGL
1.1开发平台介绍
考虑到本系统性能要求和现有的条件,我们选择了WindowsXP中文版本作为开发、测试和运行的平台。
我们为什么要选择WindowsXP中文版作为开发平台,主要是由于XP操作系统是以图形用户界面的主要优势的操作系统。
那图形用户界面是由窗口(Windows)、图标(Icons)、菜单(Menus)、指示器(PointingDevice)四位一体,形成桌面(Desktop)。
这种方式能同时显示不同种类的信息,使用户可在几个工作环境中切换而不丢失几个工作之间的联系,用户可通过下拉式菜单方便执行控制型和对话型任务,引入图标、按钮和滚动杆技术,大大减少键盘输入,对不精于打字的用户无疑提高了交互效率。
图形用户界面与命令语言界面相比的优点:
与以符号为主的字符命令语言界面相比,以视觉感知为主的图形界面具有一定的文化和语言独立性,并可提高视觉目标搜索的效率。
在符号阶段,用户面对的只有单一文本符号,虽然离不开视觉的参与,但视觉信息是非本质的,本质的东西只有符号和概念。
在视觉阶段,借助计算机图形学技术使人机交互能够大量利用颜色、形状等视觉信息,发挥人的形象感知和形象思维的潜能,提高了信息传递的效率。
1.2在开发平台下选择的开发工具
在Windows开发开发平台下,图形用户界面使得用户与程序的交流变的更加密切。
不再是一种从键盘到程序,再到显示器的单向信息流动,使得用户可以和显示器对象直接交互。
图形用户界面使得用户不再需要花费长的时间学习如何使用极速那就或掌握新程序。
Windows让这这一切成真,因为一个应用程序占据一个窗口,所有窗口都有相同的基本外观和感觉。
开发游戏系统的工具有一些。
目前世界上流行的主流开发工具有:
VisualC++、JAVA。
经过认真分析其优缺点,结合我们选择的OpenGL硬件接口,我们选择了Microsoft公司推出的VisualC++作为3D游戏的开发工具。
1.2.1VisualC++6.0的简介
VisualC++提供了一个可视化编程的集成开发环境:
VisualStudio(又名DeveloperStudio)。
DeveloperStudio是一个通用的应用程序集成开发环境,它不仅支持VisualC++,还支持VisualBasic,VisualJ++,VisualInterDev等Microsoft系列开发工具。
DeveloperStudio包含了一个文本编辑器、资源编辑器、工程编译工具、一个增量连接器、源代码浏览器、集成调试工具,以及一套联机文档。
使用DeveloperStudio,可以完成创建、调试、修改应用程序等的各种操作。
MircrosoftVisualC++现在的版本比较多,比如有MircrosoftVisualC++6.0,MircrosoftVisualC++2005,MircrosoftVisualC++2008等等。
VisualC++6.0是Mircosoft公司推出的MicosoftVisualStudio6.0系列中的拳头产品,同时也是一种C/C++编译程序,内含一个集成开发环境,简称IDE(IntergratedDevelopment
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 OpenGL 台球 游戏 设计