2012-06-30 35 views
0

我想使用OpenGL ES在屏幕上缩放和显示图像。图像将每秒更新约20次,所以想法是直接绘制到纹理中。缩放应该通过图形卡来完成,但是我的应用程序保证像素格式的格式正确。我的应用程序需要逐个像素地操作图像。由于应用程序的架构,我想避免像settexel(x,y,color)这样的调用,但直接写入内存。如何在OpenGL ES中直接操作纹理元素?

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

感谢您的帮助!

+0

这是什么平台?这将决定实现这一目标的最佳途径是什么。例如,iOS有一些直接写入纹理内存的功能。 –

+0

我正在寻找一种通用方法(尽可能)。我目前使用的硬件是飞思卡尔iMX53板(http://www.freescale.com/webapp/sps/site/taxonomy.jsp?code=IMX53_FAMILY)。 –

回答

0

好的,在询问我公司的一些人后,我发现没有干净的方式直接访问图形内存(解决方案1)或从着色器(解决方案2)访问主内存。因此,我会将像素存储在主存储器中,并通过glTextSubImage2D将更改后的区域移动到图形内存中。

感谢所有帮助过我的人!