主要观点:介绍了几何剪贴图(Geometry clipmaps)这一实时绘制巨大地形的渲染技术,包括其基本原理、实现细节、优缺点等。
关键信息:
- 2004 年首次发表,之后有 GPU 实现。
- 原理是上传中间细分更精细的网格,根据相机位置调整顶点高度以实现细节变化。
- 实现细节包括将地形分为不同类型的网格,如环、方形瓷砖、填充网格和修剪网格等,需注意网格位置的对齐和分辨率的处理。
- 生成网格代码较多,需注意一些细节以简化渲染,如生成单个填充和修剪网格等。
- 存在接缝问题,可通过将剪贴图水平偏移来绘制接缝三角形解决。
- 渲染过程中需计算缩放和相机位置的对齐,不同层次的网格绘制方式不同。
- 顶点着色器简单,片段着色器需注意在片段中采样法线图等。
- 高效存储高度图可使用 BC5 格式,需在 CPU 解码。
- 还有裙边、空瓷砖和地形变形等扩展内容。
重要细节: - 原始论文中填充网格宽 2 个单位,修剪网格宽 1 个单位且高 2 个单位,作者实现中填充网格宽 1 个单位且修剪网格窄。
- 渲染 API 相关内容,如
renderer_uniforms和renderer_draw_mesh的使用。 - 不同层次网格绘制的条件和坐标计算方式。
- 接缝绘制时需注意网格的对齐和顶点共享。
- 旋转修剪网格时的技巧和位运算。
- 高度图存储使用 BC5 格式及解码细节。
- 裙边生成方式及与雾的配合问题。
- 空瓷砖检测及替换简单网格的代码。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。