void CCTiledGrid3D::blit(void) { int n = m_sGridSize.width * m_sGridSize.height; m_pShaderProgram->use(); m_pShaderProgram->setUniformsForBuiltins(); // // Attributes // ccGLEnableVertexAttribs( kCCVertexAttribFlag_Position | kCCVertexAttribFlag_TexCoords ); #ifdef EMSCRIPTEN int numQuads = m_sGridSize.width * m_sGridSize.height; // position setGLBufferData(m_pVertices, (numQuads*4*sizeof(ccVertex3F)), 0); glVertexAttribPointer(kCCVertexAttrib_Position, 3, GL_FLOAT, GL_FALSE, 0, 0); // texCoords setGLBufferData(m_pTexCoordinates, (numQuads*4*sizeof(ccVertex2F)), 1); glVertexAttribPointer(kCCVertexAttrib_TexCoords, 2, GL_FLOAT, GL_FALSE, 0, 0); setGLIndexData(m_pIndices, n * 12, 0); glDrawElements(GL_TRIANGLES, (GLsizei) n*6, GL_UNSIGNED_SHORT, 0); #else // position glVertexAttribPointer(kCCVertexAttrib_Position, 3, GL_FLOAT, GL_FALSE, 0, m_pVertices); // texCoords glVertexAttribPointer(kCCVertexAttrib_TexCoords, 2, GL_FLOAT, GL_FALSE, 0, m_pTexCoordinates); glDrawElements(GL_TRIANGLES, (GLsizei)n*6, GL_UNSIGNED_SHORT, m_pIndices); #endif // EMSCRIPTEN CC_INCREMENT_GL_DRAWS(1); }
void TiledGrid3D::blit(void) { int n = _gridSize.width * _gridSize.height; _shaderProgram->use(); _shaderProgram->setUniformsForBuiltins(); // // Attributes // GL::enableVertexAttribs( GL::VERTEX_ATTRIB_FLAG_POSITION | GL::VERTEX_ATTRIB_FLAG_TEX_COORDS ); #ifdef EMSCRIPTEN int numQuads = _gridSize.width * _gridSize.height; // position setGLBufferData(_vertices, (numQuads*4*sizeof(Vertex3F)), 0); glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_POSITION, 3, GL_FLOAT, GL_FALSE, 0, 0); // texCoords setGLBufferData(_texCoordinates, (numQuads*4*sizeof(Vertex2F)), 1); glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_TEX_COORDS, 2, GL_FLOAT, GL_FALSE, 0, 0); setGLIndexData(_indices, n * 12, 0); glDrawElements(GL_TRIANGLES, (GLsizei) n*6, GL_UNSIGNED_SHORT, 0); #else // position glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_POSITION, 3, GL_FLOAT, GL_FALSE, 0, _vertices); // texCoords glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_TEX_COORDS, 2, GL_FLOAT, GL_FALSE, 0, _texCoordinates); glDrawElements(GL_TRIANGLES, (GLsizei)n*6, GL_UNSIGNED_SHORT, _indices); #endif // EMSCRIPTEN CC_INCREMENT_GL_DRAWS(1); }
void Grid3D::blit(void) { int n = _gridSize.width * _gridSize.height; ccGLEnableVertexAttribs( kVertexAttribFlag_Position | kVertexAttribFlag_TexCoords ); _shaderProgram->use(); _shaderProgram->setUniformsForBuiltins();; // // Attributes // #ifdef EMSCRIPTEN // Size calculations from calculateVertexPoints(). unsigned int numOfPoints = (_gridSize.width+1) * (_gridSize.height+1); // position setGLBufferData(_vertices, numOfPoints * sizeof(Vertex3F), 0); glVertexAttribPointer(kVertexAttrib_Position, 3, GL_FLOAT, GL_FALSE, 0, 0); // texCoords setGLBufferData(_texCoordinates, numOfPoints * sizeof(Vertex2F), 1); glVertexAttribPointer(kVertexAttrib_TexCoords, 2, GL_FLOAT, GL_FALSE, 0, 0); setGLIndexData(_indices, n * 12, 0); glDrawElements(GL_TRIANGLES, (GLsizei) n*6, GL_UNSIGNED_SHORT, 0); #else // position glVertexAttribPointer(kVertexAttrib_Position, 3, GL_FLOAT, GL_FALSE, 0, _vertices); // texCoords glVertexAttribPointer(kVertexAttrib_TexCoords, 2, GL_FLOAT, GL_FALSE, 0, _texCoordinates); glDrawElements(GL_TRIANGLES, (GLsizei) n*6, GL_UNSIGNED_SHORT, _indices); #endif // EMSCRIPTEN CC_INCREMENT_GL_DRAWS(1); }
void Grid3D::blit(void) { int n = m_tGridSize.width * m_tGridSize.height; GL::enableVertexAttribs( GL::VERTEX_ATTRIB_FLAG_POSITION | GL::VERTEX_ATTRIB_FLAG_TEX_COORDS ); m_pShaderProgram->use(); m_pShaderProgram->setUniformsForBuiltins();; // // Attributes // #ifdef EMSCRIPTEN // Size calculations from calculateVertexPoints(). unsigned int numOfPoints = (m_tGridSize.width+1) * (m_tGridSize.height+1); // position setGLBufferData(m_pVertices, numOfPoints * sizeof(Vertex3F), 0); glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_POSITION, 3, GL_FLOAT, GL_FALSE, 0, 0); // texCoords setGLBufferData(m_pTexCoordinates, numOfPoints * sizeof(Vertex2F), 1); glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_TEX_COORDS, 2, GL_FLOAT, GL_FALSE, 0, 0); setGLIndexData(m_pIndices, n * 12, 0); glDrawElements(GL_TRIANGLES, (GLsizei) n*6, GL_UNSIGNED_SHORT, 0); #else // position glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_POSITION, 3, GL_FLOAT, GL_FALSE, 0, m_pVertices); // texCoords glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_TEX_COORDS, 2, GL_FLOAT, GL_FALSE, 0, m_pTexCoordinates); glDrawElements(GL_TRIANGLES, (GLsizei) n*6, GL_UNSIGNED_SHORT, m_pIndices); #endif // EMSCRIPTEN CC_INCREMENT_GL_DRAWS(1); }