无法理解合并实例的概念



我正在阅读一个关于"合并实例化"的演示文稿中的幻灯片。(演示文稿来自Emil Persson,链接:www.humus.name/Articles/Persson_GraphicsGemsForGames.pptx,来自幻灯片19(

我无法理解发生了什么,我只知道从 openGL 实例化,我认为它只能多次绘制相同的网格。有人可以解释一下吗?它与 directX 的工作方式不同吗?

实例化:将网格上传到 GPU 并在想要渲染时激活其缓冲区。数据不重复。

合并:您希望从多个较小的网格创建网格(如示例中的构建复杂(,因此您可以:

使用实例化绘制每个复合体
  • ,这意味着每个复合体有多个绘制调用
  • 您将实例合并到单个网格中,这将复制每个复合体的顶点和其他数据,但您将能够通过单个绘制调用渲染整个复合体

实例合并:通过引用参与其中的实例的顶点来创建复合体。然后,使用顶点来了解从何处获取每个实例的数据: 这样你就有了实例化的优势(每个网格上传到 GPU 一次(和合并的好处(你用一个绘制调用绘制整个复合体(

最新更新