查看: 2601|回复: 3

地球 画面 着色

[复制链接]

该用户从未签到

发表于 2013-9-3 22:58:34 | 显示全部楼层 |阅读模式
在osgearth中,在地球上 画了4条线 围成了一个面,有什么办法把这个面着色吗?在程序中实现。

该用户从未签到

发表于 2013-9-13 19:53:40 | 显示全部楼层
同问!

该用户从未签到

发表于 2013-9-13 22:52:27 | 显示全部楼层
如果是4条直线,就是个polygon,直接绘图单元就行

如果是曲线,实际上就是曲面地球的地形网格,
如果知道是个4个点的矩形就直接用4点投影坐标定义一个地理坐标图形DEM生成地形(贴图用颜色贴图),再把这个高度都相等的近似于O值的地形加载到地球体表面!
   如果是4个任意点单有坐标,那就的自己写一个DEM文件,或带地理坐标的图像文件,加载到图像层就可以了,关键时你要会写带地理信息的影像文件,网上有相关例子.

该用户从未签到

发表于 2013-9-30 15:41:55 | 显示全部楼层
这是我的代码:
osgEarth::Style geomStyle;
                geomStyle.getOrCreate<osgEarth:ineSymbol>()->stroke()->color() = Color::Red; //轮廓线颜色
                geomStyle.getOrCreate<osgEarth::LineSymbol>()->tessellation() =50;
                geomStyle.getOrCreate<osgEarth::LineSymbol>()->stroke()->width() = 3.0f; //轮廓线宽度
                geomStyle.getOrCreate<osgEarth::Symbology:olygonSymbol>()->fill()->color() = Color(Color::Green,0.6);//填充颜色
                geomStyle.getOrCreate<osgEarth::AltitudeSymbol>()->clamping() = AltitudeSymbol::CLAMP_RELATIVE_TO_TERRAIN;  
                geomStyle.getOrCreate<osgEarth::AltitudeSymbol>()->technique() =osgEarth::AltitudeSymbol::TECHNIQUE_DRAPE;
                geomStyle.getOrCreate<osgEarth::AltitudeSymbol>()->binding() = osgEarth::AltitudeSymbol::BINDING_VERTEX;
                osgEarth::Annotation::FeatureNode* gnode = new osgEarth::Annotation::FeatureNode(mapNode, new osgEarth::Features::Feature(geom, geoSRS, geomStyle));
这里只是初始化一个style,你要做的就是初始化geom,给它随便加几个点试试效果先,希望对你有帮助如果需要给我留言。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表