Skip to content

Cesium 自定义材质全面指南

  • 待更新...

https://github.com/CesiumGS/cesium/wiki/Fabric

什么是自定义材质?

在 Cesium 中,自定义材质允许开发者通过编写 GLSL 着色器代码来创建独特的表面渲染效果。与内置材质不同,自定义材质提供了完全的控制权,可以实现从简单的颜色变化到复杂的物理模拟等各种视觉效果。

创建自定义材质的基本结构

js
const customMaterial = new Cesium.Material({
  fabric: {
    type: "MyCustomMaterial", // 唯一标识符
    uniforms: {
      // 可动态修改的参数
      baseColor: new Cesium.Color(1.0, 0.0, 0.0, 1.0),
      speed: 1.0,
      time: 0,
    },
    source: `
      // GLSL着色器代码
      czm_material czm_getMaterial(czm_materialInput materialInput) {
        czm_material material = czm_getDefaultMaterial(materialInput);
        // 自定义材质逻辑
        return material;
      }
    `,
  },
});