- 2024-09-28项目实战:Qt+OSG爆破动力学仿真三维引擎测试工具v1.1.0(加载.K模型,子弹轨迹模拟动画,支持windows、linux、国产麒麟系统)
若该文为原创文章,转载请注明出处本文章博客地址:https://hpzwl.blog.csdn.net/article/details/142454993长沙红胖子Qt(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…Qt开发专栏:项目实战
- 2024-09-24项目实战:Qt+OSG爆破动力学仿真三维引擎测试工具v1.1.0(加载.K模型,子弹轨迹模拟动画,支持windows、linux、国产麒麟系统)
需求 1.使用osg三维引擎进行动力学模型仿真性能测试; 2.打开动力学仿真模型文件,.k后缀的模型文件,测试加载解析过程; 3.解决第三方company的opengl制作的三维引擎,绘制面较多与弹丸路径模拟较卡顿的问题; 4.测试时,使用的模型为公开模型,基础面数量达到160多万个; 5.测
- 2024-09-18OSG开发笔记(三十):OSG加载动力学仿真K模型文件以及测试Demo
前言 Osg需要打开模型文件,但是遇到显示动力学仿真的K模型文件,.k文件是一种描述材料属性的文件,比如密度、弹性模量等,该模型文件不是常规中间开放格式,无法直接支持,需要自定义解析并且重建三维模型。<br>Demo 实际非常流程,因为视频转gif导致部分看起来不行: <
- 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通用模型,但是定制模型