2017-08-07 66 views
-2

當我將場景渲染到屏幕時,場景使用就沒關係。glReadPixels()不會返回防鋸齒圖片

但我想通過glReadPixels()讀取像素緩衝區,我有一個帶有別名線的別名圖像。 它不使用8x MSAA

代碼:

glReadPixels(0,0, w, h, GL_BGRA_EXT, GL_UNSIGNED_BYTE, (void*)pixels); 

如何訪問到的像素與MSAA變換(過濾器)緩衝器? glReadPixels沒有特殊參數。

側面說明:我想用OpenGL的1

重要提示:我使用Qt 5.9的QOpenGLWidget類

+2

'glReadPixels()'讀取您在屏幕上看到的內容。如果它讀取非AA圖像,則AA不起作用。 – ikleschenkov

+0

做'glBindFramebuffer(GL_FRAMEBUFFER,0);'從屏幕讀取。 – stark

回答

1

我認爲你渲染爲米通過FBO屏幕渲染緩衝區或紋理。解決方案是創建一個使用MSAA像素格式的渲染緩衝區。 抗鋸齒不是後處理過濾器!(至少不是以MSAA的形式實現它)。

+0

謝謝!它運作良好 –