Cesium-Examples/examples/cesiumEx/4.1.10、水域面.html
2025-06-12 14:10:21 +08:00

85 lines
2.6 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!--********************************************************************
* by jiawanlong
*********************************************************************-->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<link
rel="stylesheet"
href="./../../libs/cesium/Cesium1.98/Widgets/widgets.css"
/>
<script
type="text/javascript"
src="./../../libs/cesium/Cesium1.98/Cesium.js"
></script>
</head>
<body
style="
margin: 0;
overflow: hidden;
background: #fff;
width: 100%;
height: 100%;
position: absolute;
top: 0;
"
>
<div id="map" style="margin: 0 auto; width: 100%; height: 100%"></div>
<script type="text/javascript">
Cesium.Ion.defaultAccessToken =
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIyMjBhMzcxMC0wNjBiLTRmYjItYjY1MC0wMzAwMzMyMGUyMmEiLCJpZCI6MzAzNzc3LCJpYXQiOjE3NDc2Mzk0NTV9.E_90aKtVdzRGlU2z48VwJ4mWvl-uuDkfQBCOO6zbzn4";
const viewer = new Cesium.Viewer("map", {});
// 开启帧率
viewer.scene.debugShowFramesPerSecond = true;
// 深度监测
viewer.scene.globe.depthTestAgainstTerrain = true;
viewer.scene.globe.depthTestAgainstTerrain = false;
var waterFace = [
90.0, 30.0, 0, 91.0, 30.0, 0, 91.0, 29.0, 0, 90.0, 29.0, 0,
];
var waterPrimitive = new Cesium.Primitive({
show: true, // 默认隐藏
allowPicking: false,
geometryInstances: new Cesium.GeometryInstance({
geometry: new Cesium.PolygonGeometry({
polygonHierarchy: new Cesium.PolygonHierarchy(
Cesium.Cartesian3.fromDegreesArrayHeights(waterFace)
),
}),
}),
// 可以设置内置的水面shader
appearance: new Cesium.EllipsoidSurfaceAppearance({
material: new Cesium.Material({
fabric: {
type: "Water",
uniforms: {
normalMap: Cesium.buildModuleUrl(
"Assets/Textures/waterNormals.jpg"
),
frequency: 1000.0,
animationSpeed: 0.01,
amplitude: 10.0,
},
},
}),
}),
});
viewer.scene.primitives.add(waterPrimitive);
viewer.camera.flyTo({
destination: Cesium.Cartesian3.fromDegrees(90.5, 29.5, 60000.0),
orientation: {
heading: Cesium.Math.toRadians(0.0), //默认朝北0度顺时针方向东是90度
pitch: Cesium.Math.toRadians(-90), //默认朝下看-90,0为水平看
roll: Cesium.Math.toRadians(0), //默认0
},
});
</script>
</body>
</html>