|
项目: Garnet 3D Game Library:
版本信息
摘要|
管理|
首页|
论坛|
跟踪|
错误|
支持|
补丁|
电子邮件|
任务|
文档|
调查|
新闻|
CVS|
软件包 |
信息 |
信息:
0.6.6 ( 2003-03-06 )
====================
从上次版本升级到现在已经很长时间了,期间garnet库已经有了很大的改变:
- 主要变化
- 新增了特效类fx_c,统管所有物体的渲染,全面支持可编程流水线。
- 将rdx模块升级了DirectX 9.0;
- 增强了对中文的支持,现在可以全屏输出数千个字符而不严重降低
程序的性能(最多4096个);
- 新增了两个专用渲染器:quadrender(四边形渲染器)和im3drender
(立即模式渲染器);
- 增加了统一的资源管理系统,现在大部分的外部资源都已经整合到了这个
新系统中。
- 模块的增减/调整/重命名
- 新增字体设备:fswin和fsft2
- 新增虚拟文件设备:vfansi
- 新模块:toolkits,来代替原先example包中的common库;
- 将utils模块合并到types模块中;
- 将geom3d模块改名为math模块;
- misc
- 在rgl模块中增加了一个新的单元:Caps Manager,代替原先的glext单元
- 给config_c增加了用整数索引变量的功能(速度比直接用名字索引快得多)
- 将render单元的资源改成非CIF类,简化了系统的复杂度;
- 给camctrl_c类增加了插值功能,以获得顺滑的动画效果;
- 修改了定义顶点格式的方式(摒弃了原先的二维数组方式);
- 修改了input单元输出键盘消息的方式,使得应用程序可以很容易的响应
诸如CTRL-Y,ALT-X之类的组合键; 同时,增加过滤操作,以修正不对称
的按键事件(比如连续两次发送同一个键的按下消息)。
0.6.5 ( 2002-11-16 )
===================
- 用unreal风格的guard/unguard宏替换了大部分的try/catch block;
- 用新的vertmap模块替代了目前的vshader模块;
- replace simple camera class with CIF based "camera_i";
- 使用了新的引用计数机制;
- 使用了http://sigslot.sf.net的signal/slot库来简化模块间的耦合性;
- 将工程文件升级到了vc7/vc.net,以后将不再支持vc6;
- 大幅度简化了CIF系统中不常用的功能,并且使用模板函数取代了大部分的
宏,使代码更加清晰易懂,且更安全;
- 将render模块display子单元中窗口管理的部分独立成了一个新的模块:
window模块,用来管理和窗口相关的事宜(如窗口消息处理等等〕,使得
render模块的功能更清晰;
- 新的功能模块:GUI模块,用来实现通用的用户界面(参见例子程序uidemo)。
0.6.4 ( 2002-9-26 )
===================
- 简化了render模块的结构,将原先的多个子接口整合到了单一的render_i中;
- 放弃原先句柄形式的显示资源,改用了基于CIF的指针资源;
- 删除了render模块中的pshader类型,代之以新的rsblock(RenderStateBlock);
- 在rgl模块中采用了Intel GLsdk来管理opengl extension;
- 在异常处理单元中增加了function guard系列宏,以增加可调试性;
- 将cif类的版本号由全局变量改为静态成员函数,从而避免了名字冲突;
0.6.3 ( 2002-8-28 )
===================
- 修改了render_i::draw_mgr_i的接口,以便于对Vertex(Index)Buffer的共享;
- 修正了rdx模块中恢复丢失设备后VertexShader管理器无法还原的错误;
- 在所有的动态模块中增加了对核心版本的检测;
- 修改了系统事件的定义(详见comp/eventdef.h);
- bug fixes.
0.6.2 ( 2002-6-27 )
===================
- 修改了render_i::transform_mgr_i的接口
- 修改了camera_c的实现
-新函数CORE_get_version()
0.6.1 ( 2002-6-5 )
==================
- 在新开发的CIF(Common Interface Framework)系统的支持下,重构了系统的plugin
机制,对原有的系统结构作了很大的调整。
0.5.2a ( 2002-4-11 )
==================
- 将用户定制的部分(包括:主程序、user模块和节点库)从引擎中独立出来。
0.5.2 ( 2002-3-7 )
==================
- 将font单元移出了render模块,成为一个新的节点类: fontnode_n
0.5.1 ( 2002-3-6 )
==================
- 将顶点格式的定义从_vshader_mgr.h中移到了新的头文件_vertex_format.h中
- 在vbuffer类中记录了顶点的格式
- 彻底消除了font单元在不同API之间的差异
修改:
[2003.3.6]
■ 修复了一个非常隐秘的bug(是由于使用auto_scope类不当引起的),详情
参见rdx_ibuffer.cpp和rdx_vbuffer.cpp。
NOTE : 由于该bug只有在Radeon卡上,且只有在使用HW-DirectX时才出现,
因此一度被认为是Driver的bug所致。多亏了CVS的帮助,通过逐段
比对新旧代码,总算是找到了这个bug。
现在算是真正体会到CVS的好处了 :)
■ 升级版本号到:0.6.6
[2003.3.4]
■ 增加了一次读取多个mesh功能
■ 给GLsdk增加了对ATI_vertex_attrib_array_object的支持
[2003.2.27]
■ 新增了sprite资源管理器
■ 今后在程序中尽量使用doxygen风格的注释
[2003.2.27]
■ 修正了reslib_tc::mark函数中的逻辑错误
■ 给reslib_tc增加了flush()函数
[2003.2.26]
■ 实现了FX Library中读取VertexShader的部分,现在FXLib已经基本可用了;
■ 所有物体现在都改用了Programmable Pipeline
[2003.2.25]
■ 实现了FX Library中读取RSBlock的部分
■ 实现了FX Library中读取VertexShader的部分
[2003.2.24]
■ 部分实现FX Library中读取XML文件功能
[2003.2.22]
■ 今天章姝晋结婚,足吃了一顿 :)
■ 在scene模块中增加了fx_c类,专门用来实现各种特效
■ 修改了render模块的许多接口,以方便对multi-pass的支持
■ 在types模块中整合了tinyxml包,以支持对XML格式的读写
[2003.2.19]
■ 新增了资源管理器单元,用于统一的管理各种资源
[2003.2.6]
■ 改进了auto_scope类的实现
[2003.1.27]
■ 增加了对GL_ATI_vertex_array_object的支持;(experimental)
[2003.1.21]
■ 增加了对全屏模式下输入法的支持;
■ 增加了对静态编译模式的支持;
[2003.1.15]
■ 改进了fontcach_c的绘图代码。现在即使同屏幕显示上千个不同的
中英文字符,速度也不会有太多的降低(最多4096个);
■ 给render_i增加了新的caps管理器;
[2003.1.11]
■ 一个新的转换3ds文件的工具:meshmaker;
■ 修改了meshldr函数,以便从.gnm文件中读取mesh数据;
■ 修改了gui模块中的OpenGL代码,现在uidemo也可以跑在DirectX下了。
[2003.1.9]
■ 新增了一个立即模式渲染器,效率不高,但很方便,主要用来渲染
一些实验性的数据。
[2003.1.8]
■ 删除了comp模块中的sprite_i类,由toolkits中的sprite_c来代替;
■ 新增通用的2D Sprite Renderer,可以高效的渲染文字和2D图片;
■ 删除了fontrender_c类,其功能由新的spriterender_c来实现;
■ 修正了math模块中计算正交矩阵中的一个错误;
■ 新模块:scene
■ 'Component' module is completly removed.
[2003.1.4]
■ 将函数infolog改为宏GN_INFLOG;
■ 将函数errlog改为宏GN_ERRLOG,同时在错误信息中增加了文件名
和行号,以便更好的进行错误定位;
■ 取消了宏GN_UNGUARD_SLOW_EXEC和GN_UNGUARD_SLOW_NOTHROW,因为
这两个宏会造成debug和release版本程序流程的差异;
■ 实现了贴图的局部锁定功能;
■ 增加了对NV_vertex_array_range和NV_vertex_array_range2的支持;
[2003.1.3]
■ 新模块:fswin(用WINAPI实现的FontSystem)
[2002.12.31]
■ 新增用来绘制文字的工具类:fontrender_c, fontcache_c
■ 新增用来绘制坐标轴的工具类:coordinate_c
[2002.12.27]
■ 新的模块类:fs(FileSystem)
[2002.12.25]
■ 将rdx模块升级了DirectX 9.0;
■ 修改了定义顶点格式的方式(摒弃了原先的二维数组方式);
■ 给camctrl_c类增加了插值功能,以获得顺滑的动画效果;
[2002.12.18]
■ 修正了ARB vertex program中的错误
■ 新的设备模块:vfsansi - 用ASNI函数实现的虚拟文件系统(VFS)
■ 将常用设备模块的初始化放到了core模块中,以便其他模块可以方便的
访问这些设备(目前包括:vfs,window,render,input四个设备)。
[2002.12.16]
■ 将utils模块合并到types模块中;
■ 将geom3d模块改名为math模块;
■ 增加了一个新模块:toolkits,来代替原先example包中的common库;
■ 修改了core模块中子系统的声明方式;
■ 在core模块中增加了:vfilesys, varsys, timesys三个新的子系统;
■ 将comp模块中的camera_i类移动到了新的math模块中,且改名为camera_c;
■ 删除了comp模块中的timer_i类(由core中的timesys来代替)
■ 在rgl模块中增加了一个新的单元:Caps Manager,代替原先的glext单元
[2002.12.6]
■ 将render单元的资源改成非CIF类,简化了系统的复杂度;
[2002.12.1]
■ 在rdx单元中采用了VertexShader来取代现有的渲染流水线
■ 给config_c增加了用整数索引变量的功能(速度比直接用名字索引快得多)
[2002.11.22]
■ 修改了input单元输出键盘消息的方式,使得应用程序可以很容易的响应
诸如CTRL-Y,ALT-X之类的组合键; 同时,通过过滤操作修正了不对称的
按键事件(比如连续两次发送同一个键的按下消息)。
■ 将uicontrol和canvas改为一一对应,canvas根据传入的控件状态参数来
渲染不同的图象。( 原先是一个控件对应多个canvas,每个canvas只负
责绘制一种状态 )
|
|
|