从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 );
原文如下:
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 );