亿量级球面等积六边形格网高效渲染的
片元纹理映射方法

涂祖瑞、郭海涛、朱坤 地球信息科学学报 · 2026 · 28(7): 1974-1988 DGGS / 等积六边形格网 / WebGL Geometry-free Fragment Shader Rendering

本文面向全球离散格网系统中亿量级球面等积六边形单元的实时可视化瓶颈,提出一种基于片元着色器纹理映射的无几何实体渲染方法。该方法利用六边形格网与菱形格网的弱对偶关系,将大量六边形单元聚合为菱形瓦片,每个瓦片仅提交 4 个顶点,并在 GPU 片元阶段通过连续地理坐标到离散格网编码的解析映射完成单元归属判定与纹理采样。针对 WebGL 单精度浮点限制,论文进一步提出弱优化与强优化策略,使 18—19 级高分辨率格网仍能保持拓扑准确与交互渲染性能。

全球离散格网 等积六边形格网 片元着色器 纹理映射 WebGL 亿量级渲染
↓ 向下滚动阅读

01 · 研究背景与问题

当六边形格网进入亿量级,几何实体绘制成为核心瓶颈

全球离散格网系统通过递归剖分地表空间形成多分辨率层次结构,是全球尺度地理分析、地球系统建模和数字孪生地球的重要空间框架。等积六边形格网具有采样均匀、面积一致和邻接各向同性等优势,但随着层级提升,传统将每个六边形拆分为三角形提交 GPU 的方法会导致顶点缓冲区、绘制指令和 CPU-GPU 传输压力急剧膨胀。

几何实体绘制成本高

传统方案需要为每个六边形生成多个顶点并提交 GPU,当单元达到亿量级时,顶点数据和 Draw Calls 成为性能瓶颈。

传统瓦片不适配离散格网

WMTS 等矩形瓦片依赖连续纹理插值,难以直接表达离散、非矩形且形态存在差异的球面六边形单元。

高层级受精度限制

WebGL 片元着色器主要使用单精度浮点,在 17—19 级高分辨率格网中容易出现纹理偏移和拓扑错位。

4
每瓦片提交顶点数
1.25 亿
第 11 级参与渲染单元
19 级
最高验证格网层级
0.15 m
19 级近似单元尺寸

02 · 片元纹理映射方法

把“画六边形”转化为“片元级解析判定”

本文方法的关键思想是:不再将每个六边形作为几何实体绘制,而是在片元着色器中根据当前片元的地理位置,实时计算其所属六边形编码,再从纹理数组中获取对应属性颜色。这样,渲染复杂度从“随格网单元数量增长”转向“随屏幕片元数量增长”。

G1
菱形瓦片分块:利用六边形—菱形弱对偶关系

六边形格网与菱形格网具有弱对偶关系:菱形单元顶点对应六边形中心,六边形顶点对应菱形重心。研究将 n × n 个六边形单元聚合为一个菱形瓦片,以较低层级菱形格网作为瓦片边界,对更高层级六边形格网进行分块。

DGGS Rhombus Tile Hex Grid Weak Duality
G2
无几何实体渲染:每瓦片仅传输 4 个顶点

传统方法需要传输瓦片中所有六边形单元的顶点,而本文方法每个瓦片只提交 4 个顶点构成两个三角面。六边形形态与单元归属不再由几何顶点决定,而是在片元着色器内部动态解析。

Geometry-free 4 Vertices Fragment Shader Bandwidth Reduction
M3
连续坐标到离散编码的解析映射

首先利用 Leeuwen 等积投影将地理坐标转换为多面体菱形面上的全局仿射坐标;再通过取整、上下三角判定和候选中心搜索,确定片元附近的 3 个候选六边形中心;最后计算局部重心仿射坐标,判定所属离散格网编码。

Leeuwen Projection Affine Coordinate Candidate Centers Discrete Code
M4
纹理数组采样:编码决定颜色

片元所属格网编码确定后,着色器根据该编码访问纹理数组,读取六边形单元对应的属性色彩。该过程将离散格网属性数据以纹理形式传递给 GPU,避免海量几何实体生成。

Texture Array Attribute Color GPU Sampling Discrete Rendering
B5
瓦片扩展:修复边界裂缝

由于六边形无法与菱形瓦片边界完全对齐,边界处可能出现半个六边形或渲染裂缝。本文通过瓦片额外扩展一行一列的策略进行镶嵌修补,保证全球范围内的连续渲染。

Tile Mosaic Boundary Repair Extra Row / Column Seamless Rendering

弱优化策略:逼近单精度极限

  • 适用于 15—17 级格网。
  • 减少三角函数调用,替换为四则运算和平方根。
  • 优化计算次序,将高精度计算前移。
  • 采用 CORDIC 迭代求反正切,降低 GPU 内置 SFU 函数误差。

强优化策略:突破单精度限制

  • 适用于 18—19 级格网。
  • 引入一阶泰勒截断误差修正。
  • 将高精度常数拆分为单精度部分与残差部分。
  • 通过微分链式法则将误差修正贯穿投影计算流程。

03 · 实验与性能评估

亿量级单元参与渲染时仍能保持交互帧率

研究基于 Python 3.8、Cesium 1.132 和 WebGL 2.0 实现原型系统,并在高端笔记本、普通办公机、集成显卡设备和移动终端上测试。实验覆盖全球 7—12 级格网和青海湖区域 14—19 级高分辨率格网。

88.6 FPS
第 9 级本文方法
33.6 FPS
第 11 级本文方法
24.0 FPS
一加手机平均帧率
19.1 FPS
集显笔记本平均帧率
格网层级 参与渲染单元数 现有方法 FPS 本文方法 FPS 性能提升
第 9 级 约 786 万 18.9(条带法) 88.6 约 4.7 倍
第 11 级 约 1.25 亿 19.0(点绘制) 33.6 约 1.8 倍

视觉效果验证

  • 未优化时,17 级以上格网易出现纹理偏移和拓扑错位。
  • 应用强优化策略后,19 级格网形态仍保持准确。
  • 19 级单元尺寸约 0.15 m,接近全局映射精度极限。
  • 当单元尺寸远大于屏幕像素时,边界可能出现轻微抖动。

跨平台适配性

  • 高端设备单瓦片渲染耗时约 6—9 ms。
  • 移动端单瓦片渲染耗时约 15—37 ms。
  • 一加手机平均帧率达到 24.0 fps。
  • 华为平板平均帧率 11.0 fps,集成显卡笔记本为 19.1 fps。
核心发现:本文方法的性能优势来自渲染范式转换——不再向 GPU 提交亿量级六边形几何,而是只提交少量瓦片几何,将“属于哪个六边形”的问题交给片元着色器并行解析。

04 · 结论与技术启示

Geometry-free 渲染为 DGGS Web 端轻量化应用打开空间

本文提出的片元纹理映射方法将球面等积六边形格网渲染从几何驱动转向片元解析驱动,显著降低 CPU-GPU 传输压力和几何构建成本,并通过分级精度优化解决 WebGL 单精度浮点带来的高层级偏移问题。

带宽极低

每个菱形瓦片仅需提交 4 个顶点,格网属性通过纹理数组传递,显著降低顶点缓冲区和绘制指令压力。

跨平台可用

方法基于 WebGL 2.0 和片元着色器实现,可在移动端、集成显卡和普通办公设备上获得可交互帧率。

高层级可控

通过弱优化和强优化策略,缓解单精度浮点误差,使 18—19 级高分辨率格网保持较高拓扑准确性。

应用价值

  • 支撑全球 DGGS 格网数据的 Web 端交互可视化。
  • 适用于数字孪生地球、地球系统建模和全球尺度统计制图。
  • 有利于在移动端和平板端部署轻量化离散格网可视化服务。
  • 为海量离散空间单元渲染提供几何-free 思路。

局限与未来方向

  • 当前受全局坐标量级影响,最高支持至约 19 级。
  • 未来可探索局部化坐标重构,支持更深层级格网。
  • 目前主要为二维球面渲染,尚未结合高程数据进行三维地形贴合。
  • 无几何实体导致单元拾取、编辑等交互需辅助少量几何构建。
  • 未来还需集成动态 LOD 调度、视锥剔除和显存管理策略。