如何在OpenGL中实现基于GPU的动态几何LOD?[关闭]


9

我正在尝试实施LOD以提高游戏性能。我发现了一个很好的教程

我想我理解的基本概念是:获取摄像机到对象的距离,检查正确的LOD级别,然后使用“适当数量的实例”渲染对象。

我该如何实施?提供的示例代码对我来说是个谜。

一些问题:

  1. 这是实现LOD的好方法吗?
  2. 有人可以向我详细解释一下,我如何实现它,以及查询等等。
  3. 我正在使用渲染所有对象

    GL11.glDrawElements(GL11.GL_TRIANGLES, model.getRawModel().getVertexCount(),
                        GL11.GL_UNSIGNED_INT, 0);

    示例代码使用GL_POINTS。我也可以实现GL_TRIANGLES吗?


这是为大量实例实现LODS的好方法(为此,计算也非常有用)。您是否已经有基于CPU的LOD系统?此处GL_POINTS仅用于调度一定数量的GS,而不用于实际渲染(本文已有7年历史,一种现代的实现可能会改用计算着色器)。
gan_

Answers:


0

我想这取决于您已经设置好渲染的方式,假设您正在使用indicie数组在地形中绘制顶点,那么您可以简单地创建更多可用于绘制的指标数组,并逐步增加每个数组的顶点。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.