2010-02-21 47 views
4

我正在嘗試谷歌爲我在標題中提到的,但不知何故,我找不到它。這不應該那麼難,應該嗎?如何在iPhone上的OpenGL ES中設置/獲取紋理像素?

我所尋找的是能夠訪問iPhone上的OpenGL ES紋理的方式,以及一種方式來獲得它/套像素。什麼是我正在尋找的OpenGL ES功能?

回答

6

之前OpenGL ES的是能夠看到你的紋理,你應該已經在內存中,生成的紋理名稱(glGenTextures)加載它,並綁定它(glBindTexture)。你的紋理數據只是內存中的一大陣列。

因此,你應該有能力改變一個紋理元素,你可以操縱它在內存中,然後將其綁定一次。這種方法通常用於程序紋理生成。網上有很多可用的資源,例如:http://www.blumtnwerx.com/blog/2009/06/opengl-es-texture-mapping-for-iphone-oolong-powervr/

雖然glReadPixels可用,但很少有情況下需要將它用於交互式應用程序(想到屏幕截圖)。它絕對破壞了性能。並且仍然不會讓您恢復原始紋理,而是會返回一幀framebuffer。

我不知道什麼樣的效果,你所期待的。但是,如果您的目標是支持像素着色器的設備,則自定義像素着色器可以按照您的要求進行操作。

當然,我的假設下工作,你不是故意的像素在屏幕座標。