osg绘制粗线条
osg绘制粗线条
#include <osg/Geometry> #include <osg/Geode> #include <osgViewer/Viewer> #include <osg/LineWidth> int main() { // 创建几何体对象 osg::ref_ptr<osg::Geometry> lineGeom = new osg::Geometry(); // 创建顶点数组 osg::ref_ptr<osg::Vec3Array> vertices = new osg::Vec3Array; vertices->push_back(osg::Vec3(0, 0, 0)); // 起点 vertices->push_back(osg::Vec3(1, 0, 0)); // 终点 // 设置线条宽度为5个像素单位 osg::ref_ptr<osg::LineWidth> lineWidth = new osg::LineWidth(); lineWidth->setWidth(5.0f); // 设置线条粗细为5个像素单位 lineGeom->getOrCreateStateSet()->setAttributeAndModes(lineWidth, osg::StateAttribute::ON); // 将顶点数组添加到几何体中 lineGeom->setVertexArray(vertices); // 创建几何体组对象,并将几何体添加到组中 osg::ref_ptr<osg::Geode> geode = new osg::Geode(); geode->addDrawable(lineGeom); // 创建视图器并显示场景图 osgViewer::Viewer viewer; viewer.setSceneData(geode); viewer.run(); return 0; }
============
QQ 3087438119