new Cesium.EllipsoidSurfaceAppearance(options)
椭球表面的几何图形外观,如
PolygonGeometry
和RectangleGeometry
,
它支持MaterialAppearance
和MaterialAppearance.MaterialSupport.ALL
等所有材质。
这种外观需要较少的顶点属性,因为片段着色器可以计算normal
, tangent
, 和 bitangent
。
Name | Type | Description | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object |
optional
具有下列属性的对象:
|
示例:
var primitive = new Cesium.Primitive({
geometryInstances : new Cesium.GeometryInstance({
geometry : new Cesium.PolygonGeometry({
vertexFormat : Cesium.EllipsoidSurfaceAppearance.VERTEX_FORMAT,
// ...
})
}),
appearance : new Cesium.EllipsoidSurfaceAppearance({
material : Cesium.Material.fromType('Stripe')
})
});
参考:
成员变量
当
true
时,几何图形应该在椭球表面—而不是在椭球表面之上的恒定高度—
因此EllipsoidSurfaceAppearance#renderState
启用了背面剔除。
-
Default Value:
false
如果为
true
,EllipsoidSurfaceAppearance#renderState
开启背面剔除。
-
Default Value:
false
当
true
时,片段着色器会根据需要翻转表面法线,
以确保法线面对观察者,避免出现黑斑。当几何图形的两侧都应像WallGeometry
一样着色时,这很有用。
-
Default Value:
true
当
true
时,在片段着色器中使用了平面着色,这意味着没有考虑到光照。
-
Default Value:
false
片段着色器的GLSL源代码。
完整的片段着色器源程序是根据
EllipsoidSurfaceAppearance#material
,EllipsoidSurfaceAppearance#flat
, EllipsoidSurfaceAppearance#faceForward
构建的。
使用EllipsoidSurfaceAppearance#getFragmentShaderSource
获得完整的源代码。
material : Material
用于确定片元颜色的材质。与其他
EllipsoidSurfaceAppearance
属性不同,它不是只读的,所以外观的材质可以动态改变。
-
Default Value:
Material.ColorType
参考:
渲染几何图形时的WEBGL状态。
渲染状态可以在构造一个EllipsoidSurfaceAppearance
实例时显式定义,
也可以通过EllipsoidSurfaceAppearance#translucent
和EllipsoidSurfaceAppearance#aboveGround
隐式设置。
translucent : Boolean
当
true
时,几何图形应该是半透明的。
-
Default Value:
true
与此外观实例兼容的
VertexFormat
。
几何图形可以有更多的顶点属性,而且仍然是兼容的——以潜在的性能成本为代价——但它不能有更少的顶点属性。
-
Default Value:
EllipsoidSurfaceAppearance.VERTEX_FORMAT
顶点着色器的GLSL源代码。
内置方法
创建完整的GLSL片段着色器。
对于
EllipsoidSurfaceAppearance
,这是从EllipsoidSurfaceAppearance#fragmentShaderSource
、EllipsoidSurfaceAppearance#flat
和EllipsoidSurfaceAppearance#faceForward
派生出来的。
返回值:
完整的GLSL片段着色器。
创建渲染状态。
返回值:
渲染状态。
根据
Appearance#translucent
和Material#isTranslucent
}确定几何图形是否为半透明。
返回值:
如果外观为半透明,返回true。