如何在OpenGL ES中直接操作纹素?

时间:2012-06-30 09:24:33

标签: opengl-es-2.0 textures pixels hardware-acceleration

我想使用OpenGL ES在屏幕上缩放和显示图像。图像将每秒更新大约20次,因此想法是直接在纹理中绘制。虽然缩放应该由图形卡完成,但我的应用程序保证像素格式的格式正确。我的应用程序需要逐个像素地操作图像。由于应用程序的体系结构,我希望避免像settexel(x,y,color)这样的调用,而是直接写入内存。

  • 是否可以直接访问(图形卡?)内存中的纹理并按像素方式进行更改?
  • 如果没有,是否可以使用类似settexel(x,y,color)的内容来更改纹理?

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

好的,在询问我公司的一些人之后,我发现没有干净的方法直接访问图形内存(解决方案1)或从着色器中访问主内存(解决方案2)。

因此,我会将像素存储在主存储器中,并通过glTextSubImage2D将更改的区域移动到图形存储器中。

感谢所有帮助过我的人!