Replaced GL_QUADS usage with GL_TRIANGLES to aid portability.

This commit is contained in:
Robert Osfield
2017-03-13 17:46:51 +00:00
parent ce0fbabb4e
commit 2c2097ce24

View File

@@ -886,19 +886,28 @@ osg::Geometry* StatsHandler::createGeometry(const osg::Vec3& pos, float height,
geometry->setVertexArray(vertices); geometry->setVertexArray(vertices);
vertices->reserve(numBlocks*4); vertices->reserve(numBlocks*4);
osg::DrawElementsUShort* primitives = new osg::DrawElementsUShort(GL_TRIANGLES);
for(unsigned int i=0; i<numBlocks; ++i) for(unsigned int i=0; i<numBlocks; ++i)
{ {
unsigned int vi = vertices->size();
vertices->push_back(pos+osg::Vec3(i*20, height, 0.0)); vertices->push_back(pos+osg::Vec3(i*20, height, 0.0));
vertices->push_back(pos+osg::Vec3(i*20, 0.0, 0.0)); vertices->push_back(pos+osg::Vec3(i*20, 0.0, 0.0));
vertices->push_back(pos+osg::Vec3(i*20+10.0, 0.0, 0.0)); vertices->push_back(pos+osg::Vec3(i*20+10.0, 0.0, 0.0));
vertices->push_back(pos+osg::Vec3(i*20+10.0, height, 0.0)); vertices->push_back(pos+osg::Vec3(i*20+10.0, height, 0.0));
primitives->push_back(vi);
primitives->push_back(vi+1);
primitives->push_back(vi+2);
primitives->push_back(vi);
primitives->push_back(vi+2);
primitives->push_back(vi+3);
} }
osg::Vec4Array* colours = new osg::Vec4Array; osg::Vec4Array* colours = new osg::Vec4Array;
colours->push_back(colour); colours->push_back(colour);
geometry->setColorArray(colours, osg::Array::BIND_OVERALL); geometry->setColorArray(colours, osg::Array::BIND_OVERALL);
geometry->addPrimitiveSet(new osg::DrawArrays(GL_QUADS, 0, numBlocks*4)); geometry->addPrimitiveSet(primitives);
return geometry; return geometry;
} }