PolylineMaterialAppearance类用于定义Cesium中的材质外观。它可用于定义PolylineGeometry的材质外观。
创建PolylineMaterialAppearance对象的构造函数如下:
new Cesium.PolylineMaterialAppearance(options)
构造函数接受一个options对象,可以包含以下属性:
flat
: 如果为true,则所有顶点都将投影到2D平面上。默认值为false。faceForward
: 如果为true,则面向相机的面将会显示,面向相机背面的面将不显示。默认值为false。translucent
: 如果为true,则材质将被假定为半透明材质。默认值为false。closed
: 如果为true,则将路径的第一个和最后一个顶点相连,形成一个闭合的折线。默认为false。material
: 该折线的材质。默认为undefined,表示使用白色材质。renderState
: 该折线的渲染状态。默认为undefined,表示使用默认的渲染状态。以下是PolylineMaterialAppearance的属性:
closed
: Boolean该对象是否表示封闭的几何图形。
faceForward
: Boolean该对象是面向相机的还是背向相机的。
flat
: Boolean如果为true,则所有顶点都将投影到2D平面上。
material
: Material用于该几何图形的材质。
renderState
: Object用于为该几何图形定义WebGL渲染状态的对象。
translucent
: Boolean是否为半透明材质。
以下是PolylineMaterialAppearance的方法:
getFragmentShaderSource() : String
返回这个折线材质的片元着色器的GLSL源代码。
getRenderState() : Object
返回定义用于此折线材质的WebGL渲染状态的对象。
isTranslucent() : Boolean
如果此材质是半透明的,则返回true,否则返回false。
以下代码显示如何创建一个简单的红色折线材质外观:
var viewer = new Cesium.Viewer('cesiumContainer');
var redMaterial = new Cesium.Material({
fabric: {
type: 'Color',
uniforms: {
color: new Cesium.Color(1.0, 0.0, 0.0, 1.0)
}
}
});
var polyline = viewer.entities.add({
polyline: {
positions: Cesium.Cartesian3.fromDegreesArray([-75.0, 35.0, -125.0, 35.0]),
width: 10,
material: redMaterial
}
});
创建一个简单的红色折线材质外观