1. 程式人生 > 其它 >osg繪製圓錐體

osg繪製圓錐體

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.6f; //高度 float height = 1.6f; //精細度 osg::TessellationHints* hints1 = new osg::TessellationHints(); //設定精細度 hints1->setDetailRatio(0.8f); //建立圓錐體 osg::Cone *cone = new osg::Cone(osg::Vec3(0.0f, 0.0f, 0.0f), radius, height); osg::ShapeDrawable
*draw1 = new osg::ShapeDrawable(cone, 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, 700, 500, 0); //viewer1->addEventHandler(new osgViewer::GraphicsWindow::resized(0,0,640,480)); viewer1->setSceneData(root); //viewer1->realize(); viewer1->run(); return 0; }

###################

QQ 3087438119