
osg源码解读
文章平均质量分 92
osg源码解读
荆楚闲人
老骥伏枥,志在千里;烈士中年,壮心不已。
展开
-
ViewerBase类suggestBestThreadingModel()函数分析
博文,以知道各个线程模型的含义及区别。在理解本函数之前,需先学习。原创 2024-08-11 16:59:07 · 319 阅读 · 0 评论 -
LineSegmentIntersectorUtils::IntersectFunctor::intersect源码分析
osgUtil::Intersector有几个子类,如下:每个子类表示不同的求交器。所谓求交器就是判定和物体相交的类,通过这些类可以很方便的得出交点、实现拾取功能等。LineSegmentIntersector类是osgUtil::Intersector其中的一个子类,其表示线段求交器,即通过线段和三维场景中的某个物体相交,该类一般和osgUtil::IntersectionVisitor即求交访问器类一起使用,从而得出交点、实现拾取功能等。原创 2024-07-17 18:32:13 · 982 阅读 · 0 评论 -
osgUtil::LineSegmentIntersector类源码分析(二)
osgUtil::Intersector有几个子类,如下:每个子类表示不同的求交器。所谓求交器就是判定和物体相交的类,通过这些类可以很方便的得出交点、实现拾取功能等。LineSegmentIntersector类是osgUtil::Intersector其中的一个子类,其表示线段求交器,即通过线段和三维场景中的某个物体相交,该类一般和osgUtil::IntersectionVisitor即求交访问器类一起使用,从而得出交点、实现拾取功能等。原创 2024-07-16 12:20:20 · 1053 阅读 · 0 评论 -
osgUtil::LineSegmentIntersector类源码分析(一)
osgUtil::Intersector有几个子类,如下:每个子类表示不同的求交器。所谓求交器就是判定和物体相交的类,通过这些类可以很方便的得出交点、实现拾取功能等。LineSegmentIntersector类是osgUtil::Intersector其中的一个子类,其表示直线求交器,即通过直线和三维场景中的某个物体相交,该类一般和osgUtil::IntersectionVisitor即求交访问器类一起使用,从而得出交点、实现拾取功能等。。原创 2024-07-06 14:37:11 · 955 阅读 · 0 评论 -
osg::Stats类用法及该类源码剖析
Stats是英文单词statistics的简写。顾名思义,就知道osg::Stats是osg中用来统计某些信息的类,如:帧率等,在osg中很多地方用到该类统计某些信息,如下代码是摘自osg的如下代码是摘自osg的本博文讲述osg::Stats类用法及对其实现进行源码剖析。原创 2024-06-24 18:06:07 · 231 阅读 · 0 评论 -
osg操控器之动画路径操控器osgGA::AnimationPathManipulator分析
osg操控器之动画路径操控器osgGA::AnimationPathManipulator分析原创 2023-04-29 14:19:20 · 2045 阅读 · 0 评论 -
osg的 realize()函数剖析
realize()是viewer的一个非常重要的函数,最重要的操作是假如在realize()之前没有创建上下文,则其会申请上下文。很多的操作是只有申请了上下文才可以执行的,严格来说在没有申请上下文之前做的事情都只能称为:设置。一切的设置要想有点动静最终还是要呈现在上下文中。我们来看看realize()究竟做了哪些事情。转载 2023-10-07 10:12:08 · 228 阅读 · 0 评论 -
osgDB::readNodeFile等函数源码剖析
osg的文件读写接口主要是由osgDB库负责实现。可读写的文件包括:模型、图像、视频、字体、文本文档等。搞清楚这些读写函数内部的实现机制,对于熟悉osg并为自己以后编写读取特定文件的插件是至关重要的。原创 2023-10-03 09:00:35 · 1171 阅读 · 0 评论 -
osgGA::CameraManipulator类computeHomePosition函数分析
osgGA::CameraManipulator类computeHomePosition函数分析原创 2023-04-30 15:59:28 · 1038 阅读 · 0 评论 -
osg的初始化
初始化中申请了主相机,设置了view的全局灯光,通过DisplaySettings::readEnvironmentalVariables()读取了一大票的环境变量设置了显示器的各种初始化设置,比如是不是立体显示呀、立体显示的类型呀,其中有个环境变量:OSG_SHADER_HINT,其值为字符串GL2、GL3、GLES2、GLES3,会根据这些字符串设置主相机默认的StateSet生成的Shader的类型_shaderHint。在初始化的时候,它也主要包含它的基类的初始化,然后才是它自己的初始化。转载 2023-09-30 11:31:07 · 210 阅读 · 0 评论