首页 > 其他分享 >osg 改变obj模型的方向

osg 改变obj模型的方向

时间:2023-10-23 19:44:44浏览次数:34  
标签:obj panxing 模型 osg rotateMT include osgDB

// // 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 )

 

标签:obj,panxing,模型,osg,rotateMT,include,osgDB
From: https://www.cnblogs.com/RedWetPlace/p/17783301.html

相关文章

  • 8.Transformer模型
    1-Transformer模型是什么Transformer模型是一个基于多头自注意力的序列到序列模型(seq2seqmodel),整个网络结构可以分为编码器(encoder)和解码器(decoder)两部分。seq2seq模型输出序列的长度是不确定的。我们输入一个sequence后,先由encoder负责处理,再把处理好的结果输入到decoder中......
  • diffusion扩散模型\datawhale组队学习——v3先运行一半
    今天我们一起学习如何对模型微调和引导。微调,用原模型,跑新数据,得到新输出。引导,引导生成过程,改变输出结果。 作者之前用过sd模型,不同的采样方法在不同的采样步数下有不同的效果。首先采样步数并非越高越好或越低越好,有一个最佳使用区间,其次,不同采样方法有自己不同的最佳采样......
  • 启动Nginx报错:error while loading shared libraries: libpcre.so.0: cannot open sha
    1.现象:输入:/usr/local/nginx/sbin/nginx报错:/usr/local/nginx/sbin/nginx:errorwhileloadingsharedlibraries:libprofiler.so.0:cannotopensharedobjectfile:Nosuchfileordirectory2.错误原因:缺少libpcre.so.0,3.进一步查看:输入:ldd$(which/usr/......
  • langchain中的LLM模型使用介绍
    简介构建在大语言模型基础上的应用通常有两种,第一种叫做textcompletion,也就是一问一答的模式,输入是text,输出也是text。这种模型下应用并不会记忆之前的问题内容,每一个问题都是最新的。通常用来做知识库。还有一种是类似聊天机器人这种会话模式,也叫Chatmodels。这种模式下输入是......
  • 倾斜摄影三维模型根节点合并技术方法探讨
    倾斜摄影三维模型根节点合并技术方法探讨 倾斜摄影技术是一种通过无人机或其他航空器采集大量高分辨率照片,并使用特殊软件将这些照片拼接成三维模型的方法。在这个过程中,摄影机以倾斜角度拍摄照片,从而捕捉到目标物体的多个视角,从而实现更精细和真实的建模效果。在创建倾斜摄......
  • 昇腾CANN 7.0 黑科技:大模型训练性能优化之道
    本文分享自华为云社区《昇腾CANN7.0黑科技:大模型训练性能优化之道》,作者:昇腾CANN。目前,大模型凭借超强的学习能力,已经在搜索、推荐、智能交互、AIGC、生产流程变革、产业提效等场景表现出巨大的潜力。大模型经过海量数据的预训练,通常具有良好的通用性和泛化性。用户基于“大......
  • 综述推荐:视觉计算中的扩散模型
    StateoftheArtonDiffusionModelsforVisualComputinghttps://arxiv.org/pdf/2310.07204v1.pdf视觉计算(VisualComputing)领域,正因生成式人工智能(AI)的出现而快速发展,这为图像、视频和3D场景的生成、编辑和重建打开了前所未有的能力。这些领域中,扩散模型是生成式人工智能架构......
  • 大模型:机器学习的崭新时代
    原创|文BFT机器人在机器学习领域,随着计算能力和数据规模的不断增长,大模型成为一种引人注目的技术。这些具有大规模参数和参数量的机器学习模型正在改变着我们对于人工智能的认识,大模型的出现使得机器学习模型能够处理更复杂的任务,取得更准确和复杂的预测结果。PART01大模型的概......
  • Objective-C内存管理机制概述
    Objective-C管理的是分配在堆上的NSObject对象的内存,对其他非对象的C语言数据类型(int、char、float、double、struct、enum等)无效。有以下3种方式:手工引用计数和自动释放池(MRC,ManualReferenceCounting),又称手动保留释放(MRR,ManualRetain-Release)垃圾收集(GC,GarbageCollecti......
  • qemu和vscode调试uboot及设备模型数据流分析
    一,前言对于通用的流程,我需要形成闭环的代码理解,验证我理解的准确性。于是我选择用调试的方法来看数据流,用qemu来仿真,vsocde来调试,但是不能仿真am335。所以用了qemu支持仿真的v9。二,过程记录1,编译ubootmakeARCH=armCROSS_COMPILE=arm-linux-gnueabihf-distcleanrm-rf./v9make......