new MaterialAppearance(optionsopt)
    An appearance for arbitrary geometry (as opposed to 
    EllipsoidSurfaceAppearance, for example)
that supports shading with materials.
Parameters:
| Name | Type | Attributes | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| options | Object | <optional> | Object with the following properties: Properties
 | 
- Source:
- See:
Example
var primitive = new Cesium.Primitive({
  geometryInstances : new Cesium.GeometryInstance({
    geometry : new Cesium.WallGeometry({
            materialSupport :  Cesium.MaterialAppearance.MaterialSupport.BASIC.vertexFormat,
      // ...
    })
  }),
  appearance : new Cesium.MaterialAppearance({
    material : Cesium.Material.fromType('Color'),
    faceForward : true
  })
});Members
(static) MaterialSupport
    Determines the type of 
Material that is supported by a
MaterialAppearance instance.  This is a trade-off between
flexibility (a wide array of materials) and memory/performance
(required vertex format and GLSL shader complexity.
- Source:
(readonly) closed :Boolean
    When 
    true, the geometry is expected to be closed so
MaterialAppearance#renderState has backface culling enabled.
If the viewer enters the geometry, it will not be visible.
Type:
- Boolean
- Default Value:
- false
 
- Source:
(readonly) faceForward :Boolean
    When 
    true, the fragment shader flips the surface normal
as needed to ensure that the normal faces the viewer to avoid
dark spots.  This is useful when both sides of a geometry should be
shaded like WallGeometry.
Type:
- Boolean
- Default Value:
- true
 
- Source:
(readonly) flat :Boolean
    When 
    true, flat shading is used in the fragment shader,
which means lighting is not taking into account.
Type:
- Boolean
- Default Value:
- false
 
- Source:
(readonly) fragmentShaderSource :String
    The GLSL source code for the fragment shader.  The full fragment shader
source is built procedurally taking into account 
    MaterialAppearance#material,
MaterialAppearance#flat, and MaterialAppearance#faceForward.
Use MaterialAppearance#getFragmentShaderSource to get the full source.
Type:
- String
- Source:
material :Material
    The material used to determine the fragment color.  Unlike other 
    MaterialAppearance
properties, this is not read-only, so an appearance's material can change on the fly.
Type:
- Default Value:
- Source:
- See:
(readonly) materialSupport :MaterialAppearance.MaterialSupport
    The type of materials supported by this instance.  This impacts the required
    VertexFormat and the complexity of the vertex and fragment shaders.
Type:
- Default Value:
- Source:
(readonly) renderState :Object
    The WebGL fixed-function state to use when rendering the geometry.
    
The render state can be explicitly defined when constructing a MaterialAppearance
instance, or it is set implicitly via MaterialAppearance#translucent
and MaterialAppearance#closed.
Type:
- Object
- Source:
translucent :Boolean
    When 
    true, the geometry is expected to appear translucent.
Type:
- Boolean
- Default Value:
- true
 
- Source:
(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.
Type:
- Default Value:
- MaterialAppearance.MaterialSupport.TEXTURED.vertexFormat
 
- Source:
(readonly) vertexShaderSource :String
    The GLSL source code for the vertex shader.
    Type:
- String
- Source:
Methods
getFragmentShaderSource() → {String}
    Procedurally creates the full GLSL fragment shader source.  For 
MaterialAppearance,
this is derived from MaterialAppearance#fragmentShaderSource, MaterialAppearance#material,
MaterialAppearance#flat, and MaterialAppearance#faceForward.
- Source:
Returns:
    The full GLSL fragment shader source.
- Type
- String
getRenderState() → {Object}
    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.
- Source:
Returns:
    The render state.
- Type
- Object
isTranslucent() → {Boolean}
    Determines if the geometry is translucent based on 
MaterialAppearance#translucent and Material#isTranslucent.
- Source:
Returns:
true if the appearance is translucent.
- Type
- Boolean