WebGL地图引擎架构和渲染核心设计|WebGL地图引擎系列第二期 作者:J
前言
今天这篇文章来聊聊 WebGL 地图引擎的架构及其渲染核心的设计。Web 地图产品在采用 WebGL 技术绘制前早已经有 DOM 实现和采用 Canvas2D 绘图技术实现的版本,因此这里不再详细描述整个地图引擎的架构,我们重点只看和 WebGL 相关的内容。
从功能实现上看,WebGL 地图引擎需要以下部分
数据的请求、解析以及缓存的管理。
WebGL 相关的 Shader、状态管理。
WebGL 涉及的各种 Buffer、纹理对象的创建和管理。
不同类型的元素绘制。
在架构设计时需要考虑以下这些因素
模块是解耦的。方便不同人共同协作开发。
高性能的。通过架构解决一些性能问题。
高效的。通过封装隐藏底层细节。
当然,各个方面不可能完全达到最理想状态,因此需要根据项目特点进行权衡。