Hi,

I am trying to solve a problem we posted before here 
(http://forum.openscenegraph.org/viewtopic.php?p=47733#47733).

My application starts without touching the zoom level only setting the camera 
projection and view matrices (frustum and look-at position).
My program then adds an 'x' made out of 2 lines to the scene, but the 'x' does 
not show until I zoom out and another object appears in the view.
I am using orthographic projection, and zooming is done by adjusting the 
camera's frustum (right left top bottom) by a factor.

Here is a picture (ignore the green cross-hair):

[Image: http://img839.imageshack.us/img839/1662/disappearingobj.jpg ] 
(http://imageshack.us/photo/my-images/839/disappearingobj.jpg/)

If I zoom in - it goes away ... zoom out, shows the moment the other object is 
in the view. If I play with the zoom for a while, eventually the 'x' does not 
go away anymore.
I also tried it with another graphic object (not an 'x') to make sure it is not 
the lines of the 'x', but the problem shows also in the other objects.



Things I tried to fix the problem (and did not work):

- As to Paul Martz's suggestion - tried turning off AutoTransform.

- Also tried Paul's second suggestion  - debugging the projection and view 
matrices of our camera. I found out we were using a child class of 
TrackballManipulator, and that the projection and view matrices were modified 
by the manipulator in each frame call ... So I went and quickly wrote my own 
manipulator (inheriting from StandardManipulator). I looked at 
FirstPersonManipulator for help in implementing the get\set 
matrix\transformation methods.  
In my implementation, the graphics camera should be looking at the z = 0 plane 
at any time (perpendicular to the plane), and the position is somewhere above 
the z=0 plane (these values are set by the application).Debugged this, and I 
noticed something (not me) is also changing the right,left,bottom,top of the 
camera's frustum. I am OK with this since the view matrix (camera location and 
orientation) is correct and not changed between frames. But still I could not 
understand why I can't see the 'x'!

 - I thought the 'x' may be clipped out of the near\far of the frustum, so I 
tried  setComputeNearFarMode(osg::CullSettings:O_NOT_COMPUTE_NEAR_FAR). 

Any help is appreciated

Thank you!

Ron[/img]

------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=48873#48873





_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to