java - 在 OpenGL (Java) 中实现 LOD

标签 java opengl graphics game-engine

虽然我理解 LOD 的概念,但在实现它时遇到了一些麻烦。假设我有许多不同 LOD 的模型,我想将它们存储在我的 Mesh 类中。我需要更改什么(我已经有一个支持一种模型的网格)。我是否有多个 VBO(一个数组,也许索引指示级别?),将每个模型缓冲到它的 VBO 中并在渲染时绑定(bind)正确的模型?还是我完全错过了这个想法?

最佳答案

What do I need to change

这实际上取决于您如何构建顶点或索引。有上千种方法可以达到模型的详细程度。您可以如 s3rius 所述,将每个 LOD 模型保存在其自己的顶点缓冲区中。或者,根据您对三角形或顶点的排序方式,您可以保留 1 个顶点缓冲区并在绘制不同质量的三角形时沿索引跳过。

例如,当您想要完整级别的细节时,您将渲染模型的每个顶点。当您想要一半的细节时,您将渲染所有其他顶点。

查看此处发布的一些链接。 LOD in modern games 始终阅读现代实践。

关于java - 在 OpenGL (Java) 中实现 LOD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25210516/

相关文章:

c - 如何从全屏 OpenGL 窗口获取关键事件?

c - 这两种类型在 OpenGL 中等效吗?

r - 使用与 hist() 和plot() 配合使用的替代命令时出现箱线图错误

graphics - 为电子图创建图形

javascript - HTML5 Canvas 重影动画问题?

java - Android SQLiteException 语法错误

java - 当我们有复杂的层次结构时,如何解析 XML 并更新它?

java在cmd中写入netstat

c++ - 编译着色器 GLSL 3.30 时出错

java - BorderLayout延迟问题