美文网首页
OSG 绘制直线、多段线

OSG 绘制直线、多段线

作者: sssssss_ | 来源:发表于2021-01-23 09:16 被阅读0次

写在前面:翻了一遍国内的博客,我竟然没有找到关于 osg 绘制线段的相关代码,反而看到都是一些相同内容的网站,就这风气。

osg::ref_ptr<osg::MatrixTransform> xfrom = getTransMatrix();
osg::ref_ptr<osg::Vec3Array> v1 = new osg::Vec3Array();

// 增加点    
v1->push_back(calReferencePosition(_stackPoint));
v1->push_back(calReferencePosition(currentPosition));

// 创建实体
osg::ref_ptr<osg::Geometry> pa = new osg::Geometry();
pa->setVertexArray(v1);
pa->addPrimitiveSet(new osg::DrawArrays(osg::PrimitiveSet::LINE_LOOP, 0, v1->size()));

// 线宽
pa->getOrCreateStateSet()->setAttribute(
                new osg::LineWidth(_style.lineWidth() * ZHD3DConfig::getDpiScale()));

// 着色器
osg::ref_ptr<osg::Program> lineProgram = new osg::Program;
lineProgram->addShader(new osg::Shader(osg::Shader::VERTEX, stackPointLinkLineVertShader));
lineProgram->addShader(new osg::Shader(osg::Shader::FRAGMENT, stackPointLinkLineFragShader));
pa->getOrCreateStateSet()->setAttributeAndModes(
                lineProgram,
                osg::StateAttribute::ON | osg::StateAttribute::OVERRIDE | osg::StateAttribute::PROTECTED );
        // 线条颜色
pa->getOrCreateStateSet()->addUniform(new osg::Uniform("a_Color",
                osgEarth::Color(_style.lineColor())));

xfrom->addChild(pa);
this->addChild(xfrom);

好了,内容比较短,看看继续做下去还有什么更新的内容吧。

相关文章

  • OSG 绘制直线、多段线

    写在前面:翻了一遍国内的博客,我竟然没有找到关于 osg 绘制线段的相关代码,反而看到都是一些相同内容的网站,就这...

  • AutoCAD中直线与多段线之间怎么进行相互转换?

    那么在CAD绘图的时候,多段线是CAD绘图中非常常用的一种对象,直线LINE命令可以连续绘制多条直线段,多段线也是...

  • DXF

    直线 Line 构造线 XLine 射线 Ray 圆 Circle 圆弧 Arc 椭圆 Ellipse 多段线 P...

  • CAD构造线怎么进行绘制,它的操作命令是什么?

    CAD构造线怎么画?我们在进行绘制CAD图纸文件的时候,经常会需要绘制直线,射线,构造线等线条,那什么是构造线呢?...

  • Quartz2D绘图

    标签: 裁剪、多边形、绘制图片、绘制文字、截图、曲线、扇形、椭圆、直线 绘图基本格式 一、绘制直线(虚线为多条直线...

  • 上下文绘图,滤镜简单使用

    一、drawRect绘制功能 1.绘制直线 精简绘制直线 2. 绘制椭圆 3. 绘制弧形 4. 绘制贝塞尔曲线 5...

  • SVG 绘制直线

    本节我们来学习如何在 SVG 中绘制直线,要绘制直线可以使用 元素来实现。 如何绘制直线 我们可以使用 元...

  • CAD快捷键

    绘图功能: 1:直线L 2射线RAY 3:构造线XL 4:多段线PL 5:正多边形POL 6:矩形REC 7:圆弧...

  • 计算机视觉 OpenCV (3)

    今天我们主要介绍如何使用 OpenCV 来在图片上绘制几何图形、线、矩形、圆以及添加文字。 在图片上绘制直线 li...

  • Canvas中任意波浪线的绘制

    最近接触一个墨水屏的项目,有个需求就是会进行一些标记绘制,类似直线、自由曲线、波浪线等,所以就涉及到波浪线如何绘制...

网友评论

      本文标题:OSG 绘制直线、多段线

      本文链接:https://www.haomeiwen.com/subject/svpyzktx.html