osg繪製立方體
阿新 • • 發佈:2021-08-10
osg繪製立方體
#include <iostream> #include <osgViewer/Viewer> #include <osg/Node> //#include <osgDB/ReadFile> //#include <osgDB/WriteFile> #include <osgUtil\Optimizer> #include <osg/Geode> #include <osg/Group> #include <osg/ShapeDrawable> //繪製幾何體 osg::Geode* createShpe() {// osg::Geode *geode = new osg::Geode(); //半徑 float radius = 0.8f; //高度 float height = 1.6f; //精細度 osg::TessellationHints* hints1 = new osg::TessellationHints(); //設定精細度 hints1->setDetailRatio(0.5f); //建立正方體 osg::Box *box = new osg::Box(osg::Vec3(2.0f, 0.0f, 0.0f), 2 * radius); osg::ShapeDrawable*draw1 = new osg::ShapeDrawable(box, hints1); geode->addDrawable(draw1); return geode; } int main() { osgViewer::Viewer *viewer1 = new osgViewer::Viewer(); osg::Group *root = new osg::Group(); root->addChild(createShpe()); osgUtil::Optimizer optimizer1; optimizer1.optimize(root); viewer1->setUpViewInWindow(200, 200, 500, 500, 0); //viewer1->addEventHandler(new osgViewer::GraphicsWindow::resized(0,0,640,480)); viewer1->setSceneData(root); viewer1->realize(); viewer1->run(); return 0; }
##############
QQ 3087438119