Nebula3 SDK (Mar2010)更新内容(山寨版)

来源:互联网 发布:考务管理系统 源码 编辑:程序博客网 时间:2024/05/10 06:55

: 本文非官方博客发布, 是我自己用版本工具对比出来的. 所以新加的我可能不了解其思想, 零碎的改动也被我忽略, 写出来的也不保证完全正确

Foundation

l  Core

n  增加OSX相关支持

n  config.h增加PUBLIC_BUILD相关配置

n  增加n_assert2

n  Rtti/Factory增加无FourCCRegister方法

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类增加几个模板方法

Render

l  Shared

n  新增, 用于InternalGraphicsGraphics之间的数据同步

l  Visibility

n  新增, 用于场景可见性管理

l  Animation

n  移除AnimMapper/AnimEventRegistry

n  针对新的Job系统做了相关改动

l  App

n  RenderApplication增加OnSetupResourceMappers()方法

n  ViewerAppliaction增加可见性系统支持, 移除命令行参数初始化方式

l  Character

n  增加CharacterVariationSetCharacterVariationLibrary

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相关新增内容(挺多的)

Addons

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的实现, 但是代码没有集成进来(又是一个商业解决方案)

ExtLibs

l  Bullet

n  新增第三方开源物理引擎, 但是还没有集成到引擎里, 只有一个测试程序

Application

l  App

n  GameApplication默认组件增加Remote子系统

l  BaseGameFeature

n  针对Fx的更改删减部分代码

l  CommandHandlers

n  新增, 只有一个CreateEntityCommand

MayaPlugin

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的查找

Toolkit

l  N2BatchConverter3

n  新增, 用于批量转换.n2文件及其相关资源(mesh/texture/anims)N3文件格式

l  N2Converter3

n  增加log功能

l  N3Viewer

n  新增, 支持远程控制的N3标准查看器

l  TookitUtil

n  改了一些类的路径, 使分类更加清晰

Tests

新增以下工程:

l  bullet_collision_simple

l  bullet_dynamics_simple

l  drasa3testui

l  fmodtest

l  forestviewer

l  texturestreamingtest_win32

l  ziptest

其它

l  基于XACTAudio被干掉了

l  work/frame/win32/发现一个esmshadowmapping.xml, shaders下也有相关实现, 估计GlobalShadow要改成Exponential Shadow Mapping

l  光照系统默认基于Light-Pre Pass的方式, 有兴趣的可以把testviewerapplication.cc94行的numSpotLights改一下, 有惊喜

l  有需要补充的, 请跟帖

原创粉丝点击