【发布时间】:2012-10-30 14:12:31
【问题描述】:
我正在使用 Qt 学习 OpenGL 的基础知识,似乎样本缓冲区是 Qt 特定的,我并不真正了解它们为屏幕存储的信息。什么是 Sample Buffer,它的用途是什么?
【问题讨论】:
-
“样本缓冲区”是什么意思?
我正在使用 Qt 学习 OpenGL 的基础知识,似乎样本缓冲区是 Qt 特定的,我并不真正了解它们为屏幕存储的信息。什么是 Sample Buffer,它的用途是什么?
【问题讨论】:
它们用于在 Qt 中获取multisampling。设置多重采样通常是特定于平台的(因为它需要具有多重采样支持的像素格式),但 Qt 允许您以独立于平台的方式执行此操作。要获得具有多重采样的 OpenGL 上下文,请在创建 QGLWidget 时传递 QGLFormat 并启用采样缓冲区。
具体来说,QGLFormat::setSampleBuffers 用于请求多重采样上下文,QGLFormat::setSamples 用于设置首选样本数。
在您的 OpenGL 代码中,您还必须在渲染之前启用多重采样:
glEnable(GL_MULTISAMPLE);
【讨论】:
GL_MULTISAMPLE 在 GL 中默认是启用的,它只是在使用多重采样帧缓冲区之前不起作用。