cocos2d-x  v3.6
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Groups Pages
GLProgramState Class Reference

GLProgramState holds the 'state' (uniforms and attributes) of the GLProgram. More...

Inherits Ref.

Public Member Functions

void apply (const Mat4 &modelView)
 Apply GLProgram, attributes and uniforms. More...
 
void applyGLProgram (const Mat4 &modelView)
 Apply GLProgram, and built in uniforms. More...
 
void applyAttributes (bool applyAttribFlags=true)
 Apply attributes. More...
 
void applyUniforms ()
 Apply user defined uniforms.
 
uint32_t getVertexAttribsFlags () const
 Get the flag of vertex attribs used by OR operation. More...
 
var getVertexAttribsFlags ()
 Get the flag of vertex attribs used by OR operation. More...
 
local getVertexAttribsFlags ()
 Get the flag of vertex attribs used by OR operation. More...
 
ssize_t getVertexAttribCount () const
 Get the number of vertex attributes. More...
 
ssize_t getUniformCount () const
 Get the number of user defined uniform count. More...
 
void setGLProgram (GLProgram *glprogram)
void setVertexAttribCallback (const std::string &name, const std::function< void(VertexAttrib *)> &callback)
var setVertexAttribCallback ( var name, var callback)
local setVertexAttribCallback ( local name, local callback)
void setUniformInt (const std::string &uniformName, int value)
void setUniformInt (GLint uniformLocation, int value)
- Public Member Functions inherited from Ref
void retain ()
 Retains the ownership. More...
 
void release ()
 Releases the ownership immediately. More...
 
Refautorelease ()
 Releases the ownership sometime soon automatically. More...
 
unsigned int getReferenceCount () const
 Returns the Ref's current reference count. More...
 
virtual ~Ref ()
 Destructor. More...
 

Static Public Member Functions

static GLProgramStatecreate (GLProgram *glprogram)
 returns a new instance of GLProgramState for a given GLProgram
 
var create ( var glprogram)
 returns a new instance of GLProgramState for a given GLProgram
 
local create ( local glprogram)
 returns a new instance of GLProgramState for a given GLProgram
 
static GLProgramStategetOrCreateWithGLProgram (GLProgram *glprogram)
 gets-or-creates an instance of GLProgramState for a given GLProgram
 
local getOrCreateWithGLProgram ( local glprogram)
 gets-or-creates an instance of GLProgramState for a given GLProgram
 
static GLProgramStategetOrCreateWithGLProgramName (const std::string &glProgramName)
 gets-or-creates an instance of GLProgramState for a given GLProgramName
 
local getOrCreateWithGLProgramName ( local glProgramName)
 gets-or-creates an instance of GLProgramState for a given GLProgramName
 

Additional Inherited Members

- Public Attributes inherited from Ref
unsigned int _ID
 object id, ScriptSupport need public _ID
 
int _luaID
 Lua reference id.
 
void * _scriptObject
 scriptObject, support for swift
 

Detailed Description

GLProgramState holds the 'state' (uniforms and attributes) of the GLProgram.

A GLProgram can be used by thousands of Nodes, but if different uniform values are going to be used, then each node will need its own GLProgramState

Member Function Documentation

void apply ( const Mat4 modelView)

Apply GLProgram, attributes and uniforms.

Parameters
modelViewThe applied modelView matrix to shader.
var apply ( var  modelView)

Apply GLProgram, attributes and uniforms.

Parameters
modelViewThe applied modelView matrix to shader.
local apply ( local  modelView)

Apply GLProgram, attributes and uniforms.

Parameters
modelViewThe applied modelView matrix to shader.
void applyGLProgram ( const Mat4 modelView)

Apply GLProgram, and built in uniforms.

Parameters
modelViewThe applied modelView matrix to shader.
var applyGLProgram ( var  modelView)

Apply GLProgram, and built in uniforms.

Parameters
modelViewThe applied modelView matrix to shader.
local applyGLProgram ( local  modelView)

Apply GLProgram, and built in uniforms.

Parameters
modelViewThe applied modelView matrix to shader.
void applyAttributes ( bool  applyAttribFlags = true)

Apply attributes.

Parameters
applyAttribFlagsCall GL::enableVertexAttribs(_vertexAttribsFlags) or not.
var applyAttributes ( var  applyAttribFlags = true)

Apply attributes.

Parameters
applyAttribFlagsCall GL::enableVertexAttribs(_vertexAttribsFlags) or not.
local applyAttributes ( local  applyAttribFlags = true)

Apply attributes.

Parameters
applyAttribFlagsCall GL::enableVertexAttribs(_vertexAttribsFlags) or not.
void setGLProgram ( GLProgram glprogram)

Setter and Getter of the owner GLProgram binded in this program state.

var setGLProgram ( var  glprogram)

Setter and Getter of the owner GLProgram binded in this program state.

local setGLProgram ( local  glprogram)

Setter and Getter of the owner GLProgram binded in this program state.

uint32_t getVertexAttribsFlags ( ) const
inline

Get the flag of vertex attribs used by OR operation.

var getVertexAttribsFlags ( )
inline

Get the flag of vertex attribs used by OR operation.

local getVertexAttribsFlags ( )
inline

Get the flag of vertex attribs used by OR operation.

ssize_t getVertexAttribCount ( ) const
inline

Get the number of vertex attributes.

var getVertexAttribCount ( )
inline

Get the number of vertex attributes.

local getVertexAttribCount ( )
inline

Get the number of vertex attributes.

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

Set the vertex attribute value.

var setVertexAttribCallback ( var  name,
var  callback 
)

Set the vertex attribute value.

local setVertexAttribCallback ( local  name,
local  callback 
)

Set the vertex attribute value.

ssize_t getUniformCount ( ) const
inline

Get the number of user defined uniform count.

var getUniformCount ( )
inline

Get the number of user defined uniform count.

local getUniformCount ( )
inline

Get the number of user defined uniform count.

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

Setting user defined uniforms by uniform string name in the shader.

var setUniformInt ( var  uniformName,
var  value 
)

Setting user defined uniforms by uniform string name in the shader.

local setUniformInt ( local  uniformName,
local  value 
)

Setting user defined uniforms by uniform string name in the shader.

void setUniformInt ( GLint  uniformLocation,
int  value 
)

Setting user defined uniforms by uniform location in the shader.

var setUniformInt ( var  uniformLocation,
var  value 
)

Setting user defined uniforms by uniform location in the shader.

local setUniformInt ( local  uniformLocation,
local  value 
)

Setting user defined uniforms by uniform location in the shader.


The documentation for this class was generated from the following file: