现在我正在使用基本的即时模式来渲染 4096 个立方体并进行面部剔除。无论有没有面部剔除,我的平均速度为 50 fps。为什么启用它时获得与禁用时相同的 fps?我还能做些什么来提高性能?另外,我应该使用索引 VBO 来渲染立方体吗?有谁知道一个好的 VBO 教程(最好是 LWJGL 中的 Java)。
user1650305
问问题
236 次
1 回答
0
对于大量几何图形,即时模式相当慢。我个人从未进行过基准测试,但这是我在不同资源和 OpenGL 专家那里读到的内容。此外,使用可编程管道也很有意义,您不需要推送当您使用缓冲区时,将每个帧上的顶点数据传输到 GPU。所以我建议您首先转向现代 OpenGL,因为它比旧的固定实现既快又强大得多。使用缓冲区和着色器将有很大的灵活性.现在,为了让你开始,我建议你看看这个教程系列。如果你想知道如何编写一个基本的渲染引擎,你可以看看这个开源项目,具有非常简单的基于 OpenGL 4.0 的渲染系统。它是 C++ 而不是 Java,但 API 与 LWJGL 相同。据我个人使用 LWJGL 的经验,只有缓冲区创建不同。另外,如果你想要 LWJGL 现代 OpenGL 教程,这里有一个很好的资源,它基于 OpenGL SuperBible 5 书籍代码库。这个是上面提到的 Jason L. McKesson 的现代 OpenGL 教程的 LWJGL 端口。希望它有所帮助.
于 2012-12-26T07:48:28.837 回答