Advertisement
poljak181

OSG AutoTransform problem

Aug 23rd, 2015
196
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.19 KB | None | 0 0
  1. #include <osg/MatrixTransform>
  2. #include <osg/Texture2D>
  3. #include <osg/Geode>
  4. #include <osg/AutoTransform>
  5.  
  6. #include <osgDB/ReadFile>
  7.  
  8. #include <osgViewer/Viewer>
  9.  
  10. int main(int argc, char **argv)
  11. {
  12.     osg::AutoTransform *at = new osg::AutoTransform;
  13.     at->setAutoScaleToScreen(true);
  14.     at->setAutoRotateMode( osg::AutoTransform::ROTATE_TO_SCREEN );
  15.  
  16.     osg::Vec3Array* verts = new osg::Vec3Array(4);
  17.     (*verts)[0] = osg::Vec3(-4.0f,  0.0f, 0.0f);
  18.     (*verts)[1] = osg::Vec3( 4.0f,  0.0f, 0.0f);
  19.     (*verts)[2] = osg::Vec3( 0.0f,  4.0f, 0.0f);
  20.     (*verts)[3] = osg::Vec3( 0.0f, -4.0f, 0.0f);
  21.  
  22.     osg::Vec4Array* colors = new osg::Vec4Array(1);
  23.     (*colors)[0].set(0, 1, 1, 1);
  24.  
  25.     osg::Geometry* geometry = new osg::Geometry;
  26.     geometry->setVertexArray( verts );
  27.     geometry->setColorArray( colors );
  28.     geometry->setColorBinding( osg::Geometry::BIND_OVERALL );
  29.     geometry->addPrimitiveSet( new osg::DrawArrays(GL_LINES, 0, 4));
  30.  
  31.     osg::Geode* geode = new osg::Geode;
  32.     geode->addDrawable(geometry);
  33.  
  34.     at->addChild(geode);
  35.  
  36.     osgViewer::Viewer viewer;
  37.     viewer.setUpViewInWindow(0, 0, 640, 480);
  38.     viewer.setSceneData(at);
  39.  
  40.     return viewer.run();
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement