欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    osgearth,个人笔记.docx

    • 资源ID:3162597       资源大小:39.26KB        全文页数:5页
    • 资源格式: DOCX        下载积分:6.99金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要6.99金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    osgearth,个人笔记.docx

    osgearth,个人笔记智能指针使用: osg:Geode* geode=new osg:Geode;/新建Geode指针 osg:ref_ptr<osg:Geode>geodePtr=geode;/构造一个新的ref_ptr对象,并将Geode指针分配给它。新建Geode对象geode的引用计数值变为1 Osg:ref_ptr<osg:Geode> geode1=new osg:Geode;/实现上述两句功能,不会产生内存泄露,当ref_ptr的生命周期结束时会自动释放引用对象 结论:osg中新创建的场景对象建议使用ref_ptr进行内存的分配和管理 对于不使用ref_ptr的对象,引用计数值将变的没有意义,并且它无法自动从场景中卸载 新建对象作为函数结果返回时,建议使用realease传递,并尽快引入到别的场景对象中 叶节点Geode 1、 OSG 定义了osg:Drawable 类,用于保存要渲染的数据。Drawable 是一个无法直接实例化的虚基类。 OSG 核心库从Drawable 派生出三个子类:osg:DrawPixels,封装了glDrawPixels的相关功能;osg:ShapeDrawable,提供了一些已经定义好的几何体的使用接口,如圆柱体和球;osg:Geometry。setVertexArray , setColorArray , setNormalArray用户程序可以使用它们来指定顶点数组,颜色,以及法线数据。setVertexArray和setNormalArray均使用一个Vec3Array 指针作为输入参数,而setColorArray使用一个Vec4Array 指针。 官方OSG四个程序: 1 osgViewer模型查看工具 osgViewer是这四个程序当中用的最多的OSG程序,代码也非常入门与浅显易懂,在开始->运行->CMD中就可以直接启动osgViewer,因为path中添加了它的路径。 下面来看一下osgViewer的功能,如表2.1 表2.1 osgViewer的功能表 命令:注意有的双杠 -image <filename> -dem <filename> 功能 读取纹理文件,比如:osgViewer -image Images/skymap.jpg 以高程图的形式渲染一个镜像/DEM 比如osgViewer -dem a.img -h或-help 命令行参数功能帮助 -help-env 所有可用的环境变量帮助 -help-keys 所有可用键帮助 -help-all 展示所有帮助信息 -SingleThreaded 为viewer选择单线程模式 -CullDrawThreadPerContext 为viewer选择CullDrawThreadPerContext线程模式 -DrawThreadPerContext 为viewer选择DrawThreadPerContext线程模式 -CullThreadPerCameraDrawThreadPerContext 为viewer选择CullThreadPerCameraDrawThreadPerContext线程模式 想用osgEarth做三维地球浏览器,可是一直都不知道osgEarth具体是做什么的,有关的资料也都是英文的,于是就把osgEarth网站上的内容翻译了一下 osgEarth-所需地形 osgEarth是一个为OSG提供的可升级的地形工具包。创建一个简单的XML文件,用形象化的描述、立体图、矢量数据来指明内容,并将其加载到你所喜爱的OSG应用中。osgEarth支持所有类型的数据、并附带很多例子来帮助你研究和运行。 osgEarth可以很容易部署可升级的地形模型: · · · · · · 创建地形模型无论是在本地电脑,或者动态载入 不用书写任何代码便可加载整个地球地形 分层描述所形成的高分辨率插入物 结合多种描述、立体图和飞行模式下的矢量数据源 建立地图块缓存来最大限度的利用性能 为多重纹理效果调整图形的不透明度 但是osgEarth不仅仅可以提供地形: · · · · · 在不同的参考坐标系中重新投影数据 用长坐标来放置额外的模型 可以做快速的交叉测试 把新数据合并到现有的VPB数据库中 可直接访问地形块儿 特定驱动器属性设置,驱动器分为影像/高程驱动器、模型驱动器、特征驱动器、缓冲驱动器以及地形引擎驱动器5大类; 影像/高程驱动器 agglite驱动器,该驱动器将矢量数据栅格化为位图然后然后将其转换为地形瓦片纹理层 ArcGis驱动器 复合驱动器 GDAL驱动器 osg驱动器,直接通过osg的文件读写插件读取相应类型的影响数据或高程 /tilecache驱动器,读取tilecache磁盘缓存数据,通过tilecache工具可以从WMS服务器创建或缓存地图数据到磁盘,然后通过该驱动器进行离线读取。 tileservice驱动器,从NASA服务器读取数据 tms驱动器,通过tms服务的方式读取数据 wms驱动器,通过wms服务的方式读取数据 VPB驱动器,从vpb生成的地形数据库读取相应的影像和高程数据,注意,osgEarth只能读取适用VPB使用terrain选项创建的地形数据库。 模型驱动器: feature_geom驱动器,该驱动器就是将矢量数据创建成几何对象进行渲染 feature_overlay驱动器,该驱动器采用osgSim:OverlayNode将矢量数据作为投影纹理覆盖到地形上。这种覆盖节点的方式对于平面投影坐标模式是很适合的,但对于球体地心。 feature_stencil驱动器,该驱动器采用模板缓冲技术将矢量数据覆盖到地形上 矢量特征数据也要指定自己的驱动器,它不直接创建矢量数据几何体,只是用来读取矢量数据,目前矢量数据驱动器主要是ogr及GDAL, Working with a MapNode at runtime Whether the Map was loaded from an Earth File or created at run time, the Map can modified at runtime. If a Map was loaded from an Earth File, you will first need to get a reference to the MapNode to work with. Use the !Map:findMapNode utility function: /Load the map osg:Node* loadedModel = osgDB:readNodeFile("mymap.earth"); /Find the MapNode osgEarth:MapNode* mapNode = MapNode:findMapNode( loadedModel ); Once you have a reference to the MapNode, you can add image or elevation layers: / Add an OpenStreetMap image source TMSOptions driverOpt; driverOpt.url = "http:/tile.openstreetmap.org/" driverOpt.tmsType = "google" ImageLayerOptions layerOpt( "OSM", driverOpt ); layerOpt.profile = ProfileOptions( "global-mercator" ); ImageLayer* osmLayer = new ImageLayer( layerOpt ); mapNode->getMap->addImageLayer( osmLayer ); You can also remove or re-order layers: / Remove a layer from the map. All other layers are repositioned accordingly mapNode->getMap->removeImageLayer( layer ); / Move a layer to position 1 in the image stack mapNode->getMap->moveImageLayer( layer, 1 );

    注意事项

    本文(osgearth,个人笔记.docx)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开