在项目中应用Cesium.js时,时常遇到需要对Cesium.js的Material材质或者MaterialProperty材质属性进行拓展的应用场景。如果对GLSL(openGL Shading Language ),即:OpenGL着色语言熟悉的话,参考Cesium官方文档,构建一个新的Material必定不是难事。而MaterialProperty材质属性通常是用于为Cesium.Entity实体设置材质的。如何根据实际需求,对其进行拓展呢?
MaterialProperty材质属性:内置API概览
MaterialProperty材质属性,其实是Cesium提供的一个抽象接口层次的API,无法直接使用,因此,Cesium提供了面向Color颜色材质属性、Image贴图/纹理属性、Glow发光线属性等若干内置对象。
MaterialProperty材质属性:基本结构
那么,如何完成自定义材质属性的代码编写呢?我们可以先看一下Cesium.js提供的根接口MaterialProperty的基本结构,
members:成员属性
成员属性:
①definitionChange