JP2006520050A - 動的運動体の視覚的シミュレーション - Google Patents
動的運動体の視覚的シミュレーション Download PDFInfo
- Publication number
- JP2006520050A JP2006520050A JP2006507021A JP2006507021A JP2006520050A JP 2006520050 A JP2006520050 A JP 2006520050A JP 2006507021 A JP2006507021 A JP 2006507021A JP 2006507021 A JP2006507021 A JP 2006507021A JP 2006520050 A JP2006520050 A JP 2006520050A
- Authority
- JP
- Japan
- Prior art keywords
- mesh
- cell
- resolution
- neighbors
- neighbor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/23—Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/60—3D [Three Dimensional] animation of natural phenomena, e.g. rain, snow, water or plants
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/36—Level of detail
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computer Hardware Design (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
- Apparatus For Radiation Diagnosis (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
動的運動体をシミュレーションする方法が提供される。動的運動体を複数のセルへ分割する。各セルは関連する分解能を有する対応するメッシュと関連している。隣りのものの夫々のメッシュの分解能を決定するために、セルをメモリへページ入力する場合に、セルの隣りのものをクエリーする。該セルのメッシュを、該メッシュの分解能の比較及び該隣りのものの夫々のメッシュの分解能に従って調節する。
Description
本願はコンピュータグラフィックスに関するものである。特に、本願は動的運動体の視覚的シミュレーションに関するものである。
海洋シーンの動的特性のために、海洋水シミュレーションは計算上高価なコンピュータグラフィックスプロセスであり、且つ高いフレームレートにおいての視覚的に最もらしい三次元コンピュータグラフィックス効果を必要とするアプリケーションに対しての困難な作業である。
海洋シーンのフーリエ合成は、水表面を自然的に部分に分解させることを可能とするコンピュータグラフィックス技術である。フーリエ合成技術を介して、複雑性を独立的に調節することが可能であり且つトライアンギュレーション(triangulation)即ち三角形分割を視点依存性とさせることが可能である。例えば、G. A. Mstim等、「海洋シーンのフーリエ合成(Fourier Synthesis of Ocean Scenes)」、IEEE・コンピュータ・グラフィックス・アンド・アプリケーションズ、16−23頁、1987年3月を参照すると良い。然しながら、フーリエ合成は高度に計算上の負荷を発生し、従って、応用特定ハードウエアが使用可能なものでない限り、実時間処理が所望される場合には適切なものではない。
コンピュータグラフィックスにおける詳細のレベル(LOD)の概念は、究極的にCPUの利用を最適化させる観点から、視野及び視点からの範囲に基づいて異なる多角形密度の幾何学的メッシュをレンダリングすることを包含している。
古典的な幾何学的LOD最適化技術は、対話的実時間適応的メッシングを実施するものでもなく、又視点依存性適応的メッシングを実施するものでもない。例えば、J. H. Clark「可視的表面アルゴリズムに対する階層的幾何学的モデル(Hierachichal Geometric Models for Visible Surface Algorithms)」、コミュニケーション・オブ・ACS、19(10):547−554(1976年10月)、及びT. A. Funkhouser及びC. H. Sequin、「複雑なバーチャル環境の視覚化期間中における対話的フレームレート用の適用的表示アルゴリズム(Adaptive Display Algorithm for Interactive Frame Rates During Visualization of Complex Virtual Environment)」、SIGGRATH 93プロシーディングズ、247−254頁(1993)を参照すると良い。
然しながら、視点依存性で局所的に適用的な地形メッシングを対話的に実施することが可能な従来のコンピュータグラフィックス技術は、それから各フレーム毎に適用的三角形メッシュを構築するための予め定めたマルチ分解能表現に依存する。例えば、M. A. Duchaineau等、「ローミング地形:実時間最適適用用メッシュ(ROAMing Terrain :Real−time Optimally Adapting Meshes)」、IEEEビジュアジゼーション’97、81−88(1997年11月)は所要のフレームレートでイメージを発生する視点依存性三角形メッシュを維持する技術を特集している。然しながら、これらの技術は地形視覚化に適用するものであり、最適化した実時間性能を達成するためには地形の予備処理を必要とし、且つマップ上の任意の点の高度に対する参照として高さマップを必要とする。海洋シーン(及びコンピュータのアクションゲーム又は迅速な動作又は運動が関与するその他のシミュレーションにおける等の動的運動体を包含するシーン)は、典型的に、動的に変化するプロファイルを有しているので、従来の地形視覚化技術は、動的運動体をシミュレーションするためには多くの場合において容易に適合が可能なものではない。
水域又は何等水域無しでのシーン内の動的運動体等の動的運動体をシミュレーションするための改良した方法が必要とされている。
本願は、動的運動体をシミュレーションする方法を提供している。1実施例においては、本方法は、動的運動体を複数のセルへ分割し、各セルが関連する分解能を有する対応するメッシュと関連しており、隣りのものの夫々のメッシュの分解能を決定するためにセルがメモリ内にページ入力する場合に該セルの隣りのものをクエリーし、且つ該セルのメッシュの分解能と比較して該隣りのものの夫々のメッシュの分解能に従って該セルのメッシュを調節する、ことを包含している。
本開示は、動的運動体をシミュレーションするためのツールを提供しており、ジオメトリー(geometry)即ち幾何学的形状のページング(paging)、メモリ条件の最小化、セルに対する詳細のレベルの選択、三角形幾何学的形状に対する詳細のレベルの選択、ビューフラスタム(view frustum)に対するセルのカリング(culling)、及びトライアングルストリッピング(triangle stripping)を管理するための改良した方法を包含している。コンパクトディスク(CD)のようなコンピュータにより読取可能な媒体上に格納され、及び/又はインターネットのようなコンピュータネットワーク、又はワイヤレス媒体等の別の伝送媒体を介して1つ又はそれ以上のセグメントで送信されるコンピュータプログラム(又はコンピュータがそれに対して応答する命令からなるモジュール)で実現することが可能である。
1実施例に基づいて動的運動体をシミュレーションする方法について図1を参照して説明する。動的運動体を複数のセルに分割し、各セルは関連する分解能を有する対応するメッシュと関連している(ステップS11)。隣りのものの夫々のメッシュの分解能を決定するために、セルをメモリ内にページ入力する場合にそのセルの隣りのものをクエリーする(ステップS13)。該セルのメッシュは、該メッシュの分解能と該隣りのものの夫々のメッシュの分解能との比較に従って調節する(ステップS15)。該セルのメッシュは、該メッシュと該隣りのものとを縫合(stitch together)させるために1つ又はそれ以上のストリップを構築することにより調節することが可能である。
1実施例によれば、該セルのメッシュの上及び右は、該メッシュの分解能と該セルの北及び東の隣りのものの分解能とを夫々比較することによって調節することが可能である。該メッシュ及び該東の隣りのものの分解能が同一でない場合には、該メッシュと該東の隣りのものとを縫合させるためにトライアングル即ち三角形からなる1つの列を構築することが可能である。該メッシュ及び該北の隣りのものの分解能が同一でない場合には、該メッシュ及び該北の隣りのものを縫合させるために三角形からなる1つの行を構築する。該セルがメモリからページ出力する場合には、該セルは該東及び北の隣りのものをリセットすることが可能である。該セルは、又、該セルがメモリ内にページ入力した後に、該セルの西及び南の隣りのものに通知することが可能である。該セルがメモリからページ出力する場合には、該セルは、該セルがページ出力したことを西及び南の隣りのものに通知する。
別の実施例によれば、該セルのメッシュの下及び左は、該メッシュの分解能と該セルの南及び西の隣りのものの分解能との夫々の比較に従って調節される。該メッシュ及び該西の隣りのものの分解能が同じでない場合には、該メッシュと該西の隣りのものとを縫合させるために三角形からなる1つの列を構築することが可能である。該メッシュと南の隣りのものの分解能が同じでない場合には、該メッシュと該南の隣りのものとを縫合させるために三角形からなる1つの行を構築することが可能である。該セルがメモリからページ出力する場合に、該セルは該西及び南の隣りのものをリセットすることが可能である。該セルは、又、それがメモリ内にページ入力した後に、該セルの東及び北の隣りのものに通知することが可能である。該セルがメモリからページ出力する場合に、該セルは、該セルがページ出力したことを該東及び北の隣りのものに通知する。
別の実施例によれば、該セルのメッシュの下及び右は、該メッシュの分解能と該セルの南及び東の隣りのものの分解能との夫々の比較に従って調節される。
別の実施例によれば、該セルのメッシュの上及び左は、該メッシュの分解能と該セルの北及び西の隣りのものの分解能との夫々の比較に従って調節される。
更に、各セルは、好適には、複数のオブザーバーのうちの各1つに対し幾何学的形状を有している。
該複数のセルのメッシュ分解能の中で最も高い分解能において各フレーム毎にマスターメッシュを計算することが可能である。後のメッシュにおける頂点の位置は該マスターメッシュからサンプルされる。
詳細の各レベルは、対応する最大直線距離と関連することが可能である。視点からある詳細のレベルを有するセルへの直線距離が対応する最大直線距離を超える場合には、詳細のより低いレベルがそのセルに対して選択される。
海洋水をシミュレーションする文脈において、図2A乃至2Fを参照して幾つかの用語について以下に掲示する。理解すべきことであるが、本明細書においては海洋又は海洋水をシミュレーションすることに関して例示的な実施例について説明するが、本明細書に記載するツールはその他の水域及び/又はその他の運動体についてもシミュレーションするために適用することが可能である。
海洋(又は別の動的運動体)は(詳細の)単一レベル矩形上グリッドのセルとして表わすことが可能である。シミュレーションしたシーンは行及び列(例えば、グリッド構造)に分割され、それは該グリッドの個々のセルを定義する(図2A)。シミュレーションしたシーンは、メッシュの周期性を使用することにより1個のセルより大きな区域をカバーする。
セルはグリッド構造の細分化である。セルはグリッドの構造の定義内における空の位置である。各セルは一意的な一対の列及び行番号(列、行)を有しており、それはそのセルのアドレスである。そのセルはその内側の幾何学的形状とは独立的であり、且つグリッド構造内における1つの位置の境界及びアドレスを識別するに過ぎない(図2B)。そのセルはメッシュ内に保持されている表面データ(例えば、幾何学的形状)に対応するシミュレーションしたシーンにおける概念的に大きな表面の物理的領域である。オプションとして、より大きなドメインにわたって継ぎ目無しでセルをタイル張りさせることを可能とするために該シーンのフーリエ合成を適用することが可能である。
メッシュはグリッド構造の対応するセルを占有する幾何学的形状である。該メッシュはほぼ矩形状のパターンで配列された一様に離隔された離散的な点の集まりである(図2C)。メッシュの点はマルチコンポーネントデータ要素に対応する。マルチコンポーネントデータ要素の例は高さ(一次元)、水平位置(二次元)、垂直(三次元)である。従って、メッシュは幾何学的形状(例えば、位置、高さ及び/又は垂線)を有しており、且つランタイムシーングラフ内に存在している。メッシュの水平寸法はグリッドにわたって一定であるが、各メッシュは実際の又は仮想的なオブザーバーからの範囲の関数である異なる分解能(又は詳細のレベル)を有することが可能である(図2D)。高さ、位置及び垂線等のメッシュオブジェクトからのデータ出力は、メッシュ及び同じ場所に位置したセルの両方と関連することが可能である。然しながら、メッシュ及び同じ場所に位置したセルの間の差異は、メッシュは地球上の1つの位置から抽出されたものであり、且つセルは、基本的に、それと関連する位置を具備するメッシュである。メッシュは、又、継ぎ目が無く周期的である。
メッシュ点はメッシュの最も小さな分割不可能な要素であり(図2E)、且つ幾つかのインスタンスにおいては「頂点」と呼称することが可能である。4個のメッシュ点はメッシュファセットを構成する(図2F)。
オブザーバーの位置は詳細のレベル(LOD)及び各セルの光学系に影響を与える。海洋(又は別の動的運動体)が特定した位置に固定されているか又はオブザーバーの位置を中心としているかに拘わらずに、該動的運動体をオブザーバーのチャンネル(例えば、ビューポート)においてレンダリングさせるためには、そのシーンはそのシーンの視点においてオブザーバーにより参照される。オブザーバーと関連するチャンネルの各々は、そのオブザーバーに対応する海洋幾何学的形状に対するポインターを共有することが可能であり、従って、計算はチャンネル毎を基礎とすることは必要ではない。
更に、固定した海洋は複数のオブザーバーにより観察されることが可能である。海洋の位置が固定され且つ一人又はそれ以上のオブザーバーにより参照される場合には、それは該オブザーバーのチャンネルの各々においてレンダリングされる。そのオブザーバーの位置に関していずれか一人のオブザーバーとは独立的なものであるが、オブザーバーを中心とした海洋が遭遇することのないその海洋の幾何学的形状に関して複数のオブザーバーが独特のチャレンジを提示し、即ち、各セルのLOD及び光学系の計算は各オブザーバーの一意的な位置によって駆動される。
例えば、オブザーバーAは水面より40フィート上の航空母艦のデッキ上におり、一方オブザーバーBは水面から10,000フィート上の全体的な海洋のビューを有するF−18ジェット内にいる。オブザーバーAの水平及び垂直の視野を充填するセルの数はオブザーバーBに対する数とは異なるものである。更に、オブザーバーBに対するセルのLODはオブザーバーAに対するよりもより低い忠実性を必要とする。
本開示の方法によれば、セル毎のLODの決定、光学系の計算及び頂点リスト発生はセル幾何学的形状の構築をメインアプリケーションスレッドと同期化させる非同期的なページングスレッドの文脈において発生する。
視点の範囲内にある各セルの基礎となる幾何学的形状は非同期ページングスレッドにおいて無条件に計算されるが、該セルは無条件にレンダリングされるものではない。アプリケーションが高いフレームレートで動作するためには、セルをビューフラスタムでカリングすることが可能である。ビューフラスタムは視点に対して見ることが可能な境界を定義する6個の半空間の交差として定義される。セルが完全ではなく即ち部分的にビューフラスタム内にある場合には、セルをレンダリングするためにオーバーヘッドが発生することはなく、且つレンダリング時間は実質的に全体として減少させることが可能である。
各セルはその基礎となる幾何学的形状のLODを知っており、且つ各フレーム毎に多角形の詳細の異なるレベルにおいて少なくとも潜在的にレンダリングさせることが可能である。セルが更に外に拡張するに従い分解能は減少する。メッシュ間での一貫性を維持するために、異なる分解能を有する隣りのメッシュ間においてストリップを縫合させる。
例えば、東及び/又は北の隣のセルが存在する場合には、該メッシュの右及び/又は上を対応する隣りのものの分解能に対応すべく正しく縫合させる。そうでない場合には、該メッシュの右及び/又は上を検査中のセルの分解能でレンダリングさせる。
セルがメモリ内にページ入力すると、そのセルは、存在する場合に、東及び北のセルの隣りのものにクエリーし、従ってそのセルは各フレーム毎にそれらの夫々のLODをクエリーすることが可能であり、且つそのセルが丁度ページ入力したことを存在する場合にその西及び南の隣りのものに通知する。
逆に、セルがメモリからページ出力する場合には、そのセルはその東及び北の隣りのものをリセットし、且つ、そのセルがページ出力したことを、存在する場合に、西及び南の隣りのものに通知する。
海洋(又はその他の動的運動体)の幾何学的形状が非同期的なスレッドにおいて発生し、且つその基礎となる幾何学的形状はオブザーバー毎に独特なものであるので、セルはオブザーバー毎に1つのメッシュを包含しており、従って、そのセルのLOD及び光学系は各オブザーバーに対して一意的なものである場合がある。
メッシュクラスはメッシュの基礎となる幾何学的形状をクラス内にカプセル化する。該メッシュはx軸上の水平幅、y軸上の水平長さ、及びそのメッシュの細分化の数等のデータを包含している。該メッシュは2つの基礎となる幾何学的形状インスタンスを包含することが可能であり、そのことは該幾何学的形状を二重にバッファすることを可能とし、一方のインスタンスがレンダリングされる場合に、他方を次のアニメーションシーケンスに対して構築させる。
以下に更に説明するように、各メッシュの分解能は両方の方向(即ち、x及びy)において2の冪であり、メッシュは継ぎ目がなく周期的であり、且つ全てのメッシュの水平方向寸法(即ち、幅及び長さ)はグリッドにわたって一定である。
メッシュの周期性は特定された最も高い分解能で各フレーム毎に1つのマスター海洋メッシュを計算することを可能とし、且つそのシーングラフにおけるその後のメッシュが該マスターメッシュからサンプルしたそれらの頂点の位置を有することを可能とする。マスターメッシュのサンプリングは、シーングラフ内の各メッシュが潜在的に異なる分解能(即ち詳細のレベル)を有することを可能とする。頂点対世界空間マッピングw(v)はw(v)=(vx,vy,z(v))を介して達成され、尚(vx、vy)は頂点vの水平座標であり(マスターメッシュにおいて)、且つz(v)はvにおける高さである。
該メッシュはその詳細のレベルを知っており且つそれらの夫々の詳細のレベルに関する情報を得るためにその2つの隣りのもの(即ち東/南及び北/上)に対してクエリーする。該メッシュは該隣りのものの詳細のレベルに関する情報を維持することが可能であり且つメッシュ間で三角形を縫合させるために該情報を使用する。
1つの例示的実施例によれば、詳細のレベルは2の冪における整数としてキャッシュされ(1,2,4,...)、尚1は最も高い詳細レベル(即ち分解能)と関連しており、その場合には全ての頂点が描かれる。メッシュの最も高い分解能が64×64である場合には、1のLODは64×64のレンダリングされたメッシュ分解能に対応し、2のLODは32×32のレンダリングされたメッシュ分解能に対応し、4は16×16のレンダリングされたメッシュ分解能に対応し、8は8×8のレンダリングされたメッシュ分解能に対応し、16は4×4のレンダリングされたメッシュ分解能に対応し、且つ32は2×2のレンダリングされたメッシュ分解能に対応する。
最も高い分解能を有するメッシュはLODに対して最大数の頂点を割当てる。各フレームに対して、該メッシュは、そのメッシュのLOD及びそのメッシュの東及び北の隣りのもののLODに基づいて、LOD条件を満足させるために適宜の数の頂点を発生させる(例えば、頂点アレイの再割当は実施されない)。
海洋(又はその他の動的運動体)は、詳細のレベルと間接的に関連される場合のあるスイッチ距離のベクトルを有するように構成することが可能である。距離は昇順にベクトル内に挿入される。海洋が構築される場合にデフォルトによりゼロがベクトル内に挿入される。各隣接する対の数は距離の範囲を表わす。
例えば、ベクトルにおける全ての値が100の倍数(最大で500)である場合には、ベクトル内には6個の範囲が存在している。
各インデックスにおける値は、ページングストラテジーがあるLODにおいてレンダリングされるべきセルに対してそのセルからとすることが可能な最大直線距離を表わしている。この最大距離を超える場合には、そのセルのLOD複雑性は2の冪だけ低下される。視点により近いセルは更に遠いものよりもより粗く三角形分割される。遠クリッププレーンは、海洋(又はその他の動的運動体)が最早見えない視点からの直線距離である。
該ベクトルにおける各要素のインデックスは、ページングストラテジーが対応する範囲内にある場合に現在のメッシュがレンダリングされるLODに対して間接的に対応している。該インデックスは、2を底とするLODを計算するための指数として使用されるのでLODに間接的に対応しており、その場合にLOD値は2の冪であり
[1,2,4,8,...]=[20,21,22,23,...]
である。上述したように1は最も高い詳細レベルであり、その場合の全ての頂点が描かれる。上の例において、メッシュの最も高い詳細レベルが64×64であると仮定する。64=26であるので、最大で6個の詳細レベルの範囲を設定することが可能である。インデックスゼロで開始し、
20=1、21=2、22=4、23=8、24=16、25=32
である。
[1,2,4,8,...]=[20,21,22,23,...]
である。上述したように1は最も高い詳細レベルであり、その場合の全ての頂点が描かれる。上の例において、メッシュの最も高い詳細レベルが64×64であると仮定する。64=26であるので、最大で6個の詳細レベルの範囲を設定することが可能である。インデックスゼロで開始し、
20=1、21=2、22=4、23=8、24=16、25=32
である。
詳細のレベルが決定された後に、残りのレンダリングタスクは、レンダリングパイプラインへ送られる三角形ストリップの数を最適化し、且つ異なる分解能のメッシュ間の連続性を維持することを包含しており、それは、該メッシュとその東の隣りのものとを縫合させる三角形からなる列、該メッシュとその北の隣りのものとを縫合させる三角形からなる行、及び該隣りのものの分解能に依存する右上角部におけるファセットを構築することを包含している。
三角形をストリップへ編成させることから顕著な性能利得が得られる。1実施例によれば、該メッシュは高々4個の三角形ストリップとしてレンダリングすることが可能である。該メッシュの殆ど全体が第一ストリップを有している。残りの3個のストリップは、夫々、右、上、角の縫合である。
三角形からなる各列は、オプションとして、1つの三角形ストリップとして取扱うことが可能であり且つ頂点データが三角形からなる各列に対して発生される。然しながら、レンダリングパイプラインへ送られるコマンドの数を最適化させるために、該メッシュの本体を有する列の全てが、好適には、1つの三角形ストリップへ編成される。
該メッシュのボディー即ち本体は、以下の態様で構築することが可能である。メッシュの左角部(0,ymax)で開始し、三角形が頂点(0,0)に対して描かれる。次いで、(1,ymax)から開始して次の列が処理される。該列の全てが処理された後に、発生された最後の頂点は右下角部(xmax,0)である。xmax及びymaxはメッシュの最大分解能(メッシュのLOD値の倍数を除く)を表わす。LOD値の倍数の減算は、三角形からなる最も右側の列及び最も上の行の構築を別のステップにおいて実施することを可能とする。三角形の付加的な列及び行は該メッシュを該隣りのものへ接続させる。
メッシュを縫合させるために各メッシュのその隣りのLODの知識を取得及び/または維持する。更に、該三角形は、好適には、正面に向いた三角形となる等一貫性のある配向状態で構築される。幾つかの従来のソフトウエアによれば、スクリーン上でそれらの頂点が反時計方向順に表われるポリゴン即ち多角形は「正面に向いている」ものである。水平情報において、後ろに向いてポリゴンのいずれもがレンダリングパイプラインへ送られることなく、従って、後ろに向いたポリゴンは可視的なものではない。
メッシュをその隣りのものへ縫合させることは、以下のタスクを実施することを包含することが可能である。
メッシュ及びその東の隣りのものの分解能が比較される。メッシュ及び東の隣りのものの分解能が同一である場合には、調節作用を行うことは必要ではない。2つのメッシュを接続させる三角形の列が同一の分解能で発生され、且つ第一三角形ストリップへ付加される。
右側(即ち、東の隣りのもの)のメッシュがより高い分解能にある場合には、三角形からなる最後の列を以下の如くに構築することが可能である。メッシュの上から開始して、図3A及び3Bに示したように、繰返しパターンにおいて三角形ストリップを構築する。頂点(1乃至5)が図3Aに示した順番で訪ねられている。三角形の列から構築されるに従い、次のファセットがそのパターンを繰返し、即ち、頂点5及び4は、夫々、次のファセットに対する頂点1及び2となる。図3Bはレンダリングされた場合に、低分解能メッシュをその東の隣りの高分解能メッシュと縫合させる1つのファセットを示している。
右上角部の対角線の右側で且つそれに隣接する三角形は、右側角部が後に縫合されるまで構築されることはない。何故ならば、そのファセットの構築は、北の隣りのもののLODにも依存するからである。
東の隣りのもののメッシュがより低い分解能にある場合には、三角形からなる最後の列を以下の如くに構築することが可能である。メッシュの下から開始して、図4A及び4Bに示したように、繰返しパターンで三角形ストリップを構築する。頂点(1乃至5)は図4Aに示した順番で訪ねられる。三角形からなる列が構築されるに従い、上方の次のファセットがそのパターンを繰返す(即ち、頂点5及び4は、次のファセットに対し、夫々、頂点1及び2となる)。図4Bは、レンダリングされた場合に高分解能メッシュを東の隣のものの低分解能メッシュと縫合させる1つのファセットを示している。
次に、そのメッシュの北の隣りのものの分解能がそのメッシュの分解能と比較される。これらの分解能が同じである場合には、調節動作は行われない。これら2つのメッシュを接続させる三角形からなる行を同一の分解能で発生させ且つ第一三角形ストリップへ付加させることが可能である。
上のメッシュがより高い分解能にある場合には、三角形からなる上の行が以下の如くに構築される。メッシュの左側から開始して、図5A及び5Bに示したように、繰返しパターンで三角形ストリップを構築する。頂点(1乃至5)は図5Aに示した順番で訪ねられる。三角形からなる行が構築されるに従い、右側の次のファセットがそのパターンを繰返す(即ち、頂点5及び4は、次のファセットに対し、夫々頂点1及び2となる)。図5Bは、レンダリングされた場合に、低分解能メッシュをその北の隣りのものの高分解能メッシュへ縫合させる1つのファセットを示している。
上のメッシュがより低い分解能にある場合には、三角形からなる上の行が以下の如くに構築される。該メッシュの右側で開始して、図6A及び6Bに示したように、繰り返しパターンで三角形ストリップを構築する。頂点(1乃至5)は図6Aに示した順番で訪ねられる。三角形からなる行が構築されるに従い、左側の次のファセットが次のパターンを繰返す(即ち、頂点5及び4は、次のファセットに対し、夫々、頂点1及び2となる)。図6Bは、レンダリングされる場合に、高分解能メッシュをその北の隣りのものである低分解能メッシュと縫合させる1つのファセットを示している。
右上角部の対角線の左側で且つそれに隣接した三角形は、右側角部が後に縫合されるまで構築されることはない。何故ならば、このファセットの構築は東の隣りのものにも依存するからである。
次に、両方の隣りのものに隣接している右上角部が構築される。東又は北の隣りのものの分解能がより低いか又はより高いかに拘わらずに、頂点は同一の順番で訪ねられる。図7A,7B,8A,8Bは、メッシュのLOD及びその2つの隣りのもののLODに基づいて、マスターメッシュから頂点をサンプリングする場合に得られる差異を例示している。
図7Aに例示したように、両方の隣りのメッシュが現在のメッシュよりもより高い分解能にある。図7Bはレンダリングされた場合の角のファセットを示している。
図8Aに例示したように、両方の隣りのメッシュが現在のメッシュよりもより低い分解能にある。図8Bはレンダリングされた場合の角のファセットを示している。
本開示の方法は、異なる多角形密度の最適な三角形メッシュを発生し、その場合に、該密度は視点依存性であり且つその論理はランタイムで実施することが可能であり、それから各フレーム毎に適用的三角形メッシュを構築するためにあらかじめ定義したマルチ分解能表現に依存するものではなく、最適な三角形ストリッピングを特徴とし、マルチビュー依存性メトリックを考慮し、一貫性のある高いフレームレートにおいて動作し且つフレーム当たり数千個の三角形をレンダリングしながらフレーム間の一貫性を確保し、且つ異なる分解能でレンダリングしたメッシュ間において不連続性又はクラックが表われることを防止する。
異なる例示的実施例の要素及び/又は特徴は、本開示及び特許請求の範囲内において互いに結合させることが可能であり及び/又は互いに置換させることが可能である。
上の特定の実施例は例示的なものであり、且つ本開示の精神から又は特許請求の範囲から逸脱することなしにこれらの実施例に関し多くの変形例を導入することが可能である。
例えば、詳細のレベルの表現及びそれらをどのようにして分解能へ変換するかは異なるものとすることが可能である。更に、スイッチ距離のベクトルがキャッシュされ且つ処理される態様、及び該値が究極的にどのようにしてLOD選択に影響を与えるかは異なる場合がある。更に、当業者にとって明らかであるように、メッシュの基礎となるジオメトリー即ち幾何学的形状は、複数の非同期スレッドにおいて構築することが可能である。
上述した実施例はセル(又はメッシュ)の東及び北の隣りのものにクエリーし且つ該セルの分解能を該東及び北の隣りのものの分解能に対して比較することを言及するものであるが、そのクエリー及び比較は、代替的に、選択される対が一貫性を持って適用される限り、例えば南及び西の隣りのもの、又は南及び東の隣りのもの、又は北及び西の隣りのもの等のその他の等価な隣りのものの対に関して行うことが可能である。従って、「東隣りのもの」に対する言及は、主題のセルの右側の隣りのもの、又は、代替的に、(及び等価的に)左側の隣りのものをカバーすべく解釈されるべきである。同様に、「北隣りのもの」に対する言及は、セルの上側の隣りのもの、又は代替的(等価的に)セルの下側の隣りのものをカバーする。
本願は、「動的移動体の視覚的シミュレーション(VISUAL SIMULATION OF DYNAMIC MOVING BODIES)」という名称で2003年3月12日付で出願された米国特許出願第10/386,732号の優先権を主張するものである。
Claims (26)
- 動的運動体をシミュレートする方法において、
前記動的運動体を複数個のセルへ分割し、各セルは関連する解像度を有する対応するメッシュと関連しており、
隣りのものの夫々のメッシュの分解能を決定するためにセルをメモリ内にページ入力する場合に前記セルの隣りのものをクエリーし、
前記メッシュの分解能と前記隣りのものの夫々のメッシュの分解能との比較に従って前記メッシュと前記隣りのものとを縫合させるために対応する1つ又はそれ以上のストリップにより前記セルのメッシュを調節する、
ことを包含している方法。 - 請求項1において、前記セルのメッシュの上及び右を、前記メッシュの分解能と前記セルの夫々の下及び東の隣りのものの分解能との比較に従って調節する方法。
- 請求項2において、前記メッシュ及び前記東の隣りのものの分解能が同一でない場合には、前記メッシュと前記東の隣のものとを縫合させて三角形からなる1つの列を構築する方法。
- 請求項2において、前記メッシュ及び北の隣りのものの分解能が同一でない場合には、前記メッシュと前記北の隣りのものとを縫合させるために三角形からなる1つの行を構築する方法。
- 請求項2において、前記北及び東の隣りのものの分解能が両方共前記メッシュの分解能よりもより高いか又は両方ともより低い場合には、前記メッシュと前記北及び東の隣りのもののとを縫合させてファセットを構築する方法。
- 請求項2において、前記セルがメモリからページ出力する場合に、前記セルが前記東及び北の隣りのものをリセットする方法。
- 請求項2において、前記セルが、前記セルがメモリ内にページ入力した後に前記セルの西及び南の隣りのものに通知する方法。
- 請求項7において、前記セルがメモリからページ出力する場合に、前記セルがページ出力したことを前記セルが前記西及び南の隣りのものに通知する方法。
- 請求項1において、前記セルのメッシュの下及び左が、前記メッシュの分解能と前記セルの南及び西の隣りのものの分解能との夫々の比較に従って調節する方法。
- 請求項9において、前記メッシュ及び前記西の隣りのものの分解能が同一でない場合には、前記メッシュ及び前記西の隣りのものを縫合させて三角形からなる1つの列を構築する方法。
- 請求項9において、前記メッシュ及び南の隣りのものの分解能が同一でない場合には、前記メッシュ及び前記南の隣りのものを縫合させて三角形からなる1つの行を構築する方法。
- 請求項9において、前記南及び西の隣りのものの分解能が両方共前記メッシュの分解能よりも一層高いか又は両方共一層低い場合には、前記メッシュ及び前記南及び西の隣りのものを縫合させてファセットを構築する方法。
- 請求項9において、前記セルがメモリからページ出力する場合に、前記セルが前記西及び南の隣りのものをリセットする方法。
- 請求項9において、前記セルがメモリ内にページ入力した後に、前記セルが前記セルの東及び北の隣りのものに通知する方法。
- 請求項14において、前記セルがメモリからページ出力する場合に、前記セルがページ出力したことを前記セルが前記東及び北の隣りのものに通知する方法。
- 請求項1において、前記セルのメッシュの下及び右が、前記メッシュの分解能と前記セルの南及び東の隣りのものの分解能との夫々の比較に従って調節される方法。
- 請求項1において、前記セルのメッシュの上及び左が、前記メッシュの分解能と前記セルの夫々の北及び西の隣りのものの分解能との比較に従って調節される方法。
- 請求項1において、前記セルが複数のオブザーバーのうちの各々に対する幾何学的形状を有している方法。
- 請求項1において、各メッシュの分解能が2の冪であり、且つ前記メッシュが継ぎ目無しで周期的である方法。
- 請求項1において、前記複数のセルのメッシュ分解能の中で最も高い分解能において各フレーム毎にマスターメッシュが計算される方法。
- 請求項20において、その後のメッシュにおける頂点の位置がマスターメッシュからサンプルされる方法。
- 請求項1において、各セルの詳細のレベルが関連する最大直線距離を有しており、その場合に、視点から前記セルへの直線距離が前記最大直線距離を超える場合には、より低いレベルの詳細が前記セルに対して選択される方法。
- 請求項1において、前記動的運動体が水域を包含している方法。
- マシンにより読取可能なプログラム格納装置において、請求項1に記載した方法を実施するために前記マシンにより実行可能な命令からなるプログラムをタンジブルに実現しているプログラム格納装置。
- 伝送媒体において1つ又はそれ以上のセグメントで送信されるコンピュータデータ信号において、請求項1に記載した方法を実施するためにコンピュータにより実行可能な命令を実現しているコンピュータデータ信号。
- コンピュータシステムにおいて、
プロセッサ、
前記コンピュータシステムにより読取可能なプログラム格納装置であって、請求項1に記載した方法を実施するために前記プロセッサによって実行可能な命令からなるプログラムをタンジブルに実現しているプログラム格納装置、
を有しているコンピュータシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/386,732 US20040181373A1 (en) | 2003-03-12 | 2003-03-12 | Visual simulation of dynamic moving bodies |
PCT/US2004/007258 WO2004081743A2 (en) | 2003-03-12 | 2004-03-09 | Visual simulation of dynamic moving bodies |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006520050A true JP2006520050A (ja) | 2006-08-31 |
Family
ID=32961738
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006507021A Pending JP2006520050A (ja) | 2003-03-12 | 2004-03-09 | 動的運動体の視覚的シミュレーション |
Country Status (9)
Country | Link |
---|---|
US (1) | US20040181373A1 (ja) |
EP (1) | EP1602075A2 (ja) |
JP (1) | JP2006520050A (ja) |
KR (1) | KR20050107615A (ja) |
CN (1) | CN1784695A (ja) |
AU (1) | AU2004219190A1 (ja) |
BR (1) | BRPI0407943A (ja) |
CA (1) | CA2515017A1 (ja) |
WO (1) | WO2004081743A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013507701A (ja) * | 2009-10-15 | 2013-03-04 | トムソン ライセンシング | メッシュ・モデルを符号化する方法及び装置、符号化されたメッシュ・モデル、並びに、メッシュ・モデルを復号化する方法及び装置 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060080072A1 (en) * | 2003-03-12 | 2006-04-13 | Computer Associates Think, Inc. | Optimized rendering of dynamic moving bodies |
US8493391B2 (en) * | 2008-07-25 | 2013-07-23 | Image Terrain, Inc. | Generating designs for product adornment |
CN102722901B (zh) * | 2011-03-29 | 2017-04-12 | 腾讯科技(深圳)有限公司 | 处理图像的方法和装置 |
KR101764341B1 (ko) * | 2012-01-03 | 2017-08-02 | 한국전자통신연구원 | 절차적 방법에 의해 생성된 지형 데이터를 편집하는 방법 |
US10535188B2 (en) * | 2016-09-23 | 2020-01-14 | Apple Inc. | Tessellation edge shaders |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4758944A (en) * | 1984-08-24 | 1988-07-19 | Texas Instruments Incorporated | Method for managing virtual memory to separate active and stable memory blocks |
US6208347B1 (en) * | 1997-06-23 | 2001-03-27 | Real-Time Geometry Corporation | System and method for computer modeling of 3D objects and 2D images by mesh constructions that incorporate non-spatial data such as color or texture |
US6515660B1 (en) * | 1999-12-14 | 2003-02-04 | Intel Corporation | Apparatus and method for dynamic triangle stripping |
JP2002358004A (ja) * | 2001-06-02 | 2002-12-13 | Navitime Japan Co Ltd | 地図表示端末、地図表示システム |
-
2003
- 2003-03-12 US US10/386,732 patent/US20040181373A1/en not_active Abandoned
-
2004
- 2004-03-09 WO PCT/US2004/007258 patent/WO2004081743A2/en not_active Application Discontinuation
- 2004-03-09 CA CA002515017A patent/CA2515017A1/en not_active Abandoned
- 2004-03-09 KR KR1020057016827A patent/KR20050107615A/ko not_active Application Discontinuation
- 2004-03-09 CN CNA2004800064239A patent/CN1784695A/zh active Pending
- 2004-03-09 EP EP04718869A patent/EP1602075A2/en not_active Withdrawn
- 2004-03-09 BR BRPI0407943-4A patent/BRPI0407943A/pt not_active Application Discontinuation
- 2004-03-09 AU AU2004219190A patent/AU2004219190A1/en not_active Abandoned
- 2004-03-09 JP JP2006507021A patent/JP2006520050A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013507701A (ja) * | 2009-10-15 | 2013-03-04 | トムソン ライセンシング | メッシュ・モデルを符号化する方法及び装置、符号化されたメッシュ・モデル、並びに、メッシュ・モデルを復号化する方法及び装置 |
US8949092B2 (en) | 2009-10-15 | 2015-02-03 | Thomson Licensing | Method and apparatus for encoding a mesh model, encoded mesh model, and method and apparatus for decoding a mesh model |
Also Published As
Publication number | Publication date |
---|---|
WO2004081743A3 (en) | 2004-12-02 |
US20040181373A1 (en) | 2004-09-16 |
AU2004219190A1 (en) | 2004-09-23 |
KR20050107615A (ko) | 2005-11-14 |
BRPI0407943A (pt) | 2006-03-07 |
EP1602075A2 (en) | 2005-12-07 |
WO2004081743A2 (en) | 2004-09-23 |
CN1784695A (zh) | 2006-06-07 |
CA2515017A1 (en) | 2004-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20060080072A1 (en) | Optimized rendering of dynamic moving bodies | |
CN105336003B (zh) | 结合gpu技术实时流畅绘制出三维地形模型的方法 | |
US8570322B2 (en) | Method, system, and computer program product for efficient ray tracing of micropolygon geometry | |
Pajarola et al. | Survey of semi-regular multiresolution models for interactive terrain rendering | |
JP4467267B2 (ja) | 画像処理方法、画像処理装置、および画像処理システム | |
Liang et al. | A visualization-oriented 3D method for efficient computation of urban solar radiation based on 3D–2D surface mapping | |
US20140152664A1 (en) | Method of rendering a terrain stored in a massive database | |
KR100959349B1 (ko) | 그래픽스 처리 유닛을 이용한 사진트리 기반의 지형 렌더링 방법을 가속화하는 방법 | |
CN1926558A (zh) | 对任意成三角形的表面应用精确三维体纹理的系统和方法 | |
CN109636889B (zh) | 一种基于动态缝合带的大规模三维地形模型渲染方法 | |
KR101769013B1 (ko) | 공간타일 기반의 3차원 객체 모델 병합을 통한 3차원 모델 가시화 방법 | |
US9401044B1 (en) | Method for conformal visualization | |
JP2006520050A (ja) | 動的運動体の視覚的シミュレーション | |
Weber et al. | Visualization of adaptive mesh refinement data | |
Luo et al. | Quad-tree atlas ray casting: a gpu based framework for terrain visualization and its applications | |
Zhu | Uniform remeshing with an adaptive domain: A new scheme for view-dependent level-of-detail rendering of meshes | |
CN110120089B (zh) | 一种基于裁剪边界优化的无缝纹理自动生成方法 | |
JP2010092507A (ja) | 画像処理方法、画像処理装置、および画像処理システム | |
Mikhaylyuk et al. | Memory-effective methods and algorithms of shader visualization of digital core material model | |
Masood et al. | A novel method for adaptive terrain rendering using memory-efficient tessellation codes for virtual globes | |
Weber et al. | Parallel cell projection rendering of adaptive mesh refinement data | |
Hoppe et al. | Adaptive meshing and detail-reduction of 3D-point clouds from laser scans | |
Luo et al. | Spherical projective displacement mesh | |
Ge et al. | A Novel LOD Rendering Method with Multi-level Structure Keeping Mesh Simplification and Fast Texture Alignment for Realistic 3D Models | |
Yilmaz et al. | Modeling and visualization of complex geometric environments |