Hi,

try this modified code and compare with the unchanged example. You can 
use ABSOLUTE_RF as well, you will just need to rotate the matrix for the 
viewer's default camera. Or change the default camera to be in your 
coord system.

 From the transform callback you can see that the default view direction 
of the camera is aligned with the y-axis.

transform->setMatrix(osg::Matrix::translate(0.0f,1.0f+cosf(time*_angular_velocity),0.0f));

Therefore, the flat geometry will be drawn in the x-z plane (as you can 
see from the example's geom).

You can use the 3rd coordinate of your geometry to place different 
things at different ranges (layers) from the camera.

cheers
jp

int main(int, char **)
{
     // create the model
     osg::ref_ptr<osg::MatrixTransform> modelview_abs = new 
osg::MatrixTransform();
     //modelview_abs->setReferenceFrame(osg::Transform::ABSOLUTE_RF);
     modelview_abs->setMatrix(osg::Matrix::identity());

     osg::ref_ptr<osg::Projection> projection = new osg::Projection();
     projection->setMatrix(osg::Matrix::ortho2D(-2,2,-2, 2));

     projection->addChild(modelview_abs.get());

     modelview_abs->addChild(createScene());
     modelview_abs->addChild( createBackground() );

/*
     osg::Group* root = new osg::Group;
     root->addChild( createScene() );
     root->addChild( createBackground() );
*/
     //osgDB::writeNodeFile(*root,"geoemtry.osg");

     osgViewer::Viewer viewer;

     // add model to viewer.
     //viewer.setSceneData( root );
     viewer.setSceneData( projection.get() );

     return viewer.run();
}

Peter DeSantis wrote:
> Hello,
>  
> im sorry to keep asking for help but im totaly stuck on trying to draw 
> prmitive geometry to a 2D ortho screen in OSG.
>  
> Ive been experimenting with both the OSGhud and OSG geometry examples an 
> i have just ended up with a huge mess, with no visible results.
>  
>  
> I have taken the OSG geometry example and i can compile and run it fine 
> and see the lines and polygons.  I have then converted the viewer camera 
> to a 2Dorth projection matrix, but in doing so i get no geomtry visible. 
> In addition it seems the gemoetry example is still rendering the geomtry 
> in 3d space with Vec3 required for the vertex points,
> but in the native opengl examples i have seen on the net they use Vec2 
> for simple X,Y.
>  
> this is the original main code from the OSG geometry example
>  
> 
> int main(int, char **)
> 
> {
> 
> // create the model
> 
> osg::Group* root = new osg::Group;
> 
> root->addChild( createScene() );
> 
> root->addChild( createBackground() );
> 
> //osgDB::writeNodeFile(*root,"geoemtry.osg");
> 
> osgViewer::Viewer viewer;
> 
> // add model to viewer.
> 
> viewer.setSceneData( root );
> 
> return viewer.run();
> 
> }
> 
>  
> 
> can any help me by showing how the viewer camera can be set to 2D orth, 
> no quad, no background,so that one can still see the geometry rendered 
> on screen.
> 
>  
> 
> Everytime i set it to 2D ortho no geometry is ever visible.
> 
>  
> 
>  
> 
> Any help appreciated, im tearing my hair out, and have no idea what to 
> try next.
> 
>  
>  
>  
> Thanks
> 
> Peter DeSantis
> [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
> Jumbo Vision International Pty Ltd
> Unit 2 ,1 Aitken Way
> Kewdale WA 6105
> Australia
> 
> Tel: 61 8 9353 6200
> Fax: 61 8 9353 6211
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> osg-users mailing list
> [email protected]
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

-- 
This message is subject to the CSIR's copyright terms and conditions, e-mail 
legal notice, and implemented Open Document Format (ODF) standard. 
The full disclaimer details can be found at 
http://www.csir.co.za/disclaimer.html.

This message has been scanned for viruses and dangerous content by MailScanner, 
and is believed to be clean.  MailScanner thanks Transtec Computers for their 
support.

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

Reply via email to