[osg-users] Moving from Producer to osgViewer
Gordon Tomlinson
gordon.tomlinson at sensor.com
Fri Jul 25 05:20:35 PDT 2008
Have you tried ?
It took us not more than a couple days to move away form producer in our
apps
Some things a little different and you pick up those up quickly when you
convert
-----Original Message-----
From: osg-users-bounces at lists.openscenegraph.org
[mailto:osg-users-bounces at lists.openscenegraph.org] On Behalf Of Bruno
Carneiro de Castro
Sent: Friday, July 25, 2008 7:40 AM
To: osg-users at lists.openscenegraph.org
Subject: [osg-users] Moving from Producer to osgViewer
Hi all
I'm moving an app from Producer to osgViewer and have doubts about the
equivalence between some Producer methods vs. osgViewer methods.
May you help me, indicating the methods more suitable to change in the
Producer code fragment below, in order to get it working under osgViewer?
Thanks,
Bruno
-----------------------------
//variables (just to contextualize)
osgProducer::Viewer* viewer_obj;
Producer::Camera *camera_obj;
int x, y, width, height;
double d_left, d_right, d_bottom, d_top, d_nearClip, d_farClip, d_xshear,
d_yshear;
float f_near, f_far, f_hfov, f_vfov;
osg::Matrix matrix;
osg::Matrixd matrixd;
std::string name = "My Camera";
osg::Group* hud;
//methods that need conversion
viewer_obj->getGlobalStateSet()->setMode( GL_FOG,
osg::StateAttribute::OVERRIDE|osg::StateAttribute::ON );
camera_obj->getLensParams(d_left, d_right, d_bottom, d_top, d_nearClip,
d_farClip, d_xshear, d_yshear);
camera_obj->setLensFrustum( d_left, d_right, d_bottom, d_top, d_near, d_far,
d_xshear, d_yshear );
viewer_obj->getCameraConfig()->addCamera( name, camera_obj );
camera_obj->setProjectionRectangle ( x, y, width, height );
camera_obj->setLensAutoAspect(true);
camera_obj->setLensPerspective( f_hfov, f_vfov, f_near, f_far );
camera_obj = viewer_obj->getCameraConfig()-> findCamera( name.c_str() );
camera_obj->setOffset( matrix.ptr() );
viewer_obj->setSceneDecorator( hud );
viewer_obj->setViewByMatrix( Producer::Matrix( matrixd.ptr() ) );
viewer_obj->update();
camera_obj->frame( false );
osgDB::Registry::instance()->getOrCreateDatabasePager()-
>setUseFrameBlock(true);
for(SceneHandlerList::iterator itr = viewer_obj->_shvec.begin(); itr !=
viewer_obj->_shvec.end(); ++itr) {
osgDB::Registry::instance()->getOrCreateDatabasePager()->
setCompileGLObjectsForContextID(
(*itr)->getSceneView()->getState()->getContextID(), false ); }
_______________________________________________
osg-users mailing list
osg-users at lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
More information about the osg-users
mailing list