merged primitives arrays

This commit is contained in:
Marc Zinnschlag 2015-10-13 16:11:47 +02:00
parent 6e140c9cb1
commit 0b1d6bddc8

View file

@ -71,38 +71,45 @@ void CSVRender::CellArrow::buildShape()
geometry->setVertexArray (vertices); geometry->setVertexArray (vertices);
osg::DrawElementsUShort *top = new osg::DrawElementsUShort (osg::PrimitiveSet::TRIANGLES, 0); osg::DrawElementsUShort *primitives = new osg::DrawElementsUShort (osg::PrimitiveSet::TRIANGLES, 0);
top->push_back (0);
top->push_back (1);
top->push_back (2);
geometry->addPrimitiveSet (top);
osg::DrawElementsUShort *bottom = new osg::DrawElementsUShort (osg::PrimitiveSet::TRIANGLES, 0); // top
bottom->push_back (5); primitives->push_back (0);
bottom->push_back (4); primitives->push_back (1);
bottom->push_back (3); primitives->push_back (2);
geometry->addPrimitiveSet (bottom);
osg::DrawElementsUShort *back = new osg::DrawElementsUShort (osg::PrimitiveSet::QUADS, 0); // bottom
back->push_back (3+6); primitives->push_back (5);
back->push_back (4+6); primitives->push_back (4);
back->push_back (1+6); primitives->push_back (3);
back->push_back (0+6);
geometry->addPrimitiveSet (back);
osg::DrawElementsUShort *side1 = new osg::DrawElementsUShort (osg::PrimitiveSet::QUADS, 0); // back
side1->push_back (0+6); primitives->push_back (3+6);
side1->push_back (2+6); primitives->push_back (4+6);
side1->push_back (5+6); primitives->push_back (1+6);
side1->push_back (3+6);
geometry->addPrimitiveSet (side1);
osg::DrawElementsUShort *side2 = new osg::DrawElementsUShort (osg::PrimitiveSet::QUADS, 0); primitives->push_back (3+6);
side2->push_back (4+6); primitives->push_back (1+6);
side2->push_back (5+6); primitives->push_back (0+6);
side2->push_back (2+6);
side2->push_back (1+6); // sides
geometry->addPrimitiveSet (side2); primitives->push_back (0+6);
primitives->push_back (2+6);
primitives->push_back (5+6);
primitives->push_back (0+6);
primitives->push_back (5+6);
primitives->push_back (3+6);
primitives->push_back (4+6);
primitives->push_back (5+6);
primitives->push_back (2+6);
primitives->push_back (4+6);
primitives->push_back (2+6);
primitives->push_back (1+6);
geometry->addPrimitiveSet (primitives);
osg::Vec4Array *colours = new osg::Vec4Array; osg::Vec4Array *colours = new osg::Vec4Array;