EllipsoidSurfaceAppearance

new LSGlobe.EllipsoidSurfaceAppearance ( options )

椭球表面上的几何外观,例如 PolygonGeometry RectangleGeometry ,它支持所有材料,例如 MaterialAppearance MaterialAppearance.MaterialSupport.ALL 一起使用。但是,这种外观要求更少的顶点属性,因为片段着色器可以按程序计算 normal tangent bitangent
Name Type Description
options Object 可选 具有以下属性的对象:
名称 类型 默认 说明
flat 布尔值 错误 可选 true 时,片段着色器中将使用平面阴影,这意味着不考虑照明。
faceForward 布尔值 options.aboveGround 可选 如果为 true ,则片段着色器会根据需要翻转表面法线,以确保法线面对观察者以避免黑斑。当几何图形的两侧都应像 WallGeometry 一样着色时,这很有用。
半透明 布尔值 可选 如果 true 为true,则几何图形应显示为半透明,因此 EllipsoidSurfaceAppearance#renderState 启用了alpha混合。 /td>
aboveGround 布尔值 错误 可选 如果为 true ,则该几何体应位于椭圆体的表面上-不在其上方的恒定高度-因此 EllipsoidSurfaceAppearance#renderState 启用了背面剔除。
材料 材料 Material.ColorType 可选 用于确定片段颜色的材料。
vertexShaderSource 字符串 可选 可选的GLSL顶点着色器源,用于覆盖默认的顶点着色器。
fragmentShaderSource 字符串 可选 可选的GLSL片段着色器源,用于覆盖默认的片段着色器。
renderState 对象 可选 可选的渲染状态将覆盖默认的渲染状态。
Example:
var primitive = new LSGlobe.Primitive({
  geometryInstances : new LSGlobe.GeometryInstance({
    geometry : new LSGlobe.PolygonGeometry({
      vertexFormat : LSGlobe.EllipsoidSurfaceAppearance.VERTEX_FORMAT,
      // ...
    })
  }),
  appearance : new LSGlobe.EllipsoidSurfaceAppearance({
    material : LSGlobe.Material.fromType('Stripe')
  })
});
See:

Members

static constant LSGlobe.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

Returns:
真正 如果外观是半透明的。