利用OSG的osgUtil库里面的DelaunayTriangulator类。

points是需要构建三角网的点

    osgUtil::DelaunayTriangulator* trig = new osgUtil::DelaunayTriangulator();
trig->setInputPointArray(points);
bool r = trig->triangulate();
osg::DrawElementsUInt *test = trig->getTriangles();

注意:在构网的过程中,会对输入的点重新排序,并且为了满足构网条件会删除某些点。

05-21 20:22