0

我正在尝试使用 OpenGL 可视化图形。我有 3D 空间中带有点的顶点缓冲区,以及指定顶点之间的线的索引缓冲区。我使用 glDrawElements 来绘制图形。一切正常。问题是我需要可视化边缘权重。我的问题是边缘权重是成对属性,我不知道如何将这些信息放入我的着色器中。我能想到的唯一解决方案是使用 DrawRangeElements 单独绘制每条边,并在每次调用之间设置边权重。有没有更好的方法来做到这一点?

4

1 回答 1

1

无需使用几何着色器。只需将它们渲染为GL_LINES,根据需要复制位置,并为线上的每对顶点提供相同的“权重”属性。这最终与渲染立方体没有什么不同,每个面都需要自己的法线。

如果(且仅当)您绝对必须恢复该内存,并且您不能简单地压缩顶点数据(使用标准化短裤、非标准化短裤或其他任何东西),这里有一些您可以使用的技术。请注意:这是内存与性能的权衡。因此,除非您有真正的内存压力,否则只需复制您的顶点数据并完成它。

于 2012-10-15T21:45:22.227 回答