Command used to draw a mesh. More...
Inherits RenderCommand.
Public Member Functions | |
MeshCommand () | |
Constructor. | |
virtual | ~MeshCommand () |
Destructor. | |
void | init (float globalZOrder, Material *material, GLuint vertexBuffer, GLuint indexBuffer, GLenum primitive, GLenum indexFormat, ssize_t indexCount, const Mat4 &mv, uint32_t flags) |
Init the mesh command. More... | |
void | init (float globalZOrder, GLuint textureID, GLProgramState *glProgramState, RenderState::StateBlock *stateBlock, GLuint vertexBuffer, GLuint indexBuffer, GLenum primitive, GLenum indexFormat, ssize_t indexCount, const Mat4 &mv, uint32_t flags) |
Init the mesh command. More... | |
void | setDisplayColor (const Vec4 &color) |
Set display color, the final color is the diplay color multiply texture color if it has. More... | |
void | setMatrixPalette (const Vec4 *matrixPalette) |
Set matrix palette used to draw skeletal model. More... | |
var | setMatrixPalette ( var matrixPalette) |
Set matrix palette used to draw skeletal model. More... | |
local | setMatrixPalette ( local matrixPalette) |
Set matrix palette used to draw skeletal model. More... | |
void | setMatrixPaletteSize (int size) |
Set matrix palette size. More... | |
void | setLightMask (unsigned int lightmask) |
Set light mask, only the light whose light flag & light mask is not zero will illuminates this mesh. More... | |
void | execute () |
Execute the command, which will call openGL function to draw the mesh. | |
void | preBatchDraw () |
Used for batch, Renderer will batch all the mesh with the same material id, it calls preBatchDraw, then calls batchDraw for each mesh, calls postBatchDraw at last. | |
void | batchDraw () |
Used for batch, Renderer will batch all the mesh with the same material id, it calls preBatchDraw, then calls batchDraw for each mesh, calls postBatchDraw at last. | |
void | postBatchDraw () |
Used for batch, Renderer will batch all the mesh with the same material id, it calls preBatchDraw, then calls batchDraw for each mesh, calls postBatchDraw at last. | |
void | genMaterialID (GLuint texID, void *glProgramState, GLuint vertexBuffer, GLuint indexBuffer, BlendFunc blend) |
Generate material id, material id is used to batch the same mesh. More... | |
var | genMaterialID ( var texID, var glProgramState, var vertexBuffer, var indexBuffer, var blend) |
Generate material id, material id is used to batch the same mesh. More... | |
local | genMaterialID ( local texID, local glProgramState, local vertexBuffer, local indexBuffer, local blend) |
Generate material id, material id is used to batch the same mesh. More... | |
uint32_t | getMaterialID () const |
Get material id. More... | |
Public Member Functions inherited from RenderCommand | |
void | init (float globalZOrder, const Mat4 &modelViewTransform, uint32_t flags) |
Init function, will be called by all the render commands. More... | |
float | getGlobalOrder () const |
Get global Z order. More... | |
Type | getType () const |
Returns the Command type. More... | |
bool | isTransparent () const |
Retruns whether is transparent. More... | |
void | setTransparent (bool isTransparent) |
Set transparent flag. More... | |
bool | isSkipBatching () const |
Get skip batching status, if a rendering is skip batching, it will be forced to be rendering separately. More... | |
void | setSkipBatching (bool value) |
Set skip batching. More... | |
bool | is3D () const |
Whether the command should be rendered at 3D mode. More... | |
void | set3D (bool value) |
Set the command rendered in 3D mode or not. More... | |
float | getDepth () const |
Get the depth by current model view matrix. More... | |
Additional Inherited Members | |
Public Types inherited from RenderCommand | |
enum | Type { UNKNOWN_COMMAND, QUAD_COMMAND, CUSTOM_COMMAND, BATCH_COMMAND, GROUP_COMMAND, MESH_COMMAND, PRIMITIVE_COMMAND, TRIANGLES_COMMAND } |
Enum the type of render command. More... | |
Command used to draw a mesh.
void init | ( | float | globalZOrder, |
Material * | material, | ||
GLuint | vertexBuffer, | ||
GLuint | indexBuffer, | ||
GLenum | primitive, | ||
GLenum | indexFormat, | ||
ssize_t | indexCount, | ||
const Mat4 & | mv, | ||
uint32_t | flags | ||
) |
Init the mesh command.
GlobalZOrder of the render command. material used for draw mesh. vertex buffer to be drawn. index buffer to be draw. Specifices what kind of primitives to render, GL_TRIANGLES, GL_TRIANGLE_STRIP, and so on. Please refer to glDrawElements Specifies the type of the values in index buffer. It GL_UNSIGNED_BYTE or GL_UNSIGNED_SHORT. number of index. Model view transform used for rendering. Indicate the render command should be rendered in 3D mode or not.
var init | ( | var | globalZOrder, |
var | material, | ||
var | vertexBuffer, | ||
var | indexBuffer, | ||
var | primitive, | ||
var | indexFormat, | ||
var | indexCount, | ||
var | mv, | ||
var | flags | ||
) |
Init the mesh command.
GlobalZOrder of the render command. material used for draw mesh. vertex buffer to be drawn. index buffer to be draw. Specifices what kind of primitives to render, GL_TRIANGLES, GL_TRIANGLE_STRIP, and so on. Please refer to glDrawElements Specifies the type of the values in index buffer. It GL_UNSIGNED_BYTE or GL_UNSIGNED_SHORT. number of index. Model view transform used for rendering. Indicate the render command should be rendered in 3D mode or not.
local init | ( | local | globalZOrder, |
local | material, | ||
local | vertexBuffer, | ||
local | indexBuffer, | ||
local | primitive, | ||
local | indexFormat, | ||
local | indexCount, | ||
local | mv, | ||
local | flags | ||
) |
Init the mesh command.
GlobalZOrder of the render command. material used for draw mesh. vertex buffer to be drawn. index buffer to be draw. Specifices what kind of primitives to render, GL_TRIANGLES, GL_TRIANGLE_STRIP, and so on. Please refer to glDrawElements Specifies the type of the values in index buffer. It GL_UNSIGNED_BYTE or GL_UNSIGNED_SHORT. number of index. Model view transform used for rendering. Indicate the render command should be rendered in 3D mode or not.
void init | ( | float | globalZOrder, |
GLuint | textureID, | ||
GLProgramState * | glProgramState, | ||
RenderState::StateBlock * | stateBlock, | ||
GLuint | vertexBuffer, | ||
GLuint | indexBuffer, | ||
GLenum | primitive, | ||
GLenum | indexFormat, | ||
ssize_t | indexCount, | ||
const Mat4 & | mv, | ||
uint32_t | flags | ||
) |
Init the mesh command.
GlobalZOrder of the render command. the texture id to be used drawing the mesh. GLProgramState used to draw the mesh. render state used to draw the mesh. vertex buffer to be drawn. index buffer to be draw. Specifices what kind of primitives to render, GL_TRIANGLES, GL_TRIANGLE_STRIP, and so on. Please refer to glDrawElements Specifies the type of the values in index buffer. It GL_UNSIGNED_BYTE or GL_UNSIGNED_SHORT. number of index. Model view transform used for rendering. Indicate the render command should be rendered in 3D mode or not.
var init | ( | var | globalZOrder, |
var | textureID, | ||
var | glProgramState, | ||
var | stateBlock, | ||
var | vertexBuffer, | ||
var | indexBuffer, | ||
var | primitive, | ||
var | indexFormat, | ||
var | indexCount, | ||
var | mv, | ||
var | flags | ||
) |
Init the mesh command.
GlobalZOrder of the render command. the texture id to be used drawing the mesh. GLProgramState used to draw the mesh. render state used to draw the mesh. vertex buffer to be drawn. index buffer to be draw. Specifices what kind of primitives to render, GL_TRIANGLES, GL_TRIANGLE_STRIP, and so on. Please refer to glDrawElements Specifies the type of the values in index buffer. It GL_UNSIGNED_BYTE or GL_UNSIGNED_SHORT. number of index. Model view transform used for rendering. Indicate the render command should be rendered in 3D mode or not.
local init | ( | local | globalZOrder, |
local | textureID, | ||
local | glProgramState, | ||
local | stateBlock, | ||
local | vertexBuffer, | ||
local | indexBuffer, | ||
local | primitive, | ||
local | indexFormat, | ||
local | indexCount, | ||
local | mv, | ||
local | flags | ||
) |
Init the mesh command.
GlobalZOrder of the render command. the texture id to be used drawing the mesh. GLProgramState used to draw the mesh. render state used to draw the mesh. vertex buffer to be drawn. index buffer to be draw. Specifices what kind of primitives to render, GL_TRIANGLES, GL_TRIANGLE_STRIP, and so on. Please refer to glDrawElements Specifies the type of the values in index buffer. It GL_UNSIGNED_BYTE or GL_UNSIGNED_SHORT. number of index. Model view transform used for rendering. Indicate the render command should be rendered in 3D mode or not.
void setDisplayColor | ( | const Vec4 & | color | ) |
Set display color, the final color is the diplay color multiply texture color if it has.
Color to be shown.
var setDisplayColor | ( | var | color | ) |
Set display color, the final color is the diplay color multiply texture color if it has.
Color to be shown.
local setDisplayColor | ( | local | color | ) |
Set display color, the final color is the diplay color multiply texture color if it has.
Color to be shown.
void setMatrixPalette | ( | const Vec4 * | matrixPalette | ) |
Set matrix palette used to draw skeletal model.
Matrix palette.
var setMatrixPalette | ( | var | matrixPalette | ) |
Set matrix palette used to draw skeletal model.
Matrix palette.
local setMatrixPalette | ( | local | matrixPalette | ) |
Set matrix palette used to draw skeletal model.
Matrix palette.
void setMatrixPaletteSize | ( | int | size | ) |
Set matrix palette size.
Matrix palette size.
var setMatrixPaletteSize | ( | var | size | ) |
Set matrix palette size.
Matrix palette size.
local setMatrixPaletteSize | ( | local | size | ) |
Set matrix palette size.
Matrix palette size.
void setLightMask | ( | unsigned int | lightmask | ) |
Set light mask, only the light whose light flag & light mask is not zero will illuminates this mesh.
light mask.
var setLightMask | ( | var | lightmask | ) |
Set light mask, only the light whose light flag & light mask is not zero will illuminates this mesh.
light mask.
local setLightMask | ( | local | lightmask | ) |
Set light mask, only the light whose light flag & light mask is not zero will illuminates this mesh.
light mask.
void genMaterialID | ( | GLuint | texID, |
void * | glProgramState, | ||
GLuint | vertexBuffer, | ||
GLuint | indexBuffer, | ||
BlendFunc | blend | ||
) |
Generate material id, material id is used to batch the same mesh.
texture id. GLProgramState used to draw the mesh. vertex buffer. index buffer. blend function.
var genMaterialID | ( | var | texID, |
var | glProgramState, | ||
var | vertexBuffer, | ||
var | indexBuffer, | ||
var | blend | ||
) |
Generate material id, material id is used to batch the same mesh.
texture id. GLProgramState used to draw the mesh. vertex buffer. index buffer. blend function.
local genMaterialID | ( | local | texID, |
local | glProgramState, | ||
local | vertexBuffer, | ||
local | indexBuffer, | ||
local | blend | ||
) |
Generate material id, material id is used to batch the same mesh.
texture id. GLProgramState used to draw the mesh. vertex buffer. index buffer. blend function.
uint32_t getMaterialID | ( | ) | const |
Get material id.
material id.
var getMaterialID | ( | ) |
Get material id.
material id.
local getMaterialID | ( | ) |
Get material id.
material id.