GLProgramState holds the 'state' (uniforms and attributes) of the GLProgram. More...
Inherits Ref.
Classes | |
class | AutoBindingResolver |
An abstract base class that can be extended to support custom material auto bindings. More... | |
Public Member Functions | |
GLProgramState * | clone () const |
Returns a new copy of the GLProgramState. More... | |
local | clone () |
Returns a new copy of the GLProgramState. More... | |
void | apply (const Mat4 &modelView) |
Apply GLProgram, attributes and uniforms. More... | |
var | apply ( var modelView) |
Apply GLProgram, attributes and uniforms. More... | |
local | apply ( local modelView) |
Apply GLProgram, attributes and uniforms. More... | |
void | applyGLProgram (const Mat4 &modelView) |
Apply GLProgram, and built in uniforms. More... | |
local | applyGLProgram ( local modelView) |
Apply GLProgram, and built in uniforms. More... | |
void | applyAttributes (bool applyAttribFlags=true) |
Apply attributes. More... | |
local | applyAttributes ( local true) |
Apply attributes. More... | |
void | applyUniforms () |
Apply user defined uniforms. | |
var | applyUniforms () |
Apply user defined uniforms. | |
local | 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... | |
var | getUniformCount () |
Get the number of user defined uniform count. More... | |
local | getUniformCount () |
Get the number of user defined uniform count. More... | |
Node * | getNodeBinding () const |
Returns the Node bound to the GLProgramState. | |
var | getNodeBinding () |
Returns the Node bound to the GLProgramState. | |
local | getNodeBinding () |
Returns the Node bound to the GLProgramState. | |
void | setNodeBinding (Node *node) |
Sets the node that this render state is bound to. More... | |
local | setNodeBinding ( local node) |
Sets the node that this render state is bound to. More... | |
void | applyAutoBinding (const std::string &uniformName, const std::string &autoBinding) |
Applies the specified custom auto-binding. More... | |
var | applyAutoBinding ( var uniformName, var autoBinding) |
Applies the specified custom auto-binding. More... | |
local | applyAutoBinding ( local uniformName, local autoBinding) |
Applies the specified custom auto-binding. More... | |
void | setParameterAutoBinding (const std::string &uniformName, const std::string &autoBinding) |
Sets a uniform auto-binding. More... | |
void | setGLProgram (GLProgram *glprogram) |
void | setVertexAttribCallback (const std::string &name, const std::function< void(VertexAttrib *)> &callback) |
void | setUniformInt (const std::string &uniformName, int value) |
var | setUniformInt ( var uniformName, var value) |
local | setUniformInt ( local uniformName, local value) |
void | setUniformTexture (const std::string &uniformName, GLuint textureId) |
var | setUniformTexture ( var uniformName, var textureId) |
local | setUniformTexture ( local uniformName, local textureId) |
void | setUniformInt (GLint uniformLocation, int value) |
void | setUniformTexture (GLint uniformLocation, GLuint textureId) |
var | setUniformTexture ( var uniformLocation, var textureId) |
local | setUniformTexture ( local uniformLocation, local textureId) |
Public Member Functions inherited from Ref | |
void | retain () |
Retains the ownership. More... | |
void | release () |
Releases the ownership immediately. More... | |
local | release () |
Releases the ownership immediately. More... | |
Ref * | autorelease () |
Releases the ownership sometime soon automatically. More... | |
unsigned int | getReferenceCount () const |
Returns the Ref's current reference count. More... | |
local | getReferenceCount () |
Returns the Ref's current reference count. More... | |
virtual | ~Ref () |
Destructor. More... | |
Static Public Member Functions | |
static GLProgramState * | create (GLProgram *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 GLProgramState * | getOrCreateWithGLProgram (GLProgram *glprogram) |
gets-or-creates an instance of GLProgramState for a given GLProgram | |
var | getOrCreateWithGLProgram ( var 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 GLProgramState * | getOrCreateWithGLProgramName (const std::string &glProgramName) |
gets-or-creates an instance of GLProgramState for a given GLProgramName | |
static GLProgramState * | getOrCreateWithGLProgramName (const std::string &glProgramName, Texture2D *texture) |
gets-or-creates an instance of GLProgramState for the given GLProgramName & texture | |
local | getOrCreateWithGLProgramName ( local glProgramName, local texture) |
gets-or-creates an instance of GLProgramState for the given GLProgramName & texture | |
static GLProgramState * | getOrCreateWithShaders (const std::string &vertexShader, const std::string &fragShader, const std::string &compileTimeDefines) |
gets-or-creates an instance of GLProgramState for given shaders | |
local | getOrCreateWithShaders ( local vertexShader, local fragShader, local compileTimeDefines) |
gets-or-creates an instance of GLProgramState for given shaders | |
Additional Inherited Members | |
Public Attributes inherited from Ref | |
unsigned int | _ID |
object id, ScriptSupport need public _ID | |
local | _ID |
object id, ScriptSupport need public _ID | |
int | _luaID |
Lua reference id. | |
local | _luaID |
Lua reference id. | |
void * | _scriptObject |
scriptObject, support for swift | |
local | _scriptObject |
scriptObject, support for swift | |
bool | _rooted |
When true, it means that the object was already rooted. | |
local | _rooted |
When true, it means that the object was already rooted. | |
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
GLProgramState* clone | ( | ) | const |
Returns a new copy of the GLProgramState.
The GLProgram is reused
var clone | ( | ) |
Returns a new copy of the GLProgramState.
The GLProgram is reused
local clone | ( | ) |
Returns a new copy of the GLProgramState.
The GLProgram is reused
void apply | ( | const Mat4 & | modelView | ) |
Apply GLProgram, attributes and uniforms.
modelView | The applied modelView matrix to shader. |
var apply | ( | var | modelView | ) |
Apply GLProgram, attributes and uniforms.
modelView | The applied modelView matrix to shader. |
local apply | ( | local | modelView | ) |
Apply GLProgram, attributes and uniforms.
modelView | The applied modelView matrix to shader. |
void applyGLProgram | ( | const Mat4 & | modelView | ) |
Apply GLProgram, and built in uniforms.
modelView | The applied modelView matrix to shader. |
var applyGLProgram | ( | var | modelView | ) |
Apply GLProgram, and built in uniforms.
modelView | The applied modelView matrix to shader. |
local applyGLProgram | ( | local | modelView | ) |
Apply GLProgram, and built in uniforms.
modelView | The applied modelView matrix to shader. |
void applyAttributes | ( | bool | applyAttribFlags = true | ) |
Apply attributes.
applyAttribFlags | Call GL::enableVertexAttribs(_vertexAttribsFlags) or not. |
var applyAttributes | ( | var | applyAttribFlags = true | ) |
Apply attributes.
applyAttribFlags | Call GL::enableVertexAttribs(_vertexAttribsFlags) or not. |
local applyAttributes | ( | local | applyAttribFlags = true | ) |
Apply attributes.
applyAttribFlags | Call 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 |
Get the flag of vertex attribs used by OR operation.
var getVertexAttribsFlags | ( | ) |
Get the flag of vertex attribs used by OR operation.
local getVertexAttribsFlags | ( | ) |
Get the flag of vertex attribs used by OR operation.
ssize_t getVertexAttribCount | ( | ) | const |
Get the number of vertex attributes.
var getVertexAttribCount | ( | ) |
Get the number of vertex attributes.
local getVertexAttribCount | ( | ) |
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.
|
inline |
Get the number of user defined uniform count.
|
inline |
Get the number of user defined uniform count.
|
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 setUniformTexture | ( | const std::string & | uniformName, |
GLuint | textureId | ||
) |
var setUniformTexture | ( | var | uniformName, |
var | textureId | ||
) |
local setUniformTexture | ( | local | uniformName, |
local | textureId | ||
) |
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.
void setUniformTexture | ( | GLint | uniformLocation, |
GLuint | textureId | ||
) |
var setUniformTexture | ( | var | uniformLocation, |
var | textureId | ||
) |
local setUniformTexture | ( | local | uniformLocation, |
local | textureId | ||
) |
void setNodeBinding | ( | Node * | node | ) |
Sets the node that this render state is bound to.
The specified node is used to apply auto-bindings for the render state. This is typically set to the node of the model that a material is applied to.
node | The node to use for applying auto-bindings. |
var setNodeBinding | ( | var | node | ) |
Sets the node that this render state is bound to.
The specified node is used to apply auto-bindings for the render state. This is typically set to the node of the model that a material is applied to.
node | The node to use for applying auto-bindings. |
local setNodeBinding | ( | local | node | ) |
Sets the node that this render state is bound to.
The specified node is used to apply auto-bindings for the render state. This is typically set to the node of the model that a material is applied to.
node | The node to use for applying auto-bindings. |
void applyAutoBinding | ( | const std::string & | uniformName, |
const std::string & | autoBinding | ||
) |
Applies the specified custom auto-binding.
uniformName | Name of the shader uniform. |
autoBinding | Name of the auto binding. |
var applyAutoBinding | ( | var | uniformName, |
var | autoBinding | ||
) |
Applies the specified custom auto-binding.
uniformName | Name of the shader uniform. |
autoBinding | Name of the auto binding. |
local applyAutoBinding | ( | local | uniformName, |
local | autoBinding | ||
) |
Applies the specified custom auto-binding.
uniformName | Name of the shader uniform. |
autoBinding | Name of the auto binding. |
void setParameterAutoBinding | ( | const std::string & | uniformName, |
const std::string & | autoBinding | ||
) |
Sets a uniform auto-binding.
This method parses the passed in autoBinding string and attempts to convert it to an enumeration value. If it matches to one of the predefined strings, it will create a callback to get the correct value at runtime.
uniformName | The name of the material parameter to store an auto-binding for. |
autoBinding | A string matching one of the built-in AutoBinding enum constants. |
var setParameterAutoBinding | ( | var | uniformName, |
var | autoBinding | ||
) |
Sets a uniform auto-binding.
This method parses the passed in autoBinding string and attempts to convert it to an enumeration value. If it matches to one of the predefined strings, it will create a callback to get the correct value at runtime.
uniformName | The name of the material parameter to store an auto-binding for. |
autoBinding | A string matching one of the built-in AutoBinding enum constants. |
local setParameterAutoBinding | ( | local | uniformName, |
local | autoBinding | ||
) |
Sets a uniform auto-binding.
This method parses the passed in autoBinding string and attempts to convert it to an enumeration value. If it matches to one of the predefined strings, it will create a callback to get the correct value at runtime.
uniformName | The name of the material parameter to store an auto-binding for. |
autoBinding | A string matching one of the built-in AutoBinding enum constants. |