椭圆体表面的几何外观,如
PolygonGeometry
和
RectangleGeometry
,它支持所有材质,如
MaterialAppearance
和
MaterialAppearance.MaterialSupport.ALL
。但是,这种外观需要较少的顶点属性,因为片段着色器可以按程序计算
normal
、
tangent
和
bitangent
。
Name | Type | Description | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options
|
Object |
具有以下属性的
可选
对象:
|
Example:
const 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')
})
});
See:
Members
static constant Cesium.EllipsoidSurfaceAppearance.VERTEX_FORMAT : VertexFormat
当为
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
See:
渲染几何图形时使用的 WebGL 固定功能状态。
渲染状态可以在构造
EllipsoidSurfaceAppearance
实例时显式定义,也可以通过
EllipsoidSurfaceAppearance#translucent
和
EllipsoidSurfaceAppearance#aboveGround
隐式设置。
当为
true
时,几何体应该是半透明的。
-
Default Value:
true
readonly vertexFormat : VertexFormat
此外观实例兼容的
VertexFormat
。一个几何图形可以有更多的顶点属性并且仍然是兼容的——以潜在的性能成本为代价——但它不能少。
-
Default Value:
EllipsoidSurfaceAppearance.VERTEX_FORMAT
顶点着色器的 GLSL 源代码。
Methods
以程序方式创建完整的 GLSL 片段着色器源。对于
EllipsoidSurfaceAppearance
,它派生自
EllipsoidSurfaceAppearance#fragmentShaderSource
、
EllipsoidSurfaceAppearance#flat
和
EllipsoidSurfaceAppearance#faceForward
。
Returns:
完整的 GLSL 片段着色器源。
创建渲染状态。这不是最终的渲染状态实例;相反,它可以包含与在上下文中创建的渲染状态相同的渲染状态属性的子集。
Returns:
渲染状态。
根据
EllipsoidSurfaceAppearance#translucent
和
Material#isTranslucent
确定几何体是否半透明。
Returns:
如果外观是半透明的,则为
true
。