低质量OpenGL ES屏幕截图(iPhone)
我目前正在使用OpenGL ES iPhone游戏截图。截图看起来很棒。然而,截图会导致游戏中出现小口吃(否则会以60 fps的速度平稳运行)如何修改以拍摄质量较低的截图(从而消除截图造成的口吃)?低质量OpenGL ES屏幕截图(iPhone),iphone,opengl-es,screenshot,Iphone,Opengl Es,Screenshot,我目前正在使用OpenGL ES iPhone游戏截图。截图看起来很棒。然而,截图会导致游戏中出现小口吃(否则会以60 fps的速度平稳运行)如何修改以拍摄质量较低的截图(从而消除截图造成的口吃)? 编辑#1:最终目标是使用AVAssetWriter创建游戏视频。也许有一种更有效的方法来生成中引用的CVPixelBuffers。Apple方法使用glReadPixels(),它只是将所有数据从显示缓冲区中拉出来,并可能触发GPU和CPU之间的同步屏障等。你不能使那个部分更快或更低的分辨率 您这样
编辑#1:最终目标是使用
AVAssetWriter
创建游戏视频。也许有一种更有效的方法来生成中引用的CVPixelBuffers。Apple方法使用glReadPixels()
,它只是将所有数据从显示缓冲区中拉出来,并可能触发GPU和CPU之间的同步屏障等。你不能使那个部分更快或更低的分辨率
您这样做是为了创建一次性视频吗?还是希望用户能够在生产代码中触发此行为?如果是前者,你可以做各种各样的技巧来加速它——渲染到更小的尺寸,根本不显示,只根据游戏中输入数据的记录捕获帧,或者其他类似的技巧,或者进一步以半速运行整个模拟以获得所有帧
如果你需要一个实际的游戏内函数,我就没那么有用了。如果其他一切都失败了,也许会有其他人
拿一个
然后通过某种外部设备将合成视频转换成数字。
很久以前我把vhs电影转换成dvd时就这样做了。录制的目的是什么
- 如果你想在设备上重放一个序列,你可以考虑保存对象位置等,然后在3D中重新绘制序列。这也使得从其他视图位置重放序列成为可能
- 如果您想在youtube或其他网站上显示游戏,您可以使用其他设备/摄像机记录游戏,或使用一些屏幕捕获软件作为屏幕流记录模拟器中运行的一些游戏