我正在尝试实施LOD以提高游戏性能。我发现了一个很好的教程。
我想我理解的基本概念是:获取摄像机到对象的距离,检查正确的LOD级别,然后使用“适当数量的实例”渲染对象。
我该如何实施?提供的示例代码对我来说是个谜。
一些问题:
- 这是实现LOD的好方法吗?
- 有人可以向我详细解释一下,我如何实现它,以及查询等等。
我正在使用渲染所有对象
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_