An appearance for geometry on the surface of the ellipsoid like
PolygonGeometryand RectangleGeometry, which supports all materials like MaterialAppearancewith MaterialAppearance.MaterialSupport.ALL. However, this appearance requiresfewer vertex attributes since the fragment shader can procedurally compute normal,tangent, and bitangent.
| Name | Type | Description | ||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object |
optional
Object with the following properties:
|
Example:
var primitive = new Cesium.Primitive({
geometryInstances : new Cesium.GeometryInstance({
geometry : new Cesium.PolygonGeometry({
vertexFormat : Cesium.EllipsoidSurfaceAppearance.VERTEX_FORMAT,
// ...
})
}),
appearance : new Cesium.EllipsoidSurfaceAppearance({
material : Cesium.Material.fromType('Stripe')
})
});
See:
Members
-
staticconstantCesium.EllipsoidSurfaceAppearance.VERTEX_FORMAT : VertexFormat
-
The
VertexFormatthat allEllipsoidSurfaceAppearanceinstancesare compatible with, which requires onlypositionandstattributes. Other attributes are procedurally computed in the fragment shader. -
When
true, the geometry is expected to be on the ellipsoid'ssurface - not at a constant height above it - soEllipsoidSurfaceAppearance#renderStatehas backface culling enabled.-
Default Value:
false -
When
true, the geometry is expected to be closed soEllipsoidSurfaceAppearance#renderStatehas backface culling enabled.If the viewer enters the geometry, it will not be visible.-
Default Value:
false -
When
true, the fragment shader flips the surface normalas needed to ensure that the normal faces the viewer to avoiddark spots. This is useful when both sides of a geometry should beshaded likeWallGeometry.-
Default Value:
true -
When
true, flat shading is used in the fragment shader,which means lighting is not taking into account.-
Default Value:
false -
The GLSL source code for the fragment shader. The full fragment shadersource is built procedurally taking into account
EllipsoidSurfaceAppearance#material,EllipsoidSurfaceAppearance#flat, andEllipsoidSurfaceAppearance#faceForward.UseEllipsoidSurfaceAppearance#getFragmentShaderSourceto get the full source. -
material : Material
-
The material used to determine the fragment color. Unlike other
EllipsoidSurfaceAppearanceproperties, this is not read-only, so an appearance's material can change on the fly.-
Default Value:
Material.ColorTypeSee:
-
The WebGL fixed-function state to use when rendering the geometry.
The render state can be explicitly defined when constructing a
EllipsoidSurfaceAppearanceinstance, or it is set implicitly viaEllipsoidSurfaceAppearance#translucentandEllipsoidSurfaceAppearance#aboveGround. -
When
true, the geometry is expected to appear translucent.-
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 apotential performance cost - but it can't have less.-
Default Value:
EllipsoidSurfaceAppearance.VERTEX_FORMAT -
The GLSL source code for the vertex shader.
Methods
-
Procedurally creates the full GLSL fragment shader source. For
EllipsoidSurfaceAppearance,this is derived fromEllipsoidSurfaceAppearance#fragmentShaderSource,EllipsoidSurfaceAppearance#flat,andEllipsoidSurfaceAppearance#faceForward.Returns:
The full GLSL fragment shader source. -
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 statecreated in the context.
Returns:
The render state. -
Determines if the geometry is translucent based on
EllipsoidSurfaceAppearance#translucentandMaterial#isTranslucent.Returns:
trueif the appearance is translucent.
