当前位置:文档之家› 计算机科学与技术(动画与游戏软件)- 一个基于C++的图形渲染引擎 - 过程文档

计算机科学与技术(动画与游戏软件)- 一个基于C++的图形渲染引擎 - 过程文档

Liaoning Normal University

(2015届)

本科生毕业论文(设计)

过程材料

题目:一个基于C++的图形渲染引擎

学院:计算机与信息技术学院

专业:计算机科学与技术

(动画与游戏软件)

班级序号:05班01号

学号:20111118080007

学生姓名:肖天意

指导教师:徐本强

2015 年6月

过程材料目录

1.本科生毕业论文(设计)任务书

2.本科生毕业论文(设计)开题报告

3.本科生毕业论文(设计)评阅教师评阅意见

4.本科生毕业论文(设计)答辩记录

5.本科生毕业论文(设计)考核表

表一:

辽宁师范大学本科生毕业论文(设计)任务书

(由指导教师填写)

题目一个基于C++的图形渲染引擎

学院计算机与信息技术学院专业

计算机科学与技术(动画与游戏软件方向)

学生肖天意学号20111118080007 指导教师徐本强职称讲师

主要任务及目标

研究底层图形渲染引擎的工作原理,在win32平台上,使用C++及3D数学知识、图形学算法,实现图形流水线及图形渲染引擎的封装、BMP文件读取接口、加载网格模型、雾化效果。研究硬件加速技术,使用cuda编程来提高图形渲染速度。最后,将图形渲染引擎应用到一个图形编辑器中。

要求图形渲染引擎不调用任何除绘制像素接口以外的API。

要求程序运行高效流畅,具备一定的健壮性。

主要研究内容1. 3D数学理论知识

2. C++程序设计及架构技术

3. 图形流水线各功能模块的理论知识及技术实现

4. BMP位图的解析及加载

5. 网格模型的加载及渲染

6. 基于cuda的硬件加速渲染技术

7. 利用立体成像技术实现立体显示效果

研究方法

本任务的研究方法为实验法、计算机模拟。包括研究文献,编程

实践、总结等过程。

通过研究文献了解三维图形渲染引擎的工作原理和硬件加速技术,通过程序设计来实现三维图形渲染引擎,并进行测试实验。

研究进度安排1. 02.01 – 02.10 搜集相关文献资料

2. 02.11 – 02.20 进行程序基础框架的设计及基础模块的开发

3. 02.21 – 03.10 进行图形渲染引擎的封装与实现

4. 03.11 – 03.20 进行立体显示功能的实现与图形渲染引擎整合

5. 03.21 – 03.30 进行将图形渲染引擎封装到图形编辑器中

6. 04.01 – 04.03 进行程序测试及优化

7. 04.04 – 04.20 进行论文编写及修改

主要参考文献[1]Peter Shirley.计算机图形学(第2版)设计.人民邮电出版社

[2]彭群生,金小刚,万华根,冯结青.计算机图形学应用基础.科学出版社

[3]同济大学数学系.线性代数.第五版.高等教育出版社

[4]H.Hoppe.Progress Meshes.In Proceedings of SIGGRAPH,1996:99-108

[5]WJ.Schroeder,J.A.Zarge,W.E.Lorenson.Decimation of triangle meshes. Computer Graphics,1992.(2):65-70

[6]J.MailoLetc.Intcractive texture mapplng.1n Computer Graphics,J.T.Kajiya, Ed,2002(27).2%34

[7]Fletcher Dunn,Ian Parberry.3D math primer for graphics and game development.Texas:Wordware Publishing

[8]王德才,杨关胜,孙玉萍.精通DirectX图形与动画程序设计.人民邮电出版社

[9]Edward Angel(著),段菲(译).OpenGL编程基础(第三版).清华大学出版社

[10]Dave Shreiner /Bill The Khronos OpenGL ARB Working Group. OpenGL Programming Guide. Addison-Wesley Professional Publishing

[11]David h, Ededy.3D Game Engine Design:a Practical Approach to Realtime Computer Graph.PRENTICE HALL Publishing

[12]Frank D,Luna.Introduction to 3D Game Programming with DireetX 9.0.2320 Los RiosB0ulcvard,Plano,Texas 75074:Wordware Publishing

[13]张舒,褚艳丽.GPU高性能运算之CUDA.中国水利水电出版社

[14]Shane Cook. CUDA Programming:A Developer's Guide to Parallel Computing with GPUs, Morgan Kaufmann Publishing

[15]Akelcy,K And T.Jermoluk.High-performace Polygon Rendering Proceedings of SIGGRAPH,1988:239-246

[16]Eric Lengyel .Mathematics for 3D Game Programming & Computer Graphics. Charles River Media Publishing

[17]刘皓.3D图形渲染引擎的设计与实现[硕士学位论文].电子科技大学研究生学报

[18]云风.游戏之旅——我的编程感悟[M] .北京:电子工业出版社

[19]唐策善,李龙澍,黄刘生.数据结构-用C语言描述.高等教育出版社

[20]Stanley B.Lippman,Josee Lajoie,Barbara,E.Moo.C++ Primer.人民邮电出版社

[21]Scott Meyers.Effective C++.电子工业出版社

[22]Scott Meyers.More Effective C++.电子工业出版社

[23]Stanley B.Lippman.深度探索C++对象模型.电子工业出版社

[24]程杰.大话设计模式.清华大学出版社

指导教师签字:

年月日学院教学指导委员会意见:

签字:

年月日

表二:

辽宁师范大学本科生毕业论文(设计)开题报告

(由学生填写)

题目一个基于C++的图形渲染引擎

学院计算机与信息技术学院专业计算机科学与技术(动画与游戏软件)

姓名肖天意学号20111118080007 指导教师徐本强职称讲师

文献综述(本选题意义及国内外研究概况)(可加页)

本课题意义:

目前,计算机图形学已进入三维时代,三维图形在人们周围无所不在,科学计算可视化、计算机动画和虚拟现实已经成为近年来计算机图形学的三大热门话题,而这三大热门话题的技术核心就是三维图形。图形渲染引擎开发工作主要集中于国外的团队组织或公司,如Khronos Group、微软、苹果、AMD等,然而国内相关的开发水平仍处于相对迟缓状态,没有自己品牌产品。因此,通过对图形渲染引擎的开发,全面了解并学习其中的技术要点是一次有意义的尝试和探索。

国内外研究概况:

OpenGL是行业领域中最为广泛接纳的2D/3D 图形API, 其自诞生至今已催生了各种计算机平台及设备上的数千优秀应用程序。在包含CAD、内容创作、能源、娱乐、游戏开发、制造业、制药业及虚拟现实等行业领域中,其帮助程序员实现在PC、工作站、超级计算机等硬件设备上的高性能、极具冲击力的高视觉表现力图形处理软件的开发。

DirectX是Microsoft开发的基于Windows平台的一组API,为高速的实时动画渲染、交互式音乐和环境音效等高要求应用开发提供服务。将近二十年来,DirectX 一直是游戏开发者用来打造速度最快、画质最好游戏的首选平台。其发展到现在已成为对整个多媒体系统的各个方面都有决定性影响的接口。

新兴图形引擎也陆续问世。在近期随着AMD发布了全新Hawaii架构显卡之后,Mantle API也被作为一项新的图形API技术推出,与其它图形API不一样的是,它是专门针对GCN架构而设计的,能够高效地直接访问GPU硬件底层,能够带来可观的性能提升。Mantle发布后迅速得到超过40款游戏及DICE霜寒3引擎的支持。2014年6月3日在苹果WWDC上也正式发布Metal图像处理引擎,它作为一种低层次的渲染应用程序编程接口已经在iOS 8中开始被引用。其迅速被应用到手游引擎中,Crytek,Unity,EA等已经在发布前就开始做对Metal的支持工作,开源cocos2d 也已经完成了初步支持。

研究的目标、内容和拟解决的关键问题

目标:

实现一个三维图形渲染引擎,引擎的功能包括:

1)通过提供点与点、点与边的集合来绘制图形;

2)实现真实感图形学,包括设置材质和光照,加载位图并将其映射到图形上;

3)可加载网格模型并渲染;

4)可使用GPU加速图形渲染;

5)将图形渲染引擎进行封装,应用到图形编辑器中。

内容:

1)实现图形流水线;

2)实现BMP文件的解析及纹理映射;

3)实现网格模型的加载和渲染;

4)使用GPU加速引擎渲染;

5)封装图形渲染引擎到图形编辑器中。

拟解决关键问题:

1)如何实现图形流水线;

2)如何解析与加载BMP文件及将其映射到三维图形上;

3)如何实现网格模型的加载和渲染;

4)如何使用GPU加速引擎渲染。

5)如何对图形渲染引擎做进一步的封装设计,以应用到图形编辑器中。

研究方法(技术路线、实验方案)及可行性分析

1.运用面向对象编程技术设计程序架构;

2.学习相关理论知识和技术实现图形渲染引擎的各功能模块;

3.学习相关技术对图形引擎进行硬件加速渲染;

4.利用win32平台运行程序并进行测试。

研究计划及预期进展

1. 02.01 – 02.10 搜集相关文献资料

2. 02.11 – 02.20 进行程序基础框架的设计及基础模块的开发

3. 02.21 – 03.10 进行图形渲染引擎的封装与实现

4. 03.11 – 03.20 进行立体显示功能的实现与图形渲染引擎整合

5. 03.21 – 03.30 进行将图形渲染引擎封装到图形编辑器中

6. 04.01 – 04.03 进行程序测试及优化

7. 04.04 – 04.20 进行论文编写及修改

指导教师评语:

签字:

年月日学院教学指导委员会意见:

签字:

年月日

辽宁师范大学

本科生毕业论文(设计)评阅教师评阅意见

姓名肖天意学号20111118080007 所学专业

计算机科学与技术(动画与游戏软件)

题目一个基于C++的图形渲染引擎

评语内容:

1. 论文(设计)选题是否符合专业培养目标并有一定的意义;

2.运用中外文献是否充实、全面、理解是否准确;

3.研究方法是否得当,数据是否可靠;

4.是否论点明确、论证充分、有自己的观点并有一定的创新性;

5.结构、语言、图表等是否符合写作规范。

评语:

评定意见:是否同意参加毕业论文(设计)答辩□同意□修改后同意□不同意评阅人(签字):职称年月日注:请在“评定意见”相应选项前打√

辽宁师范大学本科生毕业论文(设计)答辩记录

姓名肖天意学号20111118080007 专业计算机科学与技术(动画与游戏软件)答辩小组成员名单:

题目:一个基于C++的图形渲染引擎

答辩

年月日点分至点分答辩地点

时间

记录人(签字):

答辩小组组长(签字):

记录人签字:

答辩小组组长签字:

表五:

辽宁师范大学本科生毕业论文(设计)考核表

学院计算机与信息学院专业

计算机科学与技术

(动画与游戏软件)

总评

成绩

等级

姓名肖天意学号20111118080007

指导教师徐本强职称讲师分数

题目:一个基于C++的图形渲染引擎

指导教师评语:

指导教师(签字):

年月日

成绩(分数)

答辩小组评语:

答辩小组组长(签字):

年月日

成绩(分数)

答辩委员会意见:

答辩委员会主任(签字):

年月日

注: 1.成绩按百分制计算。 2.总评成绩等级按“优秀、良好、中等、及格、不及格”五级制记录;总评成绩分数=指导教师评定分数×40% + 答辩小组评定分数×60%。3.答辩小组负责计算总评成绩并登记分数,在评语中要给出结论。

相关主题
文本预览
相关文档 最新文档