# PolylineMaterialAppearance

#### new Cesium.PolylineMaterialAppearance(options)
Scene/PolylineMaterialAppearance.js 50

An appearance for `PolylineGeometry` that supports shading with materials.

Name | Type | Description
--- | --- | ---

`options`

Object

optional Object with the following properties:

Name | Type | Default | Description
--- | --- | --- | ---
`translucent` | Boolean | `true` | optional When `true`, the geometry is expected to appear translucent so `PolylineMaterialAppearance#renderState` has alpha blending enabled.
`material` | Material | `Material.ColorType` | optional The material used to determine the fragment color.
`vertexShaderSource` | String |  | optional Optional GLSL vertex shader source to override the default vertex shader.
`fragmentShaderSource` | String |  | optional Optional GLSL fragment shader source to override the default fragment shader.
`renderState` | Object |  | optional Optional render state to override the default render state.

##### Example:

    var primitive = new Cesium.Primitive({
      geometryInstances : new Cesium.GeometryInstance({
        geometry : new Cesium.PolylineGeometry({
          positions : Cesium.Cartesian3.fromDegreesArray([
            0.0, 0.0,
            5.0, 0.0
          ]),
          width : 10.0,
          vertexFormat : Cesium.PolylineMaterialAppearance.VERTEX_FORMAT
        })
      }),
      appearance : new Cesium.PolylineMaterialAppearance({
        material : Cesium.Material.fromType('Color')
      })
    });

##### See:

- Fabric

### Members

#### static constant Cesium.PolylineMaterialAppearance.VERTEX_FORMAT : VertexFormat
Scene/PolylineMaterialAppearance.js 186

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

#### readonly closed : Boolean
Scene/PolylineMaterialAppearance.js 153

When `true`, the geometry is expected to be closed so `PolylineMaterialAppearance#renderState` has backface culling enabled. This is always `false` for `PolylineMaterialAppearance`.

Default Value: `false`

#### readonly fragmentShaderSource : String
Scene/PolylineMaterialAppearance.js 116

The GLSL source code for the fragment shader.

#### material : Material
Scene/PolylineMaterialAppearance.js 67

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:

- Fabric

#### readonly renderState : Object
Scene/PolylineMaterialAppearance.js 135

The WebGL fixed-function state to use when rendering the geometry.

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

#### translucent : Boolean
Scene/PolylineMaterialAppearance.js 77

When `true`, the geometry is expected to appear translucent so `PolylineMaterialAppearance#renderState` has alpha blending enabled.

Default Value: `true`

#### readonly vertexFormat : VertexFormat
Scene/PolylineMaterialAppearance.js 171

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.

Default Value: ``PolylineMaterialAppearance.VERTEX_FORMAT``

#### readonly vertexShaderSource : String
Scene/PolylineMaterialAppearance.js 98

The GLSL source code for the vertex shader.

### Methods

#### getFragmentShaderSource() → String
Scene/PolylineMaterialAppearance.js 196

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

##### Returns:

The full GLSL fragment shader source.

#### getRenderState() → Object
Scene/PolylineMaterialAppearance.js 216

Creates a render state. This is not the final render state instance; instead, it can contain a subset of render state properties identical to the render state created in the context.

##### Returns:

The render state.

#### isTranslucent() → Boolean
Scene/PolylineMaterialAppearance.js 205

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

##### Returns:

`true` if the appearance is translucent.