Cesium 实战 46 - CustomShader 自定义材质2(贴图与光照)核心代码1. 创建 Viewer 与加载 Tileset2. 贴图(customShader1)3. 贴图 + 动态光环(customShader2)4. 贴图3(customShader3)与清除(clears)参数说明面类型判定阈值贴图 UV 与尺寸uniforms完整代码实现要点顶点→片元的变量传递面类型判定重复贴图(平铺)按高度切换贴图动态光环(customShader2)底图与依赖1.143 API 变更在线示例延续上篇CustomShader。本示例给 3D Tiles 建筑贴纹理图片,并叠加动态光环:贴图通过uniforms传入TextureUniform,法向量在顶点着色器里作为varyings传给片元着色器,局部坐标直接读片元内建属性,片元着色器按屋顶、墙面、前后面、左右面分别采样,并按建筑高度切换贴图。customShader2再叠加一个自下而上的扫描光环,页面提供「贴图」「贴图2」「贴图3」「清除」四个按钮。本文包括核心代码、完整代码以及在线示例。核心代码Cesium.CustomShader+uniforms(TextureUniform):把墙面贴图作为采样器传入着色器varyings+ 顶点着色器:在vertexMain把normalMC透传给片元着色器法向量判定面类型:dot(up, normalMC)区分屋顶/墙面,dot(zAxis, normalMC)区分前后面/左右
阅读完成 · 觉得有帮助?