0

外部レンダラーを使用してアプリを作成していますが、リクエストによって再描画を呼び出すにはどうすればよいですか? たとえば、Android では、requestRenderer() と RENDERMODE_WHEN_DIRTY レンダリング モードを使用して実行できます。

次のコードがあります:

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()
    }

}
4

1 に答える 1

0

次の手順でそれを行いました:

  1. GLKView の setNeedsDisplay を有効にする
  2. GLKViewController を一時停止に変更します。self.pause = true
  3. 電話self.view.setNeedsDisplay
于 2015-10-30T12:11:58.793 に答える