EllipsoidSurfaceAppearance

new Cesium.EllipsoidSurfaceAppearance ( options )

椭圆体表面的几何外观,如 PolygonGeometry RectangleGeometry ,它支持所有材质,如 MaterialAppearance MaterialAppearance.MaterialSupport.ALL 。但是,这种外观需要较少的顶点属性,因为片段着色器可以按程序计算 normal tangent bitangent
Name Type Description
options Object 具有以下属性的 可选 对象:
姓名 类型 默认 描述
flat 布尔值 false 可选 当为 true 时,片段着色器中使用平面着色,这意味着不考虑光照。
faceForward 布尔值 options.aboveGround 可选 true 时,片段着色器根据需要翻转表面法线,以确保法线面向观察者以避免黑点。当几何图形的两侧都应像 WallGeometry 一样着色时,这很有用。
translucent 布尔值 true 可选 true 时,几何体应该是半透明的,因此 EllipsoidSurfaceAppearance#renderState 启用了 alpha 混合。
aboveGround 布尔值 false 可选 true 时,几何体应位于椭圆体的表面上 - 而不是在其上方的恒定高度 - 因此 EllipsoidSurfaceAppearance#renderState 启用了背面剔除。
material 材料 Material.ColorType 可选 用于确定片段颜色的材质。
vertexShaderSource 细绳 optional 可选的 GLSL 顶点着色器源,用于覆盖默认顶点着色器。
fragmentShaderSource 细绳 optional 可选的 GLSL 片段着色器源,用于覆盖默认片段着色器。
renderState 目的 optional 可选的渲染状态,用于覆盖默认渲染状态。
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

所有 EllipsoidSurfaceAppearance 实例都兼容的 VertexFormat ,只需要 position st 属性。其他属性在片段着色器中按程序计算。

readonly aboveGround : Boolean

当为 true 时,几何体应位于椭圆体的表面上 - 而不是在其上方的恒定高度 - 因此 EllipsoidSurfaceAppearance#renderState 启用了背面剔除。
Default Value: false
当为 true 时,几何体预计会关闭,因此 EllipsoidSurfaceAppearance#renderState 启用了背面剔除。如果查看者进入几何图形,它将不可见。
Default Value: false

readonly faceForward : Boolean

当为 true 时,片段着色器会根据需要翻转表面法线,以确保法线面向观察者以避免黑点。当几何图形的两侧都应像 WallGeometry 一样着色时,这很有用。
Default Value: true
当为 true 时,片段着色器中使用平面着色,这意味着不考虑光照。
Default Value: false

readonly fragmentShaderSource : String

片段着色器的 GLSL 源代码。完整的片段着色器源是在考虑到 EllipsoidSurfaceAppearance#material EllipsoidSurfaceAppearance#flat EllipsoidSurfaceAppearance#faceForward 的情况下构建的。使用 EllipsoidSurfaceAppearance#getFragmentShaderSource 获取完整源。
用于确定片段颜色的材料。与其他 EllipsoidSurfaceAppearance 属性不同,这不是只读的,因此外观的材质可以随时更改。
Default Value: Material.ColorType
See:

readonly renderState : Object

渲染几何图形时使用的 WebGL 固定功能状态。

渲染状态可以在构造 EllipsoidSurfaceAppearance 实例时显式定义,也可以通过 EllipsoidSurfaceAppearance#translucent EllipsoidSurfaceAppearance#aboveGround 隐式设置。

当为 true 时,几何体应该是半透明的。
Default Value: true
此外观实例兼容的 VertexFormat 。一个几何图形可以有更多的顶点属性并且仍然是兼容的——以潜在的性能成本为代价——但它不能少。
Default Value: EllipsoidSurfaceAppearance.VERTEX_FORMAT

readonly vertexShaderSource : String

顶点着色器的 GLSL 源代码。

Methods

getFragmentShaderSource () String

Returns:
完整的 GLSL 片段着色器源。

getRenderState () Object

创建渲染状态。这不是最终的渲染状态实例;相反,它可以包含与在上下文中创建的渲染状态相同的渲染状态属性的子集。
Returns:
渲染状态。

isTranslucent () Boolean

根据 EllipsoidSurfaceAppearance#translucent Material#isTranslucent 确定几何体是否半透明。
Returns:
如果外观是半透明的,则为 true