Hi, I haven't got an answer to my question in topic "best way to draw a tube", so I try to make new thread.
I'm drawing top and bottom rings of tube as polygons. I calcucate vertices of polygons according to outer radius of the tube and thickness of it's wall. I'm using DrawElementsUShort for specification of order of the vertices. But the code below gives an memory access violation error. 10 osg::Geometry * polyGeom = new osg::Geometry (); 11 polyGeom -> setVertexArray (vertices); 12 osg::DrawElementsUShort * elements = new оsg::DrawElementsUShort(osg::PrimitiveSet::QUAD_STRIP); 13 //elements ->reserve (40); 14 for ( unsigned int i = 0; i < 40; i ++ ) 15 elements -> push_back (i); 16 //elements [i] = i; 17 polyGeom -> setNormalBinding (osg::Geometry::BIND_OVERALL); 18 polyGeom -> addPrimitiveSet (elements); 19 item -> addDrawable (polyGeom); This error appears at 2nd iteration of cycle in string 15. This result appears in standard example provided with library, too. The size of vector elements already after inizialization is really huge, it's clearing or size change gives nothing. Tell me please, where I'm wrong. If I use DrawArray instead of DrawElementsUShort, the central part (inner diameter of a tube) paints with color - the circle's half is drawing instead of ring's half. Thanks. Cheers, Sergey ------------------ Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=40033#40033 _______________________________________________ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org