/** i_square,resultの有効期間は、この関数の終了までです。 */
 protected void onUpdateHandler(NyARSquare i_square, NyARDoubleMatrix44 result) {
   try {
     NyARGLUtil.toCameraViewRH(result, 1.0, this.gltransmat);
   } catch (Exception e) {
     e.printStackTrace();
   }
 }
  public void init(GLAutoDrawable drawable) {
    this._gl = drawable.getGL();
    this._gl.glEnable(GL.GL_DEPTH_TEST);
    NyARGLDrawUtil.setFontStyle("SansSerif", Font.BOLD, 36);
    NyARGLDrawUtil.setFontColor(Color.RED);
    this._gl.glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
    // NyARToolkitの準備
    try {
      // プロセッサの準備
      this._processor =
          new MarkerProcessor(this._ar_param, this._cap_image.getBufferType(), this._glnya);
      this._processor.setARCodeTable(_code_table, 16, 80.0);

      // カメラパラメータの計算
      NyARGLUtil.toCameraFrustumRH(this._ar_param, 1.0, 10, 10000, this._camera_projection);
      // キャプチャ開始
      this._capture.start();
    } catch (Exception e) {
      e.printStackTrace();
    }
    this._animator = new Animator(drawable);
    this._animator.start();
    return;
  }