
osg基础技术点
文章平均质量分 60
探索、学习osg
荆楚闲人
老骥伏枥,志在千里;烈士中年,壮心不已。
展开
-
osg、OPenGL中的预编译概念
有些数据如果提前进行编译可以有效地提升效率,例如为几何体 数据创建显示列表(Display List),以及将纹理对象提前加载到纹理内存。原创 2024-08-10 10:22:15 · 166 阅读 · 0 评论 -
osgGA::PointerData结构体作用及各成员含义
【代码】osgGA::PointerData结构体作用及各成员含义。原创 2024-08-06 17:33:12 · 311 阅读 · 0 评论 -
osg相机排序规则
排序原则根据摄像机的渲染顺序而定(setRenderOrder函数的第1个参数)。设置为 PRE_RENDER级别的摄像机排序在最前,而POST_RENDER级别的摄像机排序在最后;同 一级别的摄像机根据setRenderOrder函数中传入的第2个参数设置先后顺序,排序数较小的摄像机 在前。osg在很多地方对获取到的多个相机通过通过Camera::setRenderOrder进行设置函数进行了排序设置。原创 2024-08-05 19:06:18 · 352 阅读 · 0 评论 -
LineSegmentIntersector::Intersection结构体各成员含义
osgUtil::Intersector有几个子类,如下:每个子类表示不同的求交器。所谓求交器就是判定和物体相交的类,通过这些类可以很方便的得出交点、实现拾取功能等。LineSegmentIntersector类是osgUtil::Intersector其中的一个子类,其表示线段求交器,即通过线段和三维场景中的某个物体相交,该类一般和osgUtil::IntersectionVisitor即求交访问器类一起使用,从而得出交点、实现拾取功能等。原创 2024-07-22 18:41:33 · 1056 阅读 · 0 评论 -
观察矩阵(View Matrix)、投影矩阵(Projection Matrix)、视口矩阵(Window Matrix)及VPM矩阵及它们之间的关系
而这个所谓的窗口坐标windowCoord,实际上也就是世界坐标系下的坐标值worldCoord 在指定的摄像机视口中(也就是我们的屏幕上)对应的平面位置。怎么样,不知不觉中,我 们已经实现了gluProject函数所完成的功能了,而反转这三个步骤就可以得到视口中指定位置所对应的世界坐标了(也就是gluUnProject的工作)。V表示摄像机的观察矩阵(因此Camera 类也专门提供了。原创 2024-07-06 12:31:36 · 1068 阅读 · 0 评论 -
osg::Stats类用法及该类源码剖析
Stats是英文单词statistics的简写。顾名思义,就知道osg::Stats是osg中用来统计某些信息的类,如:帧率等,在osg中很多地方用到该类统计某些信息,如下代码是摘自osg的如下代码是摘自osg的本博文讲述osg::Stats类用法及对其实现进行源码剖析。原创 2024-06-24 18:06:07 · 231 阅读 · 0 评论 -
osg中使用public virtual实现虚基类继承的原因及作用
public virtual表示公有虚继承,其有何作用?原创 2024-06-16 10:56:26 · 275 阅读 · 0 评论 -
ViewerBase类的_startRenderingBarrier、_endRenderingDispatchBarrier、_endDynamicDrawBlock作用
ViewerBase::_endRenderingDispatchBarrier:渲染结束的一个栅栏标志,用于同步结束所。ViewerBase::_startRenderingBarrier:可以理解为渲染启动的一个栅栏标志,用于同步开。ViewerBase::_endDynamicDrawBlock:用于同步结束所有的动态对象绘制操作,这里所。谓的动态对象,指得是使用Object::setDataVariance 设置为DYNAMIC 的场景对象。始所有的图形设备的线程操作。有的图形设备的线程操作。原创 2024-05-03 09:31:25 · 183 阅读 · 0 评论 -
CMake生成osg的FFMPEG插件及Windows下不生成VS工程问题解决
在Windows下,如何利用CMake生成osg的FFMPEG插件,请参考如下博文,同生成jpeg插件类似:。如下为生成FFMPEG时必要的设置:注意:如下是本文设置的MSVC头文件目录:原创 2024-02-03 10:39:37 · 732 阅读 · 0 评论 -
osg使用八叉树结构来管理场景,以提高性能
理解了这一节,真算是你这个关于八叉树,四叉树方面算是有感觉了。你可能会有疑问,只有最底层才显示东西,这样的结构有什么用,因此你可以将小球进行抽稀,给每一级都放个球,这样就不会只显示一个空盒子了。地球就是这样的,父结点也有纹理高程,子结点也有纹理高程。所有代码如下:*/public:if (!enter();leave();i转载 2023-12-31 17:28:13 · 530 阅读 · 0 评论 -
osg::DrawElements*系列函数及GL_QUAD_STRIP、GL_QUADS绘制四边形效率对比
函数绘制图元比较多,本文以绘制四边形为例子,以。绘制图元,如:三角形、四边形等,一般用。来讲解怎样绘制四边形,及。的不同、它们之间的效率。原创 2023-12-31 10:17:07 · 2107 阅读 · 0 评论 -
如何查看OSG头文件断点时变量的值及语法高亮OSG头文件
在VS主菜单栏选择:工具->选项->文本编辑器->文件扩展名,右侧勾选:将无扩展名文件映射到,Microsoft Visual C++。因为OSG头文件是无扩展名的,只需要通过VS的配置将无扩展名文件指定在C++文件即可。原文链接:https://blog.youkuaiyun.com/FreeSouthS/article/details/118463214。因为OSG的头文件都是没有.h扩展名的,所以VS无法对OSG头文件进行语法高亮和调试。OSG头文件就高亮可调了,和.h文件一样。转载 2023-11-05 10:00:34 · 118 阅读 · 0 评论 -
浅谈OSG的默认视点方向
在OSG开发中,对视点的理解透彻是必须可少的,特别是在进行自定义操控器类的开发中,对视点的深刻理解,更是重要,否则自定义的操控器功能可能会不正常、不会按预想的那样。。默认视点方向为何如此重要?因为旋绕、移动操作最开始是建立在默认视点基础上,即以默认视点为基础进行旋转、移动,从而在视觉上让人觉得场景在变化。如果默认视点方向理解错了,则后续的旋绕、移动操作都是错的,从而导致场景的旋转、移动不是预想的。原创 2023-11-01 14:22:33 · 1172 阅读 · 0 评论 -
如何生成osg的动画路径文件
在进行osg的开发中,有时需要对模型按某个路径或规则进行动画,如下:奶牛在10秒时间段从起始的osg::Vec3d(0.0, 18, 1.0)位置 匀速直线运动到osg::Vec3d(0.0, -8, 1.0)位置处。又比如下:飞机以和Y轴成倾斜45°角绕着Z轴在地面一定高度做圆周盘旋运动。原创 2023-10-24 17:00:13 · 361 阅读 · 0 评论 -
解决osg绘制场景时因Z冲突导致重影或闪烁等不正常情况
z-fighting。原创 2023-10-21 11:19:39 · 861 阅读 · 0 评论 -
osg嵌入到Qt窗体,实现Qt和osg混合编程
已经完成osg在Visual Studio上的64位编译生成编译包,现在尝试把osg嵌入qt中,实现交互。下一步就是提升为的操作(这里我想的是把QT的窗口提升为之前我们定义的普通类窗口QtOsgView实现osg的窗口化)这样我们的WIdget就能够在qt中显示出来了下面只需要在我们的osg_qt类中把自己的代码写入即可。新建一个普通视图类QtOsgView用于控制QT中OSG的渲染,和一些基本响应,代码如下。链接器中,附加依赖项加入osg的lib(Debug所以后面有d,Release没有)原创 2023-10-17 09:14:24 · 2909 阅读 · 0 评论 -
浅谈在操控器类中,为何要通过osgGA::CameraManipulator的逆矩阵改变视点位置
这个变换的过程其实相当于需要求出把B点移回世界坐标原点的矩阵,A点再乘以这个矩阵就可以,这个移回的矩阵是这样计算的,把人从世界坐标原点移到B点的变换是Matrix,而把B点移回世界坐标原点的变换就是InverseMatrix,现在我们要把A点放在以B点为局部坐标下,则需要变换的就是InverseMatrix。原因这里有点绕,大家认真理解一下,世界坐标下,一个盒子在A点(xa,ya,za),视点在B点(xb,yb,zb),先不管朝向不朝向的。虽然入参不一样,但是跟踪一下会发现会调用过去的。原创 2023-10-06 16:09:11 · 404 阅读 · 0 评论 -
osg利用setNodeMask和Switch隐藏节点用法说明
osg利用setNodeMask和Switch隐藏节点用法说明原创 2023-06-11 18:30:27 · 1955 阅读 · 2 评论 -
osgViewer中的ScreenCaptureHandler、LODScaleHandler、HelpHandler事件处理器用法
osgViewer中的ScreenCaptureHandler、LODScaleHandler、HelpHandler事件处理器用法原创 2023-06-04 16:24:41 · 1063 阅读 · 0 评论 -
osgViewer中的WindowSizeHandler和osgGA中的StateSetManipulator事件处理器用法
osgViewer中的WindowSizeHandler和osgGA中的StateSetManipulator事件处理器用法原创 2023-05-08 13:26:14 · 779 阅读 · 1 评论 -
浅谈osgEarth操控器类的createLocalCoordFrame函数如何将局部坐标系的点转为世界坐标系下的Martix(ENU坐标)
浅谈osgEarth操控器类的createLocalCoordFrame函数如何将局部坐标系的点转为世界坐标系下的Martix(ENU坐标)原创 2023-05-07 19:19:36 · 981 阅读 · 0 评论 -
osg::Drawable类通过setDrawCallback函数设置回调函数的说明
osg::Drawable类通过setDrawCallback函数设置回调函数的说明原创 2023-05-03 17:46:25 · 1495 阅读 · 0 评论 -
浅谈osgViewer::StatsHandler、osg::Stats类的用法
浅谈osgViewer::StatsHandler、osg::Stats类的用法原创 2023-05-02 16:10:21 · 1702 阅读 · 0 评论 -
osg操控器之键盘切换操控器osgGA::KeySwitchMatrixManipulator
osg操控器之键盘切换操控器osgGA::KeySwitchMatrixManipulator原创 2023-04-29 18:35:51 · 1470 阅读 · 0 评论 -
LineSegmentIntersector::Intersections中ratio含义及LineSegmentIntersector相交点说明
LineSegmentIntersector::Intersections中ratio含义及LineSegmentIntersector相交点说明原创 2023-04-26 18:30:47 · 901 阅读 · 0 评论 -
左/右手坐标系绕不同轴顺时针旋转动不同的理解与总结
三维开发中左/右手坐标系绕不同轴顺时针转动不同总结原创 2023-04-25 09:05:03 · 808 阅读 · 2 评论 -
利用OSG实现数字地球(非OSGEarth实现,但类似OSGEarth)
利用OSG实现数字地球(非OSGEarth实现,但类似OSGEarth)转载 2023-04-20 17:36:05 · 696 阅读 · 0 评论 -
osg::observer_ptr和osg::ref_ptr用法与区别
osg::observer_ptr和osg::ref_ptr做法与区别转载 2023-03-29 18:56:48 · 621 阅读 · 0 评论 -
Windows下osg+Qt搭建三维开发环境
Windows下osg+Qt搭建三维开发环境原创 2022-08-21 10:27:58 · 5680 阅读 · 0 评论 -
osgSim::DOFTransform结合回调函数对模型文件中的部分区域动作
osgSim::DOFTransform结合回调函数对模型文件中的部分节点动作原创 2022-08-18 16:09:51 · 536 阅读 · 0 评论 -
osg高亮显示模型轮廓线及网格化模型
osg绘制模型轮廓线原创 2022-08-17 17:19:27 · 1799 阅读 · 0 评论 -
osg中简化顶点数量
osg简化顶点数量转载 2022-08-17 14:59:04 · 684 阅读 · 0 评论 -
OSG节点更新与事件回调
OSG节点更新与事件回调转载 2022-05-07 20:08:22 · 2058 阅读 · 0 评论 -
如何编译生成OSG帮助文档
如何编译生成OSG帮助文档原创 2022-05-06 20:22:58 · 688 阅读 · 0 评论 -
OSG中的创建HUD
OSG中的创建HUD转载 2022-05-06 20:17:55 · 942 阅读 · 0 评论 -
细数OSG中的“神来之剪”
osg裁剪转载 2022-05-06 20:14:01 · 1863 阅读 · 0 评论 -
对osg二维纹理的理解
osg二维纹理的理解原创 2022-05-04 08:49:18 · 780 阅读 · 0 评论 -
osg下如何将物体拉近拉远
osg下如何将物体拉近拉远原创 2022-05-04 08:36:49 · 671 阅读 · 0 评论 -
osg 加载 fbx文件
osg 加载 fbx文件转载 2022-05-03 18:41:09 · 903 阅读 · 0 评论 -
《osgChina站长文集》
《杨石兴osg博客》《osgChina站长文集》原创 2021-07-16 09:52:53 · 761 阅读 · 0 评论