Osg
  • 2024-09-01使用OpenSceneGraph(OSG)库将osg模型转为obj格式
    使用osgconv将多个osgb转为obj在百度上搜索.osgb格式转.obj格式,往往需要使用付费软件;而OSG库自带的osgconv.exe其实就具备三维模型格式转换的功能,以多个osgb文件合并为一个obj文件为例,仅需要运行下面格式的命令:osgconv-OOutputTextureFilesOSGB文件1OSGB文件2OSGB文
  • 2024-08-27osg与IFC(BIM)
    IFC(BIM)BIM管理中使用的模型格式:IFC IFC简介IFC模型体系结构由四个层次构成,从下到上依次是资源层(ResourceLayer)、核心层(CoreLayer)、交互层(InteroperabilityLayer)、领域层(DomainLayer)。每层中都包含一系列的信息描述模块,并且遵守一个规则:每个层次只能引用同
  • 2024-08-21三维几何生成:多段线、圆弧
    一、三维空间多段线几何1应用背景​​  opengl常用glLineWidth命令设置线宽,此线宽在透视投影中不会随着相机远近变化而缩放。项目中高版本glLineWidth命令失效,需要考虑如何快速、方便、宽度不变的多段线几何。方案a:纯shader绘制曲线,绘制到一个二维平面上,然后将平面旋转朝向屏
  • 2024-08-14osg,objectarx及occt之间矩阵的转换
    osg的矩阵表达形式为osg::MatrixObjectArx的矩阵表达式为AcGeMatrix3docct的矩阵表达式分gp_Trsf及支持变形的gp_GTrsf osg矩阵转化为ObjectArxosg::MatrixmVPW;TcGeMatrix3dmatrix;for(inti=0;i<4;++i){for(intj=0;j<4;++j){matr
  • 2024-08-12最长的一帧学习(待补)
    文章目录一、osgViewer::ViewerBase::frame()1.osgViewer::View::init()2.osgViewer::Viewer::realize(),窗口和场景的“设置”工作part1GraphicsContextpart1.1通过阅读osgViewer::View::setUpViewInWindow()了解osg最基础的操作part2DisplaySettingspart3遍历
  • 2024-08-062024河南省大学生电子设计竞赛A题:AC-AC变换电路并联运行(代码工程+原理图+PCB+设计报告)经验分享
    1.电赛题目2.题目需求分析在题目中需要注意以下几个关键点:1.要求电路的拓扑结构为AC-AC直接变换电路,不得使用AC-DC-AC,-------- 应该是主要针对的背靠背电路。 AC-AC电路拓扑较少见,详细可以参照《AC-AC变换技术》-----陈道练。2.系统的供电也从AC36V输入获取
  • 2024-07-12Windows下,在Qt中使用OSG
    安装直接用vcpkg安装vcpkginstallosg:x64-windows这样可能会报错:error:whileloadingD:\vcpkg\ports\netcdf-c\vcpkg.json:$.default-features[1]:mismatchedtype:expectedanidentifier这个问题有人遇到,并且在github上提出了:【[netcdf-c]buildfailure#38449
  • 2024-07-09渲染引擎实践 - OSG引擎窗口创建过程
    目录一:概述二: OSG中创建窗口用到了哪些类?三:OSG图形窗口建立过程(上面类之间的调用关系):一:概述       一个3D应用程序,要想显示渲染结果,首先要创建一个图形窗口,本节就分析下OSG源码中窗口创建的过程。二: OSG中创建窗口用到了哪些类?      1.Graph
  • 2024-07-04osg使用整理(12):SSAO屏幕空间环境光遮蔽
    一、基础概念1、SSAO:通过将褶皱、孔洞和非常靠近墙面变暗的方法,近似模拟间接光照。SSAO称为屏幕空间环境光遮蔽,使用屏幕空间场景的深度而不是真实的几何体数据来确定遮蔽量,速度快效果好。2、实现原理:根据物体表面法线方向生成一个半球随机深度采样,主要看物体周围深度值大小,通
  • 2024-06-03osg使用整理(11):延迟渲染
    osg使用整理(11):延迟渲染一、基础概念前向渲染流程:顶点着色器->图元装配成点线三角形->几何着色器->裁剪剔除->光栅化(片元着色器)->透明度测试、深度测试。延迟渲染流程:顶点着色器->图元装配成点线三角形->几何着色器->裁剪剔除->光栅化输出G-Buffer,存储每个像素的属性信息(位
  • 2024-04-08osg 标准视图、前视图、侧视图、顶视图切换
      #include<osg/Node>#include<osg/Geode>#include<osg/ShapeDrawable>#include<osgViewer/Viewer>#include<osgGA/GUIEventHandler>//自定义的视图切换事件处理器classViewSwitchHandler:publicosgGA::GUIEventHandler{public:V
  • 2024-03-26[AI][osg]关于osg的options的设计模式
    Options说明OSG(OpenSceneGraph)是一个高性能的开源3D图形工具包,用于可视化仿真、游戏、虚拟现实、科学可视化等领域。它提供了一套丰富的API和工具,帮助开发者创建复杂的3D场景和应用程序。在OSG中,Options机制用于控制场景图读取过程中的各种参数和行为。通过Options,开发者可以指
  • 2024-02-23OpenSceneGraph环境搭建
    OpenSceneGraph开发环境搭建环境说明windows10visualstudio2019qt5.15预编译库与资源这是最省事的方式,本人懒得走cmake编译那套,而且有现成的为何不用,省点时间研究OSG不香吗?下载预编译库,点此进入,可看到如下页面,点击StableReleasesStableReleases页面如下:
  • 2024-02-07osg qt场景中节点去除透明
     osgqt场景中节点的透明属性消除 {osg::ref_ptr<osg::StateSet>stateState=north_wall_geode->getOrCreateStateSet();stateState->setMode(GL_BLEND,osg::StateAttribute::ON);stateState->setMode(GL_DEPTH_TEST,osg::StateAttribute::ON);
  • 2024-01-27OpenSceneGraph (OSG)
    OpenSceneGraph(OSG)是一个开源的三维引擎,广泛应用于多个领域,如可视化仿真、游戏、虚拟现实、科学计算、三维重建、地理信息、太空探索、石油矿产等。它由标准C++和OpenGL编写而成OpenGL(英语:OpenGraphicsLibrary,译名:开放图形库或者“开放式图形库”)是用于渲染2D、3D矢量图形
  • 2024-01-24osg给节点添加材质
      osg给节点添加材质 #include<osg/Material>#include<osg/Geode>#include<osgDB/ReadFile>#include<osgViewer/Viewer>intmain(){//创建一个场景节点osg::ref_ptr<osg::Node>root=newosg::Geode();//创建一个模型节点,这里读取一个模型文
  • 2024-01-20基于物理的渲染(3):OSG中PBR实践
    1.1单光源直接光照voidmain(){ //创建小球几何 osg::ref_ptr<osg::ShapeDrawable>sphere=newosg::ShapeDrawable; sphere->setShape(newosg::Sphere(osg::Vec3(0,0,0),radius)); sphere->setColor(osg::Vec4(col)); //创建小球节点 osg::ref_ptr<osg::Geode>pbr
  • 2024-01-18osg设置材质
      #include<osg/Material>#include<osg/Geode>#include<osgDB/ReadFile>#include<osgViewer/Viewer>intmain(){//创建一个场景节点osg::ref_ptr<osg::Node>root=newosg::Geode();//创建一个模型节点,这里读取一个模型文件作为场景节点下的子
  • 2023-12-31osg添加光源
    osg添加光源 #include<osg/Light>#include<osg/LightSource>#include<osg/Node>#include<osg/Geode>#include<osgDB/ReadFile>#include<osgViewer/Viewer>intmain(){//创建一个场景节点osg::ref_ptr<osg::Node>root=ne
  • 2023-11-21osg 设置显示窗口大小
    viewer->realize();//需要realize,否则窗口为nullosgViewer::GraphicsWindow*pWnd=dynamic_cast<osgViewer::GraphicsWindow*>(viewer->getCamera()->getGraphicsContext());if(pWnd){pWnd->set
  • 2023-10-29osg 使用整理 (9):文本渲染
    osg使用整理(9):文本渲染1FreeType文本渲染​ FreeType用于加载TrueType字体并渲染到位图的库。TrueType字体通过数学公式表示的曲线来描述字体轮廓。类似于矢量图像,这些光栅化后的字体图像可以根据需要的字体高度来生成。FreeType所做的事就是加载TrueType字体并为每一个字形生
  • 2023-10-27OSG开发笔记(二十九):OSG加载模型文件、加载3DMax三维型文件Demo
    前言  Osg深入之后需要打开模型文件,这些模型文件是已有的模型文件,加载入osg之后可以在常见中展示模型文件,该节点可以操作,多个逼真的模型的节点就实现了基本的场景构建。<br>Demo  <br>说明  三维模型文件一般是由专业的三维建模人员完成,可以去buy通用模型,但是定制模型
  • 2023-10-23osg 改变obj模型的方向
    ////OpenSceneGraphQuickStartGuide//http://www.lulu.com/content/767629//http://www.openscenegraph.com/osgwiki/pmwiki.php/Documentation/QuickStartGuide////StateExample,Modifyingstateattributesandmodes#include<osg/Group>//组节点#i
  • 2023-10-20麒麟系统开发笔记(十三):在国产麒麟系统上编译OSG库、搭建基础开发环境和移植测试Demo
    前言  在国产麒麟系统上实现C++三维仿真,使用OSG技术,其他基于web的技术也是可以但是交互上鼠标拽托等交互相对差一些,所以这块需要斟酌选择到底是何种技术来取舍。  本篇在厂家指定的麒麟系统上编译OSG。 环境系统版本:银河麒麟桌面操作系统V10(SP1)(注意:不对外提供)
  • 2023-10-17OSG嵌入QT的简明总结2
    正文我之前在这篇博文《OSG嵌入QT的简明总结》中论述了OSG在QT中显示的可视化问题。其中提到官方提供的osgQt项目(地址:https://github.com/openscenegraph/osgQt)很久前已经更新了。但是我一直没有时间同步更新,最近重新尝试了一下,还是有一些问题。原先的osgQt版本是兼容Qt4的QGLW