cesium比较区别 opengl_Cesium(三) 几何图形与外观

几何图形与外观 我们可以通过Primitive API来操控几何图形及其外观,或者绘制各种特殊的形状。需要先得到Scene对象,然后在其上添加Primitive对象: var viewer = new Cesium.Viewer('cesiumContainer');var scene = viewer.scene; scene.primitives.add(new Cesium.RectanglePrimitive({

//绘制矩形

rectangle : Cesium.Rectangle.fromDegrees(-100.0, 20.0, -90.0, 30.0),

material : Cesium.Material.fromType('Dot')

//设置材质})); Primitive由两个部分组成: (1)几何形状(Geometry):定义了Primitive的结构,例如三角形、线条、点等 (2)外观(Appearance ):定义Primitive的着色(Sharding),包括GLSL(OpenGL着色语言,OpenGL Shading Language)顶点着色器和片段着色器( vertex and fragment shaders),以及渲染状态(render state) Cesium支持以下几何图形: 几何图形

说明 BoxGeometry 立方体 BoxOutlineGeometry 仅有轮廓的立方体 CircleGeometry 圆形或者拉伸的圆形 CircleOutlineGeometry 只有轮廓的圆形 CorridorGeometry 走廊:沿着地表的多段线,且具有一定的宽度,可以拉伸到一定的高度 CorridorOutlineGeometry 只有轮廓的走廊 CylinderGeometry 圆柱、圆锥或者截断的圆锥 CylinderOutlineGeometry 只有轮廓的圆柱、圆锥或者截断的圆锥 EllipseGeometry 椭圆或者拉伸的椭圆 EllipseOutlineGeometry 只有轮廓的椭圆或者拉伸的椭圆 EllipsoidGeometry 椭球体 EllipsoidOutlineGeometry 只有轮廓的椭球体 RectangleGeometry 矩形或者拉伸的矩形 RectangleOutlineGeometry 只有轮廓的矩形或者拉伸的矩形 PolygonGeometry 多边形,可以具有空洞或者拉伸一定的高度 PolygonOutlineGeometry 只有轮廓的多边形 PolylineGeometry 多段线,可以具有一定的宽度 SimplePolylineGeometry 简单的多段线 PolylineVolumeGeometry 多段线柱体 PolylineVolumeOutlineGeometry 只有轮廓的多段线柱体 SphereGeometry 球体 SphereOutlineGeometry 只有轮廓的球体 WallGeometry 墙 WallOutlineGeometry 只有轮廓的墙 使用Geometry和Appearance 具有以下优势: (1)性能:绘制大量Primitive时,可以将其合并为单个Geometry以减轻CPU负担、更好的使用GPU。合并Primitive由web worker线程执行,UI保持响应性 (2)灵活性:Geometry与Appearance 解耦,两者可以分别进行修改 (3)低级别访问:易于编写GLSL 顶点、片段着色器、使用自定义的渲染状态

同时,具有以下劣势: (1)需要编写更多地代码 (2)需要对图形编程有更多的理解,特别是OpenGL的知识 使用来Geometry、Appearance 改写上面的例子,代码为: var viewer = new Cesium.Viewer('cesiumContainer');var scene = viewer.scene;//GeometryInstance是Geometry的一个容器var instance = new Cesium.GeometryInstance({

geometry : new Cesium.RectangleGeometry({<

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值