cocos2d-x 3.0
- 首页 - 相关页面 - 模块 - 命名空间 - - 文件 -
类 - 图1 类 - 图2)
- 类列表 - 类索引 - 类继承关系 - 类成员

全部)) 命名空间) 文件) 函数) 变量) 类型定义) 枚举) 枚举值) 属性) 友元) 宏定义)))

| 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 继承关系图:

类 - 图3 Ref

##
struct PixelFormatInfo
## 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 更多…
## 静态 Public 成员函数
static void setDefaultAlphaPixelFormat (Texture2D::PixelFormat format)
指定包含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(仅当使用一种颜色时选择该选项) 更多…
static Texture2D::PixelFormat getDefaultAlphaPixelFormat ()
获取alpha通道PixelFormat 更多…
static CC_DEPRECATED_ATTRIBUTE Texture2D::PixelFormat defaultAlphaPixelFormat ()
static void PVRImagesHavePremultipliedAlpha (bool haveAlphaPremultiplied)
设置PVR格式图像是否已自乘alpha值。 因为在运行时无法获PVR图像是否已自乘alpha值,因为,只能在加载的时候指定是否已自乘alpha值。 更多…
static const PixelFormatInfoMap & getPixelFormatInfoMap ()
## Protected 属性
Texture2D::PixelFormat _pixelFormat
纹理的像素格式 更多…
int _pixelsWide
宽度,以像素为单位 更多…
int _pixelsHigh
高度,以像素为单位 更多…
GLuint _name
纹理名称 更多…
GLfloat _maxS
纹理的最大S值 更多…
GLfloat _maxT
纹理的最大T值 更多…
Size _contentSize
content大小 更多…
bool _hasPremultipliedAlpha
指示纹理是否自乘Alpha值 更多…
bool _hasMipmaps
GLProgram * _shaderProgram
drawAtPoint和drawInRect方法所使用的shader程序 更多…
bool _antialiasEnabled
- Protected 属性 继承自 Ref
unsigned int _referenceCount
引用计数 更多…
## 静态 Protected 属性
static const PixelFormatInfoMap _pixelFormatInfoTables
## 额外继承的成员函数
- Protected 成员函数 继承自 Ref
Ref ()
构造函数 更多…

详细描述

Texture2D 通过Texture2D类,可以根据图像、文本或者原始数据(raw data)创建OpenGL 2D纹理。 创建的纹理的尺寸是POT(power-of-two)。 根据创建Texture2D对象的方法,实际的图像尺寸可能比纹理尺寸小。例如: "contentSize" != (pixelsWide, pixelsHigh) and (maxS, maxT) != (1.0, 1.0).

注意,生成的纹理内容是倒置的。

成员类型定义说明

typedef std::map<Texture2D::PixelFormat, const PixelFormatInfo> PixelFormatInfoMap

成员枚举类型说明

enum PixelFormat

strong

支持的纹理像素格式。

枚举值
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

构造及析构函数说明

Texture2D ( )

ctor

virtual ~Texture2D ( )

virtual

NA NA

成员函数说明

CC_DEPRECATED_ATTRIBUTE unsigned int bitsPerPixelForFormat ( ) const

inline

CC_DEPRECATED_ATTRIBUTE unsigned int bitsPerPixelForFormat ( Texture2D::PixelFormat format) const

inline

static CC_DEPRECATED_ATTRIBUTE Texture2D::PixelFormat defaultAlphaPixelFormat ( )

inlinestatic

void drawAtPoint ( const Vec2 & point)

绘制方法的拓展,可以轻松的根据Texture2D对象绘制基本的quads。 这些方法需要使能GL_TEXTURE_2D、GL_VERTEX_ARRAY、GL_TEXTURE_COORD_ARRAY。

指定点,绘制纹理

void drawInRect ( const Rect & rect)

指定矩形(Rect),绘制纹理

void generateMipmap ( )

生成纹理的mipmap图像。 仅对大小为POT(2的整数次幂)的纹理有效。

  • 自从
  • v0.99.0

unsigned int getBitsPerPixelForFormat ( ) const

返回in-memory OpenGL纹理每个像素占用的bit位数(bits-per-pixel)。

  • 自从
  • v1.0

unsigned int getBitsPerPixelForFormat ( Texture2D::PixelFormat format) const

指定像素格式,返回每个像素所占用的bit位数。

  • 自从
  • v2.0

Size getContentSize ( ) const

const Size& getContentSizeInPixels ( )

获取content大小。

static Texture2D::PixelFormat getDefaultAlphaPixelFormat ( )

