Appearance
概述
fabric 是 Cesium 的“材质描述语言”,fabric 等于用 JSON 描述 Shader 逻辑的高级封装。
它不是 GLSL 本身,而是:
- 对 GLSL 的一层抽象
- 专门用来定义 Material(材质)
- 主要作用在 片元着色器阶段
javascript
viewer.scene.primitives.add(
new Cesium.Primitive({
geometryInstances: instance,
appearance: new Cesium.EllipsoidSurfaceAppearance({
material: new Cesium.Material({
fabric: {
type: 'Pulse',
uniforms: {
color: Cesium.Color.RED,
speed: 0.01,
},
source: `
czm_material czm_getMaterial(czm_materialInput materialInput)
{
czm_material material = czm_getDefaultMaterial(materialInput);
float t = fract(czm_frameNumber * speed);
material.diffuse = color.rgb;
material.alpha = t;
return material;
}
`,
},
translucent: true,
})
}),
})
)