new PerInstanceColorAppearance(options)
        An appearance for 
    
    
    
    
    
        
GeometryInstance instances with color attributes.
This allows several geometry instances, each with a different color, to
be drawn with the same Primitive as shown in the second example below.
    | Name | Type | Description | ||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options | 
            
            Object | 
            
                
                        optional
                
                
                
            
                Object with the following properties:
                
  | 
        
Example:
// A solid white line segment
var primitive = new Cesium.Primitive({
  geometryInstances : new Cesium.GeometryInstance({
    geometry : new Cesium.SimplePolylineGeometry({
      positions : Cesium.Cartesian3.fromDegreesArray([
        0.0, 0.0,
        5.0, 0.0
      ])
    }),
    attributes : {
      color : Cesium.ColorGeometryInstanceAttribute.fromColor(new Cesium.Color(1.0, 1.0, 1.0, 1.0))
    }
  }),
  appearance : new Cesium.PerInstanceColorAppearance({
    flat : true,
    translucent : false
  })
});
// Two rectangles in a primitive, each with a different color
var instance = new Cesium.GeometryInstance({
  geometry : new Cesium.RectangleGeometry({
    rectangle : Cesium.Rectangle.fromDegrees(0.0, 20.0, 10.0, 30.0)
  }),
  color : new Cesium.Color(1.0, 0.0, 0.0, 0.5)
});
var anotherInstance = new Cesium.GeometryInstance({
  geometry : new Cesium.RectangleGeometry({
    rectangle : Cesium.Rectangle.fromDegrees(0.0, 40.0, 10.0, 50.0)
  }),
  color : new Cesium.Color(0.0, 0.0, 1.0, 0.5)
});
var rectanglePrimitive = new Cesium.Primitive({
  geometryInstances : [instance, anotherInstance],
  appearance : new Cesium.PerInstanceColorAppearance()
});
    
    
    
    Demo:
Members
- 
    
staticconstantPerInstanceColorAppearance.FLAT_VERTEX_FORMAT :VertexFormat
 - 
    
    The
VertexFormatthat allPerInstanceColorAppearanceinstances are compatible with whenPerInstanceColorAppearance#flatisfalse. This requires only apositionattribute. - 
    
staticconstantPerInstanceColorAppearance.VERTEX_FORMAT :VertexFormat
 - 
    
    The
VertexFormatthat allPerInstanceColorAppearanceinstances are compatible with. This requires onlypositionandstattributes. - 
    
readonlyclosed :Boolean
 - 
    
    When
true, the geometry is expected to be closed soPerInstanceColorAppearance#renderStatehas backface culling enabled. If the viewer enters the geometry, it will not be visible.- 
    
    
    
    
    
    
    
    
    
    Default Value:
    
 
false - 
    
readonlyfaceForward :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 likeWallGeometry.- 
    
    
    
    
    
    
    
    
    
    Default Value:
    
 
true - 
    
readonlyflat :Boolean
 - 
    
    When
true, flat shading is used in the fragment shader, which means lighting is not taking into account.- 
    
    
    
    
    
    
    
    
    
    Default Value:
    
 
false - 
    
readonlyfragmentShaderSource :String
 - 
    
    The GLSL source code for the fragment shader.
 - 
    
material :Material
 - 
    
    This property is part of the
Appearanceinterface, but is not used byPerInstanceColorAppearancesince a fully custom fragment shader is used.- 
    
    
    
    
    
    
    
    
    
    Default Value:
    
 
undefined - 
    
readonlyrenderState :Object
 - 
    
    The WebGL fixed-function state to use when rendering the geometry.
The render state can be explicitly defined when constructing a
PerInstanceColorAppearanceinstance, or it is set implicitly viaPerInstanceColorAppearance#translucentandPerInstanceColorAppearance#closed. - 
    
translucent :Boolean
 - 
    
    When
true, the geometry is expected to appear translucent soPerInstanceColorAppearance#renderStatehas alpha blending enabled.- 
    
    
    
    
    
    
    
    
    
    Default Value:
    
 
true - 
    
readonlyvertexFormat :VertexFormat
 - 
    
    The
VertexFormatthat 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. - 
    
readonlyvertexShaderSource :String
 - 
    
    The GLSL source code for the vertex shader.
 
Methods
- 
    
getFragmentShaderSource()
 - 
    
    Procedurally creates the full GLSL fragment shader source. For
PerInstanceColorAppearance, this is derived fromPerInstanceColorAppearance#fragmentShaderSource,PerInstanceColorAppearance#flat, andPerInstanceColorAppearance#faceForward.Returns:
String The full GLSL fragment shader source. - 
    
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.
Returns:
The render state. - 
    
isTranslucent() → Boolean
 - 
    
    Determines if the geometry is translucent based on
PerInstanceColorAppearance#translucent.Returns:
trueif the appearance is translucent. 
