基于DirectX的3D线框引擎的设计与实现
摘 要
本课题应用面向对象的设计方法,开发一个简单的实时渲染的依赖于DirectX9.0的图形引擎框架结构。使用面向对象的方法,抽象出三个主要的子模块:数学模块,核心模块,渲染模块。数学模块提供的是整个框架中要用到的几何图形数据结构和常用计算、线性代数计算方法和变换方法。核心系统是整个框架的核心,消息处理,当前帧的渲染都在此模块的功能,它负责调节,用来维护其它子模块的,但它多是函数组成。渲染模块提供了常用渲染方式的方法,简单的裁剪和光照处理。图形的绘制主要会调用DirectX9.0的API来绘制基本的图形。而DirectX9.0基本在windows下,所以本系统在windows下进行开发设计。
关键词3D引擎结构;渲染;3D变换;
Design and Implementation of 3D wireframe engine based on DirectX
ABSTRACT
the application used object-oriented design methods to development of a simple real-time the framework of DirectX9.0 graphics engine .Using the object-oriented approach, abstracting three main sub-modules: math module, core module, rendered module. The math module contained the entire framework geometry data structure and used in the calculation, linear algebra calculation method and conversion method. The core system is the core of the framework, message processing, the current frame rendering features in this module, which is responsible for regulating and maintenance sub-module,and composed of multiple function. Rendering module provides a common rendering method, a simple cut-and-light treatment. The graphics rendering call DirectX9.0 API to draw basic graphics. DirectX9.0 depend on the windows system, so this system development and designed in the Windows platform.
KEY WORDS 3D engine; rendering; 3D conversion;
目 录
摘 要 I
ABSTRACT II
目 录 1
1.引言 3
1.1选题背景与意义 3
1.2 课题研究的内容 3
2. 概要设计 4
2.1 系统整体结构 4
2.2 渲染子模块 4
2.3 数学子模块 5
2.4 物体载入模块 6
2.5 声音模块 6
2.6 输入模块 7
2.7 日志模块 7
3.详细设计与实现 8
3.1 渲染子模块 11
3.1.1 平面绘制 11
3.1.2 3D绘制 11
3.1.3 3D变换过程 11
3.2 数学子模块 14
3.2.1 向量 14
3.2.2 矩阵 15
3.2.3 数学运算,直线,平面 16
3.3 物体载入 17
3.4 声音模块 18
3.5 输入模块 19
3.6 日志模块 19
3.7 其他 20
4. 系统测试 21
4.1 测试的含义 21
4.2 测试的方法 21
4.3 本程序的测试 21
4.3.1 数学子模块测试 21
4.3.2 物体载入模块测试 22
5. 结论 24
参考文献 24
致谢 25