pGeometry->addPrimitiveSet(new osg::DrawArrays(osg::PrimitiveSet::QUADS, 0, kMode.listPart.at(partIndex).listElementShell.size() * 4)); // pGeometry->addPrimitiveSet(new osg::DrawArrays(osg::PrimitiveSet::QUADS, 0, 4)); // 向Geode类添加几何体(Drawable) osg::ref_ptr<osg::Geode> pG...
例:geom->addPrimitiveSet(new osg::DrawArrays(osg::PrimitiveSet::QUADS,0,4)); 来指定要利用这些数据生成一个怎么样的形状。 该行代码中,使用DrawArrays类向Geometry类送入了新几何体的信息,即,该几何体是一个QUADS,它的顶点坐标从索引数组中读入,从第1个索引值开始,共读入4个索引值,组成一个四边形图形。
addPrimitiveSet ()- 将指向一组图元的指针传递给对象osg::Geometry。 removePrimitiveSet()- 移除一组图元。 作为参数,它采用集合的初始索引和要删除的集合数。 getPrimitiveSet ()- 通过作为参数传递的索引返回一组图元。 getNumPrimitiveSets ()- 返回与该几何关联的原始集的总数。 osg::PrimitiveSet类是抽象的,...
addPrimitiveSet ()- 将指向一组图元的指针传递给对象osg::Geometry。 removePrimitiveSet()- 移除一组图元。 作为参数,它采用集合的初始索引和要删除的集合数。 getPrimitiveSet ()- 通过作为参数传递的索引返回一组图元。 getNumPrimitiveSets ()- 返回与该几何关联的原始集的总数。 osg::PrimitiveSet类是抽象的,...
(1.0f,0.0f) );20osg::ref_ptr<osg::Geometry> quad =newosg::Geometry;21quad->setVertexArray( vertices.get() );22quad->setNormalArray( normals.get() );23quad->setNormalBinding( osg::Geometry::BIND_OVERALL );24quad->setTexCoordArray(0, texcoords.get() );25quad->addPrimitiveSet(new...
[2])); } redPolygon->addPrimitiveSet(new osg::DrawArrays(osg::PrimitiveSet::POLYGON, 0, 6)); //设置颜色数组 osg::ref_ptr<osg::Vec4Array> redColors = new osg::Vec4Array; redColors->push_back(osg::Vec4(1.0, 0.0, 0.0, 0.5)); redPolygon->setColorArray(redColors); redColors->...
geom->setNormalBinding(osg::Geometry::BIND_OVERALL);//将法线进行绑定 //设置顶点的关联方式,这里是Quad方式,总共有这么些方式:POINTS,LINES,LINE_STRIP,LINE_LOOP,TRIANGLES,TRIANGLE_STRIP,TRIANGLE_FAN,QUADS,QUAD_STRIP,POLYGON geom->addPrimitiveSet(new osg::DrawArrays(osg::PrimitiveSet::QUADS, 0, 4)...
Binding(osg::Geometry::BIND_OVERALL); pVec3ArrayNormal->push_back(osg::Vec3(0.0, 1.0, 0.0)); // 步骤九:由保存的数据绘制四个顶点的多边形 pGeometry->addPrimitiveSet(new osg::DrawArrays(osg::PrimitiveSet::QUADS, 0, 4)); // 步骤十:将图形添加进几何节点 pGeode->addDrawable(pGeometry....
geom->setNormalBinding (osg::Geometry ::BIND_OVERALL ); 61 //添加图元 62 geom->addPrimitiveSet (newosg::DrawArrays (osg::PrimitiveSet ::QUADS ,0,4)); 63 64 //添加到叶子节点 65 geode->addDrawable (geom.get()); 66 67 returngeode.get(); ...
geometry->addPrimitiveSet(new osg::DrawArrays(osg::PrimitiveSet::QUADS, 0, 4)); osg::ref_ptr<osg::Geode> geode = new osg::Geode; geode->addDrawable(geometry.get()); return geode.get();}int main(int argc, char **argv){ osg::ref_ptr<osg::Node> root = crateSceneGraph(); ...