2011-01-12 16 views
0

私は最近、Javascriptで3Dグリッドをマッピングするアイソメトリックなレンダリングシステムを開発しています。グリッド上のすべてのアイテムは等しい次元の立方体であり、それぞれの唯一の違いはその座標の値を表すテクスチャです。私のアプリケーションでは、小さな部分だけが同時にビューポートに表示されますが、大きなグリッドがグラフ化される必要があります。この3Dグリッドベースのレンダリングシステムをどのように高速化できますか?

私はキャンバスを使用しているため、フレームごとに数千のシェイプを描画するのが遅いので、各ブロックをループするようにスクリプトを設定しますが、空白のグリッドスペースの隣に1。 )をビューポートの内側に配置します。このシステムは小さなグリッドでもうまく動作しますが、アプリケーションにかなり大きなもの(1000 + x1000 + x128)が必要になるため、最終製品にいくつかのパフォーマンス改善を加える必要があります。

レンダリングシステムで作業している方は、エンジンをさらに最適化する方法について知っていますか?私が推測することの1つは、描画されていなくても、各グリッド値をループしないようにすることです。しかし、グリッド値をループするかどうかを知る最も効率的な方法はわかりません(現在、すべての値を調べてから、それを計算するかどうかを計算しています)。

私があまりにも漠然としていたら、私に教えてください。私は詳しく説明します。あなたの時間と専門知識に感謝します。私は学生であり、どんな助けも私の学習を大きく助けるでしょう。

+0

どのようにグリッド値を描画する必要があるかどうかを計算していますか?オクルージョンを使用していますか? – brainjam

答えて

0

あなたにいくつかのポインタ:あなたは(あなたのケースや四分木)八分木のようなものを使用して、古典的なカリングアルゴリズムを見て、持っている場合があります...

関連する問題