存档在 2009年11月24日

HTP/HTPPart/HTPMerge:基于Tile的图片处理模块

2009年11月24日

如同HGP是《古月》引擎的一个重要元素一样,新的HTP同样将会成为引擎中的一个重要元素,并且更加令人瞩目。

  • HTP体系基于Tile系统保存图片,可以支持超大解析度的图片。
  • HTP的图片打包工具会自动计算重复Tile,支持多层PSD、多张图片、多种色彩格式自动拆分计算。在《秋之回忆5》1.08版中,由于人物图片有着大量重复内容,其压缩率达到了1/290,而且仍是无损压缩。不但减少了游戏的容量,也加速了游戏过程,减少了加载时间。
  • HTPPart可以只加载图片的指定区域,在超大复合图片组成的场景中,起着重要的作用。常用于2D-RPG/RTS等超大图片显示场合。
  • HTPMerge则是一个和显示完全无关的模块,它提供软件级的图片合成。如同HTPPart一样,它需要开发者指定需求的图片范围,但它并不负责显示,而仅仅是将这一区域的图片内容软件合成为RGB/RGBA/Luminance/LuminanceAlpha/Alpha格式供开发者使用。在3D游戏的超大地形中,不仅可以用其保存地表贴图,还可以用其保存地表高度图。由于其软件合成,可以生成任意层次、任意混合模式、并且极其精细的地表贴图,而且仅有一层,大大提升了3D游戏的地表贴图表现。

HTPPanel:HTP图片专用显示面板控件

2009年11月24日
  • 名称:HTPPanel
  • 类型:class
  • 头文件:<hgl/gui/HTPPanel.H>
  • 示例程序:
  • SVN版本:2407
  • 加入日期:2009-11-23
  • 说明:专用于HTP图片显示的面板,提供滚动条。

RWLock:共享读写锁

2009年11月24日
  • 名称:RWLock
  • 类型:class
  • 头文件:<hgl/RWLock.H>
  • 示例程序:
  • SVN版本:2428
  • 加入日期:2009-11-24
  • 说明:在unix下中使用pthread的rwlock,在Windows下使用Event/Mutex模拟实现。在上层的使用上保持了一致性的接口。
  • 另:由于pthread for Win32使用LGPL授权协议,所以没有选择使用pthread实现。

atom_int:原子整型数据类型

2009年11月24日
  • 名称:atom_int
  • 类型:class
  • 头文件:<hgl/Atomic.H>
  • 示例程序:Function/Atomic
  • SVN版本:2427
  • 加入日期:2009-11-24
  • 说明:基于原子操作的整型变量数据模拟,在使用方式上力求与int一致,使用操作符重载方式将各种运算转为针对各操作系统/CPU的本地API。
鄂ICP备09027626号