JP3711273B2 - オクルージョンカリングを行う3次元グラフィックス描画装置 - Google Patents

オクルージョンカリングを行う3次元グラフィックス描画装置 Download PDF

Info

Publication number
JP3711273B2
JP3711273B2 JP2002213016A JP2002213016A JP3711273B2 JP 3711273 B2 JP3711273 B2 JP 3711273B2 JP 2002213016 A JP2002213016 A JP 2002213016A JP 2002213016 A JP2002213016 A JP 2002213016A JP 3711273 B2 JP3711273 B2 JP 3711273B2
Authority
JP
Japan
Prior art keywords
objects
primitives
determination
geometry
constituting
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.)
Expired - Fee Related
Application number
JP2002213016A
Other languages
English (en)
Other versions
JP2003109033A (ja
Inventor
裕一 佐藤
光徳 平田
陽介 千田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2002213016A priority Critical patent/JP3711273B2/ja
Publication of JP2003109033A publication Critical patent/JP2003109033A/ja
Application granted granted Critical
Publication of JP3711273B2 publication Critical patent/JP3711273B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Image Generation (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、コンピュータ上に構築された3次元グラフィックスモデルを描画する描画装置に関する。
【0002】
【従来の技術】
今日、機械系CAD(computer-aided design )システム、グラフィックスゲーム、アニメーション、ウォークスルー等の仮想現実感システムのような様々な分野において、3次元コンピュータグラフィックス(3DCG)が用いられている。
【0003】
3DCGを高速に描画する従来の方法の1つとして、オクルージョンカリング(occlusion culling )法が知られている(USP 5,751,291 May/1998 Olsen et al., USP 5,613,050 Mar/1997 Hochmuth et al. )。この方法では、描画対象の物体のCGモデル(オブジェクト)を直方体等の基本図形で覆い、その基本図形をオブジェクトの代わりに用いて、各基本図形が他の基本図形にオクルードされているか否かを判定する。
【0004】
ここで、他の図形にオクルードされているとは、他の図形の影になって隠されている状態を意味する。オクルードされている基本図形内のオブジェクトの描画を省略することで、描画が高速化される。
【0005】
【発明が解決しようとする課題】
しかしながら、上述した従来のオクルージョンカリング法には、次のような問題がある。
【0006】
この方法では、オブジェクトを直方体等の基本図形で覆うため、複雑な形状のオブジェクトの場合には、一方が他方の影になるような状況を見逃したり、逆に、影にならないオブジェクトの描画を省略したりすることが多くなると考えられる。このため、比較的単純な形状のオブジェクトを扱うウォークスルーのようなシステムに向いている方法であるといえる。
【0007】
しかし、機械系の設計現場では、しばしば、数10万ポリゴンからなる複雑な形状のオブジェクトが現れることがあり、基本図形に基づくオクルージョンカリング法では、正確な描画が期待できない。そこで、多数のポリゴンからなる3Dモデルを高速に描画し、コンピュータ画面の更新レートを上げ、モデルの回転、移動等をスムースに行うことが可能なオクルージョンカリング法が望まれる。
【0008】
本発明の課題は、機械系CADのような複雑な形状を扱うCGシステムにおいて、より正確かつ高速にオクルージョンカリングを行う描画装置を提供することである。
【0009】
【課題を解決するための手段】
図1は、本発明の描画装置の原理図である。本発明の第1の原理によれば、描画装置は、形状情報格納手段1、テーブル手段2、仮想画像格納手段3、判定手段4、およびオクルージョンカリング手段5を備え、複数のオブジェクトを表示する。
【0010】
形状情報格納手段1は、複数のオブジェクトの形状情報を格納し、テーブル手段2は、複数のオブジェクトと仮想的に一対一に対応付けられた複数の色情報を格納する。仮想画像格納手段3は、形状情報格納手段1およびテーブル手段2の情報に基づいて描画された仮想色画像情報を格納する。判定手段4は、仮想色画像情報を走査してオクルージョン判定を行い、オクルージョンカリング手段5は、複数のオブジェクトのうち、オクルードされていると判定されたオブジェクトの表示を省略する。
【0011】
テーブル手段2には、オブジェクトの識別情報と色情報の一対一の対応関係が格納される。オブジェクトと仮想的に対応付けられた色情報は、実際にオブジェクトを表示するための色情報ではなく、オクルージョン判定のためにオブジェクトを仮想的に描画するための色情報である。この仮想的な色情報を用いて描画された仮想色画像情報は、実際に画面に表示されることはない。
【0012】
判定手段4は、仮想画像格納手段3に格納された仮想色画像情報をピクセル単位で走査して色情報を抽出し、テーブル手段2を参照して、抽出された色情報に対応するオブジェクトを認識する。そして、それらのオブジェクトをオクルードされていないオブジェクトと判定し、他のオブジェクトをオクルードされているオブジェクトと判定する。オクルージョンカリング手段5は、オクルードされていると判定されたオブジェクトを非表示にする。
【0013】
本発明の第1の原理のポイントは、各オブジェクトに一意に付与された色情報を用いて画像情報を生成し、その画像情報に基づいてオクルージョン判定を行うことである。
【0014】
このような描画装置によれば、オブジェクトを覆う基本図形を用いるのではなく、オブジェクト自身の形状を用いるため、より厳密なオクルージョン判定を行うことができる。また、各オブジェクトに一意に付与された色情報を用いて描画された画像情報を走査することにより、高速に判定を行うことができる。
【0015】
また、本発明の第2の原理によれば、描画装置は、判定手段4、リダクション手段6、および表示手段7を備え、3次元グラフィックスモデルを構成する複数のオブジェクトを表示する。
【0016】
リダクション手段6は、3次元グラフィックスモデルの大きさに対する各オブジェクトの大きさの比に合わせて、各オブジェクトを構成するジオメトリプリミティブ(geometry primitive)の数を削減し、判定手段4は、ジオメトリプリミティブの数を削減したオブジェクトを用いてオクルージョン判定を行う。表示手段7は、複数のオブジェクトのうち、オクルードされていないと判定されたオブジェクトを、オクルージョン判定に用いたジオメトリプリミティブの数より多くのジオメトリプリミティブを用いて表示する。
【0017】
ジオメトリプリミティブは、オブジェクトの表面の一部を表す幾何データであり、例えば、三角形ポリゴンがこれに対応する。リダクション手段6は、各オブジェクトについて、ジオメトリプリミティブの数を削減したモデルを生成する。判定手段4は、リダクション手段6が生成したモデルを用いてオクルージョン判定を行い、表示手段7は、オクルードされていないと判定されたオブジェクトを、例えば、削減される前のジオメトリプリミティブを用いて表示する。
【0018】
本発明の第2の原理のポイントは、各オブジェクトのジオメトリプリミティブの数を削減してオクルージョン判定を行うことである。
このような描画装置によれば、ジオメトリプリミティブの数が削減されてオブジェクトの形状が簡単化されるため、オクルージョン判定を高速に行うことができる。また、ジオメトリプリミティブの数を削減したモデルの形状は、元のオブジェクトの形状を反映しているため、厳密に判定を行うことができる。
【0019】
例えば、図1の形状情報格納手段1、テーブル手段2、および仮想画像格納手段3は、後述する図3のRAM(ランダムアクセスメモリ)27に対応し、図1の判定手段4、オクルージョンカリング手段5、およびリダクション手段6は、図3のCPU(中央処理装置)23に対応し、図1の表示手段7は、図3のグラフィックス処理装置25およびグラフィックディスプレイ26に対応する。
【0020】
【発明の実施の形態】
以下、図面を参照しながら、本発明の実施の形態を詳細に説明する。
本実施形態においては、あるオブジェクトが他のオブジェクトにオクルードされているか否かを判定するために、各オブジェクトにそれぞれ異なる仮想的な色情報(virtual color )を付与し、その色を用いてオブジェクトをビットマップ上に描画する。そして、ビットマップ上の色を走査することで、あるオブジェクトが他のオブジェクトにオクルードされているか否かを判定する。
【0021】
このようなオクルージョンカリング判定によれば、オブジェクトを覆う基本図形を用いるのではなく、オブジェクト自身の形状を用いるため、より厳密な判定を行うことができる。また、各オブジェクトに一意に付与された色をビットマップ上で走査することにより、高速に判定を行うことができる。
【0022】
仮想的な色情報の描画を数フレームに1回のみ行うことで、オクルージョンカリングがさらに効率化される。また、仮想的な色情報の描画用のモデルとして、ポリゴンリダクションを行ったモデルを使用することで、オクルージョンカリングがさらに高速化される。
【0023】
図2は、機械系CAD等で作成したアセンブリモデルを高速に描画するための描画装置の構成図である。図2の描画装置は、形状・アセンブリ情報記憶部11、位置・姿勢情報更新部12、オクルージョンカリング判定部13、描画部14、およびポリゴンリダクション計算部15を備える。
【0024】
形状・アセンブリ情報記憶部11は、オブジェクトを表現するための頂点集合、オブジェクト間のアセンブリ関係を表現する親子関係、位置、姿勢、関節関係等の図形情報を記憶する。位置・姿勢情報更新部12は、オブジェクトが動いたときに、オブジェクトの位置・姿勢を表す各頂点の位置の時間に対する変動量を計算する。
【0025】
オクルージョンカリング判定部13は、各オブジェクトを仮想的な色情報で描画し、その結果をビットマップに取り出して、ビットマップ上に現れている色を検出する。これにより、他のオブジェクトの影にならずに表に現れているオブジェクト(オクルードされていないオブジェクト)を抽出し、それらのオブジェクトに印を付ける。
【0026】
描画部14は、オクルージョンカリング判定部13が印を付けたオブジェクトのみを、数サイクルにわたって描画する。ポリゴンリダクション計算部15は、オブジェクトのポリゴン数を段階的に削減し、ポリゴン数を削減したオブジェクトを位置・姿勢情報更新部12に入力する。これらのオブジェクトは、オクルージョンカリングの判定を高速化するために用いられる。
【0027】
図3は、図2の描画装置を情報処理装置(コンピュータ)を用いて構成した例を示している。図3の情報処理装置は、データ入力装置21、インタフェース(I/F)22、24、CPU(中央処理装置)23、グラフィックス処理装置25、グラフィックディスプレイ26、RAM(ランダムアクセスメモリ)27、および記憶装置28を備える。
【0028】
CPU23は、オブジェクトの移動に伴う位置・姿勢の更新(座標変換)、オクルージョンカリング、ポリゴンリダクション、計算結果を表示するための演算、オブジェクトの動きをグラフィカルに表示するための演算、その他のあらゆる論理演算等を行う。空間内でオブジェクトの位置・姿勢を更新する処理は、オブジェクトの座標系を他の座標系に変換する処理とみなすことができるため、このような処理は、しばしば、オブジェクトの座標変換と呼ばれる。
【0029】
記憶装置28には、作業環境、オブジェクトの形状データ、アセンブリデータ、それらの初期位置、描画アルゴリズムの実行モジュール(プログラム)、オブジェクトの動きをグラフィカルに表示するための実行モジュール等の必要なデータおよび実行モジュールが格納される。記憶装置28としては、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク(magneto-optical disk)装置等が用いられる。
【0030】
RAM27は、形状データ・アセンブリデータメモリ31、座標変換データメモリ32、仮想色情報メモリ33、オクルージョンカリングメモリ34、ポリゴンリダクションメモリ35、および配列テーブルメモリ36を含む。
【0031】
形状データ・アセンブリデータメモリ31には、CPU23により記憶装置28から呼び出された作業環境およびオブジェクトのデータが保持され、座標変換データメモリ32には、データ入力装置21を介して入力されたオブジェクトの移動指令データを用いてCPU23が算出したオブジェクトの形状データが保持される。
【0032】
仮想色情報メモリ33には、オクルージョンカリングを行うために各オブジェクトにそれぞれ異なる仮想色を割り付けたときの描画結果が、ビットマップとして保持される。オクルージョンカリングメモリ34には、仮想色情報メモリ33のビットマップ上に描画されている色を持ったオブジェクトが、他のいかなるオブジェクトにもオクルードされていない「表」の状態であることを示すフラグが保持される。
【0033】
ポリゴンリダクションメモリ35には、各オブジェクトのポリゴン数を削減したモデルが常駐している。CGシステムにおけるオブジェクトは、通常、三角形ポリゴンのようなジオメトリプリミティブの集合により形成される。
【0034】
ポリゴンリダクションメモリ35内のモデルは、オブジェクトを形成する各ジオメトリプリミティブの真の色(true color)、頂点座標、法線ベクトル等の図形情報を含んでいる。ポリゴンリダクションにおいて最も高いレベルのデータは、元々のオブジェクトのジオメトリプリミティブデータであり、低いレベルのデータは、この元々のジオメトリプリミティブデータから段階的に生成される。
【0035】
配列テーブルメモリ36には、オブジェクトの識別情報と仮想色との一対一の対応関係が保持される。この配列テーブルメモリ36を参照することで、各オブジェクトに対応する仮想色を取得したり、各仮想色に対応するオブジェクトの識別情報を取得したりすることができる。
【0036】
データ入力装置21は、I/F22を介して、作業環境、アセンブリモデルに含まれるオブジェクトの位置・姿勢、移動指令データ等をCPU23に送る。CPU23は、RAM27および記憶装置28にアクセスしながら、各オブジェクトの位置・姿勢の更新、ポリゴンリダクション、オクルージョンカリング等の処理を行う。
【0037】
グラフィックス処理装置25は、例えば、グラフィックスボードであり、画像情報を一時的に蓄積する複数のフレームバッファと、それらのフレームバッファをスワップして画像情報をグラフィックディスプレイ26に送るスワッピング機構とを含む。
【0038】
オクルージョンカリングが行われると、フレームバッファ上では、I/F24を介して送られてきたオクルージョンカリングメモリ34およびポリゴンリダクションメモリ35の情報に基づき、表の状態にあるオブジェクトのみの画像情報が展開される。そして、その画像情報は、スワッピング機構によりグラフィックディスプレイ26に送られて、画面に表示される。
【0039】
図2の形状・アセンブリ情報記憶部11は図3の記憶装置28に対応し、図2の描画部14は、図3のグラフィックス処理装置25およびグラフィックディスプレイ26に対応する。また、図2の位置・姿勢情報更新部12、オクルージョンカリング判定部13、およびポリゴンリダクション計算部15は、図3の記憶装置28に格納された実行モジュールに対応する。
【0040】
図4は、図3の情報処理装置にプログラムとデータを供給することのできるコンピュータ読み取り可能な記録媒体を示している。処理に必要なプログラムとデータが可搬記録媒体41に格納されている場合、それらの情報はRAM27にロードされた後、CPU23により使用される。可搬記録媒体41としては、メモリカード、フロッピーディスク、CD−ROM(compact disk read only memory )、光ディスク、光磁気ディスク等、任意のコンピュータ読み取り可能な記録媒体が用いられる。
【0041】
また、処理に必要なプログラムとデータがネットワークで接続された外部のデータベース42に格納されている場合、それらの情報は回線を介してRAM27にロードされた後、CPU23により使用される。
【0042】
図5は、図3の描画装置による描画処理のフローチャートである。まず、CPU23は、記憶装置28から形状データ・アセンブリデータメモリ31に、表示するアセンブリモデルに含まれるオブジェクトの形状データ、アセンブリデータ、および初期位置を読み込む(ステップS1)。次に、読み込まれた各オブジェクトに対して任意のポリゴンリダクションアルゴリズムを適用して、一般にポリゴン数をM段階に削減したモデルを作成し、ポリゴンリダクションメモリ35に格納する(ステップS2)。
【0043】
ポリゴンリダクションアルゴリズムとしては、例えば、2次誤差メトリック(quadric error metric)を用いたアルゴリズムが用いられる(Michael Garland and Paul S. Heckbert, “Surface Simplification Using Quadric Error Metrics, ”Proceedings of SIGGRAPH 1997, pp.209-216, 1997. )。
【0044】
図6は、初期ポリゴン数が数千程度のオブジェクト(ソファ)の形状モデルを4段階に削減した例を示している。ここでは、描画レベル(level of detail ,LOD)がレベル0のモデルが元々のオブジェクトに対応し、レベル1、レベル2、レベル3とレベルが低くなるに従って、ポリゴン数が減少している。
【0045】
次に、CPU23は、データ入力装置21から入力された移動指令データに従って、読み込まれたオブジェクトの位置と姿勢を微少量だけ変化させ、変更された形状データを座標変換データメモリ32に格納する(ステップS3)。ユーザがオブジェクトの動きを指定する場合、マウス等の入力装置でオブジェクトをインタラクティブに動かすことにより、移動指令データが入力される。また、システムが自動的にオブジェクトの動きを生成する場合は、所定のアルゴリズムにより移動指令データが生成される。
【0046】
次に、グラフィックス処理装置25内のフレームバッファ上で、各オブジェクトをそれぞれ異なる仮想的な色で描画し、表示画面に対応するビットマップを生成する(ステップS4)。次に、生成されたビットマップを仮想色情報メモリ33に読み込み、そのビットマップを走査して、描画されている色を抽出する。そして、配列テーブルメモリ36を参照して、抽出された色に対応するオブジェクトを認識し、オクルージョンカリングメモリ34内のそれらのオブジェクトのフラグを立てる。
【0047】
図7は、このようなオクルージョンカリング判定の例を示している。図7においては、LODがレベル1の4つのオブジェクトA、B、C、Dに、それぞれ異なる仮想色VC1、VC2、VC3、VC4が割り振られている。これらのオブジェクトを視点Pから矢印の方向に向かって眺めたときの状態を、フレームバッファ上に描画したとする。
【0048】
このとき、視点Pから見えるオブジェクトは、オブジェクトAとオブジェクトBの一部(ソファの左半分)のみである。オブジェクトCとオブジェクトDはともに他のオブジェクトの影に隠れており、フレームバッファ上に現れることはない。したがって、生成されたビットマップからは、2つの仮想色VC1、VC2と背景色が抽出される。
【0049】
ここで、背景色を常に白とし、この色を他のオブジェクトの仮想色に割り振らないことにすれば、オブジェクトと仮想色は常に一対一対応の関係にある。したがって、この瞬間にはオブジェクトAとオブジェクトBの2つのみが見えており、オブジェクトCとオブジェクトDの2つは他のオブジェクトにオクルードされていると結論できる。そこで、CPU23は、オブジェクトAとオブジェクトBのフラグを立て、オブジェクトCとオブジェクトDのフラグを伏せる。
【0050】
次に、CPU23は、オクルージョンカリングメモリ34内でフラグの立っているオブジェクトを抽出し、グラフィックス処理装置25は、それらを元々の色でフレームバッファに描画して、グラフィックディスプレイ26に表示する(ステップS5)。そして、描画装置は、ステップS3〜S5からなるループ処理を繰り返すことで、アセンブリモデルが動的に変化する様子を表示する。
【0051】
オクルージョンカリング判定に用いられたフレームバッファ上の仮想色は、判定が終了した時点で消去され、ディスプレイ上に表示されることはない。実際にディスプレイ上に表示されるのは、表の状態にあると判定されたオブジェクトのみである。
【0052】
例えば、図7のようなオクルージョンカリング判定の次の瞬間の描画状態は、図8に示すようになる。図8においては、表の状態にあるオブジェクトAとオブジェクトBのみが、初期ポリゴン数に対応するレベル0で描画されている。
【0053】
次に、各オブジェクトが微少量だけ移動すると、描画状態は図9に示すように変化する。図9においては、オブジェクトCとオブジェクトDは、依然としてオクルードされているため、描画する必要はない。したがって、描画されるのは、図7において表の状態と判定されたオブジェクトAとオブジェクトBのみである。
【0054】
このように、オクルージョンカリング判定の結果は、オブジェクトの移動量が微少である限り、数サイクルの間は正しいと推定できる。そこで、図5のステップS4のオクルージョンカリング判定は、Nを与えられた正の整数として、Nループに1回の割合で行われる。この場合、仮想色による描画はNループに1回のみ行えばよいため、これを毎回行う場合に比べて、処理が効率化される。
【0055】
また、図7の仮想色による描画においては、オブジェクトのLOD(レベル1)を図8、9に示した実際のLOD(レベル0)より低く設定している点が本実施形態の特徴である。その理由は、仮想色による描画は単にオクルージョンカリングの判定を行うことのみを目的とするため、レベル0の精細ポリゴンを使って描画する必要がないからである。
【0056】
そこで、描画装置は、ポリゴンリダクションとオクルージョンカリングとを上述したように融合させて処理を行っている。これにより、オクルージョンカリング判定の速度が増すとともに、全体としてオブジェクトの描画速度が向上する。
【0057】
図7、8、9においては、各ソファが1つのオブジェクトとして扱われているが、1つのソファが複数の部品から構成されている場合は、各部品を1つのオブジェクトとして扱って、同様のオクルージョンカリングが行われる。
【0058】
図10および図11は、図3の描画装置による描画処理のより詳細なフローチャートである。ここでは、グラフィックス処理装置25は、フレームバッファとしてダブルバッファを用いて描画を行うものとする。
【0059】
まず、CPU23は、ループ回数を表す制御変数Iに1を代入して(図10のステップS11)、各オブジェクトを構成するジオメトリプリミティブのデータを形状データ・アセンブリデータメモリ31に入力する(ステップS12)。
【0060】
次に、それらのジオメトリプリミティブの各頂点に座標変換を施し、絶対座標系から見た座標値を計算して、座標変換データメモリ32に格納する(ステップS13)。そして、ステップS14〜S20において通常の描画処理(true-color display)のループ処理を行い、この処理をN回繰り返す度に1回の割合で、図11の仮想色描画処理(virtual-color display )を行う。
【0061】
ここでは、まず、IをNで割ったときの剰余を求め、それが0であるか否かをチェックする(ステップS14)。剰余が0であれば、正射影または透視法射影の射影変換を行い(図11のステップS21)、各オブジェクトの仮想色情報をフレームバッファに蓄積する(ステップS22)。これにより、各ジオメトリプリミティブの仮想色がピクセル情報とともにフレームバッファに蓄積される。
【0062】
このとき、グラフィックス処理装置25は、画面をxy平面で表し、奥行方向をz軸で表して、z方向に重複している点(xy座標値が同じ点)の前後関係を判定する。この判定は、既存のグラフィックスライブラリによる描画処理ではよく知られており、通常、ハードウェアにより高速に行われる。そして、最も手前にある点の色が、対応するピクセルの色として格納される。
【0063】
この仮想色による描画は、通常、LODを低いレベルに設定したモデルで行われ、特殊なシェーディング(shading )処理は一切施されない。したがって、所謂、ベタ塗りの状態で描画される。
【0064】
また、描画処理の前処理において、rgb値(それぞれ、0〜255の整数)の3つの整数の組合せを、仮想色の識別情報として辞書順に各オブジェクトに割り付けておく。これにより、最大で16,777,216(=256×256×256)色の異なった仮想色をオブジェクトに割り付けることができる。これらの仮想色の識別情報とオブジェクトの対応関係は、配列テーブルメモリ36に格納される。
【0065】
次に、CPU23は、フレームバッファの各ピクセルの仮想色情報を仮想色情報メモリ33に読み出し(ステップS23)、仮想色情報メモリ33上のピクセルを走査して、ピクセル上に現れている仮想色の識別情報を取り出す。そして、その識別情報をもとに配列テーブルメモリ36を参照し、オクルージョンカリングメモリ34において、それらの仮想色を有するオブジェクトのフラグを1に設定する(ステップS24)。また、他のオブジェクトのフラグを0に設定する
(ステップS25)。
【0066】
次に、仮想色情報が書き込まれたフレームバッファを、一旦、完全にクリアし、2つのバッファのスワッピングをスキップする(ステップS26)。したがって、仮想色による画像は表示されず、画面上には、前のループで描画された画像がそのまま残ることになる。
【0067】
次に、ライティング(lighting)/シェーディングの設定を行い(図10のステップS15)、正射影または透視法射影の射影変換を行う(ステップS16)。そして、各オブジェクトのフラグを比較し、その値が1であるオブジェクトのみについて、ジオメトリプリミティブの真の色とピクセル情報をフレームバッファに蓄積する(ステップS17)。
【0068】
次に、グラフィックス処理装置25は、2つのバッファをスワップし(ステップS18)、蓄積された情報を画面上に表示する(ステップS19)。この真の色による描画では、ステップS22の仮想色による描画の場合より高いレベルのLODを有するモデルが用いられる。
【0069】
そして、I=I+1とおいて、ステップS12以降の処理を繰り返す。これにより、Nフレームの表示が行われる毎に1回のオクルージョンカリング判定が行われ、その判定結果に基づいて次のNフレームが表示される。
【0070】
次に、ステップS17、S24で描画に用いられるモデルのポリゴン数を決定するポリゴンリダクションの基準について説明する。ポリゴンリダクションの基本アルゴリズムとして、例えば、上述した2次誤差メトリックを用いたアルゴリズムを用いることができる。
【0071】
このとき、できるだけアセンブリモデル全体の形状を保ちながら、それを構成する各オブジェクトのポリゴン数を削減し、結果としてアセンブリモデルの総ポリゴン数を有効に削減することが望ましい。例えば、図12のアセンブリモデルB0は、オブジェクトB1、B2、B3、B4、B5、B6から構成されており、アセンブリモデルB0のポリゴン数を効率良く削減することが求められる。
【0072】
そこで、図12において、各オブジェクトBi(i=1,...,6)の初期ポリゴン数をPiとし、オブジェクトBiを包含する球の半径をRiとし、アセンブリモデルB0を包含する球の半径をR0として、目標とする削減ポリゴン数Qiを次式により決定する。
Qi=α×Pi×(Ri/R0) (1)
ここで、αは、0≦α≦1なる実数パラメータであり、LODが低くなるに従って、小さく設定される。(1)式によれば、目標ポリゴン数Qiは、オブジェクトBiの包含球の半径とアセンブリモデルB0の包含球の半径の比に基づいて決定される。言い換えれば、目標ポリゴン数Qiは、オブジェクトBiの大きさとアセンブリモデルB0の大きさの比に基づいて決定されることになる。
【0073】
したがって、(1)式を用いて目標ポリゴン数を算出することにより、アセンブリモデルの中で相対的に小さくて目立たないオブジェクトのポリゴン数を、他のオブジェクトに比べて大きく削減することができる。このようなオブジェクトのポリゴン数の変化は全体の形状に大きな影響を与えないので、アセンブリモデルの形状が大きく損なわれることはなく、有効にポリゴン数が削減される。
【0074】
例えば、ネジやボルト等のオブジェクトは、その大きさの割には多数のポリゴンで構成されることが多い。アセンブリモデルがこのような部品のオブジェクトを含む場合、(1)式によりポリゴンリダクションを行うことで、これらの部品のポリゴン数が有効に削減され、処理が高速化される。
【0075】
こうして、LOD毎にポリゴン数が削減された各オブジェクトの情報は、ポリゴンリダクションメモリ35に格納され、フレームバッファに描画する際に用いられる。
【0076】
ここで、ポリゴンリダクションを行う前の元々のアセンブリモデルのLODをレベル0とし、(1)式でα=1.0とおいてポリゴン数を削減したアセンブリモデルのLODをレベル1とする。このとき、図10のステップS17における真の色の描画をレベル0で行い、図11のステップS24における仮想色の描画をレベル1で行うことにより、オクルージョンカリングが高速に実行され、効率の良い3D描画が可能となる。
【0077】
より一般的には、(1)式のαの値を複数用意しておき、LODを多段階に設定することができる。例えば、レベル0、レベルI、レベルJ(0<I<J)の3段階のLODが設定された場合、アセンブリモデルをインタラクティブに動かしているときは、真の色の描画をレベルIで行い、仮想色の描画をレベルJで行う。また、アセンブリモデルが静止しているときは、真の色の描画をレベル0で行う。
【0078】
ところで、(1)式では、包含球の半径の比に基づいて目標ポリゴン数を決定しているが、代わりに、包含球の表面積や体積の比に基づいて目標ポリゴン数を決定してもよい。また、包含球の代わりに、オブジェクトやアセンブリモデルを包含する立方体や直方体等の他の図形を用い、それらの大きさの比に基づいて目標ポリゴン数を決定してもよい。
【0079】
さらに、オブジェクトやアセンブリモデルの大きさを表す指標が存在する場合、それらの指標に基づいて目標ポリゴン数を決定することもできる。また、オブジェクトが他のジオメトリプリミティブから構成される場合も、同様にして、目標とするジオメトリプリミティブの数を決定することができる。
【0080】
以上説明した実施形態においては、主として、機械系CADのアセンブリモデルの描画処理について説明したが、グラフィックスゲーム、アニメーション、ウォークスルー等の他の3DCGの分野においても、同様のオクルージョンカリングを行うことができる。
【0081】
また、オクルージョンカリング判定において、仮想色による描画を行う代わりに、各オブジェクトに一意の識別情報を付与し、その識別情報を用いてオブジェクトを描画したビットマップを生成してもよい。この場合も、仮想色の場合と同様にして、ビットマップ上の識別情報を走査することで、あるオブジェクトが他のオブジェクトにオクルードされているか否かを判定することができる。
【0082】
【発明の効果】
本発明によれば、3DCGシステムにおいて、オブジェクト自身の形状を用いてビットマップ上でオクルージョンカリング判定を行うため、正確かつ高速にオクルージョンカリングを行うことができる。これにより、3DCGの品質が向上することが期待される。
【図面の簡単な説明】
【図1】本発明の描画装置の原理図である。
【図2】描画装置の構成図である。
【図3】情報処理装置の構成図である。
【図4】記録媒体を示す図である。
【図5】第1の描画処理のフローチャートである。
【図6】ポリゴンリダクションを示す図である。
【図7】オクルージョンカリングを示す図である。
【図8】オクルージョンカリング後の描画を示す図である。
【図9】オブジェクトの移動を示す図である。
【図10】第2の描画処理のフローチャート(その1)である。
【図11】第2の描画処理のフローチャート(その2)である。
【図12】オブジェクトを包含する球を示す図である。
【符号の説明】
1 形状情報格納手段
2 テーブル手段
3 仮想画像格納手段
4 判定手段
5 オクルージョンカリング手段
6 リダクション手段
7 表示手段
11 形状・アセンブリ情報記憶部
12 位置・姿勢情報更新部
13 オクルージョンカリング判定部
14 描画部
15 ポリゴンリダクション計算部
21 データ入力装置
22、24 インタフェース
23 CPU
25 グラフィックス処理装置
26 グラフィックディスプレイ
27 RAM
28 記憶装置
31 形状データ・アセンブリデータメモリ
32 座標変換データメモリ
33 仮想色情報メモリ
34 オクルージョンカリングメモリ
35 ポリゴンリダクションメモリ
36 配列テーブルメモリ
41 可搬記録媒体
42 データベース

Claims (6)

  1. 3次元グラフィックスモデルを構成する複数のオブジェクトを表示する描画装置であって、
    前記3次元グラフィックスモデルの大きさに対する各オブジェクトの大きさの比に合わせて、各オブジェクトを構成するジオメトリプリミティブの数を削減するリダクション手段と、
    ジオメトリプリミティブの数を削減したオブジェクトを用いてオクルージョン判定を行う判定手段と、
    前記複数のオブジェクトのうちオクルードされていないと判定されたオブジェクトを、前記オクルージョン判定に用いたジオメトリプリミティブの数より多くのジオメトリプリミティブを用いて表示する表示手段と
    を備えることを特徴とする描画装置。
  2. 3次元グラフィックスモデルを構成する複数のオブジェクトを表示する描画装置であって、
    前記3次元グラフィックスモデルを包含する図形の大きさと各オブジェクトを包含する図形の大きさの比に基いて各オブジェクトを構成するジオメトリプリミティブの目標数を決定し、各オブジェクトのジオメトリプリミティブの数を該目標数まで削減するリダクション手段と、
    ジオメトリプリミティブの数を削減したオブジェクトを用いてオクルージョン判定を行う判定手段と、
    前記複数のオブジェクトのうちオクルードされていないと判定されたオブジェクトを、前記オクルージョン判定に用いたジオメトリプリミティブの数より多くのジオメトリプリミティブを用いて表示する表示手段と
    を備えることを特徴とする描画装置。
  3. 3次元グラフィックスモデルを構成する複数のオブジェクトを表示する描画装置であって、
    前記3次元グラフィックスモデルを包含する球の半径と各オブジェクトを包含する球の半径の比に基いて各オブジェクトを構成するジオメトリプリミティブの目標数を決定し、各オブジェクトのジオメトリプリミティブの数を該目標数まで削減するリダクション手段と、
    ジオメトリプリミティブの数を削減したオブジェクトを用いてオクルージョン判定を行う判定手段と、
    前記複数のオブジェクトのうちオクルードされていないと判定されたオブジェクトを、前記オクルージョン判定に用いたジオメトリプリミティブの数より多くのジオメトリプリミティブを用いて表示する表示手段と
    を備えることを特徴とする描画装置。
  4. 3次元グラフィックスモデルを構成する複数のオブジェクトを表示するコンピュータのためのプログラムを記録した記録媒体であって、
    前記3次元グラフィックスモデルの大きさに対する各オブジェクトの大きさの比に合わせて、各オブジェクトを構成するジオメトリプリミティブの数を削減し、
    ジオメトリプリミティブの数を削減したオブジェクトを用いてオクルージョン判定を行い、
    前記複数のオブジェクトのうちオクルードされていないと判定されたオブジェクトを、前記オクルージョン判定に用いたジオメトリプリミティブの数より多くのジオメトリプリミティブを用いて表示する
    処理を前記コンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
  5. 3次元グラフィックスモデルを構成する複数のオブジェクトを表示するコンピュータのためのプログラムを記録した記録媒体であって、
    前記3次元グラフィックスモデルを包含する図形の大きさと各オブジェクトを包含する図形の大きさの比に基いて各オブジェクトを構成するジオメトリプリミティブの目標数を決定し、
    各オブジェクトのジオメトリプリミティブの数を前記目標数まで削減し、
    ジオメトリプリミティブの数を削減したオブジェクトを用いてオクルージョン判定を行い、
    前記複数のオブジェクトのうちオクルードされていないと判定されたオブジェクトを、前記オクルージョン判定に用いたジオメトリプリミティブの数より多くのジオメトリプリミティブを用いて表示する
    処理を前記コンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
  6. 3次元グラフィックスモデルを構成する複数のオブジェクトを表示するコンピュータのためのプログラムを記録した記録媒体であって、
    前記3次元グラフィックスモデルを包含する球の半径と各オブジェクトを包含する球の半径の比に基いて各オブジェクトを構成するジオメトリプリミティブの目標数を決定し、
    各オブジェクトのジオメトリプリミティブの数を前記目標数まで削減し、
    ジオメトリプリミティブの数を削減したオブジェクトを用いてオクルージョン判定を行い、
    前記複数のオブジェクトのうちオクルードされていないと判定されたオブジェクトを、前記オクルージョン判定に用いたジオメトリプリミティブの数より多くのジオメトリプリミティブを用いて表示する
    処理を前記コンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2002213016A 2002-07-22 2002-07-22 オクルージョンカリングを行う3次元グラフィックス描画装置 Expired - Fee Related JP3711273B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002213016A JP3711273B2 (ja) 2002-07-22 2002-07-22 オクルージョンカリングを行う3次元グラフィックス描画装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002213016A JP3711273B2 (ja) 2002-07-22 2002-07-22 オクルージョンカリングを行う3次元グラフィックス描画装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP07249899A Division JP3350473B2 (ja) 1999-03-17 1999-03-17 オクルージョンカリングを行う3次元グラフィックス描画装置および方法

Publications (2)

Publication Number Publication Date
JP2003109033A JP2003109033A (ja) 2003-04-11
JP3711273B2 true JP3711273B2 (ja) 2005-11-02

Family

ID=19195937

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002213016A Expired - Fee Related JP3711273B2 (ja) 2002-07-22 2002-07-22 オクルージョンカリングを行う3次元グラフィックス描画装置

Country Status (1)

Country Link
JP (1) JP3711273B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3961525B2 (ja) * 2004-09-22 2007-08-22 株式会社コナミデジタルエンタテインメント 画像処理装置、画像処理方法、ならびに、プログラム
KR101465487B1 (ko) * 2013-12-23 2014-11-26 한국건설기술연구원 건물의 외피객체를 추출하는 bim데이터 처리 시스템

Also Published As

Publication number Publication date
JP2003109033A (ja) 2003-04-11

Similar Documents

Publication Publication Date Title
EP1064619B1 (en) Stochastic level of detail in computer animation
Aubel et al. Real-time display of virtual humans: Levels of details and impostors
US8154544B1 (en) User specified contact deformations for computer graphics
US7215344B2 (en) Triangle clipping for 3D graphics
US9508191B2 (en) Optimal point density using camera proximity for point-based global illumination
CN111788608A (zh) 用于建模光反射的混合射线跟踪方法
JP2012190428A (ja) 立体映像視覚効果処理方法
Aubel et al. Animated impostors for real-time display of numerous virtual humans
JP3350473B2 (ja) オクルージョンカリングを行う3次元グラフィックス描画装置および方法
Ryder et al. Survey of real‐time rendering techniques for crowds
JP4513423B2 (ja) 仮想三次元座標ポリゴンによるオブジェクト画像の表示制御方法及びこれを用いた画像表示装置
KR100693134B1 (ko) 3차원 이미지 처리
JP3711273B2 (ja) オクルージョンカリングを行う3次元グラフィックス描画装置
US11436797B2 (en) Image generation system and method
EP3876205A1 (en) Image generation system and method
US9311747B2 (en) Three-dimensional image display device and three-dimensional image display program
KR100544803B1 (ko) 영상 프리미티브의 고속 처리
US10636210B2 (en) Dynamic contour volume deformation
JP4754385B2 (ja) プログラム、情報記録媒体および画像生成システム
JP2000339491A (ja) 情報処理装置および方法、並びに媒体
ビデオゲームアプリケーション et al. Research on Improving Methods for Visualizing Common Elements in Video Game Applications
フォルストマンスヴェン Research on Improving Methods for Visualizing Common Elements in Video Game Applications
JP2001291115A (ja) 3次元図形描画方法およびこの方法を記録した記録媒体
Yang et al. Walkthrough applications based on portal
JP2000339493A (ja) 情報処理装置および方法、並びに媒体

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050802

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: 20050809

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050812

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20090819

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090819

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100819

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110819

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120819

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120819

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130819

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees