我有一個FBO對象,其顏色和深度附件呈現給我,然後使用glReadPixels()
進行讀取,我試圖向它添加多重採樣支持。
而不是glRenderbufferStorage()
我打電話glRenderbufferStorageMultisampleEXT()
爲顏色附件和深度附件。幀緩衝區對象似乎已成功創建並報告爲完整。
渲染後,我試圖從glReadPixels()
中讀取它。當樣本數量爲0時,即多重採樣禁用它可以很好地工作,並且獲得我想要的圖像。當我將樣本數量設置爲其他值時,比如說4,幀緩衝區仍然構造成OK,但glReadPixels()
失敗,出現INVALID_OPERATION
FBO中的glReadPixels失敗,出現多重採樣
任何人都有一個想法這裏有什麼可能是錯誤的?
編輯:glReadPixels的代碼:
glReadPixels(0, 0, width, height, GL_RGBA, GL_UNSIGNED_BYTE, ptr);
其中ptr指向寬×高的uint的陣列。
你可以發佈你的glReadPixels()調用的全系列(格式,類型等)? – 2009-04-29 07:03:27