CMGDK r49-rc2
公有成员 | 公有属性
hgl::Texture2D类参考

2D贴图处理类 更多...

#include <Texture2D.H>

继承图,类hgl::Texture2D
hgl::Texture hgl::DataObject hgl::Object hgl::_Object hgl::AnimeTexture hgl::TextureAnime

所有成员的列表。

公有成员

 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< intWidth
 贴图宽度虚拟变量
Property< intHeight
 贴图高度虚拟变量
Property< uintWrapS
 横向绕转设置虚拟变量
Property< uintWrapT
 纵向绕转设置虚拟变量
DrawArraydraw_array
 绘制用阵列数据

详细描述

2D贴图处理类

通过这个类用来管理一个2D贴图


构造及析构函数文档

hgl::Texture2D::Texture2D ( )

本类构造函数

hgl::Texture2D::Texture2D ( TDFNode tdf,
uint  glformat = 0,
bool  mip = false 
)

本类构造函数并由TDF节点创建一个2D贴图

本类构造函数,并根据TDF节点加载贴图

参数:
tdf节点
glformat在显存的中OpenGL格式
mip是否创建mipmaps
hgl::Texture2D::Texture2D ( Stream stream,
uint  glformat = 0,
bool  mip = false 
)

本类构造函数并由流创建一个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
hgl::Texture2D::Texture2D ( void *  ptr,
int  w,
int  h,
uint  sf,
uint  tf,
bool  mip = false 
)

本类构造函数,并根据数据创建一个贴图

本类构造函数,并根据数据创建贴图

参数:
ptr象素数据
w宽度
h高度
sf象素数据源格式
tf在显存中的OpenGL格式
mip是否创建mipmaps
hgl::Texture2D::Texture2D ( int  w,
int  h,
uint  glformat,
bool  mip = false 
)

本类构造函数,并创建一个指定格式的空贴图

本类构造函数,并创建一张空白贴图

参数:
w宽度
h高度
glformat在显存中的OpenGL格式
mip是否创建mipmaps
hgl::Texture2D::Texture2D ( int  w,
int  h,
uint  src_format,
uint  gl_format,
bool  mip = false 
)

本类构造函数,并创建一个指定格式的空贴图

本类构造函数,并创建一张空白贴图

参数:
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]

清除贴图

重载hgl::Texture

hgl::AnimeTexturehgl::TextureAnime重载。

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
返回:
创建贴图是否成功
hgl::Texture2D::DefEvent ( bool  ,
OnLoadProcess  ,
(int, int, ColorType, void *)   
)

加载过程中的象素缓冲区处理事件

template<typename T >
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高度缩放系数

hgl::TextureAnime重载。

bool hgl::Texture2D::Draw ( const Vertex2f vertex) [virtual]

绘制贴图,并指定四个角的顶点

使用当前贴图绘制一个四边形

参数:
vertex四边形的四个顶点:左上,右上,右下,左下

hgl::TextureAnime重载。

template<typename T >
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
返回:
是否加载成功
bool hgl::Texture2D::Load ( TDFNode tdf,
uint  glformat = 0,
bool  mip = false 
) [virtual]

从TDF节点加载一张贴图

从TDF节点加载一张贴图

参数:
tdfTDF节点
glformat在显存中的OpenGL格式
mip是否产生mipmaps
返回:
是否加载成功
bool hgl::Texture2D::Load ( Stream stream,
uint  glformat = 0,
bool  mip = false 
) [virtual]

从流中加载一张贴图

从流中加载一张贴图

参数:
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内的数据更改贴图内容

更改贴图内容

参数:
pboPBO缓冲区指针
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内的数据更改贴图内容

更改贴图内容(完全更改)

参数:
pboPBO缓冲区指针
src_fmt原始数据格式,默认和初始创建时用的格式一致
bool hgl::Texture2D::PBOCreate ( PBO pbo,
int  w,
int  h,
uint  sf,
uint  tf,
bool  mip = false 
) [virtual]

用PBO内的数据创建一个贴图

创建一个贴图

参数:
pboPBO缓冲区指针
w宽度
h高度
sf象素数据源格式
tf在显存中的OpenGL格式
mip是否创建mipmaps
返回:
创建贴图是否成功

成员数据文档

绘制用阵列数据

贴图高度虚拟变量

原始色彩类型(只读)

贴图宽度虚拟变量

横向绕转设置虚拟变量

纵向绕转设置虚拟变量


该类的文档由以下文件生成:
 全部  名字空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义