2015-10-27 82 views
0

我使用外部渲染器创建应用程序,以及如何通过请求调用重绘?例如,在Android上,我可以使用requestRenderer()和RENDERMODE_WHEN_DIRTY渲染模式。请求GLKView渲染请求

我有下面的代码:

import UIKit 
import GLKit 
class RendererViewController: GLKViewController { 

    var rendererView: GLKView! 
    var filename: String! 
    override func viewDidLoad() { 
     super.viewDidLoad() 
     self.rendererView = self.view as! GLKView 
     self.rendererView.context = EAGLContext(API: .OpenGLES2) 
     self.rendererView.drawableDepthFormat = GLKViewDrawableDepthFormat.Format24 
     self.setupGL() 

    } 

    func setupGL(){ 
     EAGLContext.setCurrentContext(self.rendererView.context) 
     RendererBridge.initLLG() 
     self.rendererView.bindDrawable() 
     let wight = self.rendererView.drawableWidth 
     let height = self.rendererView.drawableHeight 
     RendererBridge.open(Int32(wight), hei: Int32(height), filepath: filename) 
     RendererBridge.createRenderer(Int32(wight), hei: Int32(height)) 
    } 



    deinit{ 
     if EAGLContext.currentContext() == self.rendererView.context{ 
      EAGLContext.setCurrentContext(nil) 
     } 
    } 

    override func glkView(view: GLKView, drawInRect rect: CGRect) { 
      RendererBridge.renderFrame() 
    } 

} 

回答

0

我已经通过下面的步骤完成的:

  1. 为GLKView启用setNeedsDisplay
  2. 变化GLKViewController暂停:self.pause = true
  3. 呼叫self.view.setNeedsDisplay