An appearance for arbitrary geometry (as opposed to
EllipsoidSurfaceAppearance, for example)
that supports shading with materials.
| 参数名称 | 类型 | 描述信息 | ||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
object |
可选
Object with the following properties:
|
使用示例:
const 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
})
});
Demo:
参考:
Namespaces
成员(属性)
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.
-
默认值:
false
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.
-
默认值:
true
When
true, flat shading is used in the fragment shader,
which means lighting is not taking into account.
-
默认值:
false
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.
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.
-
默认值:
Material.ColorType
参考:
readonly materialSupport : MaterialAppearance.MaterialSupportType
The type of materials supported by this instance. This impacts the required
VertexFormat and the complexity of the vertex and fragment shaders.
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.
When
true, the geometry is expected to appear translucent.
-
默认值:
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.
-
默认值:
MaterialAppearance.MaterialSupport.TEXTURED.vertexFormat
The GLSL source code for the vertex shader.
方法
Procedurally creates the full GLSL fragment shader source. For
MaterialAppearance,
this is derived from MaterialAppearance#fragmentShaderSource, MaterialAppearance#material,
MaterialAppearance#flat, and MaterialAppearance#faceForward.
返回值:
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 state
created in the context.
返回值:
The render state.
Determines if the geometry is translucent based on
MaterialAppearance#translucent and Material#isTranslucent.
返回值:
true if the appearance is translucent.
定义的类型
属性:
| 属性名称 | 类型 | 描述信息 |
|---|---|---|
vertexFormat |
VertexFormat | |
vertexShaderSource |
string | |
fragmentShaderSource |
string |
