PolylineMaterialAppearance

PolylineMaterialAppearance

new

An appearance for PolylineGeometry that supports shading with materials.

Parameters:
Name Type Argument Default Description
options.translucent Boolean <optional>
true When true, the geometry is expected to appear translucent so PolylineMaterialAppearance#renderState has alpha blending enabled.
options.material Material <optional>
Material.ColorType The material used to determine the fragment color.
options.vertexShaderSource String <optional>
undefined Optional GLSL vertex shader source to override the default vertex shader.
options.fragmentShaderSource String <optional>
undefined Optional GLSL fragment shader source to override the default fragment shader.
options.renderState RenderState <optional>
undefined Optional render state to override the default render state.
Example
var primitive = new Primitive({
  geometryInstances : new GeometryInstance({
    geometry : new PolylineGeometry({
      positions : ellipsoid.cartographicArrayToCartesianArray([
        Cartographic.fromDegrees(0.0, 0.0),
        Cartographic.fromDegrees(5.0, 0.0)
      ]),
      width : 10.0,
      vertexFormat : PolylineMaterialAppearance.VERTEX_FORMAT
    })
  }),
  appearance : new PolylineMaterialAppearance({
    material : Material.fromType('Color')
  })
}));
See:
Source:

Members

<readonly>

When true, the geometry is expected to be closed so PolylineMaterialAppearance#renderState has backface culling enabled.
Default Value:
  • false

<readonly> :String

The GLSL source code for the fragment shader. The full fragment shader source is built procedurally taking into account PolylineMaterialAppearance#material. Use PolylineMaterialAppearance#getFragmentShaderSource to get the full source.

Procedurally creates the full GLSL fragment shader source. For PolylineMaterialAppearance, this is derived from PolylineMaterialAppearance#fragmentShaderSource and PolylineMaterialAppearance#material.

Creates a render state. This is not the final RenderState instance; instead, it can contain a subset of render state properties identical to renderState passed to Context#createRenderState.

Determines if the geometry is translucent based on PolylineMaterialAppearance#translucent and Material#isTranslucent.

:Material

The material used to determine the fragment color. Unlike other PolylineMaterialAppearance properties, this is not read-only, so an appearance's material can change on the fly.
Default Value:
  • Material.ColorType
See:

<readonly> :Object

The render state. This is not the final RenderState instance; instead, it can contain a subset of render state properties identical to renderState passed to Context#createRenderState.

The render state can be explicitly defined when constructing a PolylineMaterialAppearance instance, or it is set implicitly via PolylineMaterialAppearance#translucent and PolylineMaterialAppearance#closed.

<readonly>

When true, the geometry is expected to appear translucent so PolylineMaterialAppearance#renderState has alpha blending enabled.
Default Value:
  • true

<readonly> :VertexFormat

The VertexFormat that this appearance instance is compatible with. A geometry can have more vertex attributes and still be compatible - at a potential performance cost - but it can't have less.

<readonly> :String

The GLSL source code for the vertex shader.

<static, constant> :VertexFormat

The VertexFormat that all PolylineMaterialAppearance instances are compatible with. This requires position and st attributes.