Cesium-Examples/examples/cesiumEx/7.0.0、Material和MaterialProperty.html

92 lines
3.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.eyJqdGkiOiIyNDMxOTA2NS1lY2Q3LTQ0YmUtOTE1Mi1iNWE2OGYwZjc0MjkiLCJpZCI6MjM1NjMwLCJpYXQiOjE3MzA3MjQzMTJ9.Xhu-9FyVEyqBKWEr0V9Sybt-elTCWHt9peL9-mNh-4E'
const viewer = new Cesium.Viewer('map', {});
// Entity -> MaterialProperty
// Primitive -> appearance(Material)
// 1、Material类专为Appearance类而生用于修改Primitive的几何对象材质。
// 2、MaterialProperty类专为Entity类而生用于修改Entity的几何对象材质。
// -------------------------------------------------------------------Material----------------------------------------------------------------------
// 使用Fabric JSON定义材质
const material = new Cesium.Material({
fabric: {
type: "Color", // 内置材质类型
uniforms: {
color: new Cesium.Color(1.0, 1.0, 0.0, 1.0) // 黄色
}
}
});
// 或使用内置简写
// const material = Cesium.Material.fromType("Color", {
// color: Cesium.Color.RED
// });
const primitive = new Cesium.Primitive({
geometryInstances: new Cesium.GeometryInstance(
{
id: 'polygon',
geometry: new Cesium.PolygonGeometry({
polygonHierarchy: new Cesium.PolygonHierarchy(
Cesium.Cartesian3.fromDegreesArray([
-115.0, 37.0,
-115.0, 32.0,
-102.0, 31.0,
-102.0, 35.0
])
),
})
}
),
appearance: new Cesium.MaterialAppearance({
material: material
})
});
viewer.scene.primitives.add(primitive);
// -------------------------------------------------------------------Material----------------------------------------------------------------------
// -------------------------------------------------------------------MaterialProperty----------------------------------------------------------------------
let entity = viewer.entities.add({
polygon: {
hierarchy: Cesium.Cartesian3.fromDegreesArray([
-108.0,
42.0,
-100.0,
42.0,
-104.0,
40.0,
]),
}
});
entity.polygon.material = new Cesium.ImageMaterialProperty({
image: './icon.png',
repeat: new Cesium.Cartesian2(10, 5),
transparent: true
});
// -------------------------------------------------------------------MaterialProperty----------------------------------------------------------------------
</script>
</body>
</html>