CMGDK r49-rc2
|
2D贴图处理类 更多...
#include <Texture2D.H>
公有成员 | |
DefEvent (bool, OnLoadProcess,(int, int, ColorType, void *)) | |
加载过程中的象素缓冲区处理事件 | |
Texture2D () | |
本类构造函数 | |
Texture2D (TDFNode *, uint=0, bool=false) | |
本类构造函数并由TDF节点创建一个2D贴图 | |
Texture2D (Stream *, uint=0, bool=false) | |
本类构造函数并由流创建一个2D贴图 | |
Texture2D (const wchar_t *, uint=0, bool=false) | |
本类构造函数,由文件创建一个2D贴图 | |
Texture2D (HAC *, const wchar_t *, uint=0, bool=false) | |
本类构造函数,由文件创建一个2D贴图 | |
Texture2D (void *, int, int, uint, uint, bool=false) | |
本类构造函数,并根据数据创建一个贴图 | |
Texture2D (int, int, uint, bool=false) | |
本类构造函数,并创建一个指定格式的空贴图 | |
Texture2D (int, int, uint, uint, bool=false) | |
本类构造函数,并创建一个指定格式的空贴图 | |
virtual | ~Texture2D () |
本类析构函数 | |
virtual bool | Load (TDFNode *, uint=0, bool=false) |
从TDF节点加载一张贴图 | |
virtual bool | Load (Stream *, uint=0, bool=false) |
从流中加载一张贴图 | |
virtual bool | Load (const wchar_t *, uint=0, bool=false) |
从文件中加载一张贴图 | |
virtual bool | Load (HAC *, const wchar_t *, uint=0, bool=false) |
从文件中加载一张贴图 | |
virtual bool | Create (void *, int, int, uint, uint, bool=false) |
创建一个贴图 | |
virtual void | Change (void *, int, int, int, int, uint=0, uint=GL_UNSIGNED_BYTE) |
更改贴图内容 | |
virtual void | Change (void *, uint=0, uint=GL_UNSIGNED_BYTE) |
更改贴图内容 | |
virtual bool | PBOCreate (PBO *, int, int, uint, uint, bool=false) |
用PBO内的数据创建一个贴图 | |
virtual void | PBOChange (PBO *, int, int, int, int, uint=0, uint=GL_UNSIGNED_BYTE) |
用PBO内的数据更改贴图内容 | |
virtual void | PBOChange (PBO *, uint=0, uint=GL_UNSIGNED_BYTE) |
用PBO内的数据更改贴图内容 | |
virtual void | Clear () |
清除贴图 | |
virtual void | Draw (float, float, float=1, float=1) |
绘制贴图 | |
virtual bool | Draw (const Vertex2f *) |
绘制贴图,并指定四个角的顶点 | |
void | DrawRect (float l, float t, float w, float h) |
绘制图片(指定范围) | |
template<typename T > | |
void | Draw (const RectScope2< T > &rs) |
绘制图片(指定范围) | |
virtual void | DrawTile (float, float, float, float, int=1, int=1) |
连续拼接绘制 | |
virtual void | DrawPart (float, float, float, float, float, float, float=1, float=1) |
绘制局部 | |
template<typename T > | |
void | DrawPart (float l, float t, const RectScope2< T > &rs, float sw=1, float sh=1) |
公有属性 | |
Property< ColorType > | OrignColor |
原始色彩类型(只读) | |
Property< int > | Width |
贴图宽度虚拟变量 | |
Property< int > | Height |
贴图高度虚拟变量 | |
Property< uint > | WrapS |
横向绕转设置虚拟变量 | |
Property< uint > | WrapT |
纵向绕转设置虚拟变量 | |
DrawArray * | draw_array |
绘制用阵列数据 |
2D贴图处理类
通过这个类用来管理一个2D贴图
hgl::Texture2D::Texture2D | ( | ) |
本类构造函数
本类构造函数并由TDF节点创建一个2D贴图
本类构造函数,并根据TDF节点加载贴图
tdf | 节点 |
glformat | 在显存的中OpenGL格式 |
mip | 是否创建mipmaps |
本类构造函数并由流创建一个2D贴图
本类构造函数,并根据流加载贴图
stream | 流 |
glformat | 在显存的中OpenGL格式 |
mip | 是否创建mipmaps |
hgl::Texture2D::Texture2D | ( | const wchar_t * | filename, |
uint | glformat = 0 , |
||
bool | mip = false |
||
) |
本类构造函数,由文件创建一个2D贴图
本类构造函数,并根据文件名加载贴图
filename | 文件名称 |
glformat | 在显存中的OpenGL格式 |
mip | 是否创建mipmaps |
hgl::Texture2D::Texture2D | ( | HAC * | hac, |
const wchar_t * | filename, | ||
uint | glformat = 0 , |
||
bool | mip = false |
||
) |
本类构造函数,由文件创建一个2D贴图
本类构造函数,并根据文件名加载贴图
hac | 文件所在的HAC包 |
filename | 文件名称 |
glformat | 在显存中的OpenGL格式 |
mip | 是否创建mipmaps |
本类构造函数,并根据数据创建一个贴图
本类构造函数,并根据数据创建贴图
ptr | 象素数据 |
w | 宽度 |
h | 高度 |
sf | 象素数据源格式 |
tf | 在显存中的OpenGL格式 |
mip | 是否创建mipmaps |
本类构造函数,并创建一个指定格式的空贴图
本类构造函数,并创建一张空白贴图
w | 宽度 |
h | 高度 |
glformat | 在显存中的OpenGL格式 |
mip | 是否创建mipmaps |
本类构造函数,并创建一个指定格式的空贴图
本类构造函数,并创建一张空白贴图
w | 宽度 |
h | 高度 |
src_format | 原始数据格式 |
gl_format | 在显存中的OpenGL格式 |
mip | 是否创建mipmaps |
hgl::Texture2D::~Texture2D | ( | ) | [virtual] |
本类析构函数
void hgl::Texture2D::Change | ( | void * | ptr, |
int | sub_left, | ||
int | sub_top, | ||
int | sub_width, | ||
int | sub_height, | ||
uint | gl_format = 0 , |
||
uint | src_type = GL_UNSIGNED_BYTE |
||
) | [virtual] |
更改贴图内容
更改贴图内容
ptr | 象素数据指针 |
sub_left,sub_top | 要修改的贴图数据坐标(象素点) |
sub_width,sub_height | 要修改的贴图数据大小(象素点) |
gl_format | 源数据格式 |
void hgl::Texture2D::Change | ( | void * | ptr, |
uint | src_fmt = 0 , |
||
uint | src_type = GL_UNSIGNED_BYTE |
||
) | [virtual] |
更改贴图内容
更改贴图内容(完全更改)
ptr | 象素数据指针 |
src_fmt | 原始数据格式,默认和初始创建时用的格式一致 |
void hgl::Texture2D::Clear | ( | ) | [virtual] |
bool hgl::Texture2D::Create | ( | void * | data_ptr, |
int | w, | ||
int | h, | ||
uint | sf, | ||
uint | tf, | ||
bool | mip = false |
||
) | [virtual] |
创建一个贴图
创建一个贴图
ptr | 象素数据指针 |
w | 宽度 |
h | 高度 |
sf | 象素数据源格式 |
tf | 在显存中的OpenGL格式 |
mip | 是否创建mipmaps |
void hgl::Texture2D::Draw | ( | const RectScope2< T > & | rs | ) | [inline] |
绘制图片(指定范围)
void hgl::Texture2D::Draw | ( | float | left, |
float | top, | ||
float | scale_width = 1 , |
||
float | scale_height = 1 |
||
) | [virtual] |
绘制贴图
使用当前贴图绘制一个矩形
left | 矩形左边坐标 |
top | 矩形上边坐标 |
scale_width | 宽度缩放系数 |
scale_height | 高度缩放系数 |
bool hgl::Texture2D::Draw | ( | const Vertex2f * | vertex | ) | [virtual] |
void hgl::Texture2D::DrawPart | ( | float | l, |
float | t, | ||
const RectScope2< T > & | rs, | ||
float | sw = 1 , |
||
float | sh = 1 |
||
) | [inline] |
sh | 绘制局部 |
void hgl::Texture2D::DrawPart | ( | float | draw_left, |
float | draw_top, | ||
float | part_left, | ||
float | part_top, | ||
float | part_width, | ||
float | part_height, | ||
float | scale_width = 1 , |
||
float | scale_height = 1 |
||
) | [virtual] |
绘制局部
使用当前贴图的局部绘制一个矩形,注意局部坐标使用的仍是0.0-1.0的坐标,而不是像素值.比如要画图片的左上角1/4块就是0,0 0.5,0.5
draw_left | 矩形左边坐标 |
draw_top | 矩形上边坐标 |
part_left | 局部左边坐标 |
part_top | 局部上边坐标 |
part_width | 局部宽度 |
part_height | 局部高度 |
scale_width | 宽度缩放系数 |
scale_height | 高度缩放系数 |
void hgl::Texture2D::DrawRect | ( | float | l, |
float | t, | ||
float | w, | ||
float | h | ||
) | [inline] |
绘制图片(指定范围)
void hgl::Texture2D::DrawTile | ( | float | rect_left, |
float | rect_top, | ||
float | rect_width, | ||
float | rect_height, | ||
int | col_count = 1 , |
||
int | row_count = 1 |
||
) | [virtual] |
连续拼接绘制
连续拼接绘制一矩形范围
rect_left | 矩形左边坐标 |
rect_top | 矩形上边坐标 |
rect_width | 宽度 |
rect_height | 高度 |
col_count | 列向画多少个 |
row_count | 横向画多少个 |
bool hgl::Texture2D::Load | ( | HAC * | hac, |
const wchar_t * | filename, | ||
uint | glformat = 0 , |
||
bool | mip = false |
||
) | [virtual] |
从文件中加载一张贴图
从指定文件中加载一张贴图
hac | 文件所在的HAC包 |
filename | 要加载的图像文件名 |
glformat | 在显存中的OpenGL格式 |
mip | 是否创建mipmaps |
从TDF节点加载一张贴图
从TDF节点加载一张贴图
tdf | TDF节点 |
glformat | 在显存中的OpenGL格式 |
mip | 是否产生mipmaps |
从流中加载一张贴图
从流中加载一张贴图
stream | 要加载贴图的流 |
glformat | 在显存中的OpenGL格式 |
mip | 是否创建mipmaps |
bool hgl::Texture2D::Load | ( | const wchar_t * | filename, |
uint | glformat = 0 , |
||
bool | mip = false |
||
) | [virtual] |
从文件中加载一张贴图
从指定文件中加载一张贴图
filename | 要加载的图像文件名 |
glformat | 在显存中的OpenGL格式 |
mip | 是否创建mipmaps |
void hgl::Texture2D::PBOChange | ( | PBO * | pbo, |
int | sub_left, | ||
int | sub_top, | ||
int | sub_width, | ||
int | sub_height, | ||
uint | gl_format = 0 , |
||
uint | src_type = GL_UNSIGNED_BYTE |
||
) | [virtual] |
用PBO内的数据更改贴图内容
更改贴图内容
pbo | PBO缓冲区指针 |
sub_left,sub_top | 要修改的贴图数据坐标(象素点) |
sub_width,sub_height | 要修改的贴图数据大小(象素点) |
gl_format | 源数据格式 |
void hgl::Texture2D::PBOChange | ( | PBO * | pbo, |
uint | src_fmt = 0 , |
||
uint | src_type = GL_UNSIGNED_BYTE |
||
) | [virtual] |
用PBO内的数据更改贴图内容
更改贴图内容(完全更改)
pbo | PBO缓冲区指针 |
src_fmt | 原始数据格式,默认和初始创建时用的格式一致 |
bool hgl::Texture2D::PBOCreate | ( | PBO * | pbo, |
int | w, | ||
int | h, | ||
uint | sf, | ||
uint | tf, | ||
bool | mip = false |
||
) | [virtual] |
用PBO内的数据创建一个贴图
创建一个贴图
pbo | PBO缓冲区指针 |
w | 宽度 |
h | 高度 |
sf | 象素数据源格式 |
tf | 在显存中的OpenGL格式 |
mip | 是否创建mipmaps |
绘制用阵列数据
贴图高度虚拟变量
Property<ColorType> hgl::Texture2D::OrignColor |
原始色彩类型(只读)
贴图宽度虚拟变量
横向绕转设置虚拟变量
纵向绕转设置虚拟变量