关于Windows上OpenGL的多缓冲的几个问题

时间:2012-03-24 17:28:23

标签: c++ windows winapi opengl 3d

我见过this但它没有说三重缓冲和实际方法。

  1. 现代游戏执行三重缓冲的最常见方式是什么?
  2. SwapBuffers在OpenGL状态方面究竟做了什么?
  3. 是否可以独立于窗口系统执行双重和三重缓冲(例如,通过使用glDrawBuffer或使用FBO / PBO进行操作)?
  4. 3.在性能和灵活性方面是否有意义?

1 个答案:

答案 0 :(得分:3)

根据OpenGL common mistakes on triple buffering

  

您无法控制驱动程序是否执行三重缓冲。您可以尝试使用FBO自己实现它。但是如果驱动程序已经在进行三重缓冲,那么您的代码只能将其转换为四重缓冲。这通常是矫枉过正的。

SwapBuffers指示驱动程序在前后缓冲区之间交换或复制,它不是OpenGL命令。