具有颜色属性的
GeometryInstance
实例的外观。这允许使用相同的
Primitive
绘制多个几何实例,每个实例具有不同的颜色,如下面的第二个示例所示。
Name | Type | Description | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options
|
Object |
具有以下属性的
可选
对象:
|
Example:
// A solid white line segment
const primitive = new Cesium.Primitive({
geometryInstances : new Cesium.GeometryInstance({
geometry : new Cesium.SimplePolylineGeometry({
positions : Cesium.Cartesian3.fromDegreesArray([
0.0, 0.0,
5.0, 0.0
])
}),
attributes : {
color : Cesium.ColorGeometryInstanceAttribute.fromColor(new Cesium.Color(1.0, 1.0, 1.0, 1.0))
}
}),
appearance : new Cesium.PerInstanceColorAppearance({
flat : true,
translucent : false
})
});
// Two rectangles in a primitive, each with a different color
const instance = new Cesium.GeometryInstance({
geometry : new Cesium.RectangleGeometry({
rectangle : Cesium.Rectangle.fromDegrees(0.0, 20.0, 10.0, 30.0)
}),
attributes : {
color : new Cesium.ColorGeometryInstanceAttribute(1.0, 0.0, 0.0, 0.5)
}
});
const anotherInstance = new Cesium.GeometryInstance({
geometry : new Cesium.RectangleGeometry({
rectangle : Cesium.Rectangle.fromDegrees(0.0, 40.0, 10.0, 50.0)
}),
attributes : {
color : new Cesium.ColorGeometryInstanceAttribute(0.0, 0.0, 1.0, 0.5)
}
});
const rectanglePrimitive = new Cesium.Primitive({
geometryInstances : [instance, anotherInstance],
appearance : new Cesium.PerInstanceColorAppearance()
});
Members
static constant Cesium.PerInstanceColorAppearance.FLAT_VERTEX_FORMAT : VertexFormat
当
VertexFormat
PerInstanceColorAppearance#flat
为
true
时,所有
PerInstanceColorAppearance
实例都兼容的 VertexFormat 。这只需要一个
position
属性。
static constant Cesium.PerInstanceColorAppearance.VERTEX_FORMAT : VertexFormat
当为
true
时,几何体预计会关闭,因此
PerInstanceColorAppearance#renderState
启用了背面剔除。如果查看者进入几何图形,它将不可见。
-
Default Value:
false
当为
true
时,片段着色器会根据需要翻转表面法线,以确保法线面向观察者以避免黑点。当几何图形的两侧都应像
WallGeometry
一样着色时,这很有用。
-
Default Value:
true
当为
true
时,片段着色器中使用平面着色,这意味着不考虑光照。
-
Default Value:
false
片段着色器的 GLSL 源代码。
material : Material
此属性是
Appearance
接口的一部分,但
PerInstanceColorAppearance
不使用此属性,因为使用了完全自定义的片段着色器。
-
Default Value:
undefined
渲染几何图形时使用的 WebGL 固定功能状态。
渲染状态可以在构造
PerInstanceColorAppearance
实例时显式定义,也可以通过
PerInstanceColorAppearance#translucent
和
PerInstanceColorAppearance#closed
隐式设置。
当为
true
时,几何体应该是半透明的,因此
PerInstanceColorAppearance#renderState
启用了 alpha 混合。
-
Default Value:
true
readonly vertexFormat : VertexFormat
此外观实例兼容的
VertexFormat
。一个几何图形可以有更多的顶点属性并且仍然是兼容的——以潜在的性能成本为代价——但它不能少。
顶点着色器的 GLSL 源代码。
Methods
以程序方式创建完整的 GLSL 片段着色器源。对于
PerInstanceColorAppearance
,这是从
PerInstanceColorAppearance#fragmentShaderSource
、
PerInstanceColorAppearance#flat
和
PerInstanceColorAppearance#faceForward
。
Returns:
完整的 GLSL 片段着色器源。
创建渲染状态。这不是最终的渲染状态实例;相反,它可以包含与在上下文中创建的渲染状态相同的渲染状态属性的子集。
Returns:
渲染状态。
根据
PerInstanceColorAppearance#translucent
确定几何体是否半透明。
Returns:
如果外观是半透明的,则为
true
。