我正在爲移動平臺開發遊戲,我想將我的效果渲染到比屏幕更低分辨率的渲染目標。問題是,我需要從全屏幕的深度緩衝區開始。是否可以在沒有GL_OES_depth_texture的情況下對OpenGL ES深度緩衝區進行縮減採樣?
如果硬件支持GL_OES_depth_texture,我想這將是相對直接的,但不幸的是我不這樣做,所以我想知道是否有任何其他方式從全屏渲染獲取深度信息並將其用於我的較低分辨率渲染。
如果我實際上不能對渲染緩衝區進行下采樣,我可以將較高分辨率的深度緩衝區綁定到具有較低分辨率顏色緩衝區的渲染目標上嗎?我找不到任何說明幀緩衝區對象的所有不同附件的分辨率必須與分辨率相匹配的文檔,但我強烈懷疑這是一項要求。
感謝您的幫助!
在OpenGL ES 2.0中,您不能在幀緩衝區對象中的附件之間混合匹配分辨率(非常類似於GL_EXT_framebuffer_obect)。在桌面GL(GL3 /'GL_ARB_framebuffer_object')中是可能的,但是在GLES2中它會創建一個幀緩衝區不完整的錯誤。如果你知道在哪裏看,它**實際上是記錄的,參見['glCheckFramebufferStatus(...)'](http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCheckFramebufferStatus.xml ) - 'GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS' –
謝謝指出!我不會想到在那裏......如果我沒有GL_OES_depth_texture擴展名,有什麼辦法可以downrez一個深度緩衝區? – ItsLikeYouKnowWhatever