- 首页
- 相关页面
- 模块
- 命名空间
- 类
- 文件
-
)
- 类列表
- 类索引
- 类继承关系
- 类成员
全部) 类) 命名空间) 文件) 函数) 变量) 类型定义) 枚举) 枚举值) 属性) 友元) 宏定义) 组) 页)
类 | Public 类型 | Public 成员函数 | 静态 Public 成员函数 | Protected 属性 | 静态 Protected 属性 | 所有成员列表
Texture2D类 参考
Textures
Texture2D 通过Texture2D类,可以根据图像、文本或者原始数据(raw data)创建OpenGL 2D纹理。 创建的纹理的尺寸是POT(power-of-two)。 根据创建Texture2D对象的方法,实际的图像尺寸可能比纹理尺寸小。例如: "contentSize" != (pixelsWide, pixelsHigh) and (maxS, maxT) != (1.0, 1.0). 更多…
#include
类 Texture2D 继承关系图:
## Public 类型
|
enum | PixelFormat {
AUTO, BGRA8888, RGBA8888, RGB888,
RGB565, A8, I8, AI88,
RGBA4444, RGB5A1, PVRTC4, PVRTC4A,
PVRTC2, PVRTC2A, ETC, S3TC_DXT1,
S3TC_DXT3, S3TC_DXT5, ATC_RGB, ATC_EXPLICIT_ALPHA,
ATC_INTERPOLATED_ALPHA, DEFAULT = AUTO, NONE = -1
} |
| 支持的纹理像素格式。 更多…
|
|
typedef std::map
< Texture2D::PixelFormat,
const PixelFormatInfo > | PixelFormatInfoMap |
|
## Public 成员函数
|
| Texture2D () |
| ctor 更多…
|
|
virtual | ~Texture2D () |
| NA NA 更多…
|
|
virtual std::string | getDescription () const |
| NA NA 更多…
|
|
bool | initWithData (const void data, ssize_t dataLen, Texture2D::PixelFormat pixelFormat, int pixelsWide, int pixelsHigh, const Size &contentSize) |
| 指定数据,初始化Texture2D。 NA NA 更多…
|
|
bool | initWithMipmaps (MipmapInfo mipmaps, int mipmapsNum, Texture2D::PixelFormat pixelFormat, int pixelsWide, int pixelsHigh) |
| 指定MipmapInfo,初始化Texture2D 更多…
|
|
bool | updateWithData (const void data, int offsetX, int offsetY, int width, int height) |
| 指定数据,更新Texture2D 更多…
|
|
void | drawAtPoint (const Vec2 &point) |
| 绘制方法的拓展,可以轻松的根据Texture2D对象绘制基本的quads。 这些方法需要使能GL_TEXTURE_2D、GL_VERTEX_ARRAY、GL_TEXTURE_COORD_ARRAY。 更多…
|
|
void | drawInRect (const Rect &rect) |
| 指定矩形(Rect),绘制纹理 更多…
|
|
bool | initWithImage (Image image) |
| 扩展库:方便的根据图像文件创建Texture2D对象。 更多…
|
|
bool | initWithImage (Image image, PixelFormat format) |
| 指定UIImage对象,初始化纹理。 根据传入的PixelFormat,将图像格式转化为对应的纹理。 如果传入PixelFormat::Automatic,那么会用自动检测到的图像格式来初始化纹理。 更多…
|
|
bool | initWithString (const char text, const std::string &fontName, float fontSize, const Size &dimensions=Size(0, 0), TextHAlignment hAlignment=TextHAlignment::CENTER, TextVAlignment vAlignment=TextVAlignment::TOP) |
| 指定大小、对齐方式、字体名和字体大小,根据输入的字符串初始化纹理 更多…
|
|
bool | initWithString (const char text, const FontDefinition &textDefinition) |
| 指定FontDefinition,根据输入的字符串初始化纹理 更多…
|
|
void | setTexParameters (const TexParams &texParams) |
| 设置纹理的min filter, mag filter, wrap s和wrap t参数。 如果纹理大小为NPOT(非2的整数次幂),那么只能参数GLTEXTURE_WRAP{S,T}只能为GL_CLAMP_TO_EDGE。 更多…
|
|
CC_DEPRECATED_ATTRIBUTE void | setTexParameters (const TexParams texParams) |
| NA NA 更多…
|
|
void | setAntiAliasTexParameters () |
| 设置antialias纹理参数: 更多…
|
|
void | setAliasTexParameters () |
| 设置alias纹理参数 更多…
|
|
void | generateMipmap () |
| 生成纹理的mipmap图像。 仅对大小为POT(2的整数次幂)的纹理有效。 更多…
|
|
const char | getStringForFormat () const |
| 返回像素格式。 更多…
|
|
CC_DEPRECATED_ATTRIBUTE const
char | stringForFormat () const |
|
unsigned int | getBitsPerPixelForFormat () const |
| 返回in-memory OpenGL纹理每个像素占用的bit位数(bits-per-pixel)。 更多…
|
|
CC_DEPRECATED_ATTRIBUTE
unsigned int | bitsPerPixelForFormat () const |
|
unsigned int | getBitsPerPixelForFormat (Texture2D::PixelFormat format) const |
| 指定像素格式,返回每个像素所占用的bit位数。 更多…
|
|
CC_DEPRECATED_ATTRIBUTE
unsigned int | bitsPerPixelForFormat (Texture2D::PixelFormat format) const |
|
const Size & | getContentSizeInPixels () |
| 获取content大小。 更多…
|
|
bool | hasPremultipliedAlpha () const |
|
bool | hasMipmaps () const |
|
Texture2D::PixelFormat | getPixelFormat () const |
| 获取纹理的像素格式。 更多…
|
|
int | getPixelsWide () const |
| 获取纹理的宽度,以像素为单位 更多…
|
|
int | getPixelsHigh () const |
| 获取纹理的高度,以像素为单位 更多…
|
|
GLuint | getName () const |
| 获取纹理名称 更多…
|
|
GLfloat | getMaxS () const |
| 获取最大的S值 更多…
|
|
void | setMaxS (GLfloat maxS) |
| 设置最大的S值 更多…
|
|
GLfloat | getMaxT () const |
| 获取最大的T值 更多…
|
|
void | setMaxT (GLfloat maxT) |
| 设置最大的T值 更多…
|
|
Size | getContentSize () const |
|
void | setGLProgram (GLProgram program) |
|
GLProgram | getGLProgram () const |
|
Public 成员函数 继承自 Ref |
void | retain () |
| 保留所有权. 更多…
|
|
void | release () |
| 立即释放所有权. 更多…
|
|
Ref * | autorelease () |
| 自动释放所有权在不久的将来. 更多…
|
|
unsigned int | getReferenceCount () const |
| 返回Ref对象当前的引用计数. 更多…
|
|
virtual | ~Ref () |
| NA NA 更多…
|
|
## 额外继承的成员函数
|
Protected 成员函数 继承自 Ref |
| Ref () |
| 构造函数 更多…
|
|
详细描述
Texture2D 通过Texture2D类,可以根据图像、文本或者原始数据(raw data)创建OpenGL 2D纹理。 创建的纹理的尺寸是POT(power-of-two)。 根据创建Texture2D对象的方法,实际的图像尺寸可能比纹理尺寸小。例如: "contentSize" != (pixelsWide, pixelsHigh) and (maxS, maxT) != (1.0, 1.0).
注意,生成的纹理内容是倒置的。
成员类型定义说明
成员枚举类型说明
支持的纹理像素格式。
枚举值 |
---|
AUTO |
自动检测模式
|
BGRA8888 |
32-bit纹理: BGRA8888
|
RGBA8888 |
32-bit纹理: RGBA8888
|
RGB888 |
24-bit纹理: RGBA888
|
RGB565 |
16-bit纹理,不带Alpha通道
|
A8 |
用作遮罩(masks)的8-bit纹理
|
I8 |
8-bit intensity纹理
|
AI88 |
用作遮罩的16-bit纹理
|
RGBA4444 |
16-bit纹理: RGBA4444
|
RGB5A1 |
16-bit纹理: RGB5A1
|
PVRTC4 |
4-bit PVRTC压缩纹理 texture: PVRTC4
|
PVRTC4A |
4-bit PVRTC压缩纹理: PVRTC4 (has alpha channel)
|
PVRTC2 |
2-bit PVRTC压缩纹理: PVRTC2
|
PVRTC2A |
2-bit PVRTC压缩纹理: PVRTC2 (has alpha channel)
|
ETC |
ETC压缩纹理: ETC.
|
S3TC_DXT1 |
S3TC压缩纹理: S3TC_Dxt1.
|
S3TC_DXT3 |
S3TC压缩纹理: S3TC_Dxt3.
|
S3TC_DXT5 |
S3TC压缩纹理: S3TC_Dxt5.
|
ATC_RGB |
ATITC压缩纹理: ATC_RGB.
|
ATC_EXPLICIT_ALPHA |
ATITC压缩纹理: ATC_EXPLICIT_ALPHA.
|
ATC_INTERPOLATED_ALPHA |
ATITC压缩纹理: ATC_INTERPOLATED_ALPHA.
|
DEFAULT |
默认纹理PixelFormat: AUTO
|
NONE | |
构造及析构函数说明
ctor
NA NA
成员函数说明
void drawAtPoint | ( | const Vec2 & | point | ) | |
绘制方法的拓展,可以轻松的根据Texture2D对象绘制基本的quads。 这些方法需要使能GL_TEXTURE_2D、GL_VERTEX_ARRAY、GL_TEXTURE_COORD_ARRAY。
指定点,绘制纹理
void drawInRect | ( | const Rect & | rect | ) | |
指定矩形(Rect),绘制纹理
生成纹理的mipmap图像。 仅对大小为POT(2的整数次幂)的纹理有效。
unsigned int getBitsPerPixelForFormat | ( | | ) | const |
返回in-memory OpenGL纹理每个像素占用的bit位数(bits-per-pixel)。
指定像素格式,返回每个像素所占用的bit位数。
Size getContentSize | ( | | ) | const |
const Size& getContentSizeInPixels | ( | | ) | |
获取content大小。
获取alpha通道PixelFormat
virtual std::string getDescription | ( | | ) | const |
| virtual |
NA NA
GLfloat getMaxS | ( | | ) | const |
获取最大的S值
GLfloat getMaxT | ( | | ) | const |
获取最大的T值
获取纹理名称
获取纹理的像素格式。
int getPixelsHigh | ( | | ) | const |
获取纹理的高度,以像素为单位
int getPixelsWide | ( | | ) | const |
获取纹理的宽度,以像素为单位
const char* getStringForFormat | ( | | ) | const |
返回像素格式。
bool hasMipmaps | ( | | ) | const |
bool hasPremultipliedAlpha | ( | | ) | const |
指定数据,初始化Texture2D。 NA NA
bool initWithImage | ( | Image * | image | ) | |
扩展库:方便的根据图像文件创建Texture2D对象。
指定UIImage对象,初始化纹理。 根据setDefaultAlphaPixelFormat方法所指定的格式,将图像转化为纹理。 注意:不支持pvr格式文件。
指定UIImage对象,初始化纹理。 根据传入的PixelFormat,将图像格式转化为对应的纹理。 如果传入PixelFormat::Automatic,那么会用自动检测到的图像格式来初始化纹理。
指定MipmapInfo,初始化Texture2D
bool initWithString | ( | const char * | text, |
| | const std::string & | fontName, |
| | float | fontSize, |
| | const Size & | dimensions = Size(0, 0) , |
| | TextHAlignment | hAlignment = TextHAlignment::CENTER , |
| | TextVAlignment | vAlignment = TextVAlignment::TOP |
| ) | | |
指定大小、对齐方式、字体名和字体大小,根据输入的字符串初始化纹理
bool initWithString | ( | const char * | text, |
| | const FontDefinition & | textDefinition |
| ) | | |
指定FontDefinition,根据输入的字符串初始化纹理
static void PVRImagesHavePremultipliedAlpha | ( | bool | haveAlphaPremultiplied | ) | |
| static |
设置PVR格式图像是否已自乘alpha值。 因为在运行时无法获PVR图像是否已自乘alpha值,因为,只能在加载的时候指定是否已自乘alpha值。
默认为未自乘alpha值。
void setAliasTexParameters | ( | | ) | |
设置alias纹理参数
- GL_TEXTURE_MIN_FILTER = GL_NEAREST
- GL_TEXTURE_MAG_FILTER = GL_NEAREST
void setAntiAliasTexParameters | ( | | ) | |
设置antialias纹理参数:
- GL_TEXTURE_MIN_FILTER = GL_LINEAR
- GL_TEXTURE_MAG_FILTER = GL_LINEAR
指定包含alpha通道的UIImage的默认PixelFormat。 如果UIImage包含alpha通道,那么支持以下选项: -生成32-bit纹理:Texture2D::PixelFormat::RGBA8888 (default one) -生成24-bit纹理:Texture2D::PixelFormat::RGB888 -生成16-bit纹理:Texture2D::PixelFormat::RGBA4444 -生成16-bit纹理:Texture2D::PixelFormat::RGB5A1 -生成16-bit纹理:Texture2D::PixelFormat::RGB565 -生成8-bit纹理:Texture2D::PixelFormat::A8(仅当使用一种颜色时选择该选项)
工作原理: -图像是RGBA(带Alpha通道)格式,那么使用默认的PixelFormat(可以是8-bit、16-bit或32-bit纹理) -图像是RGBA(不带Alpha通道)格式,如果默认的PixelFormat为RGBA8888,那么使用RGBA8888(32-bit)模式,否则使用RGB565(16-bit纹理)。
该参数对PVR/PVR.CCZ文件无效。
void setMaxS | ( | GLfloat | maxS | ) | |
设置最大的S值
void setMaxT | ( | GLfloat | maxT | ) | |
设置最大的T值
void setTexParameters | ( | const TexParams & | texParams | ) | |
设置纹理的min filter, mag filter, wrap s和wrap t参数。 如果纹理大小为NPOT(非2的整数次幂),那么只能参数GLTEXTURE_WRAP{S,T}只能为GL_CLAMP_TO_EDGE。
当将本方法绑定到js或者lua是,输入参数按如下改变:
js: var setBlendFunc(var arg1, var arg2, var arg3, var arg4)
lua: local setBlendFunc(local arg1, local arg2, local arg3, local arg4)
NA NA
bool updateWithData | ( | const void * | data, |
| | int | offsetX, |
| | int | offsetY, |
| | int | width, |
| | int | height |
| ) | | |
指定数据,更新Texture2D
类成员变量说明
content大小
bool _hasPremultipliedAlpha |
| protected |
指示纹理是否自乘Alpha值
纹理的最大S值
纹理的最大T值
纹理名称
纹理的像素格式
高度,以像素为单位
宽度,以像素为单位
drawAtPoint和drawInRect方法所使用的shader程序
该类的文档由以下文件生成:
- /Users/zeroyang/Documents/github/cocos2d-x/cocos/2d/CCTexture2D.h