CMGDK r49-rc2
|
Tile数据管理 更多...
#include <TileData.H>
公有成员 | |
TileData (int, int, int, uint) | |
本类构造函数 | |
virtual | ~TileData () |
本类析构函数 | |
Texture2D * | GetTexture () |
取得TileData用贴图 | |
bool | Use () |
使用TileData的贴图 | |
TileObject * | Add (void *, uint, int=-1, int=-1) |
增加一个Tile数据进来 | |
TileObject * | Add (TDFNode *) |
增加一个贴图文件数据为Tile | |
TileObject * | Add (Stream *) |
增加一个贴图文件数据为Tile | |
TileObject * | Add (const wchar_t *) |
增加一个贴图文件为Tile | |
TileObject * | Add (HAC *, const wchar_t *) |
增加一个贴图文件为Tile | |
bool | Delete (TileObject *) |
删除一个Tile | |
bool | Change (TileObject *, void *, uint, int=-1, int=-1) |
更改一个Tile的数据内容 | |
void | Clear () |
清除Tile数据 | |
void | Draw (const TileObject *, float, float) const |
绘制Tile对象 | |
void | Draw (const TileObject *, float, float, float, float) const |
绘制Tile对象,并指定缩放比例 | |
void | Draw (const TileObject *, void *, void *, void *, uint) const |
绘制Tile对象,并指定数据格式 | |
template<typename T > | |
void | Draw (const TileObject *to, const RectScope2< T > &rs) const |
void | Draw (DrawArray *, const TileObject *, float, float) const |
绘制过程到一个阵列 | |
void | Draw (DrawArray *, const TileObject *, float, float, float, float) const |
绘制过程到一个阵列,并指定缩放比例例 | |
void | Draw (DrawArray *, const TileObject *, void *, void *, void *, uint) const |
绘制过程到一个阵列,并指定数据格式 | |
template<typename T > | |
void | Draw (DrawArray *da, const TileObject *to, const RectScope2< T > &rs) const |
公有属性 | |
Property< TextureFilter > | MinFilter |
贴图缩小过滤方式虚拟变量 | |
Property< TextureFilter > | MagFilter |
贴图放大过滤方式虚拟变量 | |
Property< TextureFilter > | Filter |
贴图过滤方式设置虚拟变量 | |
Property< int > | Anisotropy |
各向异性过滤级别 | |
Property< int > | Width |
Tile宽度 | |
Property< int > | Height |
Tile高度 | |
Property< int > | Count |
Tile数量 | |
Property< int > | Free |
剩余可用Tile数量 | |
Property< int > | MaxCount |
Tile最大数量 |
Tile数据管理
TileData是一种处理将大量等同贴图的管理机制,程序会自动根据显卡最大贴图处理能力来创建尽可能符合的贴图。(注意:Tile的宽高不必是2的幂)。
Tile的增加删除,程序会做自动排序,尽可能小的影响效能。
本类构造函数
本类构造函数
w | Tile宽度 |
h | Tile高度 |
max_count | 最大Tile数量,(注:程序会根据显卡能力来计算最适合的贴图,所以最大数量一般会大于指定值) |
gl_format | Tile的OpenGL色彩格式 |
hgl::TileData::~TileData | ( | ) | [virtual] |
本类析构函数
TileObject * hgl::TileData::Add | ( | void * | data, |
uint | gl_format, | ||
int | ctw = -1 , |
||
int | cth = -1 |
||
) |
增加一个Tile数据进来
增加一个Tile
data | 图形原始数据 |
gl_format | 图形的OpenGL色彩格式 |
ctw | 当前tile宽度,-1表示等同全局设置 |
cth | 当前tile高度,-1表示等同全局设置 |
TileObject * hgl::TileData::Add | ( | TDFNode * | tdf | ) |
增加一个贴图文件数据为Tile
增加一个贴图文件数据为Tile
tdf | TDF节点 |
TileObject * hgl::TileData::Add | ( | Stream * | str | ) |
增加一个贴图文件数据为Tile
增加一个贴图文件数据为Tile
str | 数据流读取指针 |
TileObject * hgl::TileData::Add | ( | const wchar_t * | filename | ) |
增加一个贴图文件为Tile
增加一个贴图文件为Tile
filename | 贴图文件名称 |
TileObject * hgl::TileData::Add | ( | HAC * | hac, |
const wchar_t * | filename | ||
) |
增加一个贴图文件为Tile
增加一个贴图文件为Tile
hac | HAC包指针 |
filename | 贴图文件名称 |
bool hgl::TileData::Change | ( | TileObject * | obj, |
void * | data, | ||
uint | gl_format, | ||
int | ctw = -1 , |
||
int | cth = -1 |
||
) |
更改一个Tile的数据内容
更改一个Tile的数据内容
obj | 要更改的Tile的对象指针 |
data | 图形原始数据 |
gl_format | 图形的OpenGL色彩格式 |
ctw | 当前tile宽度,-1表示等同全局设置 |
cth | 当前tile高度,-1表示等同全局设置 |
void hgl::TileData::Clear | ( | ) |
清除Tile数据
清除所有Tile数据
bool hgl::TileData::Delete | ( | TileObject * | obj | ) |
删除一个Tile
删除一个Tile
obj | 要删除的Tile的对象指针 |
void hgl::TileData::Draw | ( | const TileObject * | obj, |
float | draw_left, | ||
float | draw_top | ||
) | const |
绘制Tile对象
绘制Tile对象
obj | 对象指针 |
draw_left | 绘制位置的左边界坐标 |
draw_top | 绘制位置的顶边界坐标 |
void hgl::TileData::Draw | ( | const TileObject * | obj, |
void * | vertex, | ||
void * | color, | ||
void * | normal, | ||
uint | pdc | ||
) | const |
绘制Tile对象,并指定数据格式
绘制Tile对象,指定4个顶点的数据格式(顶点顺序为 左上,右上,右下,左下)
obj | 对象指针 |
vertex | 顶点数据 |
color | 顶点色彩数据 |
normal | 顶点法线数据 |
pdc | 数据格式 |
void hgl::TileData::Draw | ( | DrawArray * | array, |
const TileObject * | obj, | ||
float | draw_left, | ||
float | draw_top, | ||
float | scale_width, | ||
float | scale_height | ||
) | const |
绘制过程到一个阵列,并指定缩放比例例
将绘制Tile对象的过程绘制到DrawArray,并指定缩放比例
array | 批理绘制处理对象 |
obj | 对象指针 |
draw_left | 绘制位置的左边界坐标 |
draw_top | 绘制位置的顶边界坐标 |
scale_width | 宽度缩放比例 |
scale_height | 高度缩放比例 |
void hgl::TileData::Draw | ( | DrawArray * | array, |
const TileObject * | obj, | ||
void * | vertex, | ||
void * | color, | ||
void * | normal, | ||
uint | pdc | ||
) | const |
绘制过程到一个阵列,并指定数据格式
将绘制Tile对象的过程绘制到DrawArray,指定4个顶点的数据格式(顶点顺序为 左上,右上,右下,左下)
array | 批理绘制处理对象 |
obj | 对象指针 |
vertex | 顶点数据 |
color | 顶点色彩数据 |
normal | 顶点法线数据 |
pdc | 点成份 |
void hgl::TileData::Draw | ( | const TileObject * | to, |
const RectScope2< T > & | rs | ||
) | const [inline] |
void hgl::TileData::Draw | ( | const TileObject * | obj, |
float | draw_left, | ||
float | draw_top, | ||
float | scale_width, | ||
float | scale_height | ||
) | const |
绘制Tile对象,并指定缩放比例
绘制Tile对象,并指定缩放比例
obj | 对象指针 |
draw_left | 绘制位置的左边界坐标 |
draw_top | 绘制位置的顶边界坐标 |
scale_width | 宽度缩放比例 |
scale_height | 高度缩放比例 |
void hgl::TileData::Draw | ( | DrawArray * | da, |
const TileObject * | to, | ||
const RectScope2< T > & | rs | ||
) | const [inline] |
void hgl::TileData::Draw | ( | DrawArray * | array, |
const TileObject * | obj, | ||
float | draw_left, | ||
float | draw_top | ||
) | const |
绘制过程到一个阵列
将绘制Tile对象的过程绘制到DrawArray
array | 批理绘制处理对象 |
obj | 对象指针 |
draw_left | 绘制位置的左边界坐标 |
draw_top | 绘制位置的顶边界坐标 |
Texture2D* hgl::TileData::GetTexture | ( | ) | [inline] |
取得TileData用贴图
bool hgl::TileData::Use | ( | ) |
使用TileData的贴图
各向异性过滤级别
Tile数量
贴图过滤方式设置虚拟变量
剩余可用Tile数量
Tile高度
贴图放大过滤方式虚拟变量
Tile最大数量
贴图缩小过滤方式虚拟变量
Tile宽度