void OpenGLRenderer::drawIndexed(Primitive primitive, const TexturedVertex * vertices, size_t nvertices, unsigned short * indices, size_t nindices) { beforeDraw<TexturedVertex>(); if(useVertexArrays && shader) { glBindBuffer(GL_ARRAY_BUFFER, GL_NONE); setVertexArray(vertices, vertices); glDrawRangeElements(arxToGlPrimitiveType[primitive], 0, nvertices - 1, nindices, GL_UNSIGNED_SHORT, indices); } else { glBegin(arxToGlPrimitiveType[primitive]); for(size_t i = 0; i < nindices; i++) { renderVertex(vertices[indices[i]]); } glEnd(); } CHECK_GL; }
void KVFModel::renderOverlay(double scale) const { glPushAttrib(GL_ENABLE_BIT|GL_CURRENT_BIT|GL_LINE_BIT); glLineWidth(1.5); glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); glColor3f(1,1,0); for (auto it = pinnedVertexes.begin(); it != pinnedVertexes.end(); it++) renderVertex(*it, scale); glPopAttrib(); }