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

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

Public 成员函数 | 静态 Public 成员函数 | Protected 成员函数 | Protected 属性 | 友元 | 所有成员列表

GLProgramState类 参考

GLProgramState 持有GL编程的状态(制服和属性). 更多…

#include

类 GLProgramState 继承关系图:

Public 成员函数 - 图3 Ref

## Public 成员函数
void apply (const Mat4 &modelView)
void setGLProgram (GLProgram glprogram)
GLProgram getGLProgram () const
uint32_t getVertexAttribsFlags () const
ssize_t getVertexAttribCount () const
void setVertexAttribCallback (const std::string &name, const std::function< void(VertexAttrib )> &callback)
void setVertexAttribPointer (const std::string &name, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLvoid pointer)
ssize_t getUniformCount () const
void setUniformInt (const std::string &uniformName, int value)
void setUniformFloat (const std::string &uniformName, float value)
void setUniformVec2 (const std::string &uniformName, const Vec2 &value)
void setUniformVec3 (const std::string &uniformName, const Vec3 &value)
void setUniformVec4 (const std::string &uniformName, const Vec4 &value)
void setUniformMat4 (const std::string &uniformName, const Mat4 &value)
void setUniformCallback (const std::string &uniformName, const std::function< void(Uniform )> &callback)
void setUniformTexture (const std::string &uniformName, Texture2D texture)
void setUniformTexture (const std::string &uniformName, GLuint textureId)
- Public 成员函数 继承自 Ref
void retain ()
保留所有权. 更多…
void release ()
立即释放所有权. 更多…
Ref * autorelease ()
自动释放所有权在不久的将来. 更多…
unsigned int getReferenceCount () const
返回Ref对象当前的引用计数. 更多…
virtual ~Ref ()
NA NA 更多…
## 静态 Public 成员函数
static GLProgramState create (GLProgram glprogram)
返回指定GL编程的GLProgramState实例 更多…
static GLProgramState getOrCreateWithGLProgram (GLProgram glprogram)
获取或创建指定GL编程的GLProgramState实例 更多…
static GLProgramState * getOrCreateWithGLProgramName (const std::string &glProgramName)
获取或创建指定GL编程的GLProgramState实例 更多…
## Protected 成员函数
GLProgramState ()
~GLProgramState ()
bool init (GLProgram program)
void resetGLProgram ()
VertexAttribValue getVertexAttribValue (const std::string &attributeName)
UniformValue * getUniformValue (const std::string &uniformName)
- Protected 成员函数 继承自 Ref
Ref ()
构造函数 更多…
## Protected 属性
std::unordered_map < std::string, UniformValue > _uniforms
std::unordered_map < std::string, VertexAttribValue > _attributes
int _textureUnitIndex
uint32_t _vertexAttribsFlags
GLProgram * _glprogram
- Protected 属性 继承自 Ref
unsigned int _referenceCount
引用计数 更多…
## 友元
class GLProgramStateCache

详细描述

GLProgramState 持有GL编程的状态(制服和属性).

一个GL编程可以被上千个节点(Nodes)使用,但如果不同的制服值被使用,各个节点将需要自己的GLProgramState

构造及析构函数说明

GLProgramState ( )

protected

~GLProgramState ( )

protected

成员函数说明

void apply ( const Mat4 & modelView)

static GLProgramState create ( GLProgram glprogram)

static

返回指定GL编程的GLProgramState实例

GLProgram* getGLProgram ( ) const

inline

static GLProgramState getOrCreateWithGLProgram ( GLProgram glprogram)

static

获取或创建指定GL编程的GLProgramState实例

static GLProgramState* getOrCreateWithGLProgramName ( const std::string & glProgramName)

static

获取或创建指定GL编程的GLProgramState实例

ssize_t getUniformCount ( ) const

inline

UniformValue* getUniformValue ( const std::string & uniformName)

protected

ssize_t getVertexAttribCount ( ) const

inline

uint32_t getVertexAttribsFlags ( ) const

inline

VertexAttribValue* getVertexAttribValue ( const std::string & attributeName)

protected

bool init ( GLProgram * program)

protected

void resetGLProgram ( )

protected

void setGLProgram ( GLProgram * glprogram)

void setUniformCallback ( const std::string & uniformName,
const std::function< void(Uniform *)> & callback
)

void setUniformFloat ( const std::string & uniformName,
float value
)

void setUniformInt ( const std::string & uniformName,
int value
)

void setUniformMat4 ( const std::string & uniformName,
const Mat4 & value
)

void setUniformTexture ( const std::string & uniformName,
Texture2D * texture
)

void setUniformTexture ( const std::string & uniformName,
GLuint textureId
)

void setUniformVec2 ( const std::string & uniformName,
const Vec2 & value
)

void setUniformVec3 ( const std::string & uniformName,
const Vec3 & value
)

void setUniformVec4 ( const std::string & uniformName,
const Vec4 & value
)

void setVertexAttribCallback ( const std::string & name,
const std::function< void(VertexAttrib *)> & callback
)

void setVertexAttribPointer ( const std::string & name,
GLint size,
GLenum type,
GLboolean normalized,
GLsizei stride,
GLvoid * pointer
)

友元及相关函数文档

friend class GLProgramStateCache

friend

类成员变量说明

std::unordered_map<std::string, VertexAttribValue> _attributes

protected

GLProgram* _glprogram

protected

int _textureUnitIndex

protected

std::unordered_map<std::string, UniformValue> _uniforms

protected

uint32_t _vertexAttribsFlags

protected


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