Cesium添加水面
- 作者: 五速梦信息网
- 时间: 2026年04月04日 13:47
var viewer = new Cesium.Viewer(‘cesiumContainer’);
var waterPrimitive = new Cesium.Primitive({
//show:false,// 默认隐藏<br/>
allowPicking:false,<br/>
geometryInstances : new Cesium.GeometryInstance({<br/>
geometry : new Cesium.PolygonGeometry({<br/>
polygonHierarchy : new Cesium.PolygonHierarchy(Cesium.Cartesian3.fromDegreesArrayHeights(waterFace)),//waterFace是一个组成多边形顶点数组[lon,lat,alt]<br/>
//extrudedHeight: 0,//注释掉此属性可以只显示水面<br/>
perPositionHeight : true//注释掉此属性水面就贴地了<br/>
})<br/>
}),<br/>
// 可以设置内置的水面shader<br/>
appearance : new Cesium.EllipsoidSurfaceAppearance({<br/>
material : new Cesium.Material({<br/>
fabric : {<br/>
type : 'Water',<br/>
uniforms : {<br/>
//baseWaterColor:new Cesium.Color(0.0, 0.0, 1.0, 0.5),<br/>
//blendColor: new Cesium.Color(0.0, 0.0, 1.0, 0.5),<br/>
//specularMap: 'gray.jpg',<br/>
normalMap: 'waterNormals.jpg',<br/>
frequency: 1000.0,<br/>
animationSpeed: 0.01,<br/>
amplitude: 10.0<br/>
}<br/>
}<br/>
}),<br/>
fragmentShaderSource:'varying vec3 v_positionMC;\nvarying vec3 v_positionEC;\nvarying vec2 v_st;\nvoid main()\n{\nczm_materialInput materialInput;\nvec3 normalEC = normalize(czm_normal3D * czm_geodeticSurfaceNormal(v_positionMC, vec3(0.0), vec3(1.0)));\n#ifdef FACE_FORWARD\nnormalEC = faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC);\n#endif\nmaterialInput.s = v_st.s;\nmaterialInput.st = v_st;\nmaterialInput.str = vec3(v_st, 0.0);\nmaterialInput.normalEC = normalEC;\nmaterialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(v_positionMC, materialInput.normalEC);\nvec3 positionToEyeEC = -v_positionEC;\nmaterialInput.positionToEyeEC = positionToEyeEC;\nczm_material material = czm_getMaterial(materialInput);\n#ifdef FLAT\ngl_FragColor = vec4(material.diffuse + material.emission, material.alpha);\n#else\ngl_FragColor = czm_phong(normalize(positionToEyeEC), material);\<br/>
gl_FragColor.a=0.5;\n#endif\n}\n'//重写shader,修改水面的透明度<br/>
})<br/>
});<br/>water=viewer.scene.primitives.add(waterPrimitive);
- 上一篇: Cesium应用篇:2影像服务(下)
- 下一篇: Cesium入门7
相关文章
-
Cesium应用篇:2影像服务(下)
Cesium应用篇:2影像服务(下)
- 互联网
- 2026年04月04日
-
Cesium应用篇:3控件(2)BaseLayerPicker
Cesium应用篇:3控件(2)BaseLayerPicker
- 互联网
- 2026年04月04日
-
Cesium原理篇:3最长的一帧之地形(2:高度图)
Cesium原理篇:3最长的一帧之地形(2:高度图)
- 互联网
- 2026年04月04日
-
Cesium入门7
Cesium入门7
- 互联网
- 2026年04月04日
-
Cesium入门6
Cesium入门6
- 互联网
- 2026年04月04日
-
cesium如何离线使用
cesium如何离线使用
- 互联网
- 2026年04月04日






