1

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

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

4

1 回答 1

3

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

合并:您想从多个较小的网格创建一个网格(如示例中的构建复合体),因此您可以:

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

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

于 2018-09-25T15:06:51.790 回答