查看: 876|回复: 6

如何在OSG中通过节点坐标画直线

[复制链接]

该用户从未签到

发表于 2014-3-26 16:11:15 | 显示全部楼层 |阅读模式
菜鸟一枚,新手,想要学最简单的OSG画图方法,希望通过点的坐标画直线,还请高手们给我贴个代码,我照葫芦画瓢,学的比较快,谢谢啦。

该用户从未签到

发表于 2014-3-26 22:16:21 | 显示全部楼层
osg::Node* drawLine(const osg::Vec3 startPoint, const osg::Vec3 endPoint, const osg::Vec4 color, float width)
{
        //顶点               
        osg::Vec3Array * vert = new osg::Vec3Array;
        vert->push_back(startPoint);
        vert->push_back(endPoint);

        //颜色
        osg::Vec4Array * colors = new osg::Vec4Array;
        colors->push_back(color);

        osg::Geometry * line = new osg::Geometry;
        line->setVertexArray(vert);
        line ->setColorArray(colors);
        line ->setColorBinding(osg::Geometry::BIND_PER_PRIMITIVE);
        line->addPrimitiveSet(new osg:rawArrays(osg:rimitiveSet:INES, 0, vert->size()));

        //线宽       
        osg::LineWidth * linewidth = new osg::LineWidth;
        linewidth->setWidth(width);
        line->getOrCreateStateSet()->setAttributeAndModes(linewidth, osg::StateAttribute::ON);
        //关闭顶光
        line->getOrCreateStateSet()->setMode(GL_LIGHTING, osg::StateAttribute::OFF | osg::StateAttribute::PROTECTED);
       
        osg::Geode * geode = new osg::Geode;
        geode->addDrawable(line);
        return geode ;
}
                       

该用户从未签到

 楼主| 发表于 2014-3-27 08:47:20 | 显示全部楼层
cenfer 发表于 2014-3-26 22:16
osg::Node* drawLine(const osg::Vec3 startPoint, const osg::Vec3 endPoint, const osg::Vec4 color, flo ...

哇塞,看着很高深呢,我要好好研究一下,多谢啦。

该用户从未签到

 楼主| 发表于 2014-4-30 09:31:11 | 显示全部楼层
cenfer 发表于 2014-3-26 22:16
osg::Node* drawLine(const osg::Vec3 startPoint, const osg::Vec3 endPoint, const osg::Vec4 color, flo ...

你给我的这段代码总是出现这个错误:1>MSVCRTD.lib(crtexew.obj) : error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用
1>D:\Documents\Visual Studio 2010\Projects\example\Debug\line.exe : fatal error LNK1120: 1 个无法解析的外部命令
1>
1>生成失败。
我找不到原因,所以来问问你,帮忙解决一下,是我哪里操作有问题吗。

该用户从未签到

发表于 2014-4-30 09:39:23 | 显示全部楼层
你是不是建了win32项目的程序,使用win32 control控制台

该用户从未签到

发表于 2014-4-30 10:14:28 | 显示全部楼层
和这个没关系,是你工程配置的问题吧

该用户从未签到

发表于 2014-5-15 09:19:52 | 显示全部楼层
是不是忘了添加类库啦
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表