zoukankan      html  css  js  c++  java
  • osg绘制圆柱体

    osg绘制圆柱体

    #include <iostream>
    #include <osgViewer/Viewer>
    #include <osg/Node>
    
    //#include <osgDB/ReadFile>
    //#include <osgDB/WriteFile>
    
    #include <osgUtilOptimizer>
    #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.8f;
    
        //精细度
        osg::TessellationHints* hints1 = new osg::TessellationHints();
        //设置精细度
        hints1->setDetailRatio(0.8f);
    
        //创建圆柱体
        osg::Cylinder *cylinder = new osg::Cylinder(osg::Vec3(0.0f, 0.0f, 0.0f), radius, height);
        osg::ShapeDrawable *draw1 = new osg::ShapeDrawable(cylinder, 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;
    }

    ##################3

    QQ 3087438119
  • 相关阅读:
    Linux学习之路3-HelloWorld
    Linux学习之路2-linux系统烧写
    Linux学习之路1
    linux常用命令总结
    禅道配置发邮件功能
    SHELVE模块
    PICKLE模块
    JSON_dump和load
    json.dumps和loads方法
    模块调用
  • 原文地址:https://www.cnblogs.com/herd/p/15124264.html
Copyright © 2011-2022 走看看