|
楼主 |
发表于 2009-3-15 22:50:04
|
显示全部楼层
osg::Geometry* geom = new osg::Geometry();
osg::Vec3Array* v = new osg::Vec3Array;
osg::Vec4Array* c = new osg::Vec4Array;
osg::Vec3Array* n = new osg::Vec3Array;
//设置顶点
for(int i = 0;i<1000;i++)
{
for(int j = 0;j<1000;j++)
{
v->push_back(...);
}
}
//设置色彩
c->push_back(osg::Vec3(1.0,1.0,1.0,1.0));
//设置法线
n->push_back(osg::Vec3(0,-1,0));
geom->setVertexArray(v);
...
geom->setColorArray(c);
...
geom->setNormal(n);
...
绘制模式为LINE_LOOP;
上面把代码简略写了一下,不知道能不能明白呵呵,本来想通过设置法向量进行背面剔除;但结果只是改变了背面的光照效果。
如何才能做到背面剔除呢,也就是当视点转到线框后面时,线框不进行绘制。 |
|