Hello Paul,
I have made the following changes, still having the same value:
***************************************
int main()
{
//Creating the viewer
osgViewer::Viewer viewer ;
*viewer.setCameraManipulator(new osgGA::TrackballManipulator());*
//add some event handler
//to show the statistics
viewer.addEventHandler(new osgViewer::StatsHandler);
/*
get camera related information
*/
osg::Vec3f eye;
osg::Vec3f dir;
osg::Vec3f up;
viewer.getCamera()->getViewMatrixAsLookAt(eye,dir,up);
cout << "The eye vector: " << eye.x() << " " << eye.y() << " " <<
eye.z() << endl;
cout << "The look at position: " << dir.x() << " " << dir.y() << " " <<
dir.z() << endl;
cout << "The up vector is: " << up.x() << " " << up.y() << " " << up.z()
<< endl;
***************************************
---------- Forwarded message ----------
From: ami guru <[email protected]>
Date: Thu, Apr 2, 2009 at 2:39 AM
Subject: Fwd: [osg-users] default coordinate system and camera - newbie
To: OpenSceneGraph Users <[email protected]>
Hello Paul,
I have the following snippet that deals with the viewer
******************************'
int main()
{
//Creating the viewer
osgViewer::Viewer viewer ;
//add some event handler
//to show the statistics
viewer.addEventHandler(new osgViewer::StatsHandler);
/*
get camera related information
*/
osg::Vec3f eye;
osg::Vec3f dir;
osg::Vec3f up;
viewer.getCamera()->getViewMatrixAsLookAt(eye,dir,up);
cout << "The eye vector: " << eye.x() << " " << eye.y() << " " <<
eye.z() << endl;
cout << "The look at position: " << dir.x() << " " << dir.y() << " " <<
dir.z() << endl;
cout << "The up vector is: " << up.x() << " " << up.y() << " " << up.z()
<< endl;
//Creating the root node
osg::ref_ptr<osg::Node> root = createSceneGraph();
............................................................
............................................................
****************************'**
Could you provide some hint where the bug might be , at least the way to
find it?
I want to implement a very simple scenario. A camera that moves along with
the key press event.
I already have that implemented in OpenGL program where i can roll, pitch
yaw and slide with user key press event.
I want to map that in the scene graph system.
I have the following information predefined
*n* = eye - look;
*u* = *up* * *n*;
*v* = *n* * *u*;
To move the camera in an ineractive way i have to have the access to there
values .
there is a function in the Camera Class called getViewMatrix() , i hope that
it is one to access these values.
Any more reference would be of great help.
---------- Forwarded message ----------
From: Paul Martz <[email protected]>
Date: 2009/4/2
Subject: Re: [osg-users] default coordinate system and camera - newbie
To: OpenSceneGraph Users <[email protected]>
The CameraManipulator (like TrackballManipulator, for example) determines
the default orientation. You can change this default by setting the up
vector in the TrackballManipulator. By default, the TrackballManipulator
uses positive Z up, so if your code is getting positive Y up, either you
have a bug or you are not using the TrackballManipulator or you have changed
its default.
The default view position is also determined by the CameraManipulator. The
TrackballManipulator, for example, has a home position that you can set. By
default, it considers the scene bounding volume and tries to position the
view so that the entire scene fits within a 50 degree FOV (I think it's 50,
not sure).
Paul Martz
*Skew Matrix Software LLC*
http://www.skew-matrix.com
+1 303 859 9466
------------------------------
*From:* [email protected] [mailto:
[email protected]] *On Behalf Of *ami guru
*Sent:* Wednesday, April 01, 2009 1:58 PM
*To:* OpenSceneGraph Users
*Subject:* [osg-users] default coordinate system and camera - newbie
Hello forum,
osgViewer , by default uses the world coordinate system that is oriented
with positive X to right , positive Z up, and positive Y into the screen.
Does that mean the camera' s defualt position is at the origin looking down
into the screen which is positive Y?
I have tried to extract the vectors using the function
************************'
osg::Vec3f eye;
osg::Vec3f dir;
osg::Vec3f up;
viewer.getCamera()->getViewMatrixAsLookAt(eye,dir,up);
cout << "The eye vector: " << eye.x() << " " << eye.y() << " " <<
eye.z() << endl;
cout << "The look at position: " << dir.x() << " " << dir.y() << " " <<
dir.z() << endl;
cout << "The up vector is: " << up.x() << " " << up.y() << " " << up.z()
<< endl;
************************
The eye vector: 0 0 0
The look at position: 0 0 -1
The up vector is: 0 1 0
I was wondering if the up vector be Z axis instead
Regards
Sajjad
_______________________________________________
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