我正在尝试谷歌搜索我在标题中提到的内容,但不知何故我找不到它。这不应该那么难,不是吗?
我正在寻找的是一种在 iPhone 上访问 OpenGL ES 纹理的方法,以及一种获取/设置像素的方法。我正在寻找哪些 OpenGL ES 函数?
在 OpenGL ES 能够看到你的纹理之前,你应该已经将它加载到内存中,生成纹理名称(glGenTextures),并绑定它(glBindTexture)。您的纹理数据只是内存中的一个大数组。
因此,如果您要更改单个纹素,您可以在内存中对其进行操作,然后再次绑定它。这种方法通常用于程序纹理生成。网上有很多关于它的可用资源,例如: http: //www.blumtnwerx.com/blog/2009/06/opengl-es-texture-mapping-for-iphone-oolong-powervr/
虽然 glReadPixels 可用,但在很少的情况下您需要将它用于交互式应用程序(想到屏幕截图)。它绝对会破坏性能。并且仍然不会返回原始纹理,而是返回一个帧缓冲区块。
我不知道你在寻找什么样的效果。但是,如果您的目标是支持像素着色器的设备,那么自定义像素着色器也许可以满足您的需求。
当然,我假设您的意思不是屏幕坐标中的像素。
我不知道如何设置单个像素,但 glReadPixels 可以从帧缓冲区(http://www.khronos.org/opengles/sdk/docs/man/glReadPixels.xml)中读取一个像素块。您在谷歌上搜索的问题可能是因为纹理像素通常缩短为“纹素”。