GRAPHICS × PRODUCTION
中EN

皮了个牛

↓

鹰角网络 · 2020.05 - 2022.01

来自星尘 / Ex Astris

Render Pipeline / Terrain / Vegetation / Runtime Virtual Texture / World Rendering

在来自星尘,我负责 Terrain、Vegetation、Runtime Virtual Texture 等世界渲染功能,也处理 pass 组织和平台扩展。

Render PipelineTerrainVegetationRuntime Virtual TextureWorld RenderingInstanced TerrainCPU + GPU CullingInstanced VegetationDual Culling BackendSplat-LayerPixel OverdrawMobile Cost
来自星尘 / Ex Astris 官方项目主视觉

问题与目标

大规模场景同时受到实例数量、剔除策略、纹理管理、overdraw 和平台差异影响,单点优化难以支撑后续内容扩展。

设计与实现

  • 处理 Terrain、Vegetation、Runtime Virtual Texture 等系统,将场景规模、剔除、纹理和 pass 组织放在同一张技术图上。
  • 在地形和植被中分别使用 CPU-SIMD 与 GPU-SIMT 剔除策略,覆盖树木、草地和地形等复杂场景。
  • 使用 Runtime Virtual Texture 缓解多层地表材质带来的 Pixel Overdraw 和采样压力。

地形、植被和 Runtime VT 被拆成可检查的世界渲染基础设施,服务大规模场景生产和平台成本控制。

01 / Instanced Terrain / CPU + GPU Culling

Terrain System

Terrain 是世界渲染的基础层,核心关系是网格密度、视距、剔除和平台成本。

  • Instanced 地形路径减少重复提交和数据搬运,改善大规模地形的数据组织。
  • CPU-SIMD 与 GPU-SIMT 剔除策略按平台、密度和场景规模切换成本结构。
  • 线框、运行时效果和性能信息共同构成系统证据,不只展示最终画面。

02 / Instanced Vegetation / Dual Culling Backend

Vegetation System

Vegetation 面向大规模草木实例,核心问题是对象数量、剔除频率、绘制提交和视觉密度。

  • 实例化植被减少对象级开销,将大量草木转成可管理的数据批次。
  • 双 culling backend 按平台、视距、密度和场景复杂度调整剔除策略。
  • Vegetation 与 Terrain、Runtime VT 共同构成世界渲染基础设施。

03 / Splat-Layer / Pixel Overdraw / Mobile Cost

Runtime Virtual Texture

Runtime VT 用于处理多层地表混合带来的 Pixel Overdraw 和采样压力,把复杂地表交给纹理管理。

  • 将多层地形材质的像素成本转移到 Runtime Virtual Texture 管理。
  • 降低复杂地表混合在移动端造成的 overdraw 和采样成本。
  • 用性能信息对照纹理管理结果,说明系统服务的是 production 规模。