コンテンツにスキップ

Render Callback

一般的なコンテンツ作成では描画の更新とともに処理をしたいことがあります。レンダリングコールバックを使うと描画フレーム毎に独自の処理を行うことができます。

レンダリングコールバックの使い方

たとえば次のように RenderCallback のサブクラスを定義し、フレーム毎に呼び出される RenderCallback.onUpdateFrame() メソッドをオーバライドします。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
class MyRenderCallback extends mapray.RenderCallback {
    constructor()
    {
        super();
        // Initialize code
        ...
    }

    onUpdateFrame( delta_time )  // override
    {
        // Called on every frame
        ...
    }
}

そして Viewer のコンストラクタを呼び出すときに、オプションに MyRenderCallback のインスタンスを与えます。

new mapray.Viewer( container, { render_callback: new MyRenderCallback() } );

Viewer インスタンスが生成された後、定期的に MyRenderCallback.onUpdateFrame() メソッドが呼び出されます。

サンプルは Camera Control を参照してください。