与iOS相比,打开GL ES坐标在y轴上翻转。通过glreadpixels(到视频)保存数据给了我正确的转换,但在UIView中显示y轴被翻转。将其翻转以进行演示的最佳方法是什么?
到目前为止,我看到了三种方式:
1)在opengl中渲染两次,将非翻转版本发送到glreadpixels,将翻转版本发送到CAEAGLLayer(presentRenderbuffer)。
2)翻转opengl中的像素,使其显示正常;一旦我通过glreadpixels读取它们,移位,然后将其保存到文件。
3)翻转opengl中的像素,使其显示正常;对视频本身应用某种类型的变换(使其在播放时翻转)。
我不确定这些是否是正确的道路。寻找最高效的道路。
答案 0 :(得分:4)
只需将变换应用于UIView即可将其翻转。例如:
view.transform = CGAffineTransformMakeScale(1.0, -1.0);
答案 1 :(得分:0)
看起来最好的方法是在opengl中使用翻转顶点。