前几篇文章中我们介绍了Primitive的相关内容,我们会发现在Primitive中Appearance是Primitive的重要组成部分。我们已经可以简单的使用Appearance来设置Primitive几何图形的外观。这篇文章,我们来详细的了解一下Appearance。
Appearance分类
Cesium中一共有以下几种Appearance,不同的Appearance适用于不同的场景,如果你在某个场景中,使用错了Appearance,会导致看不见渲染结果的。
还有一个DebugAppearance,我们不说这个,这个是用于测试的。
MaterialAppearance材质外观
对于所有的几何对象都适用,cesium的材质包括颜色,图片,法线贴图,凹凸贴图,网格贴图,棋盘贴图等。支持传入material
EllipsoidSurfaceAppearance椭球体表面外观
支持所有材质,但需要具有法线,切线,副切线属性,是MaterialAppearance的另一个版本,主要用于地球表面平行的几何类型,如我们在前几篇中提到的PolygonGeometry,RectangleGeometry这些不适用与地表垂直的几何类型。使用llipsoidSurfaceAppearance时可以在计算大量顶点属性时节省内存。
PerInstanceColorAppearance实例化材质外观
使用每个GeometryInstance自带的颜色属性,可以实现不同的实例渲染不同颜色。我们在前几篇有提到Primitive通过实例化几何时可以同时显示大量的几何实体,但是一个Primitive只能存在一个Appearance,那么我们想每个几何实体的外观不同的话,就可以通过perInstanceColorAppearance这个类去实现了。
PolylineColorAppearance线几何对象的颜色外观
使用每个GeometryInstance自带的颜色属性,可以实现不同的实例渲染不同颜色。我们提到过PolylineGeometry支持根据顶点颜色进行着色,那么我们此时就需要结合PolylineColorAppearance类一起去实现了。
PolylineMaterialAppearance线几何对象的材质的外观
可以对线几何对象使用各种材质。支持传入material
Material材质
Material我们一般叫作材质,用于表达物体的表面外观。在我们肉眼看到的世界中,每一种物体对光都会产生不同的反应,这就使得不同物体的表面看起来不一样。
Cesium中内置的Material类大概有20多种材质类型,不同的几何应用不同的材质,这样可以使得场景渲染出来的视觉效果更加丰富。
Material的使用
我们可以看看官方API中给的example
// Create a color material with fromType:
polygon.material = Cesium.Material.fromType('Color');
poly