/** * 対象の3Dオブジェクト配下のツリーをレンダリングする。 * * @param gcon グラフィックコンテキスト */ public void render(GraphicContext gcon) { Object3d ro = getRenderObject(); if (ro == null) return; Iterator it = ro.iterator(); while (it.hasNext()) { Object3d obj = (Object3d) it.next(); if (obj.isShow()) { obj.render(gcon); } } }
/** オブジェクトを描画ツリーから削除 */ public void remove() { Object3d ro = getRenderObject(); if (ro == null) return; Iterator it = ro.iterator(); while (it.hasNext()) { Object3d object = (Object3d) it.next(); if (!object.isAlive()) { object.remove(); } } }
/** ビューマトリックスの作成 */ private void buildViewMatrix() { // // ※ ビューは視線の向きが負の方向なので2軸(x,z)を反転させる。 // tmat_.set(viewObject_.getWorldMatrix()); // z 軸反転 tmat_.m02 = -tmat_.m02; tmat_.m12 = -tmat_.m12; tmat_.m22 = -tmat_.m22; // x 軸反転 tmat_.m00 = -tmat_.m00; tmat_.m10 = -tmat_.m10; tmat_.m20 = -tmat_.m20; // ローカル→ワールド行列を // ワールド→ローカル(ビュー)に変換する。 // viewMatrix_ = worldMatrix_^-1 viewMatrix_.invert(tmat_); }