设计本身的3D图像引擎(2): WuguiEngine之项目布局组织
当前位置:以往代写 > C/C++ 教程 >设计本身的3D图像引擎(2): WuguiEngine之项目布局组织
2019-06-13

设计本身的3D图像引擎(2): WuguiEngine之项目布局组织

设计本身的3D图像引擎(2): WuguiEngine之项目布局组织

副标题#e#

1. 项目文件夹组织:

本引擎中没有把各个源文件放在差异的文件夹之下,只是利用了VS2008的Filter成果,虚拟的分出了一些文件夹,在项目欣赏器中可以较量利便的看到

设计自己的3D图像引擎(2): WuguiEngine之项目机关组织

上面的图片是根基的一个组织环境:

Core内里是一些焦点的类, 好比说计时器等等

Document内里就是文档了

FX是Shader的代码

Graphics内里是渲染需要的类,内里又有一些文件夹:

设计自己的3D图像引擎(2): WuguiEngine之项目机关组织

Effect是Shader的一些类

Camera是摄像机的一些类

Scene是场景打点相关的

Include内里是将各个Filter内里的头文件分类组合起来,利便引用

设计自己的3D图像引擎(2): WuguiEngine之项目机关组织

这里的这些头文件对应着Filter内里的内容,一个头文件都引用了这个Filter内里的所有头文件.好比说WEExternal类就包括了需要引用外部库函数的时候的类,其内容看起来是这样的:

1: #ifndef _WEEXTERNAL_H
2: #define _WEEXTERNAL_H
3:
4: #include <map>
5: #include <algorithm>
6: #include <vector>
7: #include <list>
8: #include <string>
9: #include <iostream>
10: #include <iomanip>
11: #include <sstream>
12:
13: #include <windows.h>
14: #include <d3dx9.h>
15: #include <math.h>
16:
17: #endif


#p#副标题#e#

别的值得一提的是WuguiEngine.h包括了所有的.h文件,这个类是给外部的逻辑利用的

Interface包括了一些接口,好比说IRenderable, IUpdatable, IDisposed

Input顾名思义就是输入相关的一些类了

IO包括文件系统和读取文件等内容

MainLogic内里是放测试代码的,假如之后需要写游戏也是可以把内容放在这里,Mainlogic内里的代码和游戏引擎是疏散的

Math就不消说什么了,什么碰撞检测代码,一些小的数学函数都在这里

UI是给用户看的一些界面,今朝只放了一个在屏幕上面写字的类进去

在这些Filter外面的类就是一些杂七杂八的对象了

2. 定名空间组织:

定名空间的组织和Filter的组织是雷同的,这里就不说太多了,仅仅列一下代码:

该引擎主要包括下面的定名空间:

WuguiEngine          : 引擎的一些最根基的Interface以及头文件

WuguiEngine::Core       : 引擎所必需的一些类,好比GameTime等等

WuguiEngine::Graphics     : 引擎的图像相关的内容,包罗场景打点以及其他的一些实现

WuguiEngine::IO        : 引擎输入输出的内容

WuguiEngine::Math        引擎的数学库

WuguiEngine::Input      : 输入相关的一些类

WuguiEngine::MainLogic     : 作为引擎实现的一个措施(可以是测试措施)

WuguiEngine::UI        : 引擎的界面的内容,包罗菜单,显示汉字等等

这篇文章就到此为止了,下一篇文章我将主要写写奈何构建一个可重用的Windows(WEWindow)类以及主要的游戏主轮回类BaseGame

    关键字:

在线提交作业