new PolylineMaterialAppearance
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> closed
-
When
true
, the geometry is expected to be closed so PolylineMaterialAppearance#renderState has backface culling enabled.- Default Value:
- false
-
<readonly> fragmentShaderSource :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.
-
getFragmentShaderSource
-
Procedurally creates the full GLSL fragment shader source. For PolylineMaterialAppearance, this is derived from PolylineMaterialAppearance#fragmentShaderSource and PolylineMaterialAppearance#material.
-
getRenderState
-
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. -
isTranslucent
-
Determines if the geometry is translucent based on PolylineMaterialAppearance#translucent and Material#isTranslucent.
-
material :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> renderState :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> translucent
-
When
true
, the geometry is expected to appear translucent so PolylineMaterialAppearance#renderState has alpha blending enabled.- Default Value:
- true
-
<readonly> vertexFormat :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> vertexShaderSource :String
-
The GLSL source code for the vertex shader.
-
<static, constant> VERTEX_FORMAT :VertexFormat
-
The VertexFormat that all PolylineMaterialAppearance instances are compatible with. This requires
position
andst
attributes.