与iOS相比,Open GL ES坐标在y轴上翻转。通过glreadpixels(到视频)保存数据给了我适当的转换,但在UIView中显示的y轴翻转。什么是最好的方式来翻转它的演示文稿?在OpenGL翻转CAEAGLLayer以在OpenGL ES中进行演示的最佳方式2
1)渲染两次,送非翻转版本glreadpixels,并翻转版本的CAEAGLLayer(presentRenderbuffer):
我看到三种方式至今。
2)翻转opengl中的像素,使其正确显示;一旦我通过glreadpixels读取它们,移动这些位然后将其保存到文件中。
3)翻转opengl中的像素,使其正确显示;对视频本身应用某种类型的转换(使其在播放时翻转)。
我不确定这些都是正确的道路。寻找最高性能的路径。
完美的作品。我很好奇这种方法与其他方法的性能。苹果似乎认为,在4.2以及更高版本中,EAGLLayers的转换是可以的,而在它之前导致性能下降。我想我必须做一些测试,如果没有其他人编钟的话。 – akaru 2011-02-14 18:08:09
当然,它曾经是一些变换(以及某些类型的合成;这就是为什么他们总是说让你的OpenGL视图不透明)推iOS进入缓慢的路线 - 包括老的MBX硬件旋转90度。我现在不确定这个位置。我猜想,如果当前的解决方案证明速度太慢,那么渲染帧缓冲区对象glReadPixels可能会很明智,然后将其绑定为纹理并直接在OpenGL中进行翻转绘制。 – Tommy 2011-02-14 19:30:47