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