WebGLCustomLayerRenderState

渲染状态。这是唯一能改深度 / 混合 / 剔除的入口 —— 地图对这些全局 GL 状态做了缓存, 自己调 gl.enable / gl.blendFunc 会让缓存与真实状态失配、底图渲染出错, 所以只能声明式地表达,由图层统一施加并在画完精确还原

interface WebGLCustomLayerRenderState {
    blend?: WebGLCustomLayerBlend;
    cullFace?: "none" | "back" | "front";
    depthFunc?:
        | "never"
        | "less"
        | "equal"
        | "lequal"
        | "greater"
        | "notequal"
        | "gequal"
        | "always";
    depthTest?: boolean;
    depthWrite?: boolean;
    frontFace?: "ccw"
    | "cw";
}

属性

混合方式,默认值:'normal'

面剔除,默认值:'none'

深度比较函数,省略时不改动

是否开启深度测试。默认关闭,可视化图层靠绘制顺序叠加。 开启后会与 3D 楼块争深度,遮挡关系可能随缩放 / 倾斜不稳定,只在自绘 3D 几何时开,默认值:false

是否写入深度缓冲。默认不写,避免污染后续文字 / marker 通道,默认值:false

正面绕序,省略时不改动