注: 本文非官方博客发布, 是我自己用版本工具对比出来的. 所以新加的我可能不了解其思想, 零碎的改动也被我忽略, 写出来的也不保证完全正确…
l Core
n 增加OSX相关支持
n config.h增加PUBLIC_BUILD相关配置
n 增加n_assert2宏
n Rtti/Factory增加无FourCC的Register方法
l FrameSync
n 增加FrameSyncSharedData类, 用于两个线程间的数据交换
n FrameSyncHandlerThread增加锁定帧时间模式
l Interface
n InterfaceHandlerBase增加一个可选的DoWork虚函数, 用于连续处理
l Io
n 增加OSX相关支持
n AssignRegistry增加”sysmsh”, “systex”, “sysanim”三个系统专用Assign
n TextWriter增加一个模板方法Write<T>
n Win360FSWrapper增加宽字符路径支持
n XmlWriter/XmlReader增加一个模板方法Set<T>/Get<T>
n ZipFileStream不再缓存内容, 所以现在只支持顺序Seek
l Jobs
n Job分割成Slice, 轮询调用
n TPWorkerThread增加Stop方法
l Math
n 增加frustum类
n 删除pquatfeedbackloop
n bbox/float2/matrx44增加as<T>方法用于类型转换
n transform44增加offset矩阵
n plane增加从3个点或点+向量的方式构造
l Memory
n 增加OSX相关支持
l Net
n 增加MessageClient用于以Stream方式进行消息传输
n StdTcpServer增加Broadcast方法
l System
n 增加OSX相关支持
l Threading
n 增加OSX相关支持
l Util
n 增加OSX相关支持
n 增加Array::As<T>方法用于通用类型转换
n String类增加几个模板方法
l Shared
n 新增, 用于InternalGraphics和Graphics之间的数据同步
l Visibility
n 新增, 用于场景可见性管理
l Animation
n 移除AnimMapper/AnimEventRegistry
n 针对新的Job系统做了相关改动
l App
n RenderApplication增加OnSetupResourceMappers()方法
n ViewerAppliaction增加可见性系统支持, 移除命令行参数初始化方式
l Character
n 增加CharacterVariationSet和CharacterVariationLibrary类
n CharacterAnimationController重写
l CoreGraphics
n ShapeRenderer增加AddWireFrameBox方法
n MousePointer增加Alpha支持
l Debug
n 增加PerfHUD开关.
l Frame
n 增加FramePassBase基类
n 删除一些不必要的方法
l Graphics
n 增加DisplaySettings类
n CameraEntity增加CameraSettings属性
n Display的属性独立成DisplaySettings
n GraphicsEntity增加BoundingBox
n ModelEntity增加一些Animation相关方法
l InternalGraphics
n 移除原来的StageBuilder/Cell类
n 适应新可见性系统的相关改动
n InternalGraphicsEntity增加HandleMessage虚函数, 子类对象可以单独进行消息处理了
l Lighting
n 增加LightPrePassServer, 实现pre-light-pass rendering
n InternalAbstractLightEntity增加ShadowIntensity属性
n ShadowServer增加根据光源优先级排序的功能
l Resources
n 增加ResourcePool机制
n 纹理Streaming载入支持异步
n 其他Streaming相关新增内容(挺多的)
l Attr
n 从Render移过来的
l Audio2
n 从Render移过来的
l Forest
n 新增, 类似于SpeedTree的东东
l FrameCapture
n 新增, 用于连续的屏幕截取
l Fx
n 把原来的一些Animation命名空间下的类改到了Fx命名空间下
l Nebula2
n 兼容Nebula2新增的临时方法实现
l Remote
n 增加设置端口号(port number)的相关方法
l UI
n 新增许多控件, 但是没有实现. 也就是说, UI部分还是不完善
n 另: 看到多了个Scaleform的例子, 不过没有相关代码(商业UI解决方案)
l Video
n VideoServer改为BinkVideo的实现, 但是代码没有集成进来(又是一个商业解决方案)
l Bullet
n 新增第三方开源物理引擎, 但是还没有集成到引擎里, 只有一个测试程序
l App
n GameApplication默认组件增加Remote子系统
l BaseGameFeature
n 针对Fx的更改删减部分代码
l CommandHandlers
n 新增, 只有一个CreateEntityCommand类
l MayaCore
n 新增MayaVariableRegistry用于设置选项的注册
l MayaExporters
n 新增, 暂时只有Mesh的导出实现
l MayaExtractors
n 新增MayaShapeNodeExtractor类, 用于解析场景几何结点
n MayaExtractorBase::Result枚举独立成MayaStatus
l MayaLegacy
n 新增, 老代码的移植
l MayaMain
n 删除MayaSettings
n MayaPlugin增加MEL(冒似是Maya Embedded Language?)的支持
l MayaShaders
n 新增, Maya插件Shader部分实现
l MayaUtil
n 新增MayaShaderUtil, 用于Maya shader node的查找
l N2BatchConverter3
n 新增, 用于批量转换.n2文件及其相关资源(mesh/texture/anims)到N3文件格式
l N2Converter3
n 增加log功能
l N3Viewer
n 新增, 支持远程控制的N3标准查看器
l TookitUtil
n 改了一些类的路径, 使分类更加清晰
新增以下工程:
l bullet_collision_simple
l bullet_dynamics_simple
l drasa3testui
l fmodtest
l forestviewer
l texturestreamingtest_win32
l ziptest
l 基于XACT的Audio被干掉了
l work\frame\win32\发现一个esmshadowmapping.xml, shaders下也有相关实现, 估计GlobalShadow要改成Exponential Shadow Mapping
l 光照系统默认基于Light-Pre Pass的方式, 有兴趣的可以把testviewerapplication.cc的94行的numSpotLights改一下, 有惊喜
l 有需要补充的, 请跟帖…