查看: 2512|回复: 2

关于OSG 2.8.3绘制矩形的问题

[复制链接]

该用户从未签到

发表于 2012-9-11 17:51:20 | 显示全部楼层 |阅读模式
以前解决了这个问题,但是现在忘了当初怎么解决的,希望大家指点。

绘制出来的矩形的形状如图:
rectangle.png

我的代码如下:

osg::ref_ptr<osg::Geode> geode=new osg::Geode();
osg::ref_ptr<osg::Geometry> geom=new osg::Geometry();
osg::ref_ptr<osg::Vec3Array> v=new osg::Vec3Array();

v->push_back(osg::Vec3(0.0f,0.0f,0.0f));
v->push_back(osg::Vec3(1.0f,0.0f,0.0f));
v->push_back(osg::Vec3(1.0f,0.0f,1.0f));
v->push_back(osg::Vec3(0.0f,0.0f,1.0f));//设置矩形的4个点
geom->setVertexArray(v.get());

osg::ref_ptr<osg::Vec2Array> vt=new osg::Vec2Array();
vt->push_back(osg::Vec2(0.0f,0.0f));
vt->push_back(osg::Vec2(1.0f,0.0f));
vt->push_back(osg::Vec2(1.0f,1.0f));
vt->push_back(osg::Vec2(0.0f,1.0f));
geom->setTexCoordArray(0,vt.get());//设置文理坐标

osg::ref_ptr<osg::Vec3Array> nc=new osg::Vec3Array();
nc->push_back(osg::Vec3(0.0f,-1.0f,0.0f));
geom->setNormalBinding(osg::Geometry::BIND_OVERALL);//设置法线


geom->addPrimitiveSet(new osg:rawArrays(osg:rimitiveSet:UAD_STRIP,0,4));
geode->addDrawable(geom.get());
然后加到Group中然后显示。

请问各位大大,我这个代码到底是哪有问题呢?我看蛮多资料上都是这样画矩形的啊~~

该用户从未签到

 楼主| 发表于 2012-9-11 18:10:07 | 显示全部楼层
我太2了,对不起大家,把QUAD_STRIP改成QUADS就行了~~

该用户从未签到

发表于 2012-9-11 20:11:49 | 显示全部楼层
。。。自娱自乐。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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