8

与默认帧缓冲区相比,使用 FBO 时,我遇到了视觉结果不同的问题:

我将我的 OpenGL 场景渲染为帧缓冲区对象,因为我使用它进行颜色选择。问题是,如果我将场景直接渲染到默认帧缓冲区,屏幕上的输出会非常平滑,这意味着我的对象的边缘看起来有点像抗锯齿。当我将场景渲染到 FBO 中,然后使用输出对跨越整个视口的四边形进行纹理处理时,对象具有非常硬的边缘,您可以轻松地看到属于对象的每个彩色像素。

好的:

dtizcto7.png

坏的:

wy7hg754.png

目前我不知道这可能是什么原因。我没有使用某种抗锯齿。

系统:
Fedora 18 x64
Intel HD Graphics 4000 和 Nvidia GT 740M(结果相同)

编辑1:

正如 Damon 和 Steven Lu 所说,系统可能默认启用了某种抗锯齿功能。到目前为止,我无法弄清楚如何禁用此功能。
问题是我只是好奇为什么这个设置只对默认帧缓冲区有影响,而不是 FBO 处理的那个。为了也为 FBO 获得抗锯齿边缘,我可能必须实现自己的 AA 方法。

4

1 回答 1

7

将场景绘制到自定义 FBO 后,外部定义的 MSAA 级别将不再适用。您必须将 FBO 配置为具有多样本纹理或渲染缓冲区附件,以便在此过程中设置样本级别数。是一个参考。

于 2013-05-14T13:17:09.293 回答