osg 改变obj模型的方向

复制代码
// // OpenSceneGraph Quick Start Guide // http://www.lulu.com/content/767629
// http://www.openscenegraph.com/osgwiki/pmwiki.php/Documentation/QuickStartGuide
//

// State Example, Modifying state attributes and modes

#include <osg/Group> // 组节点
#include <osg/MatrixTransform>  // 矩阵变换
#include <osg/Geode> // 叶节点
#include <osg/Geometry> // 几何信息
#include <osg/StateSet> // 状态设置
#include <osg/StateAttribute> // 状态属性
#include <osg/ShadeModel> // 着色模型
#include <osg/CullFace>  // 剔除多边形面
#include <osg/PolygonMode> // 多边形模型
#include <osg/LineWidth>  // 线宽


#include <osg/ref_ptr>
#include <osgDB/Registry> // 注册表
#include <osgDB/WriteFile>
#include <osgDB/ReadFile>
#include <osg/Notify> // 通知
#include <osgViewer/Viewer>
#include <iostream>

int
main()
{

    osg::ref_ptr<osgViewer::Viewer> viewer = new osgViewer::Viewer;
    osg::Node *pan = osgDB::readNodeFile("panxing.obj");
    // 创建旋转矩阵,并把导弹作为旋转矩阵的孩子
    osg::MatrixTransform* rotateMT = new osg::MatrixTransform;
    rotateMT->setMatrix(
                osg::Matrix::rotate(osg::inDegrees(90.0f),0.f,0.f,1.f)); // 沿着x轴顺时针旋转90度
    rotateMT->addChild(pan);


    std::string out( "panxing.obj" ); //保存
    if ( !(osgDB::writeNodeFile( *(rotateMT), out )) )
    {
        osg::notify(osg::FATAL) << "Failed in osgDB::writeNodeFile()." ;
        return 1;
    }

    osg::ref_ptr<osg::Group> root = new osg::Group;
    root->addChild(osgDB::readNodeFile("panxing.obj"));

    viewer->setSceneData(root);
    return viewer->run();
}
复制代码
复制代码
#CMakeLists.txt
cmake_minimum_required(VERSION 3.5) project(osg27 LANGUAGES CXX) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) find_package(QT NAMES Qt5 COMPONENTS Widgets REQUIRED) find_package(Qt5 COMPONENTS REQUIRED Widgets Xml Test) add_executable(${PROJECT_NAME} main.cpp) target_link_libraries(${PROJECT_NAME} Qt5::Widgets osgDB osgViewer osg )
复制代码

 

posted @   雾枫  阅读(84)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
历史上的今天:
2022-10-23 qt 查看控件类型
2022-10-23 Qt获取QObject对应的类名并把它转为真实类型
点击右上角即可分享
微信分享提示