具有颜色属性的
GeometryInstance
实例的外观。这允许几个几何实例,每个都有不同的颜色使用相同的
Primitive
进行绘制,如下面的第二个示例所示。
Name | Type | Description | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options
|
Object |
可选
具有以下属性的对象:
|
Example:
// A solid white line segment
var primitive = new LSGlobe.Primitive({
geometryInstances : new LSGlobe.GeometryInstance({
geometry : new LSGlobe.SimplePolylineGeometry({
positions : LSGlobe.Cartesian3.fromDegreesArray([
0.0, 0.0,
5.0, 0.0
])
}),
attributes : {
color : LSGlobe.ColorGeometryInstanceAttribute.fromColor(new LSGlobe.Color(1.0, 1.0, 1.0, 1.0))
}
}),
appearance : new LSGlobe.PerInstanceColorAppearance({
flat : true,
translucent : false
})
});
// Two rectangles in a primitive, each with a different color
var instance = new LSGlobe.GeometryInstance({
geometry : new LSGlobe.RectangleGeometry({
rectangle : LSGlobe.Rectangle.fromDegrees(0.0, 20.0, 10.0, 30.0)
}),
attributes : {
color : new LSGlobe.ColorGeometryInstanceAttribute(1.0, 0.0, 0.0, 0.5)
}
});
var anotherInstance = new LSGlobe.GeometryInstance({
geometry : new LSGlobe.RectangleGeometry({
rectangle : LSGlobe.Rectangle.fromDegrees(0.0, 40.0, 10.0, 50.0)
}),
attributes : {
color : new LSGlobe.ColorGeometryInstanceAttribute(0.0, 0.0, 1.0, 0.5)
}
});
var rectanglePrimitive = new LSGlobe.Primitive({
geometryInstances : [instance, anotherInstance],
appearance : new LSGlobe.PerInstanceColorAppearance()
});
Members
static constant LSGlobe.PerInstanceColorAppearance.FLAT_VERTEX_FORMAT : VertexFormat
所有
PerInstanceColorAppearance
实例的
VertexFormat
与
PerInstanceColorAppearance#flat
为
true
时兼容。这仅需要
position
属性。
static constant LSGlobe.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 < /code>
,和
PerInstanceColorAppearance#faceForward
。
Returns:
完整的GLSL片段着色器源。
创建一个渲染状态。这不是最终的渲染状态实例;代替,它可以包含与渲染状态相同的渲染状态属性的子集在上下文中创建。
Returns:
渲染状态。
根据
PerInstanceColorAppearance#translucent
确定几何图形是否为半透明。
Returns:
真正
如果外观是半透明的。