new MaterialAppearance
An appearance for arbitrary geometry (as opposed to EllipsoidSurfaceAppearance, for example) that supports shading with materials.
Parameters:
| Name | Type | Argument | Default | Description | 
|---|---|---|---|---|
| options.flat | Boolean | <optional> | false | When true, flat shading is used in the fragment shader, which means lighting is not taking into account. | 
| options.faceForward | Boolean | <optional> | !options.closed | 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. | 
| options.translucent | Boolean | <optional> | true | When true, the geometry is expected to appear translucent so MaterialAppearance#renderState has alpha blending enabled. | 
| options.closed | Boolean | <optional> | false | When true, the geometry is expected to be closed so MaterialAppearance#renderState has backface culling enabled. | 
| options.materialSupport | MaterialAppearance.MaterialSupport | <optional> | MaterialAppearance.MaterialSupport.TEXTURED | The type of materials that will be supported. | 
| 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 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
  })
});
    
	
	
See:
Source:
Members
- 
    <readonly> closed
- 
    
    Whentrue, 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.- Default Value:
- false
 
 
- 
    <readonly> faceForward
- 
    
    Whentrue, 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.
- 
    <readonly> flat
- 
    
    Whentrue, flat shading is used in the fragment shader, which means lighting is not taking into account.- 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 MaterialAppearance#material, MaterialAppearance#flat, and MaterialAppearance#faceForward. Use MaterialAppearance#getFragmentShaderSource to get the full source.
- 
    getFragmentShaderSource
- 
    
    Procedurally creates the full GLSL fragment shader source. For MaterialAppearance, this is derived from MaterialAppearance#fragmentShaderSource, MaterialAppearance#material, MaterialAppearance#flat, and MaterialAppearance#faceForward.
- 
    getRenderState
- 
    
    Creates a render state. This is not the final RenderState instance; instead, it can contain a subset of render state properties identical torenderStatepassed to Context#createRenderState.
- 
    isTranslucent
- 
    
    Determines if the geometry is translucent based on MaterialAppearance#translucent and Material#isTranslucent.
- 
    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.- Default Value:
- Material.ColorType
 
 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.
- 
    <readonly> renderState :Object
- 
    
    The render state. This is not the final RenderState instance; instead, it can contain a subset of render state properties identical torenderStatepassed to Context#createRenderState.The render state can be explicitly defined when constructing a MaterialAppearance instance, or it is set implicitly via MaterialAppearance#translucent and MaterialAppearance#closed. 
- 
    <readonly> translucent
- 
    
    Whentrue, the geometry is expected to appear translucent so MaterialAppearance#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.
