2012-12-09 33 views
0

我會得到開門見山:)glReadPixels在單獨的圖層

enter image description here

從上面的480×320圖,我想我可以像蠕蟲遊戲像素級的碰撞檢測。

我想知道的是如何在單獨的圖層上採樣像素。從圖中可以看到,隨着蠕蟲的下落,我只想用glReadPixels()對黑色像素進行採樣,以查看蠕蟲是否與任何地形站在一起(碰撞),但是當我上次嘗試時,glReadPixels()採樣屏幕上的所有像素,沒有任何「圖層」的想法。

白色像素是不應該成爲採樣部分的背景。

我可能假設在單獨的緩衝區中有我的地形的黑白副本,並在該單獨的緩衝區上調用glReadPixels(),以便背景圖像(白色像素)不會被採樣?

在我繪製我的背景圖像的相同緩衝區/上下文的屏幕上繪製我的地形之前。

任何想法?

回答

1

讀取像素所做的是回讀綁定緩衝區,因爲緩衝區是所有組合的輸出,顯然將包含您寫入的所有數據,並且不理解您將邏輯排列到圖層中。您可以嘗試將您的地形繪製到模板緩衝區,然後只讀回。使用GL_DEPTH_STENCIL(格式參數)。

+0

Rightio,會有一個去那,爲模板緩衝區的建議投票。 – Zhang