不能理解合并实例的概念

时间:2018-09-25 12:21:58

标签: opengl shader geometry-instancing

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

我不知道发生了什么,我知道只能从openGL实例化,我认为它只能多次绘制相同的网格。有人可以解释吗?它与directX是否不同?

1 个答案:

答案 0 :(得分:1)

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

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

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

实例合并:您可以通过引用复杂实例的顶点来创建它。然后,您可以使用顶点来了解从何处获取每个实例的数据:这样一来,您可以实例化(每个网格都一次上传到GPU)并具有合并优势(您可以通过一次绘制调用来绘制整个复合体)