一步步构建3D引擎-------架构设计

打算将所做3D引擎一些心得,分篇章记录下来。主要基于OpenGLES2.0,采用面向对象设计语言C++实现的跨平台轻量级高速引擎。

以做个总结:

对于一个3D引擎,主要应该有一下模块组成:

该引擎的最终规划主要由四个模块组成,每个模块完成的功能描述如下:

第一模块:

      数学库:提供通用数学运算库和三维数学运算库(如向量、矩阵);

      资源管理:使应用程序更好的使用内存,对系统内存进行调度并对资源实现引用计数管理;

      I/O支持:提供鼠标、键盘、手柄等输入设备的支持;

      网络支持:提供Socket连接、数据包发送。

 

第二模块:

      日志系统:用于信息输出及调试使用;

      声音支持:支持某些特定声音格式;

      渲染器:提供二维及三维图形的渲染、光影效果的处理、材质的渲染等等非常重要的功能;

      动画:管理关键帧动画和骨骼动画,丰富角色,使之动作更逼真;

 

第三模块:

      场景管理:管理整个游戏世界,使得游戏应用能更高效地处理场景的更新及事件;

      特效处理:使得游戏更加绚丽,主要包括HDR、动态阴影、天空盒以及水面等特效;

      GUI:负责用户和系统的交互。

 

第四模块:

      Script: 脚本语言,供游戏开发;

      AI:处理游戏中的逻辑,负责角色对事件的反应、复杂智能算法的实现等;

      辅助开发工具:便于游戏的开发,常用开发工具:场景编辑器、材质编辑器、动画编辑器、GUI编辑器、逻辑编辑器、特效编辑器等辅助管理工具。


你可能感兴趣的:(3DEngine,跨平台3D高效渲染引擎)