Hi Robert;
I have tried all your advices and osg::Fog effect works the invisibility
problem. I try to other ;
1 - changing setNearFarRatio' value,
2 - adding
viewer.getCamera()->setComputeNearFarMode(osg::CullSettings::DO_NOT_COMPUTE_NEAR_FAR
); pattern and
3 - osg::CullStack::CullingMode cullingMode = sceneview->getCullingMode();
cullingMode &= ~ ( osg::CullStack::SMALL_FEATURE_CULLING );
sceneview->setCullingMode( cullingMode );
// You can also control the size of the screen space that is used to cull
// small features with
sceneview->setSmallFeatureCullingPixelSize( minimumSize );
but any of them didn't help me. So why the osg::fog effect fix the problem?
I guess; it reduce the detail of scene and so this has resulted of protecting
the models visibility. Does it could be right ?
Thanks so much Robert :)
ÜMİT UZUN
----------------------------------------
> Date: Wed, 7 May 2008 09:38:08 +0100
> From: [EMAIL PROTECTED]
> To: [email protected]
> Subject: Re: [osg-users] Aircraft Getting Invisible ?
>
> Hi Umit,
>
> I'd guess that you are probably coming across a near plane clipping
> issue, rather than a culling issue. Unfortunately its easy to confuse
> clipping with culling when you just see disappearing, but its too very
> different mechanisms at play so its important to work out whether it
> is clipping or culling that is at play. The way to know is study how
> the object disappears - does it slowly get eaten away or does it just
> pop out of existance - the former will be near plane clipping down on
> the GPU, the later most likely culling.
>
> Both clipping and culling problems can be caused by incorrect bounding
> volume computations - if your plane was a custom drawable or you'd
> just a shader to modify its geometry then this might be a candidate.
> If you are using standard osg::Geometry then its very unlikely that
> culling as at fault as the OSG's native codes for computing bounding
> volumes and doing cull testing are very well established and tested.
>
> My guess is that most likely you have an issue with near plane
> clipping, and if you have a very large model extents this can be very
> common - as the far plane will be pushed out so far. The OSG does
> have support for cluster culling, and this will be used by default in
> geocentric databases built by VPB, this will cull out tiles beyond the
> horizon line and pull in the max far distance, but it doesn't solve
> all the potential problems as the furtherest tile can still be a long
> way out. If you want to pull it in further you could manually
> control it but then you'll need to make sure you use glFog/osg::Fog on
> the terrain to make sure that you can only see up to a set maximum
> distanace. If you use this trick then disabling the compute of near
> far will be required. You should be able to enable the far clipping
> plane as well.
>
> The other thing you can do is to reduce the NearFarRatio by setting
> setNearFarRatio to something lower than it's default of 0.0005f ( see
> src/osg/CullSettings.cpp's setDefaults() method where it's set.)
>
> Robert.
>
> Robert.
>
> 2008/5/5 ümit uzun :
>>
>> Hi all,
>>
>> I have an aircraft. I resize it and add scene on the earth but it get
>> invisible when I resized much smaller like that,
>>
>> float size = 0.0005f / mAircraftModel.get( )->getBound( ).radius( );
>>
>> mAircraftTransform->setDataVariance( osg::Object::STATIC );
>> mAircraftTransform->setMatrix( osg::Matrix::scale( size, size, size ) *
>> osg::Matrix::rotate( osg::DegreesToRadians( 90.0f ), 1.0f, 0.0f, 0.0f ) *
>> osg::Matrix::rotate( osg::DegreesToRadians( -90.0f ), 0.0f, 0.0f, 1.0f ) *
>> osg::Matrix::rotate( osg::DegreesToRadians( 5.0f ), 1.0f, 0.0f, 0.0f ) );
>>
>> Earth size is,
>>
>> float size = 2000.0f / mTerrainModel.get( )->getBound( ).radius( );
>>
>> mTerrainTransform->setDataVariance( osg::Object::STATIC );
>> mTerrainTransform->setMatrix( osg::Matrix::scale( size, size, size ) );
>>
>> What can I do for protect the aircraft visibility?
>>
>> Thanks so much!
>>
>>
>> ÜMİT UZUN
>>
>> _________________________________________________________________
>> Şimdi aileye katılmanın tam zamanı - Yeni nesil Ücretsiz Windows Live
>> Hizmetlerini şimdi edinin!
>> http://get.live.com
>> _______________________________________________
>> osg-users mailing list
>> [email protected]
>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>>
>>
> _______________________________________________
> osg-users mailing list
> [email protected]
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
_________________________________________________________________
Şimdi aileye katılmanın tam zamanı - Yeni nesil Ücretsiz Windows Live
Hizmetlerini şimdi edinin!
http://get.live.com
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org