static

获取alpha通道PixelFormat

  • 自从
  • v0.8

virtual std::string getDescription ( ) const

virtual

NA NA

GLProgram* getGLProgram ( ) const

GLfloat getMaxS ( ) const

获取最大的S值

GLfloat getMaxT ( ) const

获取最大的T值

GLuint getName ( ) const

获取纹理名称

Texture2D::PixelFormat getPixelFormat ( ) const

获取纹理的像素格式。

static const PixelFormatInfoMap& getPixelFormatInfoMap ( )

static

int getPixelsHigh ( ) const

获取纹理的高度,以像素为单位

int getPixelsWide ( ) const

获取纹理的宽度,以像素为单位

const char* getStringForFormat ( ) const

返回像素格式。

  • 自从
  • v2.0

bool hasMipmaps ( ) const

bool hasPremultipliedAlpha ( ) const

bool initWithData ( const void * data,
ssize_t dataLen,
Texture2D::PixelFormat pixelFormat,
int pixelsWide,
int pixelsHigh,
const Size & contentSize
)

指定数据,初始化Texture2D。 NA NA

bool initWithImage ( Image * image)

扩展库:方便的根据图像文件创建Texture2D对象。

指定UIImage对象,初始化纹理。 根据setDefaultAlphaPixelFormat方法所指定的格式,将图像转化为纹理。 注意:不支持pvr格式文件。

bool initWithImage ( Image * image,
PixelFormat format
)

指定UIImage对象,初始化纹理。 根据传入的PixelFormat,将图像格式转化为对应的纹理。 如果传入PixelFormat::Automatic,那么会用自动检测到的图像格式来初始化纹理。

bool initWithMipmaps ( MipmapInfo * mipmaps,
int mipmapsNum,
Texture2D::PixelFormat pixelFormat,
int pixelsWide,
int pixelsHigh
)

指定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值。

  • 自从
  • v0.99.5

void setAliasTexParameters ( )

设置alias纹理参数

  • GL_TEXTURE_MIN_FILTER = GL_NEAREST
  • GL_TEXTURE_MAG_FILTER = GL_NEAREST
  • 警告
  • 调用本方法会导致额外的纹理内存开销。
  • 自从
  • v0.8

void setAntiAliasTexParameters ( )

设置antialias纹理参数:

  • GL_TEXTURE_MIN_FILTER = GL_LINEAR
  • GL_TEXTURE_MAG_FILTER = GL_LINEAR
  • 警告
  • 调用本方法会导致额外的纹理内存开销。
  • 自从
  • v0.8

static void setDefaultAlphaPixelFormat ( Texture2D::PixelFormat format)

static

指定包含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文件无效。

  • 自从
  • v0.8

void setGLProgram ( GLProgram * program)

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。

  • 警告
  • 调用本方法将会导致额外的纹理内存开销。
  • 自从
  • v0.8

当将本方法绑定到js或者lua是,输入参数按如下改变:

js: var setBlendFunc(var arg1, var arg2, var arg3, var arg4)

lua: local setBlendFunc(local arg1, local arg2, local arg3, local arg4)

CC_DEPRECATED_ATTRIBUTE void setTexParameters ( const TexParams * texParams)

inline

NA NA

CC_DEPRECATED_ATTRIBUTE const char* stringForFormat ( ) const

inline

bool updateWithData ( const void * data,
int offsetX,
int offsetY,
int width,
int height
)

指定数据,更新Texture2D

类成员变量说明

bool _antialiasEnabled

protected

Size _contentSize

protected

content大小

bool _hasMipmaps

protected

bool _hasPremultipliedAlpha

protected

指示纹理是否自乘Alpha值

GLfloat _maxS

protected

纹理的最大S值

GLfloat _maxT

protected

纹理的最大T值

GLuint _name

protected

纹理名称

Texture2D::PixelFormat _pixelFormat

protected

纹理的像素格式

const PixelFormatInfoMap _pixelFormatInfoTables

staticprotected

int _pixelsHigh

protected

高度,以像素为单位

int _pixelsWide

protected

宽度,以像素为单位

GLProgram* _shaderProgram

protected

drawAtPoint和drawInRect方法所使用的shader程序


该类的文档由以下文件生成:

  • /Users/zeroyang/Documents/github/cocos2d-x/cocos/2d/CCTexture2D.h
  • cocos2d
  • Texture2D
  • 生成于 2014年 五月 29日 星期四 09:41:50 , 为 cocos2d-x使用 doxygen 1.8.6