JP2005332395A - ネストされた正規グリッドを使用した地形レンダリング - Google Patents

ネストされた正規グリッドを使用した地形レンダリング Download PDF

Info

Publication number
JP2005332395A
JP2005332395A JP2005142846A JP2005142846A JP2005332395A JP 2005332395 A JP2005332395 A JP 2005332395A JP 2005142846 A JP2005142846 A JP 2005142846A JP 2005142846 A JP2005142846 A JP 2005142846A JP 2005332395 A JP2005332395 A JP 2005332395A
Authority
JP
Japan
Prior art keywords
terrain
level
levels
nested
viewpoint
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.)
Granted
Application number
JP2005142846A
Other languages
English (en)
Other versions
JP4694256B2 (ja
JP2005332395A5 (ja
Inventor
Petterson Frank W Losasso
ウィリアム ロサッソ パターソン フランク
Hugues H Hoppe
エイチ.ホッピー ヒューグース
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2005332395A publication Critical patent/JP2005332395A/ja
Publication of JP2005332395A5 publication Critical patent/JP2005332395A5/ja
Application granted granted Critical
Publication of JP4694256B2 publication Critical patent/JP4694256B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/36Level of detail

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Remote Sensing (AREA)
  • Image Generation (AREA)
  • Instructional Devices (AREA)
  • Processing Or Creating Images (AREA)
  • Soil Working Implements (AREA)

Abstract

【課題】 地形のハイト・フィールドのリアルタイム・レンダリングに照準を合わせ、地形イメージ・レンダリングの効果的な働きを提供すること。
【解決手段】 地形の複数の詳細レベルをメモリ内に正規グリッドとして格納する。1例では、地形はネストされた正規グリッドの集合の形でキャッシングされる。こうした集合は、視点からの距離の関数として複数のレベルから得られる。この例において、前記地形の複数の詳細レベルは地形の標高とテクスチャ・イメージを備えている。地形に対して視点が移動すると、ネストされた正規グリッドは地形内の視点の移動に伴って徐々に入れ替えられる。この例の1つでは、遷移領域を導入してグリッド・レベル間の調和を支援する。1つの例において、正規グリッドは頂点バッファとしてビデオ・メモリに格納される。この例の1つでは、頂点データに遷移領域を導入し、グリッド・レベル間の境界の融合を支援する。
【選択図】 図2

Description

本発明は、一般にさまざまな詳細レベル(level of detail)による地形レンダリングの分野に関する。
既存の地形の詳細レベル(LOD:level-of-detail)アルゴリズムでは、メッシュ詳細化操作(mesh refinement operations)の階層を使用してサーフェス・テッセレーション(surface tessellation)を適用する。こうしたアルゴリズムは、このような階層構造によって分類できる。
Cohen-Or, Daniel, et al., Temporal Continuity of Levels of Detail in Delaunay Triangulated Terrain, IEEE Visualization 1996, 37-42 Cignoni, P. et al. Representation and Visualization of Terrain Surfaces at Variable Resolution, The Visual Computer 13(5), 199-217, 1997 Rabinovich, Boris, et al, Visualization of Large Terrains in Resource-Limited Computing Environments, IEEE Visualization 1997 De Floriana E. et al., Building and Traversing a Surface at Variable Resolution, IEEE Visualization 1997, 103-110 Hoppe, Hugues, Optimization of Mesh Locality for Transparent Vertex Caching, ACM SIG-GRAPH , 1999, 269-276 El-Sans, Jihad, et al., Generalized View-Dependent Simplification, Proceedings of Eurographics, 1999, 83-94 Lindstrom, Peter, et al., Real-Time, Continuous Level of Detail Rendering of Height Fields, ACM SIGGRAPH 1996, 109-118 Duchaineau, Mark, et al., Roaming Terrain: Real-time Optimally Adapting Meshes, IEEE Visualization 1997, 81-88 Pajarola, Renato, Large Scale Terrain Visualization Using the Restricted Quadtree Triangulation, IEEE Visualization 1998, 19-26 Rottger, Stefan, et al., Real-time Generation of Continuous Levels of Detail for Height Fields, Central Europe Conf. on Computer Graphics and Vis., 315-322 Blow, Jonathan, Terrain Rendering at High Levels of Detail, Game Developers Conference 2000 Levenberg, Joshua, et al., Fast View-dependent Level-of-Detail Rendering Using Cached Geometry, IEEE Visualization 2002, 259-266 Cignoni, P. et al., BDAM -- Batched Dynamic Adaptive Meshes for High Performance Terrain Visualization, Computer Graphics Forum 22(3) 2003 Cignoni, Paulo, et al., Planet-sized Batched Dynamic Adaptive Meshes (P-BDAM), IEEE Visualization 2003 Bishop, Lars, et al., Designing a PC Game Engine, IEEE CG&A 18(1), 46-53 1998 De Boer, Willem, Fast Terrain Rendering Using Geometrical Mipmapping, http://www.flipcode.com/tutorials/geomipmaps.pdf, dated October 2000 Wagner, Daniel, 2004, Terrain Geomorphing in the Vertex Shader, In ShaderX2: Shader Programming Tips & Tricks with DirectX 9, Wordware Publishing 2004 Gumhold, Stefan, et al., Multiresolution Rendering with Displacement Mapping, Graphics Hardware Workshop 1999 Dogget, Michael, et al., Adaptive View-dependent Tessellation of Displacement Maps, Graphics Hardware Workshop, 2000 Moule, Kevin, et al., Efficient Bounded Adaptive Tessellation of Displacement Maps, Graphics Interface, 2002 Dollner, Jergen, et al., Texturing Techniques for Terrain visualization, IEEE Visualization 2000, 227-234 Tanner, Christopher C, et al., The Clipmap: A Virtual Mipmap, ACM SIG-GRAPH 1998, 151-158 ("Tanner 1998") Williams, Lance., Pyramidal Parametrics, ACM SIGGRAPH 1983, 1-11 Kobbelt, Leif, Interpolatory Subdivision on Open Quadrilateral Nets with Arbitrary Topology, Eurographics 1996, 409-420 Dyn, Nira, A 4-point Interpolatory Subdivision Scheme for Curve Design, CAGD 4, 257-268 1987 Malvar, Henrique., Fast Progressive Image Coding without Wavelets, Data Compression Conference 2000, 243-252 Fournier, Alain, et al., Computer Rendering of Stochastic Models, Comm. of the ACM 25(6), 371-384, 1982 Lewis, J.P, Generalized Stochastic Subdivision, ACM Transactions on Graphics 6(3), 167-190, 1987 Wei, Li-Yi. et al., Fast Texture Synthesis Using Tree-structured Vector Quantization, ACM SIGGRAPH 2000, 479-488 Miller, Gavin, The Definition and Rendering of Terrain Maps, Vol. 20, No. 4, ACM SIGGRAPH 1986, 39-48 Gu, Xianfeng, et al., Geometry Images, ACM SIGGRAPH 2002, 355-361 Hoppe, Hughes; Smooth View-Dependent Level-of-Detail Control and its Application to Terrain Rendering; undated; 9 pages. lindstrom, Peter, et al.; Terrain Simplification Simplified: A General Framework for View-Dependent Out-of-Core Visualization; IEEE Transactions on Visualization and Computer Graphics, Vol. 8, No. 3, July-September 2002; pages 239-254. Vlachos, Alex, et al.; Curved PN Triangles; undated; 8 pages. Lefebvre, Sylvain, et al.; Pattern Based Procedural Textures; undated; 11 pages. Losasso, F., et al.; Smooth Geometry Images; Eurographics Symposium on Geometry Processing (2003); 8 pages.
たとえば、不規則三角形網(triangulated irregular networks)などの不規則メッシュ(irregular meshes)は、特定の数の三角形面としては地形の適切な近似を提供する、しかし、隣接するメッシュを追跡したり、詳細化依存状態(refinement dependencies)を追跡したりする必要がある。一部の階層では、Delaunay(ドローネー)三角形分割法(Delaunay triangulations)(たとえば、非特許文献1、非特許文献2、非特許文献3を参照)、あるいは他の任意の接続性(arbitrary connectivities)(たとえば、非特許文献4、非特許文献5、非特許文献6を参照)を使用している。
最長エッジ2分割(longest-edge bisection)、限定された四分木(restricted quadtrees)、直角三角形の階層などのビンツリー階層(Bin-tree hierarchies;2分木階層)では、直角三角形の再帰的2分割(recursive bisection)を使用してメモリ・レイアウトとトラバース(traversal)アルゴリズムを簡素化する。しかしながら、こうした半正規メッシュ(semi-regular meshes)では、依然としてポインタ・ベースのデータ構造と直接モードのレンダリング(immediate-mode rendering)を必要とする(たとえば、非特許文献7、非特許文献8、非特許文献9、非特許文献10、非特許文献11を参照)。
さらに、ビンツリー領域はビンツリー構造に関連付けられた領域に対する比較的粗いリファイン操作を定義し、あらかじめ計算した三角形領域が、ビデオ・メモリにキャッシングされたバッファにアップロードされるので、レンダリング・スループットが向上する。しかしながら、キャッシングは時間コヒーレンシのために、地形モーフィング(geomorphs)の使用を妨げる。たとえば、非特許文献12、非特許文献13、非特許文献14を参照されたい。他に、ビュー依存のマッピング(view dependent mapping)についても多くの方法が提供されている。たとえば、非特許文献15、非特許文献16、非特許文献17、非特許文献18、非特許文献19、非特許文献20を参照されたい。他に、テクスチャ・マップ(texture maps)についての方法も提供されている。たとえば、非特許文献21、非特許文献22を参照されたい。
ここで説明する技術により、コンピュータによる地形レンダリングにおけるさまざまな詳細レベルについての製品、方法、システムが提供される。1つの例において、地形レンダリングはここで説明するジオメトリ・クリップマップ(geometry clipmaps)という技術を使用して行われる。ジオメトリ・クリップマップは、いくつかの点で従来の方法とは異なっている。詳細化階層(refinement hierarchy)は、地形モーフィングがレベル間の連続性を提供する状態で、ネストされた、ビューア中心の、正規グリッドの集合で構成される。詳細化基準では、他にビューアの距離も考慮されるが、局所的なサーフェス・ジオメトリ(surface geometry)は無視される。ジオメトリ・クリップマップは、速度と時間の両方においてレベル間の連続性を単純かする、ビューアを中心とした階層を定義する。
1つの例において、地形の複数の詳細レベルはメモリ内に正規グリッドとして格納される。こうした1つの例では、ビューポイントからの距離の関数として、複数のレベルからの得られた、ネストされた正規グリッドの集合の形で地形がキャッシングされる。地形に対して視点が移動する場合、ネストされた正規グリッドは、地形内の視点の移動に伴って徐々に入れ替えられる。こうした例の1つでは、遷移領域(transition region)を導入してグリッド・レベル間の融合(blending)を支援する。1つの例において、正規グリッドは頂点バッファとしてビデオ・メモリに格納される。こうした例の1つでは、頂点データ・セットに別のグリッド・レベルの標高(elevation)値を提供して効率的に境界を融合する。
別の例では、コンピュータ・システムはさまざまなレベルで地形を表現する複数レベルの正規グリッドを提供する。こうした例では、レンダリング・コンポーネントは、正規グリッドの一部を、視点からの距離に基づいて、詳細さに関して低減する、ネストされた正規グリッドに、構成する。複数の詳細レベルを有する地形レンダリングのその他の多くの例とバリエーションについて説明する。
その他の機能や利点については、以下の発明を実施するための最良の形態と添付の図面を関連付けることで明らかになるであろう。
(概観)
地形ジオメトリ(Terrain geometry)は、アウト・ドア・グラフィック環境の重要なコンポーネントであり、たとえば、映画、バーチャル環境、地図作成(cartography)、ゲームで使用される。特に、リアルタイムのアウト・ドア・ゲームには、フライト・シミュレータ、運転シミュレータ、大規模なマルチ・プレーヤー・ゲームが含まれる。この技術は、地形のハイト・フィールド(terrain height-fields)のリアルタイム・レンダリングに照準を合わせており、地形イメージ・レンダリングの効果的な働きを提供する。
ネストされた正規グリッドの形のジオメトリ・クリップマップを使用した地形レンダリングの例を示すために、実際の地形の正規グリッドが使用される。ただし、仮想的な地形の正規グリッドも全く同様に動作する。たとえば、1つの例示的なデータ・セットは正規グリッド内に30mごとの標高サンプルを格納する米国のハイト・フィールドマップである。
図1は、クリップマップのレベルを表す図である。この例では、レベル102は地形の最も細かい詳細レベルであり、地形のより粗い詳細レベルが中間のレベルとして104に作成されている。最後に最も粗いレベル106に達する。地形レベルのコーナーの矢印は、任意の地形のサイズが非常に大きいことを示している。たとえば、米国のデータ・セットには216,000×93,600の標高サンプルが含まれる。地形内の標高は、特定の地形レベルの頂点108、110で表される。より粗い地形レベル104、106は、ビューアから離れているが見える地形の標高がビューアから近い場所の地形の標高と同じ詳細レベルである必要はないため、効率が向上する。地形図(terrain maps)の頂点は、地形内のサーフェスを作成するのに使用される。たとえば、正方形のサーフェスは、頂点a、b、c、dで定義される標高のサンプルで定義される。より細かい詳細レベルでより多くの標高のサンプル(すなわち頂点)を提供することで、地形をより詳細に表現する、より精密なサーフェスを作成できる。たとえば、三角形サーフェス(三角形メッシュとも呼ばれる)は頂点a、b、dで表現される。テクスチャ・イメージがこうしたサーフェスに適用され、メッシュサーフェスにテクスチャを提供する。
地形内で視点が移動すると、視点に最も近い地形の標高とテクスチャが地形のより細かい詳細レベルでレンダリングされ、視点からの距離が増すにつれて地形の標高とテクスチャの詳細はより粗いレベルで得られる。
1つの例では、ジオメトリ・クリップマップのレベルの部分は頂点バッファとして高速のビデオ・メモリに格納され、視点が移動するにつれて徐々に入れ替えられる。このことは、視覚的な連続性、一定のフレームレート(frame rate)、複雑性の抑制(throttling)、および適切なデグラデーション(degradation)を提供する。
大規模な地形ハイトマップ(terrain height maps)には、多くの場合、対話方式でリアルタイムにレンダリングするには非常に多くの標高サンプルが含まれる。さらに、密集した三角形を均一にレンダリングすると、サンプルからピクセルへのフィルタを適用しない多対一のマップによって、ミップマップ(mipmaps)のないテクスチャに見られるような、エイリアシング・アーティファクト(aliasing artifacts)が発生する可能性がある。従って、詳細レベル(LOD)の制御は、ビュー・パラメータの関数として地形のテッセレーションを調整するために提供される。
従来のスキーマでは、ビューだけでなく局所的な地形ジオメトリにも基づく詳細化を適用している。こうした従来のスキーマでは、平面の領域が、より大きな三角形に割り当てられ、レンダリングする三角形の数が少ない不規則なメッシュを結果として生ずる。しかし、こうしたフレームワークにはいくつかの欠点がある。詳細化基準および/または詳細化操作を事前に計算する必要があり、余分なメモリを消費する。そのデータ構造には、キャッシュ・コヒーレンシ(cache-coherence)のないランダム・アクセス・トラバース(traversals)が必要である。さらに、テッセレーションの変更により、低速の直接モードのレンダリングが必要であるが、静的領域のキャッシングによって時間的な連続性が阻害される。さらに、一定のフレームレートを維持するために、表示される地形の凹凸(bumpiness)によって詳細化しきい値を変更する必要がある。最後に、サーフェス・シェーディング(surface shading)はテクスチャ・イメージを必要とし、これは、個別に格納され、全く異なるLOD構造を使用する。
本GPUのレンダリング速度は、ピクセル・サイズの三角形を有するフレーム・バッファをビデオ速度で完全に処理できる十分なスループットを提供する。さらに、頂点処理速度は、それがピクセル速度に遅れないように、増加し続ける。したがって、ここで説明する技術には精密なLOD(fine-grain LOD)が必要であるという前提がなくなり、代わりに、すべての三角形が粗いピクセル・サイズの地形についてスクリーン上で均一なテッセレーションが要求される。この技術は、グラフィック・パイプラインにフィードする最適なLODフレームワークを作り上げる。
図2は、ネストされたジオメトリ・クリップマップの例を示す図である。ジオメトリ・クリップマップは、ビューアを中心とするネストされた正規グリッドの集合の形で地形をキャッシングする。これらのグリッドは、2のべき乗の解像度(resolutions)でフィルタされた複数の地形のバージョンを表現し、頂点バッファとしてビデオ・メモリに格納される。視点が移動するにつれて、クリップマップのレベルが移動し、データが徐々に入れ替えられる。
ジオメトリ・クリップマップとテクスチャ・クリップマップとの間には、いくつかの大きな相違がある。たとえば、非特許文献22、非特許文献23を参照されたい。
テクスチャ・クリップマップでは、スクリーン空間のジオメトリが投影されてから、ピクセルあたりのLODを計算する。しかし、地形に関しては、地形のLODを選択するまで、スクリーン空間のジオメトリは存在しない(循環依存性(circular dependency))。さらに重要なのは、ピクセルあたりのLODの選択は、メッシュの機密性(watertight)と時間的ななだらかさを維持するのを難しくする。
代わりに、視点を中心とするネストされた長方形領域(rectangular region)の集合を使用して、領域全体のLODがビューアの距離に基づいて選択される。レベル間をスムーズに融合し、ゼロ領域三角形(zero-area triangles)を使用してレベルの境界をステッチすることでTジャンクション(T-junctions)、遷移領域が作成される。ここで説明するLOD遷移スキーマは、クリップマップ・レベルの独立した移動(translation)を可能とし、非特許文献22で説明するようにレベルが自動的にクロッピングされるのではなく、無効化される。さらに、ネストされた正規グリッドはテクスチャ・イメージをサポートするので、ジオメトリとイメージに関する統一されたLODのフレームが得られる。テクスチャ・クリップマップとは異なり、説明する技術は専用のハードウェアを必要としない。
地形全体が正規グリッドとしてメイン・メモリ内に存在する必要はない。地形が圧縮された形で格納されている場合は、地形のピラミッド全体の圧縮された描写データをメイン・メモリに格納してもよい。こうした1つの例では、連続するレベル間の圧縮された残差(residuals)の形でレベルが格納される。地形が合成される際、クリップマップがキャッシングされている場合は、この合成のためにメイン・メモリに何も格納する必要はない。こうした1つの例では、合成手順は、ビューが移動するとクリップマップのレベルを満たす。
ジオメトリ・クリップマップの概要
ジオメトリ・クリップマップは、m個のレベルの集合を使用して地形ピラミッドをキャッシングし、ネストされた範囲を連続する2のべき乗の解像度で表現する(たとえば図2)。1つの例において、各レベルにはn×n個の頂点の配列が含まれており、頂点バッファとしてビデオ・メモリに格納される。徐々に効率よく更新できるように、この配列は、トロイド式に(toroidally)(すなわち、xとyに関する剰余(mod)演算を使用した2次元のラップアラウンド・アドレシング(wraparound addressing)を使用して)アクセスされる。近い将来、グラフィック・ハードウェアはこの頂点の2次元配列をイメージとして格納できるようになる見込みである。特に、3つのチャネル(赤、緑、青)の3チャネル・イメージには、頂点の位置(X,Y,Z)が格納される。こうした例の1つにおいて、各頂点には(x,y,z,z)座標、ただし、zはこのレベルの標高の値、zは次に粗いレベルでの(x,y)の標高の値であり、後述する遷移モーフィング(transition morphing)に使用する。
クリップマップの各レベルlについて、長方形領域の集合300は図3に示すように定義される。clip_region(l)302は、そのレベルのn×nのグリッドで表される範囲全体である。active_region(l)304は、レンダリングするサブセットの範囲である。後述するように、ここで説明するアクティブ領域はビューアが中心であるが、クリップ領域は遅れる可能性があるので、アクティブ領域がクロッピングされることになる。次に細かいレベルのclip_region(l+1)306にもactive_region(l+1)308がある。最終的に、このレベルのrender_region(l)310が、render_region(l)=active_region(l)−active_region(l+1)と定義される。最も細かいレベルmでは、active_region(m+1)は空(empty)であると定義される。「アクティブ領域の計算」と「ジオメトリ・クリップマップの更新」で後述のするように、ビューが変わるとアクティブ領域とクリップ領域が更新される。
図3に関して、次の所見が得られる。
(1) clip_region(l+1)⊆clip_region(l)
Figure 2005332395
1、ただし
Figure 2005332395
はスカラーの距離によるerosion(縮小、腐食)を表す。より細かいレベルの値は、解凍(decompression)中または合成(synthesis)中に粗いレベルの値から予測されるので、クリップ領域はネストされる。この予測は、すべての辺上で1グリッド単位を保持している必要がある。
(2) active_region(l)⊆clip_region(l)、これはレンダリングデータがクリップマップ内のデータのサブセットとなるためである。
(3) active_region(l)の外周は、「偶数」の頂点上にあり(図6で説明するとおり)、より粗いレベルl−1との密な境界を有効化する。
(4) active_region(l+1)⊆active_region(l)
Figure 2005332395
2、これはレンダリング領域が少なくとも2つのグリッド単位の幅にあり、レベル間の連続的な遷移を可能にするためである。
1つの例では、個々のクリップマップ・レベルには関連のテクスチャイメージ(1つ以上)も含まれる。チャネルあたり8ビットの法線マップ(normal map)がサーフェス・シェーディング用として格納される。これは、頂点あたりの法線を格納するより効率的なためである。正確なシェーディングを行うために、法線マップはジオメトリの2倍の解像度である。頂点あたり1法線では非常にぼやけている。1つの例では、クリップマップが更新されるときにジオメトリから法線マップが計算される。カラーフィールドや地形属性などの付加的なイメージは、さまざまな解像度で格納される。頂点の配列やテクスチャは、トロイド式にアクセスされ、効率的に更新される。1つの例では、後述のビュー・フラスタム(view-frustum)カリング(culling)で使用する標高の上限(zmax)と下限(zmin)はクリップマップ・レベル内の局所的な地形に対して保持される。
図4は、フレームをレンダリングするための例示的な方法400を表す流れ図である。1つの例では、フレームごとに次の方法が実行される。1つの例では、402で本方法はクリップマップのレベルのアクティブ領域を決定する。一般に、視点に最も近い地形については、クリップマップのより細かいレベルが選択される。たとえば、図2に示すように、視点202は特定のレベルのクリップマップの地形に最も近いことが決定される。したがって、より細かいレベルのクリップマップの地形204を使用して、ビューアに最も近い地形を表示する。ビューア202からの距離210が大きくなるにつれて、より粗いレベルのクリップマップ206、208を使用する。アクティブ領域を決定する別の例について以下(すなわち「アクティブ領域の決定」)に説明する。
404で、クリップマップに対して視点が移動するにつれてクリップマップ・ジオメトリが更新される。視点が地形に対して相対的に移動すると、視点の周囲のレベルが一般的に図2に示す関係を維持するように、すなわち、より細かいクリップマップ・レベルのデータを視点に最も近いビューに配置するように、クリップマップの境界レベルを調整する。こうして、カンザス(Kansas)からノースカロライナ(North Carolina)に移動するときに、視点の前に広がる地形は、徐々に変化す正面を有することになる。図2に示すように、視点が210だけ移動すると、そのクリップマップの各レベルからの地形が展開されるので、その結果、視点は、そのクリップマップの中心近くに引き続き、存在する。図示されるように視点を中心に維持することは、ビューアが回転して後ろを見る場合に特に有効である。クリップマップを更新する別の例については、以下(すなわち「ジオメトリ・クリップマップの更新」)で考察する。
406で、アクティブ領域はクリップ領域に合わせてクロッピングされ(cropped)、クリップマップがレンダリングされる。このステップの別の例については、以下(すなわち「レンダリング・アルゴリズム」)で説明する。
アクティブ領域の決定
ビューに依存する詳細化は、クリップマップのレベルごとにアクティブ領域を選択することで決定する。1つの例では、各レベルlについて、領域全体でグリッド212が間隔g=2−lである場合、望ましいアクティブ領域は中心を視点202の位置(x,y)とするサイズng×ngの正方形214である。換言すれば、クリップマップでは中心をビューアの位置に変更し、各レベルの範囲全体をレンダリングすることが望ましい。ここで、選択したクリップマップ・サイズnによってスクリーン空間の三角形のサイズがどう変化するかについて考察する。ここで、その地形は勾配が小さいことが仮定されているとすると、個々の三角形は辺の長さgの正三角形に近くなる。より一般的なエラー分析については、以下(すなわち「結果と考察」)で説明する。
領域内に見える任意のポイントについて、スクリーン空間サイズは、スクリーン空間内の深度(depth)に反比例する。ビューの方向が水平の場合、スクリーン空間の深度はXY平面で測定される。ビューアはrender_region(l)の中心に位置し、外側の辺のサイズはng、内側の辺のサイズはng/2である。視野φ=90°、スクリーン空間の平均深度は(すべての表示方向で)約(0.4)ngである。したがって、スクリーン空間の三角形のピクセル単位によるおよそのサイズsは次の式で求められる。
Figure 2005332395
ただし、Wはウィンドウサイズ、φは視野で(field of view)ある。デフォルトではW=640ピクセル、φ=90°、クリップマップ・サイズn=255の場合に適切な結果が得られる。これは、スクリーン空間の3ピクセルからなる三角形のサイズに対応する。法線マップは2倍の解像度で格納されるので、テクスチャサンプルあたり約1.5ピクセルになり、これは、テクスチャ・サンプリングとして妥当な設定である。
ビューの方向が水平でない場合、render_region(l)のスクリーン空間深度は、上で抽出した(0.4)ngより大きく、したがってスクリーン空間の三角形のサイズはsより小さくなる。地形の上方から地形を見下ろすビューの場合は、三角形はとても小さなり、エイリアシングが目立つようになる。これを解決する方法は、不要な細かいレベルを無効にすることである。具体的には、ビューアの高さは、クリップマップの最も細かな妥当なレベルにアクセスすることによって、その地形全体で計算される。各レベルlについて、ビューアの標高が(0.4)nglを超える場合は、アクティブ領域を空(empty)に設定する。
単純にビューアを中心とする領域の欠点は、視野φが狭くなるにつれてクリップマップ・サイズnを大きくしなければならないことである。対応策は、ビュー・フラスタムにクリップマップ領域の位置とサイズを適応させることである。代わりに、ビューア中心の領域は、ビューを現在の視点を中心として瞬時に回転させる場合に、使用される。これは、ユーザがジョイスティックの「ハットスイッチ」(joystick “hat switch”)を使用してすべての方向を見るフライト・シミュレータなどの多くのアプリケーションに求められる要件である。後述の「ビュー・フラスタム・カリング(View Frustum Culling)」では、視点の外部にある地形のレンダリングを回避する方法について説明する。
ジオメトリ・クリップマップの更新
要求されるアクティブ領域がビューアの動きに伴って移動すると、これに応じてクリップ領域も移動することになる。1つの例では、トロイド方式でアクセスするので、レベルが変わっても古いデータをコピーする必要がない。クリップ領域が移動すると、新しく視界内に入るL形の領域にデータが満たされる。このデータは、後述の「地形の圧縮」と「地形の合成」で説明するように、明示的な地形の解凍または手続き的地形の合成(synthesis of procedural terrain)のいずれかによってもたらされる。1つの例において、粗いレベル314には解凍された地形から満たされ、より細かいレベルは合成されている312となる。
1つのバリエーションは、更新の頻度を低くするために、クリップ領域を移動するときに今後のビューアの動きを予測することである。小規模な領域の解凍と合成はいずれも効率的に実行できるので、更新の細かさ(granularity)は現在のところ重要な要因ではない。
ビューアが高速で移動すると、すべてのレベルの更新に必要なプロセスは、負荷が重くなる可能性がある。したがって、レベルは粗いものから細かいものへという順序で更新され、特定の処理バジェット(budget)に達すると更新が停止する。1つの例では、更新されたサンプルの数がnを超えると停止することが効率的であると決定される。更新されない(より細かい)レベルのクリップ領域は取り残されるので、空(empty)になるまで関連のアクティブ領域をクロッピングする。このことは、高速に移動する(ビューアに近い)地形では、高い周波数の詳細が失われ、適切に機能する、という効果がある。興味深い結果は、ビューアが高速で移動するとレンダリングの負荷は実際には軽減されることである。
圧縮または合成のいずれかを使用してクリップマップを更新する場合に、より細かいレベルは補間再分割(interpolatory subdivision)スキーマを使用して粗いレベルから予測されたレベルである。こうした例の1つでは、マスクの重み(−1/16、9/16、9/16、−1/16)を有する4ポイントの再分割曲線補間のテンソル積バージョンが選択される。たとえば、非特許文献24、および非特許文献25を参照されたい。
レンダリング・アルゴリズム
望ましいアクティブ領域が決定すると、地形は表1のアルゴリズムを使用してレンダリングされる。
Figure 2005332395
このアルゴリズムに従って、前述の「ジオメトリ・クリップマップの概要」で説明した条件に従って、クリップ領域とより粗いアクティブ領域に、アクティブ領域がクロッピングされることになる。active_region(k)が空の場合は、構造上、l>kとすると、より細かいactive region(l)もすべて空である。より細かいレベルに空(empty)のアクティブ領域があるのはきわめて一般的である。これは、クリップ領域がまだ更新されていないか(ビューアが高速に移動)、またはより細かいテッセレーションが保証されない(つまり、ビューアが地形より十分に高い)ためである。
より細かいレベルはビューアにより近いので、細かいレベルから粗いレベルという順序でレンダリングされ、任意のハードウェアのオクルージョン・カリング(occlusion culling)を利用する。
図5は、最適な頂点キャッシングによってレンダリングする例示的なレンダリング領域を示す図である。
1つの例において、render_region(l)は4つの長方形パーティションの領域502〜508に分割される。こうした領域は、図5に示すように三角形ストリップを使用してレンダリングされる。最適な頂点キャッシングの最大ストリップ長が選択され、ストリップをグループ化して大規模なバッチ・プリミティブ(batch primitives)を構成する。実際に、ストリップは最大20個の三角形の長さである。グリッド・シーケンシャル・メモリ・アクセスは、ビデオ・メモリ階層のすべてのレベルで適切に機能する。
視覚的連続性のための遷移領域
これまで説明してきたアルゴリズムでは、境界での2のべき乗の不整合による異なるレベルのレンダリング領域間のギャップを考慮していない。
図6は、ネストされたクリップマップのレベル間の例示的な境界を示す図である。たとえば、ネストされたクリップマップには、より細かいレベルのクリップマップとより粗いレベルが接する境界608がある。前述のように、より細かいレベル604は通常は視点により近く、三角形メッシュはより複雑になっている。図示されるように、より粗いグリッド602には2つの三角形AとBを定義する4つの頂点がある。これを隣接するより細かいグリッド604と比較すると、604には8個の三角形a〜hを定義する9個の頂点がある。予測されるように、このより細かいメッシュと粗いメッシュとの境界は、ユーザから見える視覚的なギャップを提供する。
例えば、より詳細なレベルはより粗いレベル方向に移行し、より細かいメッシュはレベルの境界608に近づく。このレベル間の移行は、粗いレベルに到達するときに、ビューアに遷移がわかりにくいように、より細かいレベルの頂点に対して実行される。この概念を示すために、レベルの境界608はx=0、y=0、頂点(0,0)610を中心として縦y軸と横x軸を表記する。より粗いレベルの頂点は、すべて偶数xと偶数yの頂点の値になる(すなわち(0,0)、(0,2)、(2,0)、(2,2)など)ことに留意されたい。より細かいレベルの頂点は、奇数と偶数の両方の頂点xおよびyの値になることにも留意されたい(すなわち、偶数:(0,0)、(−2,0)、(0,2)、(−2,2)、奇数:(0,−1)、(0,1)、(−1,1)、(−2,1)、(−1,2))。したがって、遷移の幅がグリッド3つ分(612)に等しい場合は、より細かいレベルの奇数の頂点は、下位の粗いグリッドのダウン・サンプリングされた値に遷移する。境界608に到達すると同時に、ダウン・サンプリング値への遷移が完了し、より粗いレベル上の奇数のポイント(0,1)の地形の高さの値は、隣接するより細かいレベルの三角形の中間点(すなわち(0,0)と(0,2)の中間点)に等しい。
図7は、遷移領域を含むネストされたクリップマップの例を示す図である。transition_region(l)702を図7に示す。ギャップを除去すると同時に時間的な連続性を提供するには、各render_region(l)714の外側の境界近くでジオメトリをモーフィングし、より粗いレベルのジオメトリにスムーズに遷移する。モーフィングは、視点(v,v)706の地形頂点の座標を基準とする空間的(x,y)708グリッド座標の関数である。したがって、遷移は時間ベースではなく、ビューアの連続的な位置706を追跡することに基づく。
実験により、min_width(l)710、n/10グリッド単位の遷移幅wは適切に機能することが確認された。wが小さすぎると、レベルの境界が明瞭になる。wが大きすぎると、必要以上に細かい詳細が失われる。より細かいactive_region(l+1)712がより粗い領域に非常に近い場合は、w=min(n/10,min_width(l))に設定すると有効である。ただし、min_width(l)は少なくとも2であることが知られている。
頂点ごとに(x,y,z,z)が格納されることを想起されたい。ただし、zcは次に粗いレベルl−1における地形の標高である。遷移領域において、モーフィングされた頂点の値の標高は次のように決定する。
z’=(1−α)z+αz
融合(blend)パラメータα=max(α,α)として次の式で計算される。
Figure 2005332395
同様にしてαが計算される。ここで、
Figure 2005332395
はclip_region(l)のグリッド内の視点の連続的な座標を表し、xminとxmaxはactive_region(l)704の範囲を表す整数値である。望ましいプロパティは、αが遷移領域以外では0に評価され、遷移領域では線形に増加し、外周で1に到達するものである。こうした計算(evaluations)はGPU頂点シェーダーで10命令程度によって実行されるので、レンダリング・コストにはほとんど影響を及ぼさない。こうして、外周に近い遷移領域は、細かいレベルlから次に粗いレベルl−1にスムーズに融合する。
ジオメトリ遷移によってギャップは除去されるが、一部の例では依然として境界に沿ったT接合(T−junctions)は、ラスタライズ時にピクセルが脱落する結果をもたらす。隣接するレベルを密なメッシュにステッチするために、幅ゼロの三角形をレンダリング領域の境界に沿ってレンダリングする。
テクスチャ・マッピング
前述のように、クリップマップ・レベルごとにラスタライズ(たとえば法線マップ)に使用するテクスチャ・イメージを格納する。テクスチャ・マッピングの1つのオプションは、ハードウェア・ミップマッピング(mipmapping)でテクスチャLODを制御することである。クリップマップ・レベルのテクスチャにはそれぞれに固有のミップマップ・ピラミッドを有するので、33%を超えるメモリを必要とする。ただし、このピラミッドのより粗いミップマップ・レベルはより粗いクリップマップ・レベルに正確に対応するので、テクスチャ・クリップマップ内に共有するのが理想的であるが(たとえば非特許文献22を参照)、本ハードウェアではこの機能をサポートしない。さらに重要なのは、ハードウェアでミップマップ・レベルを制御する上で実際的な問題があることである。格納されたテクスチャの解像度があまり高くない場合は、一部の例では、レンダリング領域の境界におけるテクスチャ解像度の急激な遷移が表面化する。これは、ミップマップ・レベルが次に粗いレベルに到達していないためである。こうした急激な遷移は、ビューアが地形表面上を「前進」する間に可視可能になる。
代わりに、ミップマッピングを完全に無効化し、ジオメトリに適用された同じ空間的遷移領域を使用し、テクスチャ上でLODが実行される。このように、テクスチャLODは、ハードウェア・ミップマッピングのようなスクリーン空間デリバティブ(derivatives)にではなく、ビューアの距離に基づいている。この近似で失われる主な要素は、テクスチャLODの表面配向(surface orientation)に対する依存性である。サーフェスが斜めに向いている場合は、エイリアシングを回避するために、より粗いミップマップ・レベルにアクセスできなくなる。ただし、グラフィックス・ハードウェアは一般に異方性の(anisotropic)フィルタリングをサポートしており、これにより、多くのサンプルは、本来の最も細かいレベルから組み合わせられる。結果として、ミップマップがないことは表面配向の依存性にとって実際的な問題ではない。
空間ベースのテクスチャLODスキーマは、GPUフラグメント・シェーダー(fragment shader)に容易に実装される。レンダリング・レベルlの場合は、シェーダーにレベルlとレベルl−1のテクスチャが提供され、これらは、頂点シェーダーでジオメトリ遷移用にすでに計算されたものと同じパラメータを使用して融合される。
ビュー・フラスタム・カリング
図8は、上方から見たビュー・フラスタム・ピラミッドの例を示す図である。各レンダリング領域は4つの長方形領域に分割されること、また、クリップマップの各レベルごとに、下限zminと上限zmaxが局所的な地形に対して保持されること、を図5から思い出されたい。2次元の長方形の範囲は、地形の限界[zmin,zmax]に向けて広がり、axis−aligned bounding boxを構成する。このボックスは、ビュー・フラスタムの4面を有するピラミッドと交差し、結果の凸状の集合がXY平面に投影される。たとえば、スクリーン端末座標表a−dで表されるスクリーン表示802について、このスクリーン位置から交差する対応する範囲は、同じスクリーン座標a〜dで表される例示的なネストされたグリッド804内に示される。この集合の境界となる軸に平行な長方形(axis-aligned rectangle)を使用して、特定の長方形領域をクロッピングする。ビュー・フラスタム・カリングにより、90°の視野のレンダリング負荷を約1/3に軽減する。
地形の圧縮
標高地図(Height maps)は、実際面では、際だってコヒーレンシであり、通常のカラー・イメージに比べると、コヒーレンシが著しく高いので、圧縮の可能性は非常に大きい。ジオメトリ・クリップマップ構造と効率的に対話するために、解凍アルゴリズムは「関心領域」(ROI:region-of-interest)クエリーを2のべき乗の解像度でサポートしなければならない。
以下でピラミッド圧縮スキームについて説明する。地形ピラミッドT..Tは、まず細かい地形Tからより粗いレベルへと、線形のフィルタTl−1=D(T)を使用して、連続的にダウン・サンプリングすることによって作成される。その後、各ピラミッドレベルTは次に粗いレベルTl−1から補間細分割U(Tl−1)(たとえば「ジオメトリ・クリップマップの更新」で説明)によって予測され、残差R=T−U(Tl−1)はイメージ・コーダによって圧縮される。最適なフィルタD(サイズ11×11)は、特定の地形のサブセットに関する線形系を解くことで、U(D(T)からTの最適なL近似が得られるように、あらかじめ計算される。圧縮は、ロッシー(lossy)であり、R
Figure 2005332395
で近似される。したがって、粗いレベルから細かいレベルへ順序付けされる各レベルが
Figure 2005332395
として再構成され、残差が圧縮され、
Figure 2005332395
として再定義される。
粗いレベルは遠方から見られるので、最初のアプローチは、絶対精度(absolute accuracy)の低い近似
Figure 2005332395
をそれらに与えることであった。具体的に、残差Rは量子化に先立って2l−mでスケーリングされる。これは幾何学的なフィディリティ(fidelity)では正しい議論であるが、これは、不十分な視覚的なフィディリティをもたらす。その理由は、法線マップとzベースのカラーリングはいずれも量子化のアーティファクトを示すためである(これらは解凍されるジオメトリから推定される)。これを解決する方法は、同じ絶対精度ですべての残差を圧縮することである。
量子化された残差は、いくつかの優れたプロパティを備えるPTCイメージ・コーダー(たとえば、非特許文献26)を使用して圧縮される。重複する基本の関数(overlapping basis functions)を定義することでブロッキングのアーティファクトを回避するが、そのベースは空間的に局所化され、効率的な領域の圧縮が可能になる。また、このイメージ・コーダは、コード化が2GB以内に収まる場合に任意のサイズのイメージをサポートする。1つの例では、解凍はビデオ・メモリに徐々にアップロードしながら行われるので、十分に高速である。
圧縮の前処理は、すべてのステップをストリーミング演算として実行することで、32ビット・アドレス空間内に実装される。40GB U.S.データでは、初めの地形Tから圧縮された残差
Figure 2005332395
までの手順を完了するのに約5時間を要し、そのほとんどはディスクI/Oである。圧縮エラー
Figure 2005332395
のrmsについては、後述の「結果と考察」で説明する。圧縮された地形は、海岸線に関連付けられる急激な色の遷移を、多分、除いて、元のデータと視覚的に区別できない。
地形の合成
ジオメトリ・クリップマップは自然構造(natural structure)を提供し、確率的細分割(stochastic subdivision)(たとえば、非特許文献27、非特許文献28)、またはマルチ解像度テクスチャ合成(たとえば、非特許文献29を参照)を使用して新しい詳細データを生成する。1つの制約は、合成プロセスは、常に同じ地形が作成されるように空間的に1つに決定できなければならない(spatially deterministic)ことである。
フラクタル・ノイズの置き換えは、アップ・サンプリングされたより粗い地形に無相関のガウスのノイズを追加することで実行される。ノイズの変動は、実際の地形の変動(すなわち、「地形の圧縮」で計算した残差Rの変動)と等しくなるように各レベルlでスケーリングされる。補間細分割の滑らかさCは、サーフェスのしわ(crease)のアーティファクト(たとえば、非特許文献30を参照)を回避するために重要である。効率的に評価するために、あらかじめ計算したガウスのノイズ値がテーブルに格納され、頂点の座標に関する剰余(modulo)演算でインデックス付けされる。テーブル・サイズ50×50は、任意の反復パターンまたは認識可能なバンディング(banding)を除去するのに十分である。
ジオメトリ・データ全体がビデオ・メモリに残るように、GPUフラグメント・シェーダーを使用する合成プロセスを実行するのが望ましい。GPUは、必要な「頂点レンダリング(render-to-vertex)」機能をすでに備えている。この機能について簡単に説明する。現在のところ、CPUは表3のような計算時間を示している。
手続き的合成は、無限の範囲と解像度を有する地形の生成を可能とし、その結果、大きな可能性を与える。さらに、フラクタル・ノイズは合成された地形(landscapes)を提供する。
結果と考察
実験には、2つの米国政府のサンプルが使用された。小さい方は、lmの垂直解像度で16ビットの標高値を備えた、ピュジェット湾(Puget Sound)地域の10m間隔による16,385グリッドである。最大解像度のグリッドはレベルl=9に割り当てられており、最も粗いレベルl=1での範囲は65である。データは537MBから8.7MBに圧縮され、rmsエラーは1.2m(PSNR=20log10(zmax/rms)=71.4dB)である。
大きい方のデータ・セットは、隣接する(conterminous)米国の30m(正確には、経度と緯度の両方で1秒)間隔の標高マップである。その範囲は126°W,66°W]×[24°N,50°N]であり、216,000×93,600グリッドを構成する。レベル数m=11のクリップマップでは、最も粗いレベルで212×93の長方形になる(極座標でパラメータ化されているが、平面にレンダリングされる)。40.4GBから353MBに圧縮され、rmsエラーは2.6m(PSNR=64.9dB)である。3.0 GHz Pentium(登録商標)Pentium(登録商標)4 CPU、1GBのシステム・メモリ、256MBのビデオ・メモリを伴うATI Radeon 9800XT GPUを備えたPCを使用した。
エラーの原因は圧縮エラーとLODエラーの2つがあり、別々に分析している。この米国のデータ・セットは、40.4GBから353MBに圧縮され、rmsエラーは2.6m (PSNR=64.9dB)である。ピュジェット湾のデータ・セットは537MBから8.7MBに圧縮され、rmsエラーは1.2m(PSNR=20log10(zmax/rms)=71.4dB)である。こうしたrmsエラーは非常に小さく、サンプリング間隔の10%程度にすぎない。
この米国のデータ・セットでは、レベル数m=11であり、圧縮された地形はシステム・メモリ353MBを占有する。デフォルトのクリップマップ・サイズ、n=255に対して、頂点ジオメトリ用のジオメトリ・クリップマップは、ビデオ・メモリ内に16mn=11MBを要する。レベルの予測はGPUではまだ使用できないので、zの標高のデータはシステム・メモリ内で複製され、4mn=3MBが必要になる。この法線マップは、解像度の2倍であるが、3バイト/サンプルにすぎないので、さらに12mn=9MBが必要になる。したがって、全体のメモリ使用量は376MB、すなわち0.019バイト/サンプルにすぎない。表2に示すように、必要な領域はこれまでに報告された結果に比べてはるかに少ない。このデータは標準的なPCのメモリに収まるので、実行時のディスク・アクセスは回避される。
サイズ255のレベル数m=11では、120フレーム/秒が、フラスタムカリングを使用し、レンダリング速度59 MΔ/秒で、得られる(4×フレーム・バッファのマルチ・サンプリングでは、95フレーム/秒に低下する)。この結果は、従来のLODの方法では最適なレンダリング・スループットを実現できていなかったことを示唆している。
1つの例において、クリップマップ更新の処理バジェットのしきい値(threshold processing budget)は、完全なn×nのレベルであった。表3は、この最悪のケースの更新ステップの実行時間を示している。これらの時間はGPUの処理と重複する可能性がある。ビューアが移動する間に、システムは、ほとんど均一の速度60フレーム/秒を維持している。近い将来、正規グリッド・データ構造により、GPUを使用してすべてのステップ(解凍を除く)を実行できるようになることに留意されたい。
サイズ255のレベル数m=11では、フラスタムカリングを使用し、レンダリング速度59 MΔ/秒で120フレーム/秒を実現する。(4×フレーム・バッファのマルチ・サンプリングでは、95フレーム/秒に低下する)。クリップマップ更新の処理バジェットのしきい値は詳細なn×nのレベルであった。表3は、この最悪のケースの更新ステップの実行時間を示している。これらの時間はGPUの処理と重複すると思われる。ビューアが移動する間に、システムはほとんど均一の速度60フレーム/秒を維持している。近い将来、この正規グリッド・データ構造により、すべてのステップ(解凍を除く)を、GPUを使用して実行できるようになることに留意されたい。
Figure 2005332395
表2では、従来の各方法における実行時に必要な領域と比較している。従来の方法では、サーフェス・シェーディング用の法線マップを格納する領域も必要である(ここには、含んでいない)。ジオメトリ・クリップマップでは、法線マップは解凍されたジオメトリから必要に応じて計算される。
Figure 2005332395
表3では、n×nレベル(n=255)の全体の更新にかかる時間を比較している。この値は更新処理バジェットの例である。
レベル数m=11の場合、浮動小数点の精度はまだ問題にはならない。任意のレベル数に対応するために、シンプルなソリューションは、視点とビュー・マトリックスを各クリップマップ・レベルの倍精度を使用した局所座標系に変換することである(たとえば、非特許文献14を参照)。
これまで、スクリーン空間の三角形のサイズsは、特定のクリップマップ・サイズnに対して評価された。この分析は、地形の傾斜が小さいことが想定される場合に地形の三角形はコンパクトな形状をとるという事実に基づいている。一方、そうではなく、地形が急傾斜の場合は、三角形を自由に伸張でき、スクリーン空間の範囲には制限されなくなり、このことは、若干不十分に思われる。
しかし、より適切な基準は、スクリーン空間のジオメトリ・エラー、すなわちレンダリングしたメッシュと元の地形との間のスクリーン投影による相違、である。このエラーは、地形ジオメトリのスペクトル特性(spectral properties)に関する情報が提供された場合に分析できる。
各地形レベルTについて、エラー関数e=PL(T)−PL(T)は興味深い。ただし、PLは区間(x,y)に対する区分的に線形のメッシュ補間(piecewise linear mesh interpolant)を表す。この関数は、地形信号の(連続的な)スペクトル密度に関連する。レベルlのグリッド間隔gはスクリーン空間におきてのs個のピクセルに投影されるので、位置(x,y)におけるスクリーンエラーe(x,y)のスクリーン空間投影は、最大で次のようになる。
Figure 2005332395
(ビューの方向が水平でない場合はエラーが小さい。)こうして、地形データ・セットが与えられると、
Figure 2005332395
のノルムが計算され、表4に示すように、レンダリング・レベルごとにスクリーン空間エラーが評価される。
結果は、rmsスクリーン空間エラーが1ピクセルより小さいことを示している。sは3ピクセルにすぎず、こうした平面の三角形同士の相違とより細かい細部は通常はさらに小さいので、この結果は予想外ではない。大きな
Figure 2005332395
の(最大)エラーの値は、取得した地形データにはアーティファクトの崖を作成するモザイクの位置ずれ(misregistration)のアーティファクトがあり、それは、統計を歪ませる1つの誤った標高の値をとるのみであるという理由で、誤解させる可能性がある。代わりに、99.9パーセンタイルのエラーを調査し、依然として1ピクセルより小さいかどうかを確認するのが好ましい。
Figure 2005332395
表4は、スクリーン空間のジオメトリ・エラーの分析をピクセル単位で示している。各カラムは、rms,99.9パーセンタイル、最大エラーを示している(n=255、W=640、φ=90°、s=3の場合)。
エラーの分析により、クリップマップ・サイズは許容可能な幾何学的フィディリティを維持する限り、小さくしてもよいことが示されている。しかし、真の限定的要因は視覚的なフィディリティである。これは、サーフェス・シェーディングに強く依存しており、法線マップの基本前提である。したがって、より粗いジオメトリを使用しても、依然として高解像度の法線マップを維持する必要がある。本システムでは、こうした法線マップがジオメトリ・クリップマップ自体から生成される。実際に、圧縮されたミップマップ・ピラミッドは、法線マップをコード化する有効なスキーマと見なすことができ、第2の利点としてキャリア・ジオメトリ(carrier geometry)を提供する。
レベルを横切るスクリーン空間エラー
Figure 2005332395
の不均一性は、個々のクリップマップ・レベルのサイズに合わせることで利用することができる。たとえば、遠くの山のシルエットよりも近くのなだらかな地形上のなだらかな山は、(スクリーン空間において)テッセレーションが少なくてよい。このように、サーフェス・シェーディングが悪影響を及ぼさないことを確認する必要がある。ピュジェット湾と米国のいずれの地形データ・セットも、スペクトル密度はほぼ均一に見える。米国のデータでは、粗いレベルでこのエラーは減少するようになり、地面が粗いスケールでなだらかであるという事実を表している。
圧縮された地形ピラミッドの残差
Figure 2005332395
は、サーバー上に格納することができ、小型のクライアント(lightweight client)に(ユーザの動きに基づいて)徐々にストリーミングされる。必要な帯域幅は、圧縮比が50〜100のオーダーなので、僅かである。
あらかじめフィルタを適用したミップマップ・ピラミッドは、地形データの自然な描写データである。ジオメトリ・クリップマップはピラミッドのネストされた長方形の範囲をキャッシングし、ビューに依存する近似を作成する。本フレームワークに固有の態様は、LODがデータの内容に依存しないことである。したがって、地形データの詳細化基準をあらかじめ計算しておく必要はない。シンプルなグリッド構造に加えて、地形をその場で、ゆっくりと(lazily)作成でき、圧縮率の高い形式で格納できる。こうした機能はいずれもこれまでは利用できなかった。
1つの例において、米国の20ビリオンのサンプル・グリッドに渡る対話型のフライトが表示され、これは、メモリ内にちょうど400MBで格納され、その場で60フレーム/秒で解凍される。解凍されたデータのrmsエラーは2.6mである。スクリーン空間LODエラーは99.9パーセンタイルが1ピクセルより小さいので、レンダリングはスムーズである。
正規グリッドを使用したジオメトリからなる表現は、近々予定されている頂点バッファとイメージバッファの統一によってさらに興味深いものになるはずである。頂点バッファは、2次元トロイド座標からアクセスされるジオメトリ・イメージになる(たとえば、非特許文献31を参照)。これは、ジオメトリ・クリップマップによる大幅な簡素化の実現である。より一般的に言えば、この統一は、並列度の高いGPUラスタライザがイメージに加えてジオメトリを処理することを可能にする。
ジオメトリ・クリップマップは、地形ジオメトリとそれに関連するテクスチャ信号のLOD管理を統一する。空間ベースのLOD構造では、レベルの境界の視覚的不連続性を生じさせずに、低解像度テクスチャが適用されるようにしている。法線マップの実行時の作成に加えて、イメージされる(envisioned)シャドウマップのような非局所的な関数は、同様にレイジー方式(lazy fashion)で計算できる。
ジオメトリ・クリップマップには、従来の地形LODスキーマに比べて次のように多くの利点を得る可能性がある。
・ シンプルさ(Simplicity)。不規則メッシュの三角形分割で実行されるように、ポインタ/インデックス・ベースのデータ構造を考慮せず、詳細化の依存性を追跡しない。
・ 最適なレンダリング・スループット(Optimal rendering throughput)。クリップマップの頂点は、ビデオ・メモリに常駐し、そのグリッド構造によって、最適な頂点キャッシュ再利用による三角形ストリップ(strip)レンダリングが可能になる。
・ 視覚的連続性(Visual continuity)。レベル間の遷移領域によって、頂点プログラムと断片プログラム(fragment programs)のそれぞれにおいて僅かな命令を使用して、ジオメトリとテクスチャの両方について空間的かつ時間的な連続性が提供される。
・ 安定したレンダリング(Steady rendering)。テッセレーションの複雑性は局所的な地形の起伏に関係ないので、レンダリング速度はほぼ一定である。
・ 直接的な複雑性の抑制(Immediate complexity throttling)。クリップマップ・サイズが修正(fix)されたも、レンダリング領域を修正(fix)してレンダリング負荷を軽減することができる。
・ 適切なデグラデーション(Graceful degradation)。ビューアが迅速に移動すると、更新帯域幅(クリップマップを入れ替えるための)がボトルネックなる恐れがある。テクスチャ・クリップマップと同様に、所定のバジェット内でできるだけ多くのレベルが更新される。その効果は、高速で移動する地形は、低い周波数の詳細を使って可能なことである。
・ サーフェス・シェーディング(Surface shading)。法線マップは、必要に応じてジオメトリから迅速に計算でき、ジオメトリと同じLOD構造を使用する。また、ジオメトリ・クリップマップでは2つの新しい実行時の機能を有効にする。
・ 圧縮(Compression)。クリップマップのみを頂点データに展開すればよいので、地形ピラミッドのその他の部分は圧縮形式で格納できる。ピラミッドレベルの残差は、2次元イメージ・コーダを使用して計算される。データのコヒーレンシが高いので、圧縮比50〜100を実現できる。地形全体をメモリに格納することで、ページングによる一時的中断(paging hiccups)が回避される。
・ 合成(Synthesis)。シンプルなグリッド構造によって迅速な地形の合成が可能になるので、粗く指定したジオメトリは、手続き的に生成された詳細レベルによって拡張される。
・ 制限(Limitations)。一部の事例では、レンダリングされたメッシュの詳細レベルは、従来のLODスキーマより複雑である。本質的に、ジオメトリ・クリップマップの詳細レベルは均一なので(あらゆる場所かつあらゆる周波数で)、局所的な適応性による効果はない。他方では、メッシュは規則的であり、ビデオ・メモリに格納されているので、最悪のケースであっても最適なレンダリングパフォーマンスを提供する。別の制限では、地形のスペクトル密度が有界であることが仮定される。たとえば、高い針のようなフィーチャ(地物)は若干遅いビューにモーフィングされる。幸い、実際的な地形の動作は適切であり、こうした問題は発生しない。この環境に存在する建物、植物、その他の物体は他のLOD技術を使用して別々にレンダリングされる。
コンピューティング環境
図9と以下の説明は、実装のための適切なコンピューティング環境の簡単で一般的な説明を目的とするものである。本発明について、コンピュータ上および/またはネットワーク・デバイス上で実行するコンピュータ・プログラムのコンピュータ実行可能命令の一般的なコンテキストで説明してきたが、本発明を他のプログラム・モジュールと組み合わせても実装できることは当業者には明らかである。一般に、プログラム・モジュールには、ルーチン、プログラム、コンポーネント、データ構造などがあり、特定のタスクを実行するものや、特定の抽象データ型を実装するものもある。さらに、本発明が、マルチ・プロセッサ・システム、マイクロ・プロセッサ・ベースまたはネットワーク・アプライアンス、無線デバイス、ミニ・コンピュータ、メインフレーム・コンピュータなどを含むその他のコンピュータ・システム構成で実施できることは言うまでもない。こうした拡張は、ネットワークに接続されたコンピューティング環境でも、スタンドアロンのコンピュータでも実施できる。
図9を参照すると、実装のための例示的なシステムには、プロセッシング・ユニット921、システム・メモリ922、およびシステム・メモリ922からプロセッシング・ユニット921までのさまざまなシステム・コンポーネントを接続するシステム・バス923を備える従来のコンピュータ920(パーソナル・コンピュータ、ラップトップ、サーバー、メインフレーム、などのさまざまなコンピュータ)が含まれる。プロセッシング・ユニットは、Intel x86,Pentium(登録商標)および互換可能なIntelおよび他社製のマイクロ・プロセッサ(Cyrix、AMD Nexgen、DigitalのAlpha、MIPS Technology、NEC、IDT、SiemensなどのMIPS、IBMおよびMotorolaのPowerPCなど)を含む市販のさまざまなプロセッサのいずれでもよい。デュアル・マイクロ・プロセッサやその他のマルチ・プロセッサ・アーキテクチャもプロセッシング・ユニット921として利用できる。
システム・バスは、たとえば、PCI、VESA、AGP、Microchannel、ISA、EISAなど市販のさまざまなバス・アーキテクチャの任意の1つを使用したメモリ・バスまたはメモリ・コントローラ、周辺バス、ローカル・バスを含む各種バス構造のいずれでもよい。システム・メモリには、読み取り専用メモリ(ROM:read only memory)924とランダム・アクセス・メモリ(RAM:random access memory)925が含まれる。起動時などにコンピュータ920内のエレメント間の情報転送を支援する基本ルーチンを含む基本入出力システム(BIOS:basic input/output system)は、ROM924に格納される。
コンピュータ920には、さらにハードディスク・ドライブ927、取り外し可能なディスク929に対する読み出しまたは書き込みを行う磁気ディスク・ドライブ928、CD−ROMディスク931の読み出し、または他の光媒体に対する読み出しまたは書き込みを行う光ディスク・ドライブ930が含まれる。ハードディスク・ドライブ927、磁気ディスク・ドライブ928、および光ディスク・ドライブ930は、それぞれハードディスク・ドライブ・インターフェース932、磁気ディスク・ドライブ・インターフェース933、および光ディスク・ドライブ・インターフェース934を介してシステム・バス923に接続する。ドライブとこれに関連付けられたコンピュータ可読媒体は、データ、データ構造、コンピュータ920のコンピュータ実行可能命令を格納する不揮発性ストレージとして利用できる。前述のコンピュータ可読媒体の説明は、ハードディスク、取り外し可能な磁気ディスク、およびCDを表しているが、例示的な動作環境では、磁気カセット、フラッシュ・メモリ・カード、デジタル・ビデオ・ディスク(DVD:digital video disk)、Bernoulli(ベルヌーイ)カートリッジなど、その他のコンピュータ可読媒体も利用できることを当業者は理解されたい。
説明した技術956を実装する以外に、オペレーティング・システム935、1つまたは複数のアプリケーション・プログラム936、その他のプログラム・モジュール937、およびプログラム・データ938を含む多くのプログラム・モジュールは、ドライブおよびRAM925に格納できる。
ユーザは、キーボード940やポインティング・デバイス(たとえばマウス942)を使用してコンピュータ920にコマンドや情報を入力できる。これらの入力装置および他の入力装置は、多くの場合、システム・バスに接続するシリアル・ポート・インターフェース946を介してプロセッシング・ユニット921に接続するが、パラレル・ポート、ゲームポート、USB(universal serial bus)のような他のインターフェースで接続してもよい。モニター947または他のタイプの表示装置も、ビデオ・アダプタ948のようなインターフェースを介してシステム・バス923に接続される。コンピュータには、一般にモニター以外にもスピーカーやプリンタなどの周辺出力装置(図示せず)が接続されている。
コンピュータ920は、リモート・コンピュータ949のような1台または複数台のリモート・コンピュータへの論理接続を使用してネットワーク環境で動作する。リモート・コンピュータ949は、ワークステーション、サーバー、ルーター、ネットワークPC、ピア・デバイス、または他の一般的なネットワーク・ノードのいずれでもよい。通常は、コンピュータ920に関連して上で説明したエレメントの多くまたはすべてが含まれるが、メモリ記憶装置950のみが図10示されている。図示された論理接続には、ローカル・エリア・ネットワーク(LAN:local area network)951とワイド・エリア・ネットワーク(WAN:wide area network)952を含めてもよい。このようなネットワーキング環境は、職場、企業規模のコンピュータ・ネットワーク、イントラネット、およびインターネットではごく一般的である。
LANネットワーキング環境で使用する場合、コンピュータ920はローカル・ネットワーク951にネットワーク・インターフェースまたはアダプタ953を介して接続する。WANネットワーキング環境で使用する場合、コンピュータ920は一般にインターネットなどのWAN952を介して通信を確立する(たとえば、LAN951およびゲートウェイまたはプロキシ・サーバー955)ためのモデム954またはその他の手段を備えている。モデム954(内蔵または外付け)は、シリアル・ポート・インターフェース946を介してシステム・バス923に接続できる。ネットワーク環境では、コンピュータ920またはその一部に関連して説明したプログラム・モジュールをリモート・メモリ記憶装置に格納できる。図示されたネットワーク接続が例示的なものであり、無線またはそれ以外のコンピュータ間の通信リンクを確立する他の手段を使用してもよいことは言うまでもない。
代替手段
本発明の原理について、提示された例に関連して説明し、図示してきたが、こうした例は前述の原理を逸脱することなく配置および細部を変更できることは言うまでもない。さらに、通常のコンピュータ科学者には明らかなように、こうした例の一部または全体を他の例の他の部分と全体的または部分的に組み合わせることもできる。ここで説明するプログラム、プロセス、あるいは方法は、特に他の指定がない限り、特定のコンピュータ機器に関連または限定するものでないことを理解されたい。さまざまなタイプの汎用または専用コンピュータ機器を使用して、ここで説明する指針による動作を実行できる。ソフトウェアで示す提示された実施形態のエレメントは、ハードウェアでも実装できる。また、ハードウェアで示すエレメントは、ソフトウェアでも実装できる。1つの例の中で示された技術は、他の任意の例に組み込むことができる。
本発明の原理を適用できる多くの実施形態について考察する上で、詳細は説明のためのみに示されており、本発明の範囲を限定するものと解釈してはならないことを理解されたい。むしろ、本発明はこうしたすべての実施形態を、以下の請求項およびそれと同等のものの範囲と精神を逸脱しないものとして請求する。
クリップマップのレベルを示す図である。 ネストされたジオメトリ・クリップマップの例を示す図である。 ネストされた正規グリッドの集合のレベル間の関係を表す例示的なレンダリング領域を示す図である。 フレームをレンダリングするための例示的な方法を示す流れ図である。 最適な頂点キャッシングによってレンダリングする例示的なレンダリング領域を示す図である。 ネストされたクリップマップのレベル間の例示的な境界を示す図である。 遷移領域を含むネストされたクリップマップの例を示す図である。 以上によって表示されるビュー・フラスタム・ピラミッド(view frustum pyramid)の例を示す図である。 前述の技術を実装する分散コンピュータ・システムを示すブロック図である。
符号の説明
102 レベル
104 中間のレベル
106 最も粗いレベル
108、110 地形レベルの頂点
200 ネストされたジオメトリ・クリップマップの例
202 視点
204 より細かいレベルのクリップマップの地形
206、208 より粗いレベルのクリップマップ
210 視点の移動
212 領域全体のグリッド
214 アクティブ領域の辺の長さ
300 長方形領域の集合
302 clip_region(l)
304 active_region(l)
306 clip_region(l+1)
308 active_region(l+1)
310 render_region(l)
500 レンダリング領域
502〜508 長方形パーティション
600 ネストされたクリップマップのレベル間の例示的な境界を示す図
602 粗いグリッド
604 より細かいレベル
608 レベルの境界
610 頂点
612 3グリッド
700 遷移領域を含むネストされたクリップマップ
702 transition_region(l)
704 active_region(l)
706 視点
708 空間座標
710 min_width(l)
712 より細かいactive_region(l+1)
714 render_region(l)
802 画面表示(スクリーン・ビュー)
804 ネストされたグリッド
920 コンピュータ
921 プロセッシング・ユニット
922 システム・メモリ
927 ハード・ドライブ
928 フロッピー(登録商標)ドライブ
929 ディスク
930 CD−ROMドライブ
931 ディスク
932 インターフェース
933 インターフェース
934 インターフェース
935 オペレーティング・システム
936 アプリケーション
937 モジュール
938 データ
940 キーボード
942 マウス
946 シリアル・ポート・インターフェース
947 モニター
948 ビデオ・アダプタ
949 リモート・コンピュータ
950 メモリ記憶装置
953 ネットワーク・アダプタ
954 モデム
955 ゲートウェイ
956 技術

Claims (20)

  1. 地形レンダリングにおいてさまざまな詳細レベルを提供するコンピュータ実装方法であって、
    地形についての複数の詳細レベルであって、各レベルが正規グリッドを表現する複数の詳細レベルからなる描写データを提供すること、
    ビューアの視点を決定すること、
    前記視点からの距離の関数として前記複数のレベルから取得したネストされた正規グリッドの集合の形で地形ビューをキャッシングすること、および
    前記視点が前記地形に対して相対的に移動するにつれて、前記ネストされた正規グリッドの集合を徐々に入れ替えること
    を備えることを特徴とする方法。
  2. 前記ネストされた正規グリッドの集合は、ビデオ・メモリにキャッシングされることを特徴とする請求項1に記載の方法。
  3. 前記ネストされた正規グリッドは、前記視点を中心とするn×nの範囲であることを特徴とする請求項1に記載の方法。
  4. 前記ネストされた正規グリッドの集合の複数のレベルは、nの0から25%の遷移領域内で融合する(blending)ことを特徴とする請求項3に記載の方法。
  5. 前記地形の複数の詳細レベルによる前記描写データは、地形の標高とテクスチャ・イメージを備えることを特徴とする請求項1に記載の方法。
  6. 前記ネストされた正規グリッドの集合の各レベルは、頂点バッファとしてビデオ・メモリにキャッシングされたn×n頂点の配列を備えることを特徴とする請求項1に記載の方法。
  7. 前記配列は、レンダリング時にトロイド式にアクセスされることを特徴とする請求項6に記載の方法。
  8. 正規グリッドの頂点は、x、y、z、およびz’座標を備え、z座標はあるレベルにおける地形の標高の値を表現し、z’座標は次に粗いレベルにおける地形の標高の値を表現し、前記z’の値は前記ネストされた正規グリッドの集合の複数のレベル間の遷移モーフィングで使用されることを特徴とする請求項1に記載の方法。
  9. 前記ネストされた正規グリッドの集合が徐々に入れ替えられる際に、法線マップが前記あるレベルのジオメトリから計算されることを特徴とする請求項1に記載の方法。
  10. セントラル・プロセッシング・ユニットと、
    グラフィカル・プロセッシング・ユニットと、
    データと実行可能命令を格納するメモリに接続するプロセッシング・ユニットであって、
    各レベルがさまざまな詳細レベルで地形を表現する複数レベルの正規グリッドの描写データと、
    前記複数のレベルの部分を、視点からの距離の関数として詳細レベルを下げるネストされた正規グリッドの集合にネストするための実行可能命令とを備えるレンダリング・コンポーネントと
    を備えるプロセッシング・ユニットと
    を備えることを特徴とするコンピュータ・システム。
  11. 前記複数レベルの正規グリッドは、テクスチャ・イメージをさらに備えることを特徴とする請求項10に記載のコンピュータ・システム。
  12. 前記ネストされた正規グリッドの集合の各レベルは、頂点バッファとしてビデオ・メモリにキャッシングされたn×n頂点の配列を備えることを特徴とする請求項10に記載のコンピュータ・システム。
  13. 前記レンダリング・コンポーネントは、前記ネストされた正規グリッドの集合の各レベル間で融合する(blending)ための実行可能命令をさらに備えることを特徴とする請求項10に記載のコンピュータ・システム。
  14. 前記レンダリング・コンポーネントは、前記地形に対して前記視点が移動するに連れて、前記ネストされた正規グリッドの集合を徐々に入れ替えるための実行可能命令をさらに備えることを特徴とする請求項13に記載のコンピュータ・システム。
  15. 前記レンダリング・コンポーネントは、前記ネストされた正規グリッドの集合を徐々に入れ替える際に、地形シェーディングの法線マップを作成するための実行可能命令をさらに備えることを特徴とする請求項14に記載のコンピュータ・システム。
  16. 前記レンダリング・コンポーネントは、前記ネストされた正規グリッドの集合を、視点を中心として位置決めするための実行可能命令をさらに備えることを特徴とする請求項10に記載のコンピュータ・システム。
  17. 地形についてのさまざまな詳細レベルを備える複数の正規グリッドからなる描写データを提供すること、
    前記地形に対する視点を決定すること、および
    複数の正規グリッドから、前記視点からの距離が増大するにつれて前記ネストされた正規グリッド・レベルの詳細レベルが低下するように、ネストされた正規グリッドの集合を作成すること
    を備える方法を実行するためのコンピュータ実行可能命令を備えることを特徴とするコンピュータ可読媒体。
  18. 前記方法は、前記ネストされた正規グリッドの集合の各レベル間で地形の標高値を、レベルの境界でより細かいレベルの標高値がより粗いレベルに近付くように、融合する(blending)こと、をさらに備えることを特徴とする請求項17に記載のコンピュータ可読媒体。
  19. 前記方法は、前記地形に対して前記視点が移動するに連れて、前記ネストされた正規グリッドの集合を徐々に入れ替えることをさらに備える、ことを特徴とする請求項17に記載のコンピュータ可読媒体。
  20. 前記ネストされた正規グリッドの集合の各レベルは、連続的な2のべき乗の解像度で低下するn×nの正規グリッドを備えることを特徴とする請求項19に記載のコンピュータ可読媒体。
JP2005142846A 2004-05-14 2005-05-16 ネストされた正規グリッドを使用した地形レンダリング Expired - Fee Related JP4694256B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/846,897 US7436405B2 (en) 2004-05-14 2004-05-14 Terrain rendering using nested regular grids
US10/846,897 2004-05-14

Publications (3)

Publication Number Publication Date
JP2005332395A true JP2005332395A (ja) 2005-12-02
JP2005332395A5 JP2005332395A5 (ja) 2008-07-03
JP4694256B2 JP4694256B2 (ja) 2011-06-08

Family

ID=34939856

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005142846A Expired - Fee Related JP4694256B2 (ja) 2004-05-14 2005-05-16 ネストされた正規グリッドを使用した地形レンダリング

Country Status (7)

Country Link
US (1) US7436405B2 (ja)
EP (1) EP1596339B1 (ja)
JP (1) JP4694256B2 (ja)
KR (1) KR101130400B1 (ja)
CN (1) CN1722179B (ja)
AT (1) ATE375573T1 (ja)
DE (1) DE602005002781T2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007328458A (ja) * 2006-06-06 2007-12-20 Sega Corp 画像生成用のプログラム及び当該プログラムを記録したコンピュータ読み取り可能な記録媒体、画像処理装置、画像処理方法
WO2009107166A1 (ja) * 2008-02-27 2009-09-03 三菱電機株式会社 地図表示装置
WO2009119264A1 (ja) * 2008-03-24 2009-10-01 株式会社コナミデジタルエンタテインメント 画像処理装置、画像処理装置の制御方法、プログラム及び情報記憶媒体
WO2011077623A1 (ja) * 2009-12-24 2011-06-30 株式会社ソニー・コンピュータエンタテインメント 画像処理装置、画像データ生成装置、画像処理方法、画像データ生成方法、および画像ファイルのデータ構造
JP2011134100A (ja) * 2009-12-24 2011-07-07 Sony Computer Entertainment Inc 画像処理装置、画像データ生成装置、画像処理方法、画像データ生成方法、および画像ファイルのデータ構造
JP2016508635A (ja) * 2013-01-30 2016-03-22 クゥアルコム・インコーポレイテッドQualcomm Incorporated テッセレーションのためのドメイン座標の出力順序付け
JP2021149066A (ja) * 2020-03-23 2021-09-27 株式会社パスコ 地形図出力装置、地形図出力方法及びプログラム
US11683519B2 (en) 2008-04-10 2023-06-20 Qualcomm Incorporated Rate-distortion defined interpolation for video coding based on fixed filter or adaptive filter

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7366736B1 (en) * 2003-05-19 2008-04-29 Diamond Visionics L.L.C. Method and system for generating real-time simulator database
US7680350B2 (en) * 2004-05-07 2010-03-16 TerraMetrics, Inc. Method and system for progressive mesh storage and reconstruction using wavelet-encoded height fields
US7750914B2 (en) 2004-08-26 2010-07-06 Intel Corporation Subdividing geometry images in graphics hardware
JP4408794B2 (ja) * 2004-11-18 2010-02-03 ザイオソフト株式会社 画像処理プログラム
US20060132488A1 (en) * 2004-12-17 2006-06-22 Electronics And Telecommunications Research Institute Apparatus and method for representing multi-level LOD three-dimensional image
EP1880204B1 (en) * 2005-05-12 2012-01-04 Waters Technologies Corporation Visualization of chemical-analysis data
US7612775B2 (en) * 2005-07-28 2009-11-03 The Boeing Company Real-time conformal terrain rendering
EP1920423A2 (en) 2005-09-01 2008-05-14 GeoSim Systems Ltd. System and method for cost-effective, high-fidelity 3d-modeling of large-scale urban environments
KR100751397B1 (ko) 2005-11-22 2007-08-22 엘지전자 주식회사 영상 처리 방법
US8436860B1 (en) * 2006-06-09 2013-05-07 Pixar Techniques for using depth maps
US8508535B1 (en) 2006-06-09 2013-08-13 Pixar Systems and methods for locking inverse kinematic (IK) objects to a surface object
CN100454341C (zh) * 2006-09-26 2009-01-21 杭州镭星科技有限公司 一种基于分形层次树的过程式地形快速绘制方法
TW200840993A (en) * 2007-04-04 2008-10-16 Univ Nat Central Ortho-rectification method of photogrammetry with high-spatial resolution
US8289326B2 (en) * 2007-08-16 2012-10-16 Southwest Research Institute Image analogy filters for terrain modeling
CN102105907B (zh) * 2007-08-31 2014-04-16 古野电气株式会社 海图显示设备和海图显示方法
DE102007045559A1 (de) * 2007-09-24 2009-04-02 Robert Bosch Gmbh Verfahren und System zur Darstellung geographischer Objekte auf einer Anzeigevorrichtung
US8013861B2 (en) * 2007-10-31 2011-09-06 International Business Machines Corporation Reducing a display quality of an area in a virtual universe to conserve computing resources
US9384564B2 (en) * 2007-11-19 2016-07-05 Microsoft Technology Licensing, Llc Rendering of data sets comprising multiple-resolution samples
US8127235B2 (en) 2007-11-30 2012-02-28 International Business Machines Corporation Automatic increasing of capacity of a virtual space in a virtual world
KR100914312B1 (ko) * 2008-03-15 2009-08-27 고려대학교 산학협력단 그래픽스 하드웨어 및 프로그래머블 쉐이더를 이용한돌출맵 생성 방법, 그 시스템 및 이를 기록한 기록매체
JP5078712B2 (ja) 2008-04-01 2012-11-21 任天堂株式会社 画像処理プログラム、画像処理装置、画像処理システム及び画像処理方法
US8082133B2 (en) * 2008-05-21 2011-12-20 Science Applications International Corporation Terrain paging during a distributed simulation involving multiple objects
EP2281396A1 (fr) * 2008-06-05 2011-02-09 Thomson Licensing Procede de codage d ' image avec synthese de texture
US20090309877A1 (en) * 2008-06-16 2009-12-17 Microsoft Corporation Soft shadow rendering
US8188999B2 (en) * 2008-06-17 2012-05-29 Qualcomm Incorporated Method and apparatus for organizing object geometry for spatial and memory coherency and optimal rendering
US8599202B1 (en) * 2008-09-29 2013-12-03 Nvidia Corporation Computing tessellation coordinates using dedicated hardware
EP2209092A1 (en) * 2009-01-16 2010-07-21 Luciad Method for unified visualisation of heterogeneous datasets
US8638330B1 (en) * 2009-10-28 2014-01-28 Google Inc. Water surface generation
KR101239826B1 (ko) * 2011-06-15 2013-03-06 (주) 픽소니어 확장된 기하학적 클립맵 방법
KR101766383B1 (ko) * 2011-07-26 2017-08-09 한국전자통신연구원 지면 고도 데이터 다운 사이징 방법 및 이를 위한 장치
US9836812B2 (en) * 2011-10-26 2017-12-05 I-Cubed Research Center Inc. Image processing apparatus, method, and medium to apply a restrictive condition
US9347792B2 (en) * 2011-10-31 2016-05-24 Honeywell International Inc. Systems and methods for displaying images with multi-resolution integration
EP2589933B1 (en) * 2011-11-03 2019-10-16 Harman Becker Automotive Systems GmbH Navigation device, method of predicting a visibility of a triangular face in an electronic map view
CN103117024B (zh) * 2011-11-17 2015-08-05 上海市测绘院 一种分区段地图变形的方法
KR101764341B1 (ko) * 2012-01-03 2017-08-02 한국전자통신연구원 절차적 방법에 의해 생성된 지형 데이터를 편집하는 방법
US8976169B1 (en) * 2012-05-01 2015-03-10 Google Inc. Rendering terrain patches
CN103106691A (zh) * 2013-01-14 2013-05-15 清华大学 一种带纹理和标注的月球模型交互浏览可视化方法和系统
US9311748B2 (en) 2013-02-20 2016-04-12 Google Inc. Method and system for generating and storing data objects for multi-resolution geometry in a three dimensional model
US9947084B2 (en) * 2013-03-08 2018-04-17 Nvidia Corporation Multiresolution consistent rasterization
US20140347363A1 (en) * 2013-05-22 2014-11-27 Nikos Kaburlasos Localized Graphics Processing Based on User Interest
US9378575B1 (en) 2013-11-05 2016-06-28 Pixar Chained kinematic logic
US10058781B2 (en) 2014-02-03 2018-08-28 Empire Technology Development Llc Rendering of game characters
KR101467735B1 (ko) * 2014-06-25 2014-12-02 인하대학교 산학협력단 볼륨데이터를 위한 4차원 실시간 렌더링 방법 및 장치
GB201414144D0 (en) * 2014-08-08 2014-09-24 Imagination Tech Ltd Relightable texture for use in rendering an image
JP7345237B2 (ja) 2014-11-05 2023-09-15 シエラ・ネバダ・コーポレイション 移動体用の改良型環境表示を生成するためのシステムおよび方法
CN104952101B (zh) * 2015-05-21 2017-12-05 中国人民解放军理工大学 一种基于高度场的动态矢量渲染方法
US9916682B2 (en) * 2015-10-28 2018-03-13 Intel Corporation Variable precision shading
US10643296B2 (en) 2016-01-12 2020-05-05 Qualcomm Incorporated Systems and methods for rendering multiple levels of detail
US10643381B2 (en) 2016-01-12 2020-05-05 Qualcomm Incorporated Systems and methods for rendering multiple levels of detail
US10366013B2 (en) * 2016-01-15 2019-07-30 Futurewei Technologies, Inc. Caching structure for nested preemption
US10580191B2 (en) * 2016-06-12 2020-03-03 Apple Inc. Procedural terrain generation systems and related methods
US10728494B2 (en) 2017-02-20 2020-07-28 Disney Enterprises, Inc. Differential transformation of video
KR102509823B1 (ko) 2017-12-27 2023-03-14 삼성전자주식회사 그리드 기반의 평면 추정 방법 및 장치
US10922882B2 (en) * 2018-10-26 2021-02-16 Electronics Arts Inc. Terrain generation system
CN110825831B (zh) * 2019-10-30 2022-09-16 广州海格星航信息科技有限公司 数字孪生城市多尺度空间网格编码方法及装置
CN110852952B (zh) * 2019-11-08 2023-07-14 四川大学 一种基于gpu的大规模地形实时绘制方法
KR102429809B1 (ko) * 2019-11-21 2022-08-08 한국전자통신연구원 지형의 분석을 위한 지형 데이터 생성 방법 및 지형 데이터의 생성 방법을 수행하는 장치
CN110827402B (zh) * 2020-01-13 2020-04-21 武大吉奥信息技术有限公司 一种基于栅格化技术的类建筑物三维模型简化方法及系统
CN111494944A (zh) * 2020-04-22 2020-08-07 浙江无端科技股份有限公司 一种地形纹理加载方法及相关装置
CN111899323B (zh) * 2020-06-30 2023-03-24 上海孪数科技有限公司 三维地球的绘制方法及装置
US11724188B2 (en) * 2020-09-29 2023-08-15 Activision Publishing, Inc. Methods and systems for selecting a level of detail visual asset during the execution of a video game
US11717753B2 (en) * 2020-09-29 2023-08-08 Activision Publishing, Inc. Methods and systems for generating modified level of detail visual assets in a video game
CN112288842B (zh) * 2020-12-29 2021-03-12 中国人民解放军国防科技大学 基于阴影图算法的地形可视域定量分析方法和装置
CN114494562A (zh) * 2022-01-20 2022-05-13 北京中航双兴科技有限公司 用于地形渲染的数据处理方法和装置
CN114677467B (zh) * 2022-05-30 2022-09-02 腾讯科技(深圳)有限公司 地形图像渲染方法、装置、设备及计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05266213A (ja) * 1991-12-27 1993-10-15 Toshiba Corp 3次元空間データの高速表示方式
JPH05290148A (ja) * 1992-04-14 1993-11-05 Mitsubishi Precision Co Ltd 模擬視界発生における地形モデルの作成方法、及び模擬視界発生における地形モデルの表示方法。
JPH07271999A (ja) * 1994-03-31 1995-10-20 Oki Electric Ind Co Ltd 3次元地形出力方法
JP2001092991A (ja) * 1999-09-22 2001-04-06 Monorisu:Kk オブジェクト符号化方法、復号方法およびそれらの方法を利用可能な装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5367615A (en) * 1989-07-10 1994-11-22 General Electric Company Spatial augmentation of vertices and continuous level of detail transition for smoothly varying terrain polygon density
US5699497A (en) 1994-02-17 1997-12-16 Evans & Sutherland Computer Corporation Rendering global macro texture, for producing a dynamic image, as on computer generated terrain, seen from a moving viewpoint
US5760783A (en) * 1995-11-06 1998-06-02 Silicon Graphics, Inc. Method and system for providing texture using a selected portion of a texture map
US6348921B1 (en) * 1996-04-12 2002-02-19 Ze Hong Zhao System and method for displaying different portions of an object in different levels of detail
US6222555B1 (en) * 1997-06-18 2001-04-24 Christofferson Enterprises, Llc Method for automatically smoothing object level of detail transitions for regular objects in a computer graphics display system
US6128019A (en) 1998-04-01 2000-10-03 Evans & Sutherland Computer Corp. Real-time multi-sensor synthetic environment created from a feature and terrain database using interacting and updatable abstract models
CN1148701C (zh) * 2000-04-03 2004-05-05 上海大唐移动通信设备有限公司 地形等高线转换方法
US7139794B2 (en) * 2000-12-27 2006-11-21 3-D-V-U Israel (2000) Ltd. System and methods for network image delivery with dynamic viewing frustum optimized for limited bandwidth communication channels
US7133044B2 (en) * 2001-05-15 2006-11-07 Autodesk, Inc. System of feature-based surface mapping
US6747649B1 (en) * 2002-03-19 2004-06-08 Aechelon Technology, Inc. Terrain rendering in a three-dimensional environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05266213A (ja) * 1991-12-27 1993-10-15 Toshiba Corp 3次元空間データの高速表示方式
JPH05290148A (ja) * 1992-04-14 1993-11-05 Mitsubishi Precision Co Ltd 模擬視界発生における地形モデルの作成方法、及び模擬視界発生における地形モデルの表示方法。
JPH07271999A (ja) * 1994-03-31 1995-10-20 Oki Electric Ind Co Ltd 3次元地形出力方法
JP2001092991A (ja) * 1999-09-22 2001-04-06 Monorisu:Kk オブジェクト符号化方法、復号方法およびそれらの方法を利用可能な装置

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007328458A (ja) * 2006-06-06 2007-12-20 Sega Corp 画像生成用のプログラム及び当該プログラムを記録したコンピュータ読み取り可能な記録媒体、画像処理装置、画像処理方法
WO2009107166A1 (ja) * 2008-02-27 2009-09-03 三菱電機株式会社 地図表示装置
WO2009119264A1 (ja) * 2008-03-24 2009-10-01 株式会社コナミデジタルエンタテインメント 画像処理装置、画像処理装置の制御方法、プログラム及び情報記憶媒体
JP2009230543A (ja) * 2008-03-24 2009-10-08 Konami Digital Entertainment Co Ltd 画像処理装置、画像処理装置の制御方法及びプログラム
US11683519B2 (en) 2008-04-10 2023-06-20 Qualcomm Incorporated Rate-distortion defined interpolation for video coding based on fixed filter or adaptive filter
WO2011077623A1 (ja) * 2009-12-24 2011-06-30 株式会社ソニー・コンピュータエンタテインメント 画像処理装置、画像データ生成装置、画像処理方法、画像データ生成方法、および画像ファイルのデータ構造
JP2011134100A (ja) * 2009-12-24 2011-07-07 Sony Computer Entertainment Inc 画像処理装置、画像データ生成装置、画像処理方法、画像データ生成方法、および画像ファイルのデータ構造
US8947448B2 (en) 2009-12-24 2015-02-03 Sony Corporation Image processing device, image data generation device, image processing method, image data generation method, and data structure of image file
JP2016508635A (ja) * 2013-01-30 2016-03-22 クゥアルコム・インコーポレイテッドQualcomm Incorporated テッセレーションのためのドメイン座標の出力順序付け
JP2021149066A (ja) * 2020-03-23 2021-09-27 株式会社パスコ 地形図出力装置、地形図出力方法及びプログラム
JP6995913B2 (ja) 2020-03-23 2022-01-17 株式会社パスコ 地形図出力装置、地形図出力方法及びプログラム

Also Published As

Publication number Publication date
DE602005002781T2 (de) 2008-02-07
DE602005002781D1 (de) 2007-11-22
US7436405B2 (en) 2008-10-14
ATE375573T1 (de) 2007-10-15
EP1596339B1 (en) 2007-10-10
CN1722179A (zh) 2006-01-18
CN1722179B (zh) 2012-07-11
KR101130400B1 (ko) 2012-03-27
KR20060047905A (ko) 2006-05-18
US20050253843A1 (en) 2005-11-17
JP4694256B2 (ja) 2011-06-08
EP1596339A1 (en) 2005-11-16

Similar Documents

Publication Publication Date Title
JP4694256B2 (ja) ネストされた正規グリッドを使用した地形レンダリング
Losasso et al. Geometry clipmaps: terrain rendering using nested regular grids
US8570322B2 (en) Method, system, and computer program product for efficient ray tracing of micropolygon geometry
US7940279B2 (en) System and method for rendering of texel imagery
Gobbetti et al. C‐BDAM–compressed batched dynamic adaptive meshes for terrain rendering
Borgeat et al. Gold: interactive display of huge colored and textured models
Strugar Continuous distance-dependent level of detail for rendering heightmaps
Schneider et al. Real-time rendering of complex vector data on 3d terrain models
JP2004046886A (ja) グラフィック対象物をチャンク映像に変換し、かつ、映像層を結合して表示画像に換える方法、および、装置
Fraedrich et al. Exploring the millennium run-scalable rendering of large-scale cosmological datasets
Yoon Real-time massive model rendering
Zellmann et al. Memory‐Efficient GPU Volume Path Tracing of AMR Data Using the Dual Mesh
Platings et al. Compression of Large‐Scale Terrain Data for Real‐Time Visualization Using a Tiled Quad Tree
Lall et al. View-region optimized image-based scene simplification
Martinez et al. Space-optimized texture atlases for 3d scenes with per-polygon textures
Yusov et al. GPU-optimized efficient quad-tree based progressive multiresolution model for interactive large scale terrain rendering
Bokeloh et al. Hardware accelerated multi-resolution geometry synthesis
Masood et al. A novel method for adaptive terrain rendering using memory-efficient tessellation codes for virtual globes
Lerbour et al. Adaptive real-time rendering of planetary terrains
Sußner et al. Hexagonal LOD for interactive terrain rendering
Schütz Interactive exploration of point clouds
Ponchio Multiresolution structures for interactive visualization of very large 3D datasets
Mahsman Projective grid mapping for planetary terrain
Brettell Terrain rendering using geometry clipmaps
Johansson Extending a battlefield simulator with large scale terrain rendering and flight simulator functionality

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080515

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080515

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090901

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20091008

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101008

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101013

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110106

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110125

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110223

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140304

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4694256

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees