CryEngine架构概览


这里说的架构只是从大体上初略描述,以后还会继续更新详细的说明

从模块的分布上来看CryEngine3和CryEngine2没有区别,其主要的dll从文件名就可以看出个大概:


这里最有意思的是:

CrySystem.dll、Cry3DEngine.dll、CryRenderD3D9(10).dll、CryRenderNULL.dll

其中CrySystem是引擎和外界交互的接口,从CrySystem中可以获取各个接口,例如:
IGame* 游戏框架;
INetwork* 网络接口;
IRenderer* Renderer接口;
IInput* Input system,鼠标键盘手柄等等
ITimer* 计时器的各种接口;
IConsole 这个不是说console平台,而是引擎提供的命令行
IScriptSystem 脚本系统,无需多言
I3DEngine 3d引擎的接口,这个放到后面细说。
ISoundSystem 声音接口
IMusicSystem 音乐接口,音乐有theme、mood,没有sound那样的衰减等3d概念
IPhysicalWorld 物理世界的接口
IMovieSystem 过场动画
IAISystem AI系统
IMemoryManager 内存管理器
IEntitySystem Entity系统,CryEngine3的Entity写的着实精彩
ICryFont 字体管理接口
ICryPak Pak管理接口,CryEngine中使用的pak其实都是zip文件
ILog 日志,不要小看这个,CryEngine中的日志很好用
ICmdLine 解析command line
IStreamEngine 流接口
ICharacterManager 人物管理器
IValidator 用来检查资源错误的接口
IFrameProfileSystem 用于profile的接口,收集一帧中运行的数据
IDiskProfiler 专门用于磁盘io的profile接口
INameTable 名字管理器,CryEngine中有一个专门的名字类SNameEntry。
IBudgetingSystem 预算接口,这个很有意思。可以设置一些限制,例如显存使用限制、fps限制、声音使用的内存限制、占用的时间限制等等。
IFlowSystem flow graph的接口
IAnimationGraphSystem AnimationGraph
IDialogSystem 对话系统
IHardwareMouse 主要用于ui中的鼠标指针绘制
INotificationNetwork network通知接口
IPlatformOS 平台相关的接口,主要是读取保存
ICryPerfHUD profile时显示的HUD
IFileChangeMonitor 主要用于编辑器
IVisualLog 能够显示在屏幕的log,可以设置颜色字体等
ISystemEventDispatcher 事件分发器,事件包括resize、level读取等等
IProfilingSystem VTune Profiling interface
IThreadTaskManager 线程任务管理器
IResourceManager 管理读入的level以及pak中的资源
IMaterialEffects* 材质的声音效果
IParticleManager* 例子特效
ILocalMemoryUsage* 局部内存分配器
ICodeCheckpointMgr* 检查代码覆盖的接口
IScaleformGFx* CryEngine中整合Scaleform的接口


从接口上来看I3DEngine中是比较高层次的概念,例如读入天空、读入地形、读入Level、设置水面、海洋高度、设置太阳位置等等这些与绘制无直接关系的概念。

而IRender中则不同,IRender中操作的接口都是与渲染密切相关,例如网格、贴图、设置XX矩阵、绘制XXX、设置shader参数、设置后处理参数等等。
当然这里只列举了少数接口,还有大量的接口并没有列出来。

ISystem中含有最常用的接口,ISystem将这些接口调用转发给相应的各个接口,相当于一个门面或者说代理。如果要进一步使用高级的功能可以从ISystem中将相应的接口get出来直接操作。


CryEngine的版本演化

这里写图片描述

  • 6
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值