Nil*_*nch 10 iphone screenshot opengl-es objective-c ios
我在使用Isgl3d控制视图的UIImage快照时遇到了一些困难.似乎无论我做什么,我最终都得到一个黑色方块.
我在我的视图中有一个工作相机视图和一个3D模型,我尝试使用缓冲方法和常规屏幕捕获来获取图像,但没有任何富有成效的结果.
有没有人有一些源代码,他们成功地拍摄了Isgl3d视图?
以下是Apple的说明和官方代码,用于将GL视图快照到UIImage(考虑到视网膜显示,翻转的坐标等),我一直在成功使用它.当然,这不是特定于iSGL3D的,但只要您能够获得正确的上下文和帧缓冲区来绑定,它就应该做正确的事情.(如页面所述,您必须确保在-presentRenderbuffer:调用之前拍摄快照,以便renderbuffer有效.)
https://developer.apple.com/library/ios/#qa/qa1704/_index.html
我对iSGL3D库只有一个粗略的熟悉,它看起来不像那里有明显的钩子让你渲染场景但不呈现它(或首先渲染到屏幕外的缓冲区).您可能需要进行干预的地方是您正在使用-finalizeRender的Isgl3dGLContext子类的方法,就在调用-presentRenderbuffer调用之前.这个上下文在这里是一个内部框架类,所以你可能需要在库中稍微改变一下来设置(比如说)一个代理来自视图和导演的上下文,最终要求你的应用程序在"当前"通话之前采取任何行动,在此期间您可以选择运行屏幕截图代码(如果您愿意),或者如果您不想这样做则不执行任何操作.
| 归档时间: |
|
| 查看次数: |
768 次 |
| 最近记录: |