没有合适的资源?快使用搜索试试~ 我知道了~
计算机科学与技术(动画与游戏软件)一个基于C++的图形渲染引擎--毕业论文.doc
1 下载量 81 浏览量
2023-07-01
14:03:55
上传
评论
收藏 1.93MB DOC 举报
温馨提示
试读
38页
计算机科学与技术(动画与游戏软件)一个基于C++的图形渲染引擎--毕业论文.doc
资源推荐
资源详情
资源评论
i
Liaoning Normal University
本 科 生 毕 业 论 文 ( 设 计 )
题 目:一个基于 C++的图形渲染引擎
学 院: 计算机与信息技术学院
专 业: 计算机科学与技术
(动画与游戏软件)
ii
目 录
摘 要 .........................................................................................................................................1
Abstract ......................................................................................................................................1
1 背景..........................................................................................................................................2
1.1 三维图形渲染引擎概述.............................................................................................2
1.2 GPU 加速渲染技术及立体显示技术简介 ...............................................................2
2 三维图形渲染引擎的需求......................................................................................................2
2.1 需求描述.....................................................................................................................2
2.2 需求分析....................................................................................................................3
2.2.1 三维变换.............................................................................................................3
2.2.2 光照着色.............................................................................................................3
2.2.3 纹理映射.............................................................................................................3
2.2.4 加载网格模型.....................................................................................................3
2.2.5 GPU 加速渲染 ...................................................................................................3
3 三维图形渲染引擎的实现......................................................................................................3
3.1 引擎的架构设计.........................................................................................................3
3.2 图形流水线的实现.....................................................................................................4
3.2.1 数学基础..............................................................................................................5
3.2.2 三维变换..............................................................................................................7
3.2.3 光照着色..............................................................................................................8
3.2.4 光栅化................................................................................................................11
3.3 纹理..........................................................................................................................12
3.3.1 BMP 文件解析 ..................................................................................................12
3.3.2 纹理过滤............................................................................................................13
3.4 网格模型...................................................................................................................13
3.4.1 网格模型的解析...............................................................................................14
3.4.2 网格模型的加载及渲染....................................................................................15
3.5 雾化...........................................................................................................................16
3.6 引擎的封装设计.......................................................................................................17
4 GPU 加速渲染......................................................................................................................17
4.1 GPU 编程开发工具 .................................................................................................18
4.2 图形流水线并行模块分析与实现...........................................................................18
4.2.1 CUDA 简介 .......................................................................................................18
4.2.2 图形流水线的并行编程模型............................................................................18
4.3 并行计算模块数据处理...........................................................................................19
5 图形渲染引擎的应用...........................................................................................................22
5.1 图形渲染引擎的编程模型.......................................................................................22
5.1.1 设备对象............................................................................................................22
5.1.2 编程模型............................................................................................................23
5.2 图形渲染引擎的封装...............................................................................................24
5.2.1 跨平台特性的实现............................................................................................24
5.2.2 子系统的实现....................................................................................................25
5.2.3 三维场景中的物体............................................................................................26
5.3 立体成像在图形编辑器中的应用...........................................................................27
iii
5.3.1 立体成像原理....................................................................................................27
5.3.2 立体显示............................................................................................................27
6 运行结果与总结...................................................................................................................28
6.1 运行结果..................................................................................................................28
6.2 总结..........................................................................................................................32
参考文献...................................................................................................................................33
致 谢...................................................................................................................................34
一个基于 C++的图形渲染引擎
第 1 页
一个基于 C++的图形渲染引擎
摘要: 本文对三维图形渲染引擎的功能需求进行了分析,研究了 3D 图形流水线的基本工作原理,实
现了一个简易的 3D 图形渲染引擎,并将其封装应用到一个跨平台 3D 图形编辑器中。该图形渲染引
擎实现了对基本三维图形的构建和渲染,三维场景中的光照计算,三维场景雾化效果,加载 BMP 位
图,并将其作为纹理映射到 3D 图形上,加载 OBJ 网格模型,并给模型设置材质和纹理等功能。通
过对硬件加速技术的学习研究,实现 GPU 对图形渲染引擎的加速计算。使用立体成像技术实现 3D
立体显示效果。
关键词:三维图形引擎,渲染,三维变换,光照,纹理,网格模型,GPU 加速,图形编辑器
Abstract: In this paper, three-dimensional graphics rendering engine needs were analyzed to study the
basic principle of 3D graphics pipeline, and implement a simple 3D graphics rendering engine, and
packaging applications to a cross-platform 3D graphics editor. The graphics rendering engine to achieve the
basic constructing and rendering three-dimensional graphics, three-dimensional scene lighting calculations,
the three-dimensional scene atomization loaded bitmap, and map as a texture to 3D graphics, loads mesh,
and set up the material and texture to model functions. Through study and research on the hardware
acceleration technology to achieve GPU accelerated computing for graphics rendering engine. Using
three-dimensional imaging technology to achieve 3D stereoscopic display.
Keywords: 3D Graphics Engine,Render,3D Coordinate Transformation,Illumination,Texture, Mesh,
GPU acceleration,Graphics Editor.
一个基于 C++的图形渲染引擎
第 2 页
1 背景
1.1 三维图形渲染引擎概述
随着计算机软及硬件的快速发展,计算机图形学在各个行业的应用也得到迅速普及
和深入。计算机图形学已进入三维时代,三维图形在人们周围无所不在,科学计算可视
化、计算机动画和虚拟现实已经成为近年来计算机图形学的三大热门话题,而这三大热
门话题的技术核心就是三维图形。
目前比较成熟的图形渲染引擎有 OpenGL、DirectX,以及新兴引擎如 AMD 推出的
Mantle 和苹果公司的 Metal,它们的研究开发工作都集中在国外,而国内的图形渲染引
擎开发进程相对迟缓,没有自己的品牌引擎,因此,通过对图形渲染引擎的开发,全面
了解并学习其中的技术要点是一次有意义的尝试和探索。
1.2 GPU 加速渲染技术及立体成像技术简介
图形处理器(Graphics Processing Unit,GPU)是现代 PC 机中的常见硬件设备,它早在 21
世纪 90 是年代末就被应用于加速图形渲染。其作为 CPU 的协同处理器,拥有独立的存
储设备,拥有同时启动大量线程的能力。与之对应的是,在图形渲染过程中,有大量的
计算是线程无关,高度并行的,CPU 的优势正好得以发挥。本文也将采用 GPU 加速图
形渲染技术来优化图形渲染引擎的渲染速度。
本文使用的立体成像技术采用色分法的成像原理,只要用户佩戴红蓝眼镜后可以在
2D 环境下体验到 3D 立体显示效果。
2 三维图形渲染引擎的需求
三维图形渲染引擎以为上层应用提供接口的方式存在,其面向的直接用户是上层应
用软件(如 3D 图形编辑器),所以对其进行详细的需求分析是十分必要的。
2.1 需求描述
图 2-1 图形渲染引擎用例图
剩余37页未读,继续阅读
资源评论
matlab大师
- 粉丝: 2418
- 资源: 9万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于pytorch+Unet进行MRI肝脏图像分割源码+数据集+模型.zip
- 在Android Studio中开发一个Android App项目步骤
- 基于yolov8实现进行物体跟踪源码.zip
- Java多线程学习Java多线程学习Java多线程学习Java多线程学习.txt
- 算法数据结构-动态规划算法(Dynamic Programming)超详细总结加应用案例讲解.txt
- 2024最强秋招八股文(精简、纯手打)2024最强秋招八股文(精简、纯手打).txt
- 基于tensorflow多特征融合的微表情识别python源码.zip
- 基于yolov8实现人脸检测的python源码+运行说明.zip
- Micron Memory DDR3 SDRAM 全系列AD集成库(原理图库+PCB封装库).IntLib
- 基于tensorflow多特征融合的微表情识别python源码+详细使用说明.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功