关于osg中的primitiveset

本文讨论了在图形渲染中正确管理图元集合的方法。指出不应将所有图元合并到一个图元内,尤其是对于复杂的图元集合。正确的做法是为每个图元单独创建一个primitive set,并说明了如何实现这一目标。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上周,leader指出了我的一个错误。

我把所有的图元,都组合到了一个图元里,是不对的。对于简单的可以,大不了用polygon,但是如果复杂的图元集合,就不能用polygon绘制了。并且,还需要收集所有的顶点数组。这样是得不偿失的。

 

即,我对所有的geom1,geom2,geom3合并成一个primitveset,这样只能期盼图元不复杂。

geom->addPrimitiveSet(new osg::DrawArrays(总mode,0,所有顶点)); 

 

实际上,应该是

geom->addPrimitiveSet(new osg::DrawArrays(mode1,0,顶点数组1的个数)); 

.。。。。

geom->addPrimitiveSet(new osg::DrawArrays(modeN,0,顶点数组N的个数)); 

 

 

至于收集的geometry数组,本身是没有错误的,但是来源要只要盯紧geode的geometry的各个primitiveset,即可。

当然,总的geom的顶点数组,是所有的顶点数组之集合,即收集的geometry数组的集合

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值