|
osg::Vec3Array* vetrices = new osg::Vec3Array(nVertex);
geom->setVertexArray(vertives);
osg::vec3Array* normals = new osg::vec3Array(numTriangles);
memcpy(&(normal[0][0]), ppt, sizeof(float)*numTriangles*3); //获得每个三角面片的法矢
geom->setNormalArray(normal, osg::Array::BIND_PER_PRIMITIVE_SET); //设置法矢绑定方式
osg::ref_Ptr<osg:rawElementUInt> Primitives = new osg::DrawElementUInt(GL_TRIGNALE, 3*numTrianles);
memcpy(&(primitives[0][0]), &indexss[0], sizeof(int)* numTriangle*3); //拷贝顶点序号
geom->addPrimitiveSet(Primitives);
我要显示网格对象,现在需要将网格三角面片的方式绑定到各个三角面片上。上面这样写OSG内部还会崩溃,好像是法矢绑定的方式错误, 以前有BIND_PER_PRIMITIVE,但现在舍弃了,那现在该怎么写法?
|
|