osg学习
文章平均质量分 72
HelloEarth_
这个作者很懒,什么都没留下…
展开
-
OSG 球体参数方程绘制
球面的参数方程绘制原创 2022-06-23 10:22:16 · 1088 阅读 · 0 评论 -
osgearth加载影像数据TMS、Tif、XYZ
加载TMS文件 TMSOptions imagery; imagery.url() = "http://readymap.org/readymap/tiles/1.0.0/22/"; m_pMap->addLayer(new ImageLayer("ReadyMap Imagery", imagery));加载TIF、IMG等格式文件 GDALOptions gdal; gdal.url() = pDataSource.strFile; os原创 2021-04-15 10:51:22 · 8855 阅读 · 2 评论 -
osg场景中的物体的框选
class BoxPicker : public osgGA::GUIEventHandler{public: BoxPicker() { x=0.0f; y=0.0f; OK= false; } osg::observer_ptr<osg::Geometry> geometry; virtual bool ha...原创 2020-10-19 21:32:56 · 1094 阅读 · 0 评论 -
OSG屏幕坐标——相机坐标——世界坐标之间的转换
osg::Vec3d TrackballRotate::screen2World(osg::Vec3 screenPoint)//将屏幕坐标转换到世界坐标{ osg::Vec3d vec3; osg::ref_ptr<osg::Camera> camera = viewer->getCamera(); //osg::Vec3d vScreen(x,y, 0); osg::Matrix mVPW = camera->getViewMatrix() *.原创 2020-10-19 19:41:37 · 2914 阅读 · 1 评论 -
osg读取自定义格式插件
#include <sstream>#include <osg/Image>#include <osg/Group>#include <osg/Notify>#include <osg/Geode>#include <osg/Shape>#include <osg/ShapeDrawable>#include <osgDB/FileNameUtils>#include <osgDB/Fi.原创 2020-09-30 17:11:09 · 474 阅读 · 0 评论 -
OpenCASCADE编译
1.下载下载OpenCASCADE库https://www.opencascade.com/content/latest-release第三方依赖库https://www.opencascade.com/content/3rd-party-components2.解压3.利用CMake进行编译参数设置如下:3RDPARTY_DIR 这个表示第三方库的位置,将其修改为你的位置INSTALL_DIR 这个表示OpenCascade最后生成的链接库的位置,将其修改为你的..原创 2020-05-18 15:24:42 · 886 阅读 · 0 评论 -
矩阵和向量的乘法顺序
向量有两种表达形式,行向量和列向量,对应的矩阵也有行矩阵和列矩阵。采用哪种形式和左右手系无关。行矩阵:三个轴向量为前三行,最后一行为位移变换连乘时从左到右接合,左边的变换先应用变换向量时为vector * matrixDirectX采用的是行矩阵,向量是行向量列矩阵:三个轴向量为前三列,最后一列为位移变换连乘时从右到左接合,右边的变换先应用,注意这和*运算符的接合顺序相反变换...原创 2019-12-02 21:11:09 · 1446 阅读 · 0 评论 -
osg-FBX插件配置
本文是在已经配置好osg的基础上进行的。首先下载FBX的SDKhttps://www.autodesk.com/products/fbx/overview下载好适合自己的版本后,进行安装,记录好安装的位置利用之前osg编译好的CMake文件,在之前的基础上只进行FBX项目的添加include、lib然后configure和generate。这时在之前osg的目录下就...原创 2019-10-15 19:21:41 · 1676 阅读 · 4 评论 -
OSGExp
https://sourceforge.net/projects/osgmaxexp/files/在网站下载,安装3dmax对应版本即可,3dmax导出列表就会有osg等格式原创 2019-10-15 16:31:51 · 794 阅读 · 0 评论 -
osgEarth读取KML文件
//载入KML osgEarth::Drivers::KMLOptions kml_options; kml_options.declutter() = true; // set up a default icon for point placemarks: osgEarth::Symbology::IconSymbol* defaultIcon = new osgEarth::Sym...原创 2019-08-19 16:08:34 · 1767 阅读 · 6 评论 -
OSG绘制空间凹多边形并计算其面积
1. 思路这个问题其实涉及到OSG中的两个问题:多边形分格化和几何图元遍历。1) 多边形分格化在OpenGL/OSG中,由于效率的原因,默认是直接显示的简单的凸多边形。如果直接强行显示凹多边形,渲染结果是不确定的。所以对于复杂的凹多边形,需要将其分解成简单的凸多边形,这个过程就是多边形分格化。在OSG中是通过osgUtil::Tessellator类来实现多边形分格化的。2) 几何...转载 2019-07-18 20:49:51 · 618 阅读 · 0 评论 -
osg中使用OpenGL绘制
在osg开发的时候,想要绘制一些图形,但是在osg中也没有找到合适的方法(估计是我太菜了),然后就想到用OpenGL的方法进行绘制,尝试了一些,记录一下可以行的通的。绘制一条动态变化的直线class CreateRay : public osg::Geometry{public: CreateRay(osg::ref_ptr<osg::GraphicsContext> ...原创 2019-03-25 20:26:31 · 2011 阅读 · 0 评论 -
OsgEarth之earth文件相关
1. 通过earth文件创建图层时,可以指定多个影像数据源和多个高程数据源,数据源的顺序决定渲染顺序,在earth文件中处于最前的在渲染时处于最底层渲染;所以如果有高低精度不同的影像数据或者高程数据,在创建earth文件时要将粗精度的数据放在上方xml节点,高精度的放在其下面的节点;2.osgEarth自带多种驱动器,不同的驱动器驱动不同的数据源,自己也可以扩展驱动器读取相应的数据(例如gda...原创 2018-11-08 16:13:51 · 3761 阅读 · 5 评论 -
OSG 单视图与相机:宽屏变形示例
osgViewer::Viewer的继承图:osg::View : 主要用来管理所有相机视图。它包含一个主相机和N个从属相机,如果View仅有一个主相机,则该主相机用来负责控制在和渲染视图场景。如果包含从属相机,则主相机用来负责控制管理视图,从属相机用于渲染场景。osgViewer::View : 可以挂节事件,处理事件,并负责创建相机和创建图形环境窗口。osgViewer::ViewerBase...原创 2018-04-20 11:10:33 · 786 阅读 · 0 评论 -
OSG例子程序简介osgearth各个例子功能
OSG:1.example_osganimate一)演示了路径动画的使用(AnimationPath、AnimationPathCallback),路径动画回调可以作用在Camera、CameraView、MatrixTransform、PositionAttitudeTransform等四种类型的节点上。二)演示了osgSim::OverlayNode的使用2.example_osganimat...原创 2018-04-04 08:39:44 · 8491 阅读 · 2 评论 -
osg动态修改坐标
osg动态修改坐标原创 2017-11-16 16:52:27 · 2281 阅读 · 0 评论 -
OSG 求射线与模型的交点
osg::Node *m_node = _modelNode;//设置模型节点 osg::Vec3 start; osg::Vec3 end; osg::ref_ptr<osgUtil::IntersectionVisitor> iv = new osgUtil::IntersectionVisitor; osg::ref_ptr<osgUtil::LineSegmen原创 2017-11-20 20:15:39 · 3710 阅读 · 0 评论