OSG
文章平均质量分 59
WALL-EC
这个作者很懒,什么都没留下…
展开
-
无法定位程序输入点…于动态链接库…的解决方法
应该是去掉无用的osgEarth的动态库。这里把变量D:\OsgEarth3.2\bin和D:\OsgEarth3.2\OpenSceneGraphic\bin都去掉,重启VS2019-项目。果然可以正常运行了。使用的动态库问题,具体就是电脑里有几个不同版本的osgEarth的动态库。程序使用的是绿框所示的D:\OSGCore\OSGEarth\bin。但还有一个红框所示的D:\OsgEarth3.2\bin。原创 2024-07-04 09:32:10 · 1476 阅读 · 0 评论 -
0x00007FF8DC013526(ntdll.dll) 处(位于XXX.exe中) 引发的异常 osg 0xC0000005: 读取位置 0xFFFFFFFFFFFFFFFF时发生访问
“0x00007FF8DC013526(ntdll.dll) 处(位于XXX.exe中) 引发的异常 osg 0xC0000005: 读取位置 0xFFFFFFFFFFFFFFFF时发生访问”问题的解决方法原创 2022-11-02 06:39:48 · 9938 阅读 · 1 评论 -
【问题已解决】OsgEarth_Viewer命令出现“无法定位程序输入点XXX于动态链接库XXX\osgdb_earth.dll上”问题解析
OsgEarth_Viewer命令出现“无法定位程序输入点XXX于动态链接库XXX\osgdb_earth.dll上”问题解析原创 2022-07-30 11:39:29 · 1710 阅读 · 0 评论 -
OSGEarth测试中的错误:GL.h中报WINGDIAPI错误
OSGEarth测试中的错误:GL.h中报WINGDIAPI错误的解决方法原创 2022-07-10 21:41:07 · 1051 阅读 · 2 评论 -
OSG+VC中实现飞行尾迹透明度渐变
在osg+VC++环境中实现飞行尾迹的透明图渐变的问题分析原创 2022-02-23 10:32:07 · 1098 阅读 · 0 评论 -
OSG+VC++实现颜色渐变
#include <osg/Notify>#include <osg/MatrixTransform>#include <osg/PositionAttitudeTransform>#include <osg/Geometry>#include <osg/Geode>#include <osgUtil/Optimizer>#include <osgDB/Registry>#include <...原创 2022-02-23 09:58:30 · 1424 阅读 · 0 评论 -
osg依赖项配置异常导致ffmpge插件异常的问题
最近需要用到ffmpeg插件,从杨总的博客:https://freesouth.blog.csdn.net/article/details/118470222获取了包含ffmpeg插件编译所需的资料,基本配置是:VS2015+osg3.6.5+3rdpartyVs2015x86经过编译,得到包含ffmpeg库文件的osg编译库。编译完成后,进行测试。运行其他osg程序都没有问题,都能正常显示三维模型,但运行ffmpeg测试程序时却总是在osgDB::Registry::instance.原创 2021-08-09 09:16:18 · 361 阅读 · 0 评论 -
OSG中osg::ref_ptr对象析构异常的问题及解决方法
如上图所示,在OSG+MFC的配置下,程序能够正常加载场景,但是在关闭窗口时,会弹出上述的异常界面,并且程序光标定位于下图的位置,初步判断是osg::ref_ptr对象析构时存在异常。关于OSG中osg::ref_ptr对象,有如下说明:osg对象树是建立在osg::Referenced基类上的,即引用计数,库内绝大部分指针都使用osg::ref_ptr或osg::observer_ptr,在引用计数为0时会自动释放内存,属于有new就要delete的特例(其实只是库帮你做了)。所以...原创 2021-05-18 08:56:02 · 980 阅读 · 2 评论 -
0x7B75F9A3(osg158-osgGAd.dll)处(位于OsgMFC.exe)引发的异常及解决方法
如上图所示,在OSG+MFC的运行环境中,当加载模型时,编译时会弹出上述错误提示;经过查找资料,发现出现上述类似错误一般都是项目中依赖项的配置不正确引起的。具体配置如下:首先确定配置模式是Release模式还是Debug模式,Release模式下的配置项如下:osgViewer.lib;osgUtil.lib;osgText.lib;osgTerrain.lib;osgSim.lib;osgShadow.lib;osgParticle.lib;osgManipulator....原创 2021-05-17 08:53:07 · 495 阅读 · 2 评论 -
osgviewerMFC 窗口显示无法满屏(画面在右上角)
如下图所示:如上图所示,OsgMFC运行出来是这样,整个画面在右上角,左侧和下侧黑显?感觉超级不舒服。经过调试发现,就在这两行代码处,极有可能是函数createGraphicsContext(traits.get());内部把traits的值给改变了。//create the graphics Contextosg::GraphicsContext::createGraphicsContext(traits.get());//Init Master Camera for this .原创 2021-05-13 21:41:11 · 590 阅读 · 0 评论 -
OSG绘制空间凹多边形以及透明效果的实现
我们知道,OSG中用来绘制多边形的绘图基元是osg::PrimitiveSet::POLYGON。但是仅仅靠这个绘图基元无法绘制出凹多边形,经过资料查找,发现了绘制凹多边形的方法和思路,不多废话,直接上代码。...原创 2021-03-26 12:11:43 · 1593 阅读 · 0 评论 -
OSG Examples(osgintersection)解析
OSG Examples(osgintersection)解析效果本例子主要是讲解在osg中怎么使用线相交(LineSegmentIntersector),来计算与地形等具有lod以及pagelod功能节点的交点。对于普通节点的相交计算使用LineSegmentIntersector就可以得到所有的交点信息,但是对于具有lod功能的节点普通的线相交计算只能计算到与当前lod等级的节点的交点信息,更高lod等级的更加精确的交点信息是得不到的。Osg为了提供类似的功能,在osgSim中定义了几种特.原创 2021-02-24 10:34:33 · 1520 阅读 · 0 评论 -
VS2015+Win10环境下GDAL的编译与安装
编译环境:VS2015+Win10GDAL版本:2.4.21 准备工作:将GDAL压缩文件解压,解压后放置在“C:\OSG”目录下,并将该文件夹名称命名为gdal修改nmake.opt文件用记事本或VS2015打开nmake.opt文件,做以下修改: 1 确认MSVC_VER=1900,(1400是指VS版本为2010,1800指VS版本为2013,1900指VS版本为2015,1910指VS版本为2017) 2 GDAL_HOME = "C:\...原创 2020-06-23 09:01:22 · 982 阅读 · 8 评论 -
OSG两个独立的相机观测
两台独立的相机观测目标在场景中创建两个视口。其中一个用于从坦克驾驶员的视角观察场景。该视口将被渲染于屏幕的上半部分。第二个视口由缺省的osgViewer::Viewer类接口(轨迹球,飞行等控制器)控制。它将被渲染于屏幕的中下部分。概述:OSG向开发人员提供了各种的抽象层次接口。前面的教程讨论的主要是一些较高层级的接口应用:例如使用Viewer类来控制视点,场原创 2020-05-22 08:50:46 · 481 阅读 · 0 评论 -
3.6.X版本的OSG无法打开osgShadow/ShadowVolume的问题
因升级需要,本人将工程环境由VS2010+OSG3.0.1升级为VS2015+OSG3.6.3。编译平台都为Wind32,在新的平台中,报出下面的错误:fatal error C1083: 无法打开包括文件:“osgShadow/ShadowVolume”: No such file or directory1、本人是在E盘对OSG进行编译的,所以对OSG编译模块进行查询。在目录:E:\OSG\OpenSceneGraph\include\osgShadow文件夹中没有找到ShadowVolume模原创 2020-05-09 19:16:06 · 487 阅读 · 0 评论 -
osg中HUD抬头显示重复投射的问题分析
在OSG场景中,采用HUD抬头显示来显示模型的运动参数,但是运行的时候发现HUD出现重复投射的现象,如图中红线框中所示。抬头显示的函数如下:// 创建HUD抬头显示文字osg::Projection* cOSG::CreateHUDText(void){ // 获取屏幕尺寸 RECT rect; int rect_width,rect_height; // Get th...原创 2020-04-30 09:56:20 · 608 阅读 · 0 评论 -
osg中位置变换节点(osg::PositionAttitudeTransform)和矩阵变换节点(osg::MatrixTransform)的区别
位置变换节点:位置变换节点(osg::PositionAttitudeTransform)是一个位置变换节点,继承自osg::Transform,主要作用是提供模型的位置变换、大小缩放、原点位置的设置以及坐标系的变换。其主要成员函数如下:void setPosition(const Vec3d &pos) //设置位置const Vec3d &getPosition...原创 2020-04-28 16:11:53 · 3501 阅读 · 1 评论 -
显卡设置导致osg中数字显示不全问题的解决方法
如图所示,在OSG中显示飞机模型的状态时,出现上图所示的异常状态,可以看到飞机信息中,有关飞机的飞行数据中数字无法正常显示,程序在另外一台电脑上显示正常,本机型号为联想天逸310-15ISK。百思不得其解之际,在论坛上求助网友,提示可能是显卡设置的问题,需要进行全局独显的设置,经过操作,问题总算解决。流程如下:1、控制面板中选择电源选项,然后点击“平衡”中的“更改计划设置”,再点击度“...原创 2020-04-22 15:45:23 · 1899 阅读 · 0 评论 -
OSG中OSG和IVE文件的关系
为了加快模型导入和显示的速度,每个视景驱动软件都有自己的二进制格式,比如Vega的FST,Vega Prime的VSB,Performer的PFB 等。 OSG里面的就是IVE,所以在我们分发应用程序的时候,可以把模型转为IVE,并把纹理打包进去(osgconv myfile.flt --compressed myfile.ive),既达到保护自己劳动成果的目的,还能提高应...原创 2020-04-01 14:09:57 · 3528 阅读 · 1 评论