Version: 1.3
语言 : 中文
在自定义渲染管线中创建简单渲染循环
如何使用?

虚拟几何体

团结引擎为您提供了虚拟几何体的强大功能。注意当前此功能处于试验性版本。

什么是虚拟几何体?

虚拟几何体是一套基于GPU Driven Render Pipeline的系统。虚拟几何体数据与传统的模型的关系类似于虚拟纹理。 通过一套内置的虚拟几何体数据,它可以支持大量的高质量、高面数模型,为次时代画质提供了有力支撑。您不在需要担心多边形给您的项目带来的困扰,也不需要关心所需的batching技术, 统统交给虚拟几何体就可以了。

虚拟几何体的优势

  • 基于GPU驱动的渲染管线,这不仅可以降低CPU的开销,也可以更高效的使用GPU来渲染
  • 场景支持海量的多边形
  • 精细的GPU剔除
  • 由于是虚拟的,所以几何体数据可以流式加载
  • 内存和显存不再受限于模型的面数
  • 相比于传统的LOD,其有自适应LOD算法并有自然的过度

与其他系统的关系

  • 静态合批:虚拟几何体不参与静态合批。我们也推荐您尽量使用虚拟几何体而不是静态合批。
  • 动态合批:虚拟几何体不参与动态合批。我们也推荐您尽量使用虚拟几何体而不是动态合批。
  • GPU Instancing: 除非有必要,我们推荐更多的使用虚拟几何体。
  • SRP batching: 虚拟几何体不参与SRP batching。

兼容性

当前虚拟几何体只能在团结引擎的HDRP管线中使用。 HDRP中适配虚拟几何体的材质是有限制的,目前支持Lit.shader, LayeredLit.shader以及Shader Graph。

适配的平台:

  • Windows (DX11, DX12, Vulkan)
  • Linux (Vulkan)

以下几种情况虚拟几何体是失效的:

  • HDRP使用前向渲染管线
  • 物体使用了半透明材质
  • 物体使用了非MeshRenderer组件的其他Renderer组件

以下的API可以在满足条件(模型开启了Virtual Geometry)下支持虚拟几何体:

  • Graphics.RenderMesh()
  • Graphics.DrawMesh()
  • Graphics.RenderMeshInstanced()
  • Graphics.DrawMeshInstanced()
在自定义渲染管线中创建简单渲染循环
如何使用?