前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nebula3 SDK (Mar2010)更新内容(山寨版)

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

作者头像
逍遥剑客
发布2018-05-23 16:08:35
4870
发布2018-05-23 16:08:35
举报

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

Foundation

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

Render

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

Addons

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

ExtLibs

l Bullet

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

Application

l App

GameApplication默认组件增加Remote子系统

l BaseGameFeature

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

l CommandHandlers

新增, 只有一个CreateEntityCommand类

MayaPlugin

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

Toolkit

l N2BatchConverter3

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

l N2Converter3

增加log功能

l N3Viewer

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

l TookitUtil

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

Tests

新增以下工程:

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 有需要补充的, 请跟帖…

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2010年04月12日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Foundation
  • Render
  • Addons
  • ExtLibs
  • Application
  • MayaPlugin
  • Toolkit
  • Tests
  • 其它
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档