实现效果
材质贴图
earthspec1k.jpg
waterNormals.jpg
关键代码
let worldRectangle;
function createPrimitives(scene) {
worldRectangle = scene.primitives.add(
new Cesium.Primitive({
geometryInstances: new Cesium.GeometryInstance({
geometry: new Cesium.RectangleGeometry({
rectangle: Cesium.Rectangle.fromDegrees(-180.0, -90.0, 180.0, 90.0),
vertexFormat: Cesium.EllipsoidSurfaceAppearance.VERTEX_FORMAT,
}),
}),
appearance: new Cesium.EllipsoidSurfaceAppearance({
aboveGround: false,
material: new Cesium.Material({
fabric: {
type: 'Water',
uniforms: {
specularMap: '../images/earthspec1k.jpg',
normalMap: Cesium.buildModuleUrl('Assets/Textures/waterNormals.jpg'),
frequency: 10000.0,
animationSpeed: 0.01,
amplitude: 1.0,
},
},
}),
}),
show: true,
}),
)
}
createPrimitives();