osg 绘制图像,单个点或小对象无法显示

本博客解释了OSG使用的小特征裁剪特性及其如何影响远距离观察复杂模型的视觉效果。提供了禁用该特性的代码示例,以确保模型的所有细节都能在远距离观察时得到展示。

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

从osg官网上查到的原因,下面是我翻译来的

osg默认使用 osg::CullStack::SMALL_FEATURE_CULLING 来裁剪小于预定义的屏幕大小的物体。当从一定距离观察具体很多细节的模型时非常有效的特性,它用于裁剪那些对于模型的视觉效果作用不大的细节。你可以通过更改osg::Camera 的 cullingMode 来禁用这个特性。代码如下:

osg::CullStack::CullingMode cullingMode = viewer.getCamera()->getCullingMode();
cullingMode &= ~(osg::CullStack::SMALL_FEATURE_CULLING);
viewer.getCamera()->setCullingMode( cullingMode );


原文如下:

http://www.openscenegraph.org/projects/osg/wiki/Support/FAQ#WhydoesOSGseemtoignoremynearfarclippingplanes

By default the OSG uses small feature culling to cull out objects that occupy less than a predetermined screen size. This is a valuable feature for models with many details which do not contribute to the visual quality of the model when viewed from a distance. You can completely disable small feature culling by changing the cullingMode on the viewers osg::Camera with:

osg::CullStack::CullingMode cullingMode = viewer.getCamera()->getCullingMode();
cullingMode &= ~(osg::CullStack::SMALL_FEATURE_CULLING);
viewer.getCamera()->setCullingMode( cullingMode );

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值