【发布时间】:2013-01-16 03:45:21
【问题描述】:
我在使用 OpenGL 时遇到了一些性能问题。我本质上想创建一个正方形网格。我首先尝试在每个正方形的位置实现它,然后将其转换为我想要的正方形,然后将模型和视图矩阵相乘,将其传递给着色器程序并绘制正方形。我会为每个正方形做这个。创建大约 50 个方块后,帧速率会开始下降到低于我想要的水平。
然后我尝试了一种 VBO 方法,基本上每次正方形改变位置时我都会生成一个顶点缓冲区。使用这种方法可以显着提高帧速率,但是当某些内容发生变化时,我的延迟时间过长,因为它必须重新生成所有顶点位置。
我认为我需要的是一个矩阵堆栈...我之前使用过 opengl 1.1,并且会使用 push/pop。我真的不明白它在做什么以及如何重现它的概念。有谁知道我可以用作示例的矩阵堆栈的一个很好的例子吗?或者可能只是一个很好的解释?
【问题讨论】: