Hi Cory do the following for osgviewerMFC sample app:
1 - open the file "MFC_OSG.cpp" 2 - find the function "cOSG::InitCameraConfig" 3 - go to end of the function. It reads like this:
... // Realize the Viewer mViewer->realize(); }
4 - add these lines:
... // Realize the Viewer mViewer->realize();
// NEW CODE STARTS HERE // correct aspect ratio double fovy,aspectRatio,z1,z2; mViewer->getCamera()->getProjectionMatrixAsPerspective(fovy,aspectRatio,z1,z2); aspectRatio=double(traits->width)/double(traits->height);
mViewer->getCamera()->setProjectionMatrixAsPerspective(fovy,aspectRatio,z1,z2); // NEW CODE ENDS HERE
}
5 - Build it and enjoy!
Regards Moji the Great
--- On Thu, 2/12/09, Cory Riddell <c...@codeware.com> wrote:
From: Cory Riddell <c...@codeware.com> Subject: Re: [osg-users] forcing a square aspect ratio To: "OpenSceneGraph Users" <osg-users@lists.openscenegraph.org> Date: Thursday, February 12, 2009, 12:51 AM
Nevermind, I found the problem. I was setting the projection matrix on
the camera I added as a slave. Instead, I did this:
// Realize the Viewer
_viewer->realize();
// correct aspect ratio
double fovy,aspectRatio,z1,z2;
_viewer->getCamera()->getProjectionMatrixAsPerspective(fovy,aspectRatio,z1,z2);
aspectRatio=double(traits->width)/double(traits->height);
_viewer->getCamera()->setProjectionMatrixAsPerspective(fovy,aspectRatio,z1,z2);
I'd like to update the osgviewerMFC sample app. How would I go about
doing this?
Cory
Cory Riddell wrote:
Moji the Great-
I added the code you suggest to my code (and to osgviewerMFC) and it
doesn't do anything.
Is there something you have to do after setting the new aspect ratio to
have it take effect? I was playing around and it didn't seem to matter
what number I plugged in for the aspect ratio, my view always looked
the same.
Cory
Mojtaba Fathi wrote:
Hi
I had the same problem, and I found a solution (but can't remember
where I found it). It's like this:
// Realize the Viewer
_viewer->realize();
// correct aspect ratio
double fovy,aspectRatio,z1,z2;
camera->getProjectionMatrixAsPerspective(fovy,aspectRatio,z1,z2);
aspectRatio=double(traits->width)/double(traits->height);
camera->setProjectionMatrixAsPerspective(fovy,aspectRatio,z1,z2);
Regards
Moji the Great
--- On Wed, 2/11/09, Cory Riddell <c...@codeware.com>
wrote:
From:
Cory Riddell <c...@codeware.com>
Subject: Re: [osg-users] forcing a square aspect ratio
To: "OpenSceneGraph Users" <osg-users@lists.openscenegraph.org>
Date: Wednesday, February 11, 2009, 12:18 AM
FWIW, I've attached a screen shot
of
what should be a square. The
Drawable code was taken from the quickstart guide and the vertices are:
v->push_back(osg::Vec3(-1.f, 0.f, -1.f));
v->push_back(osg::Vec3(1.f, 0.f, -1.f));
v->push_back(osg::Vec3(1.f, 0.f, 1.f));
v->push_back(osg::Vec3(-1.f, 0.f, 1.f));
Any ideas?
Cory Riddell wrote:
I've been playing with osgviewerMFC and I've noticed that when I open an osg file (like cow.osg), the rendering is "stretched" to fit the aspect ratio of the containing window. For example, if I resize the app to be wide then open the cow, I get a very long cow. If I make the window short and tall then open the cow, I get a very compressed cow. Resizing the window does resize the cow, but the aspect ratio doesn't change.
osgviewerQT doesn't have this problem but I don't see what's different.
What controls the aspect ratio of the rendering?
BTW, my cow.osg is from 2.6. Has the osg file format changed?
Cory _______________________________________________ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
_______________________________________________ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
|
_______________________________________________ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
_______________________________________________ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
_______________________________________________ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
|