基于OpenGL的三维迷宫游戏设计开题报告
2020-04-14 15:07:23
1. 研究目的与意义(文献综述)
opengl(全写open graphics library)是指定义了一个跨编程语言、跨平台的编程接口规格的专业的图形程序接口。它用于三维图像(二维的亦可),是一个功能强大,调用方便的底层图形库。
opengl#8482; 是行业领域中最为广泛接纳的 2d/3d 图形 api,其自诞生至今已催生了各种计算机平台及设备上的数千优秀应用程序。opengl#8482; 是独立于视窗操作系统或其它操作系统的,亦是网络透明的。在包含cad、内容创作、能源、娱乐、游戏开发、制造业、制药业及虚拟现实等行业领域中,opengl#8482; 帮助程序员实现在 pc、工作站、超级计算机等硬件设备上的高性能、极具冲击力的高视觉表现力图形处理软件的开发。
opengl是个与硬件无关的软件接口,可以在不同的平台如windows 95、windows nt、unix、linux、macos、os/2之间进行移植。因此,支持opengl的软件具有很好的移植性,可以获得非常广泛的应用。由于opengl是图形的底层图形库,没有提供几何实体图元,不能直接用以描述场景。
2. 研究的基本内容与方案
本论文利用openGL编写了简单的三维迷宫游戏,主要玩法就是在一个三维迷宫中寻找到终点路径。openGL图形库可用java,c#,c 等主流语言都可调用,这里采用较为底层的c 语言,保证其运行效率。图形库版本用较为高级的4.5版本,保证其支持GPU渲染。虽然游戏简单,但其中包含了大量数学和图形学中的知识,游戏实现主要分为几个方面,1、相机主要控制第一人称视角变换,根据鼠标键盘交互,重新计算空间中视角,位置的变化来实现。2、迷宫的生成用经典的prim算法,先将其用二维数组表示,生成二维迷宫,然后算出三维模型顶点数据绘制出来。3、模型贴图,用到normal map技术,使得场景更加真实。4、添加光照阴影,光照采用经典的phong光照模型,需要计算环境光和漫反射光,阴影采用较为简单的shadow map技术生成。5、碰撞检测,考虑到模型全部由单位立方体缩放平移而来,碰撞检测主要判断当前位置是否在某个立方体中。6、天空背景用cube map立方体映射来实现。7、为了加速渲染,这里没有用传统的渲染管道,而是将一部分渲染任务交由GPU处理,这里用到了openGL配套的着色器语言GLSL,其中normal map,shadow map等技术都由其实现。
3. 研究计划与安排
1-3周:查阅文献,完成开题报告
4-6周:总体设计,完成论文综述
7-10周:设计算法,功能模块设计
4. 参考文献(12篇以上)
[1] 王玉华, 杨克俭, 曾梅兰. 面向对象技术在三维虚拟场景建模中的应用研究[j]. 武汉理工大学学报(交通科学与工程版), 2003, 27(1):37-40.
[2] 向世明. opengl编程与实例[m]. 电子工业出版社, 1999.
[3] 张研. 用vc编程迷宫游戏[j]. 电脑编程技巧与维护, 2008(1):64-68.