English 中文(简体)
翻转CAEAGLLayer以在OpenGL ES 2中显示的最佳方式
原标题:Best way to flip a CAEAGLLayer for presentation in OpenGL ES 2

与iOS相比,打开的GL ES坐标在y轴上翻转。通过glreadpixels保存数据(到视频中)可以进行适当的转换,但在UIView中显示会翻转y轴。将其翻转回来进行演示的最佳方式是什么?

到目前为止,我看到了三种方式:

1) 在opengl中渲染两次,将非翻转版本发送到glreadpixels,将翻转版本发送给CAEAGLLayer(presentRenderbuffer)。

2) 翻转opengl中的像素,使其正确显示;一旦我通过glreadpixels读取了它们,请移动这些位,然后将其保存到文件中。

3) 翻转opengl中的像素,使其正确显示;对视频本身应用某种类型的变换(使其在播放时翻转)。

我不确定这些是否是正确的道路。寻找最具性能的路径。

最佳回答

看起来最好的方法是在opengl中使用翻转的顶点。

问题回答

只需对UIView应用转换即可翻转它。例如:

view.transform = CGAffineTransformMakeScale(1.0, -1.0);




相关问题
List Contents of Directory in a UITableView

I am trying to list the contents of Ringtones directory in a TableView, however, I am only getting the last file in the directory in ALL cells, instead of file per cell. This is my code: - (...

iPhone NSUserDefaults persistance difficulty

In my app i have a bunch of data i store in the NSUserdefaults. This information consists of an NSObject (Object1) with NSStrings and NSNumbers and also 2 instances of yet another object (Object2). ...

Writing a masked image to disk as a PNG file

Basically I m downloading images off of a webserver and then caching them to the disk, but before I do so I want to mask them. I m using the masking code everyone seems to point at which can be found ...

Resize UIImage with aspect ratio?

I m using this code to resize an image on the iPhone: CGRect screenRect = CGRectMake(0, 0, 320.0, 480.0); UIGraphicsBeginImageContext(screenRect.size); [value drawInRect:screenRect blendMode:...

Allowing interaction with a UIView under another UIView

Is there a simple way of allowing interaction with a button in a UIView that lies under another UIView - where there are no actual objects from the top UIView on top of the button? For instance, ...

热门标签