我所说的标志是 GL_STREAM_DRAW、GL_STATIC_DRAW 和 GL_DYNAMIC_DRAW。 手册页清楚地说明了何时应该使用它们,但对于如果使用它们会发生什么则模棱两可。
现在在你们都回答得太快之前,让我声明我理解他们应该做什么,并且可以想象一些可能很重要的假设场景。但我怀疑它在实践中是否有很大的不同。最近我一直在想,将标志设置为 GL_DYNAMIC_DRAW 并忘记它会很好,但我心中有一个挥之不去的疑问,如果我这样做,我可能会在脚下开枪。
有没有人更具体地知道这些东西是做什么的?特别是我对 STATIC_DRAW 和 DYNAMIC_DRAW 之间的区别非常好奇。选错一个是帧率死亡陷阱还是只是安慰剂?我想任何真正的答案都将取决于实际的驱动程序实现。或者,如果你能想出一个真实世界的例子,这些标志做某事(真的),那么我有兴趣看到它。