在OpenGL ES能够看到你的纹理之前,你应该已经将它加载到内存中,生成纹理名称(glGenTextures)并绑定它(glBindTexture).您的纹理数据只是内存中的一个大数组.
因此,如果要更改单个纹理元素,可以在内存中对其进行操作,然后再将其绑定.这种方法通常用于程序纹理生成.网上有许多可用的资源,例如:http://www.blumtnwerx.com/blog/2009/06/opengl-es-texture-mapping-for-iphone-oolong-powervr/
虽然glReadPixels可用,但在极少数情况下您需要将它用于交互式应用程序(屏幕捕获会浮现在脑海中).它绝对会破坏性能.并且仍然不会返回原始纹理,而是返回帧缓冲区的块.
我不知道你在寻找什么样的效果.但是,如果您的目标是支持像素着色器的设备,则自定义像素着色器可能会执行您想要的操作.
当然,我的工作假设你不是像屏幕坐标那样的像素.
归档时间: |
|
查看次数: |
3802 次 |
最近记录: |