我正在阅读有关“合并实例化”的演示文稿中的幻灯片。(演示文稿来自 Emil Persson,链接:www.humus.name/Articles/Persson_GraphicsGemsForGames.pptx,来自幻灯片 19)
我不明白发生了什么,我只知道来自openGL的实例,我认为它只能多次绘制相同的网格。有人可以解释一下吗?它与directX 的工作方式不同吗?
我正在阅读有关“合并实例化”的演示文稿中的幻灯片。(演示文稿来自 Emil Persson,链接:www.humus.name/Articles/Persson_GraphicsGemsForGames.pptx,来自幻灯片 19)
我不明白发生了什么,我只知道来自openGL的实例,我认为它只能多次绘制相同的网格。有人可以解释一下吗?它与directX 的工作方式不同吗?
实例化:您将网格上传到 GPU 并在您想要渲染它时激活它的缓冲区。数据不重复。
合并:您想从多个较小的网格创建一个网格(如示例中的构建复合体),因此您可以:
实例合并:您通过引用参与其中的实例的顶点来创建复合体。然后你使用顶点来知道从哪里获取每个实例的数据:这样你就有了实例化的优势(每个网格被上传到 GPU 一次)和合并的好处(你用一个绘制调用绘制整个复合体)