引擎核心结构
引擎的核心框架。
一:引擎篇
1 Core
1.1 Common
1.1.1 Timer : 计时器(注意精确计时和非精确计时)
1.1.2 Thread : 线程对象
1.1.3 DumpCatcher : Dump信息捕获器
1.1.4 TypeDefine : 自定义基本类型
1.1.5 IUnknown( IObj ) : 所有对象的基类,自带引用计数
1.1.6 SystemInfo : 程序起始时检查硬件设备和软件信息
1.1.7 String : 重载的String类以及方法
1.1.8 Platform : 运行环境(根据运行环境对不同的Manager进行优化或参数调整)
1.2 DataStruct
1.2.1 HashSet : Hash集合
1.2.2 Array : 数组
1.2.3 HashMap : Hash表
1.2.4 List : 链表
1.2.5 CircleQueue : 环状队列
1.2.6 HashList : Hash链表
1.3 BaseFile
1.3.1 ExcelFile : 读Excel表
1.3.2 IniFile : 读标准Ini表
1.3.3 ConsoleHelper : 管理Console输出
1.3.4 DumpHelper : 管理Dump时文件输出(与DumpCatch协作)
1.3.5 LogHelper : 普通的Log文件输出
1.3.6 XMLFile : XML文件输入
1.4 Math
1.4.1 CRC : CRC循环校验加密
1.4.2 LZSS : LZSS压缩算法
1.4.3 MD5 : MD5加密算法
1.4.4 Sort : 排序( 大量排序查找算法,快速,二分等 )
1.4.5 DES : DES加密算法
1.4.6 Random : 随机数( 真伪随机 )
1.4.7 QuadTree : 四叉树
1.4.8 FindRoad : 寻路算法( 直线+A* )
1.4.9 AABB : AABB碰撞
1.5 RTTI
1.5.1 RuntimeObject :
1.5.2 RuntimeClass :
1.6 Event
1.6.1 EventObj : 事件对象
1.6.2 EventSet : 事件表
1.7 Memory
1.7.1 MemoryChunk : 内存块
1.7.2 MemoryManager : 内存管理器
1.7.3 MemoryPool : 内存池
1.7.4 Allocator : 内存分配器
1.7.5 Stream : 内存流
1.7.6 StreamManager : 内存流管理器
1.7.7 File : 内存文件块
1.7.8 FileManager : 内存文件块管理器
1.8 Struct
1.8.1 Point2 : 2维的点
1.8.2 Point3 : 3维的点
1.8.3 Color : 颜色
1.8.4 Matrix3x3 : 3*3矩阵
1.8.5 Matrix4x4 : 4*4矩阵
1.8.6 Line2 : 2维直线
1.8.7 Line3( Ray ) : 3维直线(射线)
1.8.8 Vector2 : 2维向量
1.8.9 Vector3 : 3维向量
1.8.10 Vector4 : 4维向量
1.8.11 Rect : 2维矩形区
1.8.12 Box : 3维盒形区
1.8.13 UV2 : 点的UV
1.8.14 UV4 : 矩形UV
1.8.15 Quaternion : 四元数
1.8.16 Segment2 : 2维线段
1.8.17 Segment3 : 3维线段
1.8.18 Triangle : 三角形
1.8.19 Circle : 圆
1.8.20 Sphere : 球
1.9 Resource
1.9.1 Font : 字体
1.9.2 Image : 图片资源(包括常规图片读写jpg,gif.bmp,tga,png,dds)
1.9.3 File : 文件类
1.9.4
1.9.5 Resource : 资源类统一抽象基类
1.9.6 ResourceTable : 资源表
1.10 Audio
1.10.1 AudioObj : 声音播放抽象对象
1.10.1 AudioBuffer : 声音播放缓冲区
1.10.2 OggStreamObj : Ogg流式播放音频对象
1.10.3 OggObj : Ogg播放音频对象
1.10.4 WavObj : Wav播放音频对象
1.10.5 Mp3Obj : Mp3播放音频对象
1.10.6 AudioManager : 音频资源管理器
1.10.7 AudioPlayer : 音频资源播放器
1.11 Video
1.11.1 SwfObj : SWF格式视频对象
1.11.2 AviObj : AVI格式视频对象
1.11.3
1.8 Other
1.8.1 Signleton : 单键设计模式( 可通过template实现通用的,以便多线程和输出DEBUG信息方面 )
2 GUISystem
2.1 Base
2.1.1 Widget : 组件( 所有UI对象的基类 )
2.1.2 GUIEvent : GUI事件抽象类
2.1.3 FocusControl : 焦点管理器
2.2 Element
2.2.1 Button : 按钮
2.2.2 Label : 静态文本
2.2.3 CanvasMesh : 带Mesh动画的渲染框( 当UI中需要嵌入3DMesh对象时使用 )
2.2.4 HyperText : 超链接文本
2.2.5 CheckBox : 选择框(同组单选,多选)
2.2.6 ComboBox : 下拉框
2.2.7 ListBox : 列表框
2.2.8 Progress : 进度条
2.2.9 Edit : 输入框
2.2.10 Panel : 空面版(单纯的组件容器)
2.2.11 ScrollBar : 滚动条
2.2.12 TreeCtrl : 树状列表
2.3 Other
2.3.1 WidgetManager : UI组件管理器
3 InputSystem
3.1
3.1.1 InputHandler
3.1.2 InputManager
3.2
3.2.1 MousePoint : 鼠标位置点
3.2.2 Hotkey : 快捷键
3.2.3 HotkeyTable : 快捷键表
3.2.4 MouseMessage : 鼠标信息(继承EventObj)
3.2.5 KeyMessage : 键盘信息(继承EventObj)
4 Graphics
4.1 Base
4.1.1 RenderState : 全局渲染状态( 包括深度渲染状态 )
4.1.2 RnederObj : 渲染对象的抽象基类
4.1.3 Frustum : 视锥体
4.1.4 IndexBuffer : 顶点缓冲区
4.1.5 Texture : 纹理对象
4.1.5 Material : 材质对象
4.1.5 Animator : 动画对象
4.1.6 VertexBuffer : 顶点缓冲区
4.1.7 TextureBuffer : 纹理缓冲区
4.1.8 Mesh : 基本渲染网格
4.1.9 IndexShader : 顶点着色器
4.1.10 PixelShader : 象素着色器
4.1.11 Skeleton : 骨骼
4.1 RenderObj
4.1.1 Camera : 摄象机
4.1.2 SkyBox : 天空盒
4.1.3 Light : 光照源
4.1.4 StaticModel : 静态模型
4.1.5 DynamicModel : 动态模型( 蒙皮骨骼,刚性骨骼 )
4.1.6 Terrain : 地形( 地形表,高度图 )
4.1.7 Canvas : 渲染面画布(重点提供UI使用)
4.1.8 Fog : 雾
4.3 Effect
4.3.1 EffectCompiler : 特效编译器
4.3.2 EffectObj : 特效单元( 可继承实现部分特效,如 粒子,公告版,HDR,镜头震动,水面,火焰,凹凸贴图,多边形轨迹等……)
4.3.3 EffectPass : 特效通道
4.3.4 EffectTechnique : 特效技术
4.4 Render
4.4.1 RenderObj : 渲染对象的抽象基类
4.4.2 RenderQueue : 渲染队列
4.4.3 RenderEquipment : 渲染器
5 Scene
5.1
5.1.1 SceneNode : 场景节点( 不仅包括渲染的RenderObj和EffectObj,也包括不可渲染对象 )
5.1.2 SceneManager : 场景节点管理器
5.1.3 TerrainPiont : 场景中点信息
5.1.4 TerrainGrid : 场景小块信息(小,通常是64*64,一个渲染单元)
5.1.5 TerrainBlock : 场景块信息(中,通常是一定的Grid组成,以便信息同步等逻辑事件)
5.1.6 TerrainArea : 场景区域信息(大,通常为用户可以感受到的一个场景区)
5.1.7 TriggerNode : 触发器节点
6 DB
6.1
6.1.1 DBCommand : 访问数据库的命令
6.1.2 DBDataReader : 数据库数据读取器
6.1.3 DBManager : 数据库管理器
7 Physics
7.1
7.1.1 BoundingVolume : 包围体(Height为0则为包围盒)
7.1.2 BoundingVolumeTree : 包围体树
7.1.3 BoundingSphere : 包围球
7.1.4 BoundingSphereTree : 包围球树
8 Net
二:客户端篇
三:服务器篇
四:工具篇
五:附属库篇