使用带有帧缓冲对象的屏幕外渲染的空白或不正确渲染的扫描线带

时间:2009-07-26 03:07:21

标签: opengl graphics device-driver

我正在使用FBO对非常大的输出图像进行屏幕外平铺渲染。为了获得最佳性能,我试图创建最大的FBO(以及瓦片大小)。为此,我使用GL_MAX_RENDERBUFFER_SIZE_EXT来检索最大可能的大小然后减少它,以便我的FBO不会填充超过可用VRAM的1/16。

这样做似乎可以确保我的渲染器永远不会因内存不足或FBO错误而失败;然而,有足够大的FBO(在一个简单的测试案例中为2002x1202),我有时会得到一个奇怪的结果。在我的Quadro 8600M以及另一台Quadro FX 1700上,我会看到扫描线的条带,其中没有任何东西被渲染或者一些像素被渲染出错误的颜色。如果我将FBO的大小限制为较小的值(例如500x500),则不会发生这种情况。

这会给任何人敲响任何铃声吗?我有点难过。

(我使用的是Windows XP Professional SP3)

1 个答案:

答案 0 :(得分:0)

听起来像是一个驱动程序“bug”。

如果可能的话,我会尝试在其他硬件(ATI)上重现。还可以在Quadro硬件上尝试不同的驱动程序版本。

同时检查您的总帐错误代码,或运行类似glDebugger的内容。