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

从模块的分布上来看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的版本演化

CryEngine架构概览相关推荐

  1. flutter ios启动白屏_Flutter技术架构概览

    前言 最近在整理各种技术架构,给自己的列了个TODO list,希望能在几个月的时间内,研究完各种前端技术架构,包括移动端技术架构.今天分享一下自己整理的flutter技术架构.完整的技术架构TODO ...

  2. Apache Beam的架构概览

    不多说,直接上干货! Apache Beam是一个开源的数据处理编程库,由Google贡献给Apache的项目,前不久刚刚成为Apache TLP项目.它提供了一个高级的.统一的编程模型,允许我们通过 ...

  3. python前端用什么架构_Python web世界观——web架构概览(适合传统软件工程师)...

    Python web世界观--web架构概览(适合传统程序员) 传统web server面临的问题 我们知道传统的web server,一个进程打开socket,监听,来了请求生成新的进程(或线程.或 ...

  4. KubeFed 集群联邦的演进和架构概览

    KubeFed 集群联邦的演进和架构概览 Kubernetes 集群联邦 Kubernetes 从 1.8 版本起就声称单集群最多可支持 5000 个节点和 15 万个 Pod,我相信很少有公司会部署 ...

  5. pomelo架构概览

    pomelo架构概览 pomelo之所以简单易用.功能全面,并且具有高可扩展性.可伸缩性等特点,这与它的技术选型和方案设计是密不可分的.在研究大量游戏引擎设计思路基础上,结合以往游戏开发的经验,确定了 ...

  6. Hyperledger Fabric1.0架构概览

    Hyperledger是被业界非常看到的联盟链的实现,包括IBM.Intel.R3.各个大型商业银行等都参与其中,带给我们关于区块链技术与软件工业.金融.保险.物流等领域碰撞结合的想象空间:在这个联盟 ...

  7. Wine 开发者指导/架构概览

    1 Wine的概览 1.1 前言 Wine常常被看做一个缩写,代表"Wine Is Not an Emulator".有时它也被称为"Windows模拟器".从 ...

  8. 图解USB标准之架构概览

    前面写了一些SPI/I2C/RS-485之类的文章,有朋友留言希望能分享一些USB方面的梳理总结,今天就从系统标准层面先来梳理一下.看看有没有朋友喜欢.先从系统层面来梳理.个人学习,习惯于先从整体上摸 ...

  9. 一元夺宝系统整体架构概览

      系统介绍 一元夺宝项目,前段时间非常火:出现了很多夺宝平台,最近由于市场的监管,确实少了很多:夺宝模式其实非常简单,类似于彩票:就跟有个段子说的:大家每人给我发10元,每满50元将抽出一名幸运用户 ...

  10. CockroachDB架构——概览

    CockroachDB被设计用于创建开发者想用的源码可用的数据:集扩展性与一致性一体的数据库.开发者经常问到我们是如何实现的,该指南详细说明了CockroachDB进程的内部工作原理. 然而,使用Co ...

最新文章

  1. js判断是微信、QQ内置浏览器打开页面
  2. ubuntu16.04 wget java_Ubuntu 16.04 安装 JDK
  3. Fedora20配置tftp服务器
  4. mysql自动拉入黑名单_利用MySQL实现域名黑名单过滤10W记录1ms匹配
  5. java快速排序泛型_泛型算法_快速排序源码
  6. ReactNative之Realm预加载数据
  7. VC之CString,wchar_t,int,string,char*之间的转换
  8. 93岁计算机密码发明人去世:创建全球首个分时系统,成为计算机普及开端
  9. DVWA全级别通关教程
  10. QQ扫码登录实现与原理
  11. QQ、淘宝、MSN、Skype在线状态代码生成方法
  12. js实现下载excel
  13. 三点共线,向量计算其中一点坐标
  14. PS图层模式详细讲解
  15. 通过PyQt5+PyQtWebEngine+pyecharts建立自己的收入支出记账软件
  16. 在配有通道的计算机系统中,用户程序需要输出时,引起的中断是,计算机系统结构自考2009年7月真题...
  17. 【模型部署】NNI:剪枝和量化
  18. DQN(Deep Q Network)及其代码实现
  19. 浙江省省市县边界经纬坐标数据
  20. MyBatis执行一次数据库操作的原理以及顺序

热门文章

  1. 使用HBuilder制作一个简单的HTML5动漫网页——紫罗兰永恒花园动漫价绍网页 7页
  2. 硬盘驱动安装完成,但是没有显示?
  3. 录制音频文件大小的计算
  4. 云从科技上市在即,或成为小一号的商汤科技?
  5. 【VTM10.0】量化之RDOQ技术
  6. 赖活不如好死?慎选你的死亡方式
  7. JavaEE Day14 ServletHTTPRequest
  8. Chuck语言学习笔记——0.前言:我为什么要学习这门语言
  9. 知识管理系统,帮你挖掘出企业90%的隐性知识
  10. [OpenJudge] 2.5基本算法之搜索 红与黑