本技术涉及三维渲染技术领域,尤其是指一种基于阴影映射的大批量矢量数据渲染方法,包括:将矢量数据发布为矢量瓦片地图服务;在虚幻引擎中请求矢量瓦片地图服务,得到矢量瓦片的二进制数据;将矢量瓦片的二进制数据解析为几何数据,再将几何数据构建为网格体数据;利用虚幻引擎计算网格体数据每个像素的深度值,并写入虚拟纹理中;后处理渲染。本发明生成的深度图与场景复杂度和矢量数据的数量无关,减少了对计算资源的占用,不仅提高了渲染效率,实现了对大批量矢量数据的渲染,并且有效地利用深度图将矢量数据投影到地形表面上,确保了地图显示的精确性和一致性,为地理信息系统的高效运行提供了有力保障。
背景技术
将渲染矢量数据到三维地形是指将二维矢量数据映射到三维地形模型上,常用于地理信息系统(GIS)、3D可视化和虚拟环境建模,用来展示现实地理特征在三维空间中的形态。
目前常见的渲染矢量数据到三维地形的方法有以下三种:
1、光栅化:将矢量数据光栅化到一张纹理上,再将这张纹理与地形的纹理进行融合。光栅化是目前技术中实现最简单、效果居中的方案,其优点是不会有额外的顶点开销,计算成本较小;缺点是矢量边缘和精度都会被光栅化的纹理大小所影响,产生锯齿走样,受地形细节层次影响会产生错位。
2、几何渲染方法:在矢量数据的两个顶点之间插值加密一部分点,并且这部分点通过射线求交,计算出地形的高度,然后利用带高度的矢量顶点数据构建网格数据,渲染为独立的模型。几何渲染方法的优点是实现简单,交互效果最好;缺点是由于地形的起伏复杂度可能导致悬浮和穿模,插值导致顶点数量成倍增加,计算资源消耗大。
3、体积阴影法:将二维矢量在地形表面的正射投影区域作为矢量渲染的最终区域,需要先将矢量数据构建为二维网格,再上下拉伸成一个阴影体,然后逐像素计算每个像素是否在阴影体内,将位于阴影体内的像素存储到模板缓冲区当中,最后在后处理过程中根据模板缓冲区的值渲染指定的像素区域。体积阴影法的优点是可以达到像素级的精度,可以完美贴合在地形表面,不被地形细节层次和起伏度的影响;缺点是阴影体产生额外的顶点数量和内存占用,逐像素的判断是否在阴影体内产生大量的算法开销。
综上所述,现有的矢量数据渲染方法在渲染大批量矢量数据时,计算成本和渲染质量无法达到平衡。
实现思路