经纬志
首页 / Cesium / 使用示例

着色器采样自定义纹理

给 CustomShader 传入采样器 uniform,用纹理控制模型外观。

CesiumJS 1.121 · 更新 2026-10-28
源码与运行效果
运行效果

采样器 uniform

UniformType.SAMPLER_2D 的值要用 TextureUniform 包装,传入 URL、canvas 或 data URL。着色器里声明同名的 sampler2D 再采样。

坐标从哪来

示例用模型局部坐标拼出 uv,避免依赖模型的 UV 通道。真实的属性纹理按 texCoord 或要素 ID 采样,能把每栋楼的数据写进一张纹理。

对象类型说明
TextureUniform包装纹理接受 URL / canvas
SAMPLER_2Duniform 类型采样器
texture(u_map, uv)GLSL取色

纹理尺寸最好是 2 的幂,非 2 的幂在部分设备上会被强制拉伸,采样坐标随之错位。