我正在嘗試谷歌爲我在標題中提到的,但不知何故,我找不到它。這不應該那麼難,應該嗎?如何在iPhone上的OpenGL ES中設置/獲取紋理像素?
我所尋找的是能夠訪問iPhone上的OpenGL ES紋理的方式,以及一種方式來獲得它/套像素。什麼是我正在尋找的OpenGL ES功能?
我正在嘗試谷歌爲我在標題中提到的,但不知何故,我找不到它。這不應該那麼難,應該嗎?如何在iPhone上的OpenGL ES中設置/獲取紋理像素?
我所尋找的是能夠訪問iPhone上的OpenGL ES紋理的方式,以及一種方式來獲得它/套像素。什麼是我正在尋找的OpenGL ES功能?
不知有關設置的單個像素,但glReadPixels可以讀取從幀緩衝器(http://www.khronos.org/opengles/sdk/docs/man/glReadPixels.xml)個像素的塊。您的問題可能是因爲紋理像素經常縮短爲「texels」。
之前OpenGL ES的是能夠看到你的紋理,你應該已經在內存中,生成的紋理名稱(glGenTextures)加載它,並綁定它(glBindTexture)。你的紋理數據只是內存中的一大陣列。
因此,你應該有能力改變一個紋理元素,你可以操縱它在內存中,然後將其綁定一次。這種方法通常用於程序紋理生成。網上有很多可用的資源,例如:http://www.blumtnwerx.com/blog/2009/06/opengl-es-texture-mapping-for-iphone-oolong-powervr/
雖然glReadPixels可用,但很少有情況下需要將它用於交互式應用程序(想到屏幕截圖)。它絕對破壞了性能。並且仍然不會讓您恢復原始紋理,而是會返回一幀framebuffer。
我不知道什麼樣的效果,你所期待的。但是,如果您的目標是支持像素着色器的設備,則自定義像素着色器可以按照您的要求進行操作。
當然,我的假設下工作,你不是故意的像素在屏幕座標。