2013-07-23 161 views
1

我已經在我的Android遊戲中使用渲染來渲染紋理和合適的着色器,實現了bloom post過程效果。它可以工作,但是性能不佳是不可接受的。所以我認爲我可以將場景渲染到更小的紋理,然後將紋理拉伸到全屏。麻煩的是,當我將比視口小的紋理附加到屏幕外幀緩衝區時,場景會被裁剪。下面的圖片說明了這個問題:OpenGL ES 2.0:將較小的紋理附加到幀緩衝區

illustration

有什麼辦法,我可以「地圖」的附加紋理幀緩衝區不知何故,所以整個視口被渲染到了嗎?我可能會修改投影矩陣來達到目標​​,但這會使我的代碼複雜化,我寧願避免它。

回答

1

我認爲您可以通過在渲染到紋理之前更改視口來匹配紋理尺寸,然後在渲染到幀緩衝之前將視口設置回視圖的尺寸。應該沒有顯着的性能損失,因爲您將經常調用glViewport()兩次。

您對縮放投影矩陣的建議也應該有效。