JP2003109033A - Three-dimensional graphics drawing device for performing occlusion culling - Google Patents

Three-dimensional graphics drawing device for performing occlusion culling

Info

Publication number
JP2003109033A
JP2003109033A JP2002213016A JP2002213016A JP2003109033A JP 2003109033 A JP2003109033 A JP 2003109033A JP 2002213016 A JP2002213016 A JP 2002213016A JP 2002213016 A JP2002213016 A JP 2002213016A JP 2003109033 A JP2003109033 A JP 2003109033A
Authority
JP
Japan
Prior art keywords
geometry primitives
objects
occlusion
determination
dimensional graphics
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
JP2002213016A
Other languages
Japanese (ja)
Other versions
JP3711273B2 (en
Inventor
Yuichi Sato
裕一 佐藤
Mitsunori Hirata
光徳 平田
Yosuke Senda
陽介 千田
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/en
Publication of JP2003109033A publication Critical patent/JP2003109033A/en
Application granted granted Critical
Publication of JP3711273B2 publication Critical patent/JP3711273B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Abstract

PROBLEM TO BE SOLVED: To more accurately and fast perform occlusion culling in a three- dimensional computer graphics system. SOLUTION: The number of polygons of each object is reduced in accordance with the ratio of the each object to the size of an assembly model B0 consisting of objects B1 to B6, and the object in which the number of polygons is reduced is used to perform occlusion decision. Then, an object decided not to be occluded is displayed by using polygons that are more than polygons used in the occlusion decision.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、コンピュータ上に
構築された3次元グラフィックスモデルを描画する描画
装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a drawing device for drawing a three-dimensional graphics model constructed on a computer.

【0002】[0002]

【従来の技術】今日、機械系CAD(computer-aided d
esign )システム、グラフィックスゲーム、アニメーシ
ョン、ウォークスルー等の仮想現実感システムのような
様々な分野において、3次元コンピュータグラフィック
ス(3DCG)が用いられている。
2. Description of the Related Art Today, mechanical CAD (computer-aided d)
3D computer graphics (3DCG) is used in various fields such as virtual reality systems such as esign) systems, graphics games, animations, walkthroughs and the like.

【0003】3DCGを高速に描画する従来の方法の1
つとして、オクルージョンカリング(occlusion cullin
g )法が知られている(USP 5,751,291 May/1998 Olsen
etal., USP 5,613,050 Mar/1997 Hochmuth et al.
)。この方法では、描画対象の物体のCGモデル(オ
ブジェクト)を直方体等の基本図形で覆い、その基本図
形をオブジェクトの代わりに用いて、各基本図形が他の
基本図形にオクルードされているか否かを判定する。
One of the conventional methods for drawing 3DCG at high speed
As one, occlusion cullin
g) Law is known (USP 5,751,291 May / 1998 Olsen
et al., USP 5,613,050 Mar / 1997 Hochmuth et al.
). In this method, a CG model (object) of an object to be drawn is covered with a basic figure such as a rectangular parallelepiped, and the basic figure is used instead of the object to determine whether or not each basic figure is occluded by another basic figure. judge.

【0004】ここで、他の図形にオクルードされている
とは、他の図形の影になって隠されている状態を意味す
る。オクルードされている基本図形内のオブジェクトの
描画を省略することで、描画が高速化される。
Here, being occluded by another figure means that the figure is hidden behind another figure. By omitting the drawing of the objects in the occluded basic figure, the drawing speed is increased.

【0005】[0005]

【発明が解決しようとする課題】しかしながら、上述し
た従来のオクルージョンカリング法には、次のような問
題がある。
However, the above-mentioned conventional occlusion culling method has the following problems.

【0006】この方法では、オブジェクトを直方体等の
基本図形で覆うため、複雑な形状のオブジェクトの場合
には、一方が他方の影になるような状況を見逃したり、
逆に、影にならないオブジェクトの描画を省略したりす
ることが多くなると考えられる。このため、比較的単純
な形状のオブジェクトを扱うウォークスルーのようなシ
ステムに向いている方法であるといえる。
In this method, since the object is covered with a basic figure such as a rectangular parallelepiped, in the case of an object having a complicated shape, a situation in which one of the objects is a shadow of the other is overlooked,
On the contrary, it is considered that the drawing of an object that does not become a shadow is often omitted. Therefore, it can be said that this method is suitable for a system such as a walkthrough that handles an object having a relatively simple shape.

【0007】しかし、機械系の設計現場では、しばし
ば、数10万ポリゴンからなる複雑な形状のオブジェク
トが現れることがあり、基本図形に基づくオクルージョ
ンカリング法では、正確な描画が期待できない。そこ
で、多数のポリゴンからなる3Dモデルを高速に描画
し、コンピュータ画面の更新レートを上げ、モデルの回
転、移動等をスムースに行うことが可能なオクルージョ
ンカリング法が望まれる。
However, in a mechanical system design site, an object having a complicated shape consisting of several hundreds of thousands of polygons often appears, and the occlusion culling method based on the basic figure cannot be expected to draw accurately. Therefore, an occlusion culling method capable of drawing a 3D model composed of a large number of polygons at high speed, increasing the update rate of the computer screen, and smoothly rotating and moving the model is desired.

【0008】本発明の課題は、機械系CADのような複
雑な形状を扱うCGシステムにおいて、より正確かつ高
速にオクルージョンカリングを行う描画装置を提供する
ことである。
SUMMARY OF THE INVENTION An object of the present invention is to provide a drawing apparatus which performs occlusion culling more accurately and at high speed in a CG system that handles complicated shapes such as mechanical CAD.

【0009】[0009]

【課題を解決するための手段】図1は、本発明の描画装
置の原理図である。本発明の第1の原理によれば、描画
装置は、形状情報格納手段1、テーブル手段2、仮想画
像格納手段3、判定手段4、およびオクルージョンカリ
ング手段5を備え、複数のオブジェクトを表示する。
FIG. 1 is a principle diagram of a drawing apparatus of the present invention. According to the first principle of the present invention, the drawing apparatus includes the shape information storage unit 1, the table unit 2, the virtual image storage unit 3, the determination unit 4, and the occlusion culling unit 5, and displays a plurality of objects.

【0010】形状情報格納手段1は、複数のオブジェク
トの形状情報を格納し、テーブル手段2は、複数のオブ
ジェクトと仮想的に一対一に対応付けられた複数の色情
報を格納する。仮想画像格納手段3は、形状情報格納手
段1およびテーブル手段2の情報に基づいて描画された
仮想色画像情報を格納する。判定手段4は、仮想色画像
情報を走査してオクルージョン判定を行い、オクルージ
ョンカリング手段5は、複数のオブジェクトのうち、オ
クルードされていると判定されたオブジェクトの表示を
省略する。
The shape information storage means 1 stores the shape information of a plurality of objects, and the table means 2 stores a plurality of color information virtually associated with the plurality of objects in a one-to-one correspondence. The virtual image storage means 3 stores virtual color image information drawn based on the information in the shape information storage means 1 and the table means 2. The determination unit 4 scans the virtual color image information to perform occlusion determination, and the occlusion culling unit 5 omits the display of the object determined to be occluded among the plurality of objects.

【0011】テーブル手段2には、オブジェクトの識別
情報と色情報の一対一の対応関係が格納される。オブジ
ェクトと仮想的に対応付けられた色情報は、実際にオブ
ジェクトを表示するための色情報ではなく、オクルージ
ョン判定のためにオブジェクトを仮想的に描画するため
の色情報である。この仮想的な色情報を用いて描画され
た仮想色画像情報は、実際に画面に表示されることはな
い。
The table means 2 stores a one-to-one correspondence between object identification information and color information. The color information virtually associated with the object is not the color information for actually displaying the object, but the color information for virtually drawing the object for occlusion determination. Virtual color image information drawn using this virtual color information is not actually displayed on the screen.

【0012】判定手段4は、仮想画像格納手段3に格納
された仮想色画像情報をピクセル単位で走査して色情報
を抽出し、テーブル手段2を参照して、抽出された色情
報に対応するオブジェクトを認識する。そして、それら
のオブジェクトをオクルードされていないオブジェクト
と判定し、他のオブジェクトをオクルードされているオ
ブジェクトと判定する。オクルージョンカリング手段5
は、オクルードされていると判定されたオブジェクトを
非表示にする。
The determination means 4 scans the virtual color image information stored in the virtual image storage means 3 in pixel units to extract color information, and refers to the table means 2 to correspond to the extracted color information. Recognize objects. Then, those objects are determined to be unoccluded objects, and the other objects are determined to be occluded objects. Occlusion Culling Means 5
Hides objects determined to be occluded.

【0013】本発明の第1の原理のポイントは、各オブ
ジェクトに一意に付与された色情報を用いて画像情報を
生成し、その画像情報に基づいてオクルージョン判定を
行うことである。
The point of the first principle of the present invention is to generate image information by using color information uniquely assigned to each object, and perform occlusion determination based on the image information.

【0014】このような描画装置によれば、オブジェク
トを覆う基本図形を用いるのではなく、オブジェクト自
身の形状を用いるため、より厳密なオクルージョン判定
を行うことができる。また、各オブジェクトに一意に付
与された色情報を用いて描画された画像情報を走査する
ことにより、高速に判定を行うことができる。
According to such a drawing apparatus, since the shape of the object itself is used instead of using the basic figure that covers the object, more strict occlusion determination can be performed. Further, by scanning the image information drawn using the color information uniquely assigned to each object, the determination can be performed at high speed.

【0015】また、本発明の第2の原理によれば、描画
装置は、判定手段4、リダクション手段6、および表示
手段7を備え、3次元グラフィックスモデルを構成する
複数のオブジェクトを表示する。
Further, according to the second principle of the present invention, the drawing device is provided with the judging means 4, the reduction means 6, and the display means 7, and displays a plurality of objects constituting the three-dimensional graphics model.

【0016】リダクション手段6は、3次元グラフィッ
クスモデルの大きさに対する各オブジェクトの大きさの
比に合わせて、各オブジェクトを構成するジオメトリプ
リミティブ(geometry primitive)の数を削減し、判定
手段4は、ジオメトリプリミティブの数を削減したオブ
ジェクトを用いてオクルージョン判定を行う。表示手段
7は、複数のオブジェクトのうち、オクルードされてい
ないと判定されたオブジェクトを、オクルージョン判定
に用いたジオメトリプリミティブの数より多くのジオメ
トリプリミティブを用いて表示する。
The reduction means 6 reduces the number of geometry primitives forming each object according to the ratio of the size of each object to the size of the three-dimensional graphics model, and the determination means 4 determines Occlusion determination is performed using an object with a reduced number of geometry primitives. The display means 7 displays the objects determined not to be occluded among the plurality of objects by using more geometry primitives than the number of geometry primitives used for the occlusion determination.

【0017】ジオメトリプリミティブは、オブジェクト
の表面の一部を表す幾何データであり、例えば、三角形
ポリゴンがこれに対応する。リダクション手段6は、各
オブジェクトについて、ジオメトリプリミティブの数を
削減したモデルを生成する。判定手段4は、リダクショ
ン手段6が生成したモデルを用いてオクルージョン判定
を行い、表示手段7は、オクルードされていないと判定
されたオブジェクトを、例えば、削減される前のジオメ
トリプリミティブを用いて表示する。
The geometry primitive is geometric data representing a part of the surface of the object, and, for example, a triangular polygon corresponds to this. The reduction unit 6 generates a model in which the number of geometric primitives is reduced for each object. The determination unit 4 performs the occlusion determination using the model generated by the reduction unit 6, and the display unit 7 displays the object determined not to be occluded by using, for example, the geometry primitive before being reduced. .

【0018】本発明の第2の原理のポイントは、各オブ
ジェクトのジオメトリプリミティブの数を削減してオク
ルージョン判定を行うことである。このような描画装置
によれば、ジオメトリプリミティブの数が削減されてオ
ブジェクトの形状が簡単化されるため、オクルージョン
判定を高速に行うことができる。また、ジオメトリプリ
ミティブの数を削減したモデルの形状は、元のオブジェ
クトの形状を反映しているため、厳密に判定を行うこと
ができる。
The point of the second principle of the present invention is to reduce the number of geometric primitives of each object to perform occlusion determination. According to such a drawing apparatus, since the number of geometry primitives is reduced and the shape of the object is simplified, the occlusion determination can be performed at high speed. Further, since the shape of the model in which the number of geometric primitives is reduced reflects the shape of the original object, it is possible to make a strict determination.

【0019】例えば、図1の形状情報格納手段1、テー
ブル手段2、および仮想画像格納手段3は、後述する図
3のRAM(ランダムアクセスメモリ)27に対応し、
図1の判定手段4、オクルージョンカリング手段5、お
よびリダクション手段6は、図3のCPU(中央処理装
置)23に対応し、図1の表示手段7は、図3のグラフ
ィックス処理装置25およびグラフィックディスプレイ
26に対応する。
For example, the shape information storage means 1, the table means 2, and the virtual image storage means 3 of FIG. 1 correspond to a RAM (random access memory) 27 of FIG. 3 described later,
The determination means 4, the occlusion culling means 5, and the reduction means 6 in FIG. 1 correspond to the CPU (central processing unit) 23 in FIG. 3, and the display means 7 in FIG. 1 corresponds to the graphics processing device 25 and graphics in FIG. Corresponds to the display 26.

【0020】[0020]

【発明の実施の形態】以下、図面を参照しながら、本発
明の実施の形態を詳細に説明する。本実施形態において
は、あるオブジェクトが他のオブジェクトにオクルード
されているか否かを判定するために、各オブジェクトに
それぞれ異なる仮想的な色情報(virtual color )を付
与し、その色を用いてオブジェクトをビットマップ上に
描画する。そして、ビットマップ上の色を走査すること
で、あるオブジェクトが他のオブジェクトにオクルード
されているか否かを判定する。
BEST MODE FOR CARRYING OUT THE INVENTION Embodiments of the present invention will be described in detail below with reference to the drawings. In this embodiment, in order to determine whether or not an object is occluded by another object, different virtual color information (virtual color) is given to each object, and the object is identified using the color. Draw on the bitmap. Then, by scanning the color on the bitmap, it is determined whether or not an object is occluded by another object.

【0021】このようなオクルージョンカリング判定に
よれば、オブジェクトを覆う基本図形を用いるのではな
く、オブジェクト自身の形状を用いるため、より厳密な
判定を行うことができる。また、各オブジェクトに一意
に付与された色をビットマップ上で走査することによ
り、高速に判定を行うことができる。
According to such occlusion culling determination, since the shape of the object itself is used instead of using the basic figure covering the object, more rigorous determination can be performed. Further, by scanning the color uniquely assigned to each object on the bitmap, the determination can be performed at high speed.

【0022】仮想的な色情報の描画を数フレームに1回
のみ行うことで、オクルージョンカリングがさらに効率
化される。また、仮想的な色情報の描画用のモデルとし
て、ポリゴンリダクションを行ったモデルを使用するこ
とで、オクルージョンカリングがさらに高速化される。
Occlusion culling is made more efficient by drawing the virtual color information only once every several frames. Further, by using a model subjected to polygon reduction as a model for drawing virtual color information, occlusion culling is further speeded up.

【0023】図2は、機械系CAD等で作成したアセン
ブリモデルを高速に描画するための描画装置の構成図で
ある。図2の描画装置は、形状・アセンブリ情報記憶部
11、位置・姿勢情報更新部12、オクルージョンカリ
ング判定部13、描画部14、およびポリゴンリダクシ
ョン計算部15を備える。
FIG. 2 is a block diagram of a drawing apparatus for drawing an assembly model created by mechanical CAD or the like at high speed. The drawing apparatus of FIG. 2 includes a shape / assembly information storage unit 11, a position / orientation information update unit 12, an occlusion culling determination unit 13, a drawing unit 14, and a polygon reduction calculation unit 15.

【0024】形状・アセンブリ情報記憶部11は、オブ
ジェクトを表現するための頂点集合、オブジェクト間の
アセンブリ関係を表現する親子関係、位置、姿勢、関節
関係等の図形情報を記憶する。位置・姿勢情報更新部1
2は、オブジェクトが動いたときに、オブジェクトの位
置・姿勢を表す各頂点の位置の時間に対する変動量を計
算する。
The shape / assembly information storage unit 11 stores graphic information such as a set of vertices for expressing objects, a parent-child relationship expressing an assembly relationship between objects, a position, a posture, and a joint relationship. Position / posture information update unit 1
2 calculates the amount of change with time of the position of each vertex representing the position / orientation of the object when the object moves.

【0025】オクルージョンカリング判定部13は、各
オブジェクトを仮想的な色情報で描画し、その結果をビ
ットマップに取り出して、ビットマップ上に現れている
色を検出する。これにより、他のオブジェクトの影にな
らずに表に現れているオブジェクト(オクルードされて
いないオブジェクト)を抽出し、それらのオブジェクト
に印を付ける。
The occlusion culling determination unit 13 draws each object with virtual color information, extracts the result into a bitmap, and detects the color appearing on the bitmap. This will extract the objects (non-occluded objects) that appear in the table without shadowing other objects and mark those objects.

【0026】描画部14は、オクルージョンカリング判
定部13が印を付けたオブジェクトのみを、数サイクル
にわたって描画する。ポリゴンリダクション計算部15
は、オブジェクトのポリゴン数を段階的に削減し、ポリ
ゴン数を削減したオブジェクトを位置・姿勢情報更新部
12に入力する。これらのオブジェクトは、オクルージ
ョンカリングの判定を高速化するために用いられる。
The drawing unit 14 draws only the object marked by the occlusion culling judging unit 13 for several cycles. Polygon reduction calculator 15
The number of polygons of the object is reduced stepwise, and the object with the reduced number of polygons is input to the position / orientation information updating unit 12. These objects are used to speed up occlusion culling decisions.

【0027】図3は、図2の描画装置を情報処理装置
(コンピュータ)を用いて構成した例を示している。図
3の情報処理装置は、データ入力装置21、インタフェ
ース(I/F)22、24、CPU(中央処理装置)2
3、グラフィックス処理装置25、グラフィックディス
プレイ26、RAM(ランダムアクセスメモリ)27、
および記憶装置28を備える。
FIG. 3 shows an example in which the drawing apparatus of FIG. 2 is configured by using an information processing apparatus (computer). The information processing device of FIG. 3 includes a data input device 21, interfaces (I / F) 22, 24, and CPU (central processing unit) 2
3, graphics processing device 25, graphic display 26, RAM (random access memory) 27,
And a storage device 28.

【0028】CPU23は、オブジェクトの移動に伴う
位置・姿勢の更新(座標変換)、オクルージョンカリン
グ、ポリゴンリダクション、計算結果を表示するための
演算、オブジェクトの動きをグラフィカルに表示するた
めの演算、その他のあらゆる論理演算等を行う。空間内
でオブジェクトの位置・姿勢を更新する処理は、オブジ
ェクトの座標系を他の座標系に変換する処理とみなすこ
とができるため、このような処理は、しばしば、オブジ
ェクトの座標変換と呼ばれる。
The CPU 23 updates the position / orientation associated with the movement of the object (coordinate conversion), occlusion culling, polygon reduction, calculation for displaying the calculation result, calculation for graphically displaying the motion of the object, and other operations. Performs all logical operations. Since the process of updating the position / orientation of an object in space can be regarded as the process of converting the coordinate system of the object into another coordinate system, such a process is often called the coordinate conversion of the object.

【0029】記憶装置28には、作業環境、オブジェク
トの形状データ、アセンブリデータ、それらの初期位
置、描画アルゴリズムの実行モジュール(プログラ
ム)、オブジェクトの動きをグラフィカルに表示するた
めの実行モジュール等の必要なデータおよび実行モジュ
ールが格納される。記憶装置28としては、例えば、磁
気ディスク装置、光ディスク装置、光磁気ディスク(ma
gneto-optical disk)装置等が用いられる。
The storage device 28 requires a working environment, object shape data, assembly data, initial positions thereof, an execution module (program) for drawing algorithms, an execution module for graphically displaying the movement of an object, and the like. Data and execution modules are stored. Examples of the storage device 28 include a magnetic disk device, an optical disk device, and a magneto-optical disk (ma).
gneto-optical disk) device or the like is used.

【0030】RAM27は、形状データ・アセンブリデ
ータメモリ31、座標変換データメモリ32、仮想色情
報メモリ33、オクルージョンカリングメモリ34、ポ
リゴンリダクションメモリ35、および配列テーブルメ
モリ36を含む。
The RAM 27 includes a shape data / assembly data memory 31, a coordinate conversion data memory 32, a virtual color information memory 33, an occlusion culling memory 34, a polygon reduction memory 35, and an arrangement table memory 36.

【0031】形状データ・アセンブリデータメモリ31
には、CPU23により記憶装置28から呼び出された
作業環境およびオブジェクトのデータが保持され、座標
変換データメモリ32には、データ入力装置21を介し
て入力されたオブジェクトの移動指令データを用いてC
PU23が算出したオブジェクトの形状データが保持さ
れる。
Shape data / assembly data memory 31
The data of the work environment and the object called from the storage device 28 by the CPU 23 are stored in the C, and the coordinate conversion data memory 32 is stored in the C by using the movement command data of the object input through the data input device 21.
The shape data of the object calculated by the PU 23 is held.

【0032】仮想色情報メモリ33には、オクルージョ
ンカリングを行うために各オブジェクトにそれぞれ異な
る仮想色を割り付けたときの描画結果が、ビットマップ
として保持される。オクルージョンカリングメモリ34
には、仮想色情報メモリ33のビットマップ上に描画さ
れている色を持ったオブジェクトが、他のいかなるオブ
ジェクトにもオクルードされていない「表」の状態であ
ることを示すフラグが保持される。
The virtual color information memory 33 holds a drawing result as a bitmap when different virtual colors are assigned to the respective objects in order to perform occlusion culling. Occlusion Culling Memory 34
Holds a flag indicating that the object having the color drawn on the bitmap of the virtual color information memory 33 is in the "table" state not occluded by any other object.

【0033】ポリゴンリダクションメモリ35には、各
オブジェクトのポリゴン数を削減したモデルが常駐して
いる。CGシステムにおけるオブジェクトは、通常、三
角形ポリゴンのようなジオメトリプリミティブの集合に
より形成される。
A model in which the number of polygons of each object is reduced resides in the polygon reduction memory 35. An object in a CG system is usually formed by a set of geometry primitives such as triangular polygons.

【0034】ポリゴンリダクションメモリ35内のモデ
ルは、オブジェクトを形成する各ジオメトリプリミティ
ブの真の色(true color)、頂点座標、法線ベクトル等
の図形情報を含んでいる。ポリゴンリダクションにおい
て最も高いレベルのデータは、元々のオブジェクトのジ
オメトリプリミティブデータであり、低いレベルのデー
タは、この元々のジオメトリプリミティブデータから段
階的に生成される。
The model in the polygon reduction memory 35 includes graphic information such as true color, vertex coordinates, and normal vector of each geometric primitive forming an object. The highest level data in polygon reduction is the geometry primitive data of the original object, and the low level data is generated stepwise from this original geometry primitive data.

【0035】配列テーブルメモリ36には、オブジェク
トの識別情報と仮想色との一対一の対応関係が保持され
る。この配列テーブルメモリ36を参照することで、各
オブジェクトに対応する仮想色を取得したり、各仮想色
に対応するオブジェクトの識別情報を取得したりするこ
とができる。
The arrangement table memory 36 holds a one-to-one correspondence between the identification information of the object and the virtual color. By referring to the array table memory 36, it is possible to obtain the virtual color corresponding to each object and the identification information of the object corresponding to each virtual color.

【0036】データ入力装置21は、I/F22を介し
て、作業環境、アセンブリモデルに含まれるオブジェク
トの位置・姿勢、移動指令データ等をCPU23に送
る。CPU23は、RAM27および記憶装置28にア
クセスしながら、各オブジェクトの位置・姿勢の更新、
ポリゴンリダクション、オクルージョンカリング等の処
理を行う。
The data input device 21 sends the work environment, the position / orientation of the object included in the assembly model, the movement command data, etc. to the CPU 23 via the I / F 22. The CPU 23 updates the position / posture of each object while accessing the RAM 27 and the storage device 28.
Performs processing such as polygon reduction and occlusion culling.

【0037】グラフィックス処理装置25は、例えば、
グラフィックスボードであり、画像情報を一時的に蓄積
する複数のフレームバッファと、それらのフレームバッ
ファをスワップして画像情報をグラフィックディスプレ
イ26に送るスワッピング機構とを含む。
The graphics processing device 25 is, for example,
The graphics board includes a plurality of frame buffers that temporarily store image information and a swapping mechanism that swaps the frame buffers and sends the image information to the graphic display 26.

【0038】オクルージョンカリングが行われると、フ
レームバッファ上では、I/F24を介して送られてき
たオクルージョンカリングメモリ34およびポリゴンリ
ダクションメモリ35の情報に基づき、表の状態にある
オブジェクトのみの画像情報が展開される。そして、そ
の画像情報は、スワッピング機構によりグラフィックデ
ィスプレイ26に送られて、画面に表示される。
When the occlusion culling is performed, the image information of only the objects in the table state is displayed on the frame buffer based on the information of the occlusion culling memory 34 and the polygon reduction memory 35 sent via the I / F 24. Be expanded. Then, the image information is sent to the graphic display 26 by the swapping mechanism and displayed on the screen.

【0039】図2の形状・アセンブリ情報記憶部11は
図3の記憶装置28に対応し、図2の描画部14は、図
3のグラフィックス処理装置25およびグラフィックデ
ィスプレイ26に対応する。また、図2の位置・姿勢情
報更新部12、オクルージョンカリング判定部13、お
よびポリゴンリダクション計算部15は、図3の記憶装
置28に格納された実行モジュールに対応する。
The shape / assembly information storage unit 11 of FIG. 2 corresponds to the storage device 28 of FIG. 3, and the drawing unit 14 of FIG. 2 corresponds to the graphics processing device 25 and the graphic display 26 of FIG. Further, the position / orientation information updating unit 12, the occlusion culling determination unit 13, and the polygon reduction calculation unit 15 in FIG. 2 correspond to the execution modules stored in the storage device 28 in FIG. 3.

【0040】図4は、図3の情報処理装置にプログラム
とデータを供給することのできるコンピュータ読み取り
可能な記録媒体を示している。処理に必要なプログラム
とデータが可搬記録媒体41に格納されている場合、そ
れらの情報はRAM27にロードされた後、CPU23
により使用される。可搬記録媒体41としては、メモリ
カード、フロッピー(登録商標)ディスク、CD−RO
M(compact disk read only memory )、光ディスク、
光磁気ディスク等、任意のコンピュータ読み取り可能な
記録媒体が用いられる。
FIG. 4 shows a computer-readable recording medium capable of supplying a program and data to the information processing apparatus of FIG. When the program and data necessary for processing are stored in the portable recording medium 41, the information is loaded into the RAM 27 and then the CPU 23
Used by. As the portable recording medium 41, a memory card, a floppy (registered trademark) disk, a CD-RO
M (compact disk read only memory), optical disk,
Any computer-readable recording medium such as a magneto-optical disk is used.

【0041】また、処理に必要なプログラムとデータが
ネットワークで接続された外部のデータベース42に格
納されている場合、それらの情報は回線を介してRAM
27にロードされた後、CPU23により使用される。
When the program and data required for processing are stored in the external database 42 connected by the network, those information are stored in the RAM via the line.
After being loaded into 27, it is used by the CPU 23.

【0042】図5は、図3の描画装置による描画処理の
フローチャートである。まず、CPU23は、記憶装置
28から形状データ・アセンブリデータメモリ31に、
表示するアセンブリモデルに含まれるオブジェクトの形
状データ、アセンブリデータ、および初期位置を読み込
む(ステップS1)。次に、読み込まれた各オブジェク
トに対して任意のポリゴンリダクションアルゴリズムを
適用して、一般にポリゴン数をM段階に削減したモデル
を作成し、ポリゴンリダクションメモリ35に格納する
(ステップS2)。
FIG. 5 is a flow chart of the drawing process by the drawing apparatus of FIG. First, the CPU 23 stores in the shape data / assembly data memory 31 from the storage device 28,
The shape data, the assembly data, and the initial position of the object included in the assembly model to be displayed are read (step S1). Next, an arbitrary polygon reduction algorithm is applied to each read object to create a model in which the number of polygons is generally reduced to M stages, and the model is stored in the polygon reduction memory 35 (step S2).

【0043】ポリゴンリダクションアルゴリズムとして
は、例えば、2次誤差メトリック(quadric error metr
ic)を用いたアルゴリズムが用いられる(Michael Garl
and and Paul S. Heckbert, “Surface Simplification
Using Quadric Error Metrics, ”Proceedings of SIG
GRAPH 1997, pp.209-216, 1997. )。
As a polygon reduction algorithm, for example, a quadric error metric
ic) algorithm is used (Michael Garl
and and Paul S. Heckbert, “Surface Simplification
Using Quadric Error Metrics, ”Proceedings of SIG
GRAPH 1997, pp.209-216, 1997.).

【0044】図6は、初期ポリゴン数が数千程度のオブ
ジェクト(ソファ)の形状モデルを4段階に削減した例
を示している。ここでは、描画レベル(level of detai
l ,LOD)がレベル0のモデルが元々のオブジェクト
に対応し、レベル1、レベル2、レベル3とレベルが低
くなるに従って、ポリゴン数が減少している。
FIG. 6 shows an example in which the shape model of an object (sofa) having an initial polygon number of about several thousand is reduced to four levels. Here, the drawing level (level of
The model whose level (l, LOD) is level 0 corresponds to the original object, and the number of polygons decreases as the level decreases to level 1, level 2 and level 3.

【0045】次に、CPU23は、データ入力装置21
から入力された移動指令データに従って、読み込まれた
オブジェクトの位置と姿勢を微少量だけ変化させ、変更
された形状データを座標変換データメモリ32に格納す
る(ステップS3)。ユーザがオブジェクトの動きを指
定する場合、マウス等の入力装置でオブジェクトをイン
タラクティブに動かすことにより、移動指令データが入
力される。また、システムが自動的にオブジェクトの動
きを生成する場合は、所定のアルゴリズムにより移動指
令データが生成される。
Next, the CPU 23 controls the data input device 21.
The position and orientation of the read object are changed by a slight amount in accordance with the movement command data input from, and the changed shape data is stored in the coordinate conversion data memory 32 (step S3). When the user specifies the movement of the object, the movement command data is input by interactively moving the object with an input device such as a mouse. Further, when the system automatically generates the movement of the object, the movement command data is generated by a predetermined algorithm.

【0046】次に、グラフィックス処理装置25内のフ
レームバッファ上で、各オブジェクトをそれぞれ異なる
仮想的な色で描画し、表示画面に対応するビットマップ
を生成する(ステップS4)。次に、生成されたビット
マップを仮想色情報メモリ33に読み込み、そのビット
マップを走査して、描画されている色を抽出する。そし
て、配列テーブルメモリ36を参照して、抽出された色
に対応するオブジェクトを認識し、オクルージョンカリ
ングメモリ34内のそれらのオブジェクトのフラグを立
てる。
Next, each object is drawn in a different virtual color on the frame buffer in the graphics processing device 25, and a bitmap corresponding to the display screen is generated (step S4). Next, the generated bitmap is read into the virtual color information memory 33, the bitmap is scanned, and the drawn color is extracted. Then, referring to the array table memory 36, the objects corresponding to the extracted colors are recognized, and the flags of those objects in the occlusion culling memory 34 are set.

【0047】図7は、このようなオクルージョンカリン
グ判定の例を示している。図7においては、LODがレ
ベル1の4つのオブジェクトA、B、C、Dに、それぞ
れ異なる仮想色VC1、VC2、VC3、VC4が割り
振られている。これらのオブジェクトを視点Pから矢印
の方向に向かって眺めたときの状態を、フレームバッフ
ァ上に描画したとする。
FIG. 7 shows an example of such occlusion culling determination. In FIG. 7, different virtual colors VC1, VC2, VC3, and VC4 are assigned to four objects A, B, C, and D having LOD of level 1. It is assumed that the state when these objects are viewed from the viewpoint P in the direction of the arrow is drawn on the frame buffer.

【0048】このとき、視点Pから見えるオブジェクト
は、オブジェクトAとオブジェクトBの一部(ソファの
左半分)のみである。オブジェクトCとオブジェクトD
はともに他のオブジェクトの影に隠れており、フレーム
バッファ上に現れることはない。したがって、生成され
たビットマップからは、2つの仮想色VC1、VC2と
背景色が抽出される。
At this time, the objects seen from the viewpoint P are only a part of the objects A and B (the left half of the sofa). Object C and Object D
Both are hidden by the shadows of other objects and do not appear in the framebuffer. Therefore, two virtual colors VC1 and VC2 and a background color are extracted from the generated bitmap.

【0049】ここで、背景色を常に白とし、この色を他
のオブジェクトの仮想色に割り振らないことにすれば、
オブジェクトと仮想色は常に一対一対応の関係にある。
したがって、この瞬間にはオブジェクトAとオブジェク
トBの2つのみが見えており、オブジェクトCとオブジ
ェクトDの2つは他のオブジェクトにオクルードされて
いると結論できる。そこで、CPU23は、オブジェク
トAとオブジェクトBのフラグを立て、オブジェクトC
とオブジェクトDのフラグを伏せる。
Here, if the background color is always white and this color is not assigned to the virtual color of another object,
Objects and virtual colors always have a one-to-one correspondence.
Therefore, at this moment, it can be concluded that only two objects A and B are visible, and two objects C and D are occluded by other objects. Therefore, the CPU 23 sets flags of the object A and the object B, and the object C
And turn off the flag of object D.

【0050】次に、CPU23は、オクルージョンカリ
ングメモリ34内でフラグの立っているオブジェクトを
抽出し、グラフィックス処理装置25は、それらを元々
の色でフレームバッファに描画して、グラフィックディ
スプレイ26に表示する(ステップS5)。そして、描
画装置は、ステップS3〜S5からなるループ処理を繰
り返すことで、アセンブリモデルが動的に変化する様子
を表示する。
Next, the CPU 23 extracts the flagged objects in the occlusion culling memory 34, and the graphics processing unit 25 draws them in the frame buffer in their original colors and displays them on the graphic display 26. Yes (step S5). Then, the drawing device displays a state in which the assembly model dynamically changes by repeating the loop process including steps S3 to S5.

【0051】オクルージョンカリング判定に用いられた
フレームバッファ上の仮想色は、判定が終了した時点で
消去され、ディスプレイ上に表示されることはない。実
際にディスプレイ上に表示されるのは、表の状態にある
と判定されたオブジェクトのみである。
The virtual color on the frame buffer used for the occlusion culling judgment is erased when the judgment is completed and is not displayed on the display. Only the objects determined to be in the table state are actually displayed on the display.

【0052】例えば、図7のようなオクルージョンカリ
ング判定の次の瞬間の描画状態は、図8に示すようにな
る。図8においては、表の状態にあるオブジェクトAと
オブジェクトBのみが、初期ポリゴン数に対応するレベ
ル0で描画されている。
For example, the drawing state at the moment immediately after the occlusion culling judgment as shown in FIG. 7 is as shown in FIG. In FIG. 8, only the objects A and B in the state of the table are drawn at the level 0 corresponding to the initial polygon number.

【0053】次に、各オブジェクトが微少量だけ移動す
ると、描画状態は図9に示すように変化する。図9にお
いては、オブジェクトCとオブジェクトDは、依然とし
てオクルードされているため、描画する必要はない。し
たがって、描画されるのは、図7において表の状態と判
定されたオブジェクトAとオブジェクトBのみである。
Next, when each object moves by a very small amount, the drawing state changes as shown in FIG. In FIG. 9, object C and object D are still occluded and therefore need not be drawn. Therefore, only the objects A and B that are determined to be in the table state in FIG. 7 are drawn.

【0054】このように、オクルージョンカリング判定
の結果は、オブジェクトの移動量が微少である限り、数
サイクルの間は正しいと推定できる。そこで、図5のス
テップS4のオクルージョンカリング判定は、Nを与え
られた正の整数として、Nループに1回の割合で行われ
る。この場合、仮想色による描画はNループに1回のみ
行えばよいため、これを毎回行う場合に比べて、処理が
効率化される。
As described above, the occlusion culling determination result can be estimated to be correct for several cycles as long as the amount of movement of the object is small. Therefore, the occlusion culling determination in step S4 of FIG. 5 is performed once in the N loop, where N is a given positive integer. In this case, the drawing with the virtual color needs to be performed only once in the N loop, so that the processing efficiency is improved as compared with the case where this is performed every time.

【0055】また、図7の仮想色による描画において
は、オブジェクトのLOD(レベル1)を図8、9に示
した実際のLOD(レベル0)より低く設定している点
が本実施形態の特徴である。その理由は、仮想色による
描画は単にオクルージョンカリングの判定を行うことの
みを目的とするため、レベル0の精細ポリゴンを使って
描画する必要がないからである。
Further, in the virtual color drawing of FIG. 7, the feature of the present embodiment is that the LOD (level 1) of the object is set lower than the actual LOD (level 0) shown in FIGS. Is. The reason is that drawing with virtual colors is intended only for determining occlusion culling, and it is not necessary to draw using level-0 fine polygons.

【0056】そこで、描画装置は、ポリゴンリダクショ
ンとオクルージョンカリングとを上述したように融合さ
せて処理を行っている。これにより、オクルージョンカ
リング判定の速度が増すとともに、全体としてオブジェ
クトの描画速度が向上する。
Therefore, the drawing apparatus performs processing by combining polygon reduction and occlusion culling as described above. As a result, the speed of occlusion culling determination is increased, and the drawing speed of the object is improved as a whole.

【0057】図7、8、9においては、各ソファが1つ
のオブジェクトとして扱われているが、1つのソファが
複数の部品から構成されている場合は、各部品を1つの
オブジェクトとして扱って、同様のオクルージョンカリ
ングが行われる。
In FIGS. 7, 8 and 9, each sofa is treated as one object, but when one sofa is composed of a plurality of parts, each part is treated as one object, Similar occlusion culling is done.

【0058】図10および図11は、図3の描画装置に
よる描画処理のより詳細なフローチャートである。ここ
では、グラフィックス処理装置25は、フレームバッフ
ァとしてダブルバッファを用いて描画を行うものとす
る。
10 and 11 are more detailed flowcharts of the drawing processing by the drawing apparatus of FIG. Here, it is assumed that the graphics processing device 25 draws using a double buffer as a frame buffer.

【0059】まず、CPU23は、ループ回数を表す制
御変数Iに1を代入して(図10のステップS11)、
各オブジェクトを構成するジオメトリプリミティブのデ
ータを形状データ・アセンブリデータメモリ31に入力
する(ステップS12)。
First, the CPU 23 substitutes 1 into the control variable I representing the number of loops (step S11 in FIG. 10),
The data of the geometry primitives forming each object is input to the shape data / assembly data memory 31 (step S12).

【0060】次に、それらのジオメトリプリミティブの
各頂点に座標変換を施し、絶対座標系から見た座標値を
計算して、座標変換データメモリ32に格納する(ステ
ップS13)。そして、ステップS14〜S20におい
て通常の描画処理(true-color display)のループ処理
を行い、この処理をN回繰り返す度に1回の割合で、図
11の仮想色描画処理(virtual-color display )を行
う。
Next, the vertices of those geometry primitives are subjected to coordinate conversion, the coordinate values viewed from the absolute coordinate system are calculated, and stored in the coordinate conversion data memory 32 (step S13). Then, in steps S14 to S20, a loop process of the normal drawing process (true-color display) is performed, and once every N times this process is repeated, the virtual color drawing process (virtual-color display) of FIG. 11 is performed once. I do.

【0061】ここでは、まず、IをNで割ったときの剰
余を求め、それが0であるか否かをチェックする(ステ
ップS14)。剰余が0であれば、正射影または透視法
射影の射影変換を行い(図11のステップS21)、各
オブジェクトの仮想色情報をフレームバッファに蓄積す
る(ステップS22)。これにより、各ジオメトリプリ
ミティブの仮想色がピクセル情報とともにフレームバッ
ファに蓄積される。
Here, first, the remainder when I is divided by N is obtained, and it is checked whether or not it is 0 (step S14). If the remainder is 0, orthographic projection or perspective projection projection transformation is performed (step S21 in FIG. 11), and virtual color information of each object is stored in the frame buffer (step S22). This causes the virtual color of each geometry primitive to be stored in the frame buffer along with the pixel information.

【0062】このとき、グラフィックス処理装置25
は、画面をxy平面で表し、奥行方向をz軸で表して、
z方向に重複している点(xy座標値が同じ点)の前後
関係を判定する。この判定は、既存のグラフィックスラ
イブラリによる描画処理ではよく知られており、通常、
ハードウェアにより高速に行われる。そして、最も手前
にある点の色が、対応するピクセルの色として格納され
る。
At this time, the graphics processing device 25
Represents the screen on the xy plane and the depth direction on the z-axis,
The anteroposterior relationship of points overlapping in the z direction (points having the same xy coordinate values) is determined. This judgment is well known in the drawing process by the existing graphics library, and normally,
It is done at high speed by hardware. Then, the color of the closest point is stored as the color of the corresponding pixel.

【0063】この仮想色による描画は、通常、LODを
低いレベルに設定したモデルで行われ、特殊なシェーデ
ィング(shading )処理は一切施されない。したがっ
て、所謂、ベタ塗りの状態で描画される。
The drawing with the virtual color is usually performed by a model in which the LOD is set to a low level, and no special shading processing is performed. Therefore, it is drawn in a so-called solid state.

【0064】また、描画処理の前処理において、rgb
値(それぞれ、0〜255の整数)の3つの整数の組合
せを、仮想色の識別情報として辞書順に各オブジェクト
に割り付けておく。これにより、最大で16,777,
216(=256×256×256)色の異なった仮想
色をオブジェクトに割り付けることができる。これらの
仮想色の識別情報とオブジェクトの対応関係は、配列テ
ーブルメモリ36に格納される。
In the preprocessing of the drawing processing, rgb
A combination of three integers of values (0 to 255, respectively) is assigned to each object in the dictionary order as virtual color identification information. With this, a maximum of 16,777,
Different virtual colors of 216 (= 256 × 256 × 256) colors can be assigned to the object. The correspondence relationship between the identification information of these virtual colors and the objects is stored in the array table memory 36.

【0065】次に、CPU23は、フレームバッファの
各ピクセルの仮想色情報を仮想色情報メモリ33に読み
出し(ステップS23)、仮想色情報メモリ33上のピ
クセルを走査して、ピクセル上に現れている仮想色の識
別情報を取り出す。そして、その識別情報をもとに配列
テーブルメモリ36を参照し、オクルージョンカリング
メモリ34において、それらの仮想色を有するオブジェ
クトのフラグを1に設定する(ステップS24)。ま
た、他のオブジェクトのフラグを0に設定する(ステッ
プS25)。
Next, the CPU 23 reads the virtual color information of each pixel of the frame buffer into the virtual color information memory 33 (step S23), scans the pixel in the virtual color information memory 33, and appears on the pixel. Extract the virtual color identification information. Then, the array table memory 36 is referred to based on the identification information, and the flags of the objects having these virtual colors are set to 1 in the occlusion culling memory 34 (step S24). Also, the flags of other objects are set to 0 (step S25).

【0066】次に、仮想色情報が書き込まれたフレーム
バッファを、一旦、完全にクリアし、2つのバッファの
スワッピングをスキップする(ステップS26)。した
がって、仮想色による画像は表示されず、画面上には、
前のループで描画された画像がそのまま残ることにな
る。
Next, the frame buffer in which the virtual color information has been written is completely cleared once, and swapping of the two buffers is skipped (step S26). Therefore, the image in virtual color is not displayed, and on the screen,
The image drawn in the previous loop will remain.

【0067】次に、ライティング(lighting)/シェー
ディングの設定を行い(図10のステップS15)、正
射影または透視法射影の射影変換を行う(ステップS1
6)。そして、各オブジェクトのフラグを比較し、その
値が1であるオブジェクトのみについて、ジオメトリプ
リミティブの真の色とピクセル情報をフレームバッファ
に蓄積する(ステップS17)。
Next, lighting / shading is set (step S15 in FIG. 10), and projective transformation of orthographic projection or perspective projection is performed (step S1).
6). Then, the flags of the respective objects are compared, and the true color and the pixel information of the geometry primitive are stored in the frame buffer only for the objects whose value is 1 (step S17).

【0068】次に、グラフィックス処理装置25は、2
つのバッファをスワップし(ステップS18)、蓄積さ
れた情報を画面上に表示する(ステップS19)。この
真の色による描画では、ステップS22の仮想色による
描画の場合より高いレベルのLODを有するモデルが用
いられる。
Next, the graphics processing device 25
The two buffers are swapped (step S18), and the accumulated information is displayed on the screen (step S19). In the drawing with the true color, a model having a higher level LOD than that in the drawing with the virtual color in step S22 is used.

【0069】そして、I=I+1とおいて、ステップS
12以降の処理を繰り返す。これにより、Nフレームの
表示が行われる毎に1回のオクルージョンカリング判定
が行われ、その判定結果に基づいて次のNフレームが表
示される。
Then, setting I = I + 1, step S
The processing after 12 is repeated. Thus, the occlusion culling determination is performed once each time N frames are displayed, and the next N frames are displayed based on the determination result.

【0070】次に、ステップS17、S24で描画に用
いられるモデルのポリゴン数を決定するポリゴンリダク
ションの基準について説明する。ポリゴンリダクション
の基本アルゴリズムとして、例えば、上述した2次誤差
メトリックを用いたアルゴリズムを用いることができ
る。
Next, the standard of polygon reduction for determining the number of polygons of the model used for drawing in steps S17 and S24 will be described. As the basic algorithm of polygon reduction, for example, the above-mentioned algorithm using the secondary error metric can be used.

【0071】このとき、できるだけアセンブリモデル全
体の形状を保ちながら、それを構成する各オブジェクト
のポリゴン数を削減し、結果としてアセンブリモデルの
総ポリゴン数を有効に削減することが望ましい。例え
ば、図12のアセンブリモデルB0は、オブジェクトB
1、B2、B3、B4、B5、B6から構成されてお
り、アセンブリモデルB0のポリゴン数を効率良く削減
することが求められる。
At this time, it is desirable to reduce the number of polygons of each object constituting the assembly model while keeping the shape of the entire assembly model as much as possible, and effectively reduce the total number of polygons of the assembly model as a result. For example, the assembly model B0 in FIG.
It is composed of 1, B2, B3, B4, B5 and B6, and it is required to efficiently reduce the number of polygons of the assembly model 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の大きさの比に基づいて決定されることにな
る。
Therefore, in FIG. 12, the initial polygon number of each object Bi (i = 1, ..., 6) is Pi, and the radius of the sphere including the object Bi is Ri,
With the radius of the sphere including the assembly model B0 as R0, the target number of reduced polygons Qi is determined by the following equation. Qi = α × Pi × (Ri / R0) (1) where α is a real number parameter satisfying 0 ≦ α ≦ 1,
It is set smaller as the LOD becomes lower. (1)
According to the formula, the target polygon number Qi is the object Bi
It is determined based on the ratio of the radius of the inclusion sphere of B to the radius of the inclusion sphere of the assembly model B0. In other words, the target polygon number Qi is determined based on the ratio between the size of the object Bi and the size of the assembly model B0.

【0073】したがって、(1)式を用いて目標ポリゴ
ン数を算出することにより、アセンブリモデルの中で相
対的に小さくて目立たないオブジェクトのポリゴン数
を、他のオブジェクトに比べて大きく削減することがで
きる。このようなオブジェクトのポリゴン数の変化は全
体の形状に大きな影響を与えないので、アセンブリモデ
ルの形状が大きく損なわれることはなく、有効にポリゴ
ン数が削減される。
Therefore, by calculating the target polygon number using the equation (1), the polygon number of a relatively small and unobtrusive object in the assembly model can be greatly reduced as compared with other objects. it can. Since such a change in the number of polygons of an object does not significantly affect the overall shape, the shape of the assembly model is not significantly impaired, and the number of polygons is effectively reduced.

【0074】例えば、ネジやボルト等のオブジェクト
は、その大きさの割には多数のポリゴンで構成されるこ
とが多い。アセンブリモデルがこのような部品のオブジ
ェクトを含む場合、(1)式によりポリゴンリダクショ
ンを行うことで、これらの部品のポリゴン数が有効に削
減され、処理が高速化される。
For example, objects such as screws and bolts are often composed of many polygons for their size. When the assembly model includes objects of such parts, the polygon reduction of these parts is effectively performed by performing polygon reduction according to the equation (1), and the processing speed is increased.

【0075】こうして、LOD毎にポリゴン数が削減さ
れた各オブジェクトの情報は、ポリゴンリダクションメ
モリ35に格納され、フレームバッファに描画する際に
用いられる。
The information of each object in which the number of polygons has been reduced for each LOD is stored in the polygon reduction memory 35 and used when drawing in the frame buffer.

【0076】ここで、ポリゴンリダクションを行う前の
元々のアセンブリモデルのLODをレベル0とし、
(1)式でα=1.0とおいてポリゴン数を削減したア
センブリモデルのLODをレベル1とする。このとき、
図10のステップS17における真の色の描画をレベル
0で行い、図11のステップS24における仮想色の描
画をレベル1で行うことにより、オクルージョンカリン
グが高速に実行され、効率の良い3D描画が可能とな
る。
Here, the LOD of the original assembly model before performing polygon reduction is set to level 0,
In the expression (1), α = 1.0 is set, and the LOD of the assembly model in which the number of polygons is reduced is set to level 1. At this time,
By performing the true color drawing in step S17 of FIG. 10 at level 0 and the virtual color drawing in step S24 of FIG. 11 at level 1, occlusion culling is executed at high speed, and efficient 3D drawing is possible. Becomes

【0077】より一般的には、(1)式のαの値を複数
用意しておき、LODを多段階に設定することができ
る。例えば、レベル0、レベルI、レベルJ(0<I<
J)の3段階のLODが設定された場合、アセンブリモ
デルをインタラクティブに動かしているときは、真の色
の描画をレベルIで行い、仮想色の描画をレベルJで行
う。また、アセンブリモデルが静止しているときは、真
の色の描画をレベル0で行う。
More generally, the LOD can be set in multiple stages by preparing a plurality of values of α in the equation (1). For example, level 0, level I, level J (0 <I <
When the three-stage LOD of J) is set, the true color is drawn at level I and the virtual color is drawn at level J when the assembly model is being moved interactively. When the assembly model is stationary, true color drawing is performed at level 0.

【0078】ところで、(1)式では、包含球の半径の
比に基づいて目標ポリゴン数を決定しているが、代わり
に、包含球の表面積や体積の比に基づいて目標ポリゴン
数を決定してもよい。また、包含球の代わりに、オブジ
ェクトやアセンブリモデルを包含する立方体や直方体等
の他の図形を用い、それらの大きさの比に基づいて目標
ポリゴン数を決定してもよい。
By the way, in the equation (1), the target polygon number is determined based on the ratio of the radius of the containing sphere, but instead, the target polygon number is determined based on the ratio of the surface area and the volume of the containing sphere. May be. Further, instead of the inclusion sphere, another figure such as a cube or a rectangular parallelepiped containing an object or an assembly model may be used, and the target polygon number may be determined based on the ratio of their sizes.

【0079】さらに、オブジェクトやアセンブリモデル
の大きさを表す指標が存在する場合、それらの指標に基
づいて目標ポリゴン数を決定することもできる。また、
オブジェクトが他のジオメトリプリミティブから構成さ
れる場合も、同様にして、目標とするジオメトリプリミ
ティブの数を決定することができる。
Further, when there are indexes indicating the sizes of the object and the assembly model, the target polygon number can be determined based on those indexes. Also,
If the object is composed of other geometry primitives, the target number of geometry primitives can be determined in the same manner.

【0080】以上説明した実施形態においては、主とし
て、機械系CADのアセンブリモデルの描画処理につい
て説明したが、グラフィックスゲーム、アニメーショ
ン、ウォークスルー等の他の3DCGの分野において
も、同様のオクルージョンカリングを行うことができ
る。
In the embodiment described above, the drawing process of the assembly model of the mechanical CAD is mainly described, but similar occlusion culling is also performed in other 3DCG fields such as graphics games, animations and walkthroughs. It can be carried out.

【0081】また、オクルージョンカリング判定におい
て、仮想色による描画を行う代わりに、各オブジェクト
に一意の識別情報を付与し、その識別情報を用いてオブ
ジェクトを描画したビットマップを生成してもよい。こ
の場合も、仮想色の場合と同様にして、ビットマップ上
の識別情報を走査することで、あるオブジェクトが他の
オブジェクトにオクルードされているか否かを判定する
ことができる。
Further, in the occlusion culling determination, instead of drawing with a virtual color, unique identification information may be given to each object and a bitmap in which the object is drawn may be generated using the identification information. Also in this case, similarly to the case of the virtual color, it is possible to determine whether or not an object is occluded by another object by scanning the identification information on the bitmap.

【0082】[0082]

【発明の効果】本発明によれば、3DCGシステムにお
いて、オブジェクト自身の形状を用いてビットマップ上
でオクルージョンカリング判定を行うため、正確かつ高
速にオクルージョンカリングを行うことができる。これ
により、3DCGの品質が向上することが期待される。
According to the present invention, in the 3DCG system, the occlusion culling determination is performed on the bitmap using the shape of the object itself, so that the occlusion culling can be performed accurately and at high speed. This is expected to improve the quality of 3DCG.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の描画装置の原理図である。FIG. 1 is a principle diagram of a drawing apparatus of the present invention.

【図2】描画装置の構成図である。FIG. 2 is a configuration diagram of a drawing device.

【図3】情報処理装置の構成図である。FIG. 3 is a configuration diagram of an information processing device.

【図4】記録媒体を示す図である。FIG. 4 is a diagram showing a recording medium.

【図5】第1の描画処理のフローチャートである。FIG. 5 is a flowchart of first drawing processing.

【図6】ポリゴンリダクションを示す図である。FIG. 6 is a diagram showing polygon reduction.

【図7】オクルージョンカリングを示す図である。FIG. 7 is a diagram showing occlusion culling.

【図8】オクルージョンカリング後の描画を示す図であ
る。
FIG. 8 is a diagram showing drawing after occlusion culling.

【図9】オブジェクトの移動を示す図である。FIG. 9 is a diagram showing movement of an object.

【図10】第2の描画処理のフローチャート(その1)
である。
FIG. 10 is a flowchart (part 1) of the second drawing process.
Is.

【図11】第2の描画処理のフローチャート(その2)
である。
FIG. 11 is a flowchart (part 2) of the second drawing process.
Is.

【図12】オブジェクトを包含する球を示す図である。FIG. 12 is a diagram showing a sphere containing an object.

【符号の説明】[Explanation of symbols]

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 データベース 1 Shape information storage means 2 table means 3 Virtual image storage means 4 Judgment means 5 Occlusion Culling Means 6 Reduction means 7 Display means 11 Shape / assembly information storage unit 12 Position / posture information update unit 13 Occlusion Culling Judgment Section 14 Drawing unit 15 Polygon reduction calculator 21 Data input device 22, 24 interface 23 CPU 25 graphics processor 26 Graphic display 27 RAM 28 storage 31 Shape data / assembly data memory 32 coordinate conversion data memory 33 Virtual color information memory 34 Occlusion Culling Memory 35 Polygon reduction memory 36 Sequence table memory 41 Portable recording medium 42 database

───────────────────────────────────────────────────── フロントページの続き (72)発明者 千田 陽介 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 Fターム(参考) 5B046 FA19 5B080 AA13 BA07 CA01 CA03 FA02 GA01    ─────────────────────────────────────────────────── ─── Continued front page    (72) Inventor Yosuke Senda             4-1, Kamiodanaka, Nakahara-ku, Kawasaki-shi, Kanagawa             No. 1 within Fujitsu Limited F-term (reference) 5B046 FA19                 5B080 AA13 BA07 CA01 CA03 FA02                       GA01

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】 3次元グラフィックスモデルを構成する
複数のオブジェクトを表示する描画装置であって、 前記3次元グラフィックスモデルの大きさに対する各オ
ブジェクトの大きさの比に合わせて、各オブジェクトを
構成するジオメトリプリミティブの数を削減するリダク
ション手段と、 ジオメトリプリミティブの数を削減したオブジェクトを
用いてオクルージョン判定を行う判定手段と、 前記複数のオブジェクトのうちオクルードされていない
と判定されたオブジェクトを、前記オクルージョン判定
に用いたジオメトリプリミティブの数より多くのジオメ
トリプリミティブを用いて表示する表示手段とを備える
ことを特徴とする描画装置。
1. A drawing device for displaying a plurality of objects constituting a three-dimensional graphics model, wherein each object is constructed in accordance with a ratio of the size of each object to the size of the three-dimensional graphics model. Reduction means for reducing the number of geometry primitives to be performed, determination means for performing an occlusion determination using an object with a reduced number of geometry primitives, and an object determined not to be occluded among the plurality of objects, the occlusion A drawing device comprising: a display unit that displays using more geometry primitives than the number of geometry primitives used for the determination.
【請求項2】 3次元グラフィックスモデルを構成する
複数のオブジェクトを表示する描画装置であって、 前記3次元グラフィックスモデルを包含する図形の大き
さと各オブジェクトを包含する図形の大きさの比に基い
て各オブジェクトを構成するジオメトリプリミティブの
目標数を決定し、各オブジェクトのジオメトリプリミテ
ィブの数を該目標数まで削減するリダクション手段と、 ジオメトリプリミティブの数を削減したオブジェクトを
用いてオクルージョン判定を行う判定手段と、 前記複数のオブジェクトのうちオクルードされていない
と判定されたオブジェクトを、前記オクルージョン判定
に用いたジオメトリプリミティブの数より多くのジオメ
トリプリミティブを用いて表示する表示手段とを備える
ことを特徴とする描画装置。
2. A drawing device for displaying a plurality of objects constituting a three-dimensional graphics model, wherein a ratio of a size of a figure including the three-dimensional graphics model to a size of a figure including each object is set. Determine the target number of geometry primitives that compose each object based on the reduction means to reduce the number of geometry primitives of each object to the target number, and the occlusion judgment using the object with the reduced number of geometry primitives. Means for displaying an object determined not to be occluded among the plurality of objects by using more geometry primitives than the number of geometry primitives used for the occlusion determination. Drawing device.
【請求項3】 3次元グラフィックスモデルを構成する
複数のオブジェクトを表示する描画装置であって、 前記3次元グラフィックスモデルを包含する球の半径と
各オブジェクトを包含する球の半径の比に基いて各オブ
ジェクトを構成するジオメトリプリミティブの目標数を
決定し、各オブジェクトのジオメトリプリミティブの数
を該目標数まで削減するリダクション手段と、 ジオメトリプリミティブの数を削減したオブジェクトを
用いてオクルージョン判定を行う判定手段と、 前記複数のオブジェクトのうちオクルードされていない
と判定されたオブジェクトを、前記オクルージョン判定
に用いたジオメトリプリミティブの数より多くのジオメ
トリプリミティブを用いて表示する表示手段とを備える
ことを特徴とする描画装置。
3. A drawing device for displaying a plurality of objects constituting a three-dimensional graphics model, the drawing device being based on a ratio of a radius of a sphere including the three-dimensional graphics model and a radius of a sphere including each object. And a reduction means for determining the target number of geometry primitives constituting each object and reducing the number of geometry primitives of each object to the target number, and a determination means for performing occlusion determination using the object with the reduced number of geometry primitives. And a display unit for displaying an object determined not to be occluded among the plurality of objects by using more geometry primitives than the number of geometry primitives used for the occlusion determination. apparatus.
【請求項4】 3次元グラフィックスモデルを構成する
複数のオブジェクトを表示するコンピュータのためのプ
ログラムを記録した記録媒体であって、 前記3次元グラフィックスモデルの大きさに対する各オ
ブジェクトの大きさの比に合わせて、各オブジェクトを
構成するジオメトリプリミティブの数を削減し、 ジオメトリプリミティブの数を削減したオブジェクトを
用いてオクルージョン判定を行い、 前記複数のオブジェクトのうちオクルードされていない
と判定されたオブジェクトを、前記オクルージョン判定
に用いたジオメトリプリミティブの数より多くのジオメ
トリプリミティブを用いて表示する処理を前記コンピュ
ータに実行させるためのプログラムを記録したコンピュ
ータ読み取り可能な記録媒体。
4. A recording medium recording a program for a computer that displays a plurality of objects constituting a three-dimensional graphics model, the ratio of the size of each object to the size of the three-dimensional graphics model. In accordance with, reduce the number of geometry primitives that make up each object, perform occlusion determination using the object that has reduced the number of geometry primitives, the object that is determined not occluded among the plurality of objects, A computer-readable recording medium recording a program for causing the computer to execute a process of displaying using more geometry primitives than the number of geometry primitives used for the occlusion determination.
【請求項5】 3次元グラフィックスモデルを構成する
複数のオブジェクトを表示するコンピュータのためのプ
ログラムを記録した記録媒体であって、 前記3次元グラフィックスモデルを包含する図形の大き
さと各オブジェクトを包含する図形の大きさの比に基い
て各オブジェクトを構成するジオメトリプリミティブの
目標数を決定し、 各オブジェクトのジオメトリプリミティブの数を前記目
標数まで削減し、 ジオメトリプリミティブの数を削減したオブジェクトを
用いてオクルージョン判定を行い、 前記複数のオブジェクトのうちオクルードされていない
と判定されたオブジェクトを、前記オクルージョン判定
に用いたジオメトリプリミティブの数より多くのジオメ
トリプリミティブを用いて表示する処理を前記コンピュ
ータに実行させるためのプログラムを記録したコンピュ
ータ読み取り可能な記録媒体。
5. A recording medium recording a program for a computer that displays a plurality of objects constituting a three-dimensional graphics model, the size of a figure including the three-dimensional graphics model and each object. Determine the target number of geometry primitives that compose each object based on the size ratio of the figure to be reduced, reduce the number of geometry primitives of each object to the target number, and use the object with the reduced number of geometry primitives. Occlusion determination is performed, and the computer is caused to execute a process of displaying an object determined not to be occluded among the plurality of objects by using more geometry primitives than the number of geometry primitives used for the occlusion determination. A computer-readable recording medium storing a program for.
【請求項6】 3次元グラフィックスモデルを構成する
複数のオブジェクトを表示するコンピュータのためのプ
ログラムを記録した記録媒体であって、 前記3次元グラフィックスモデルを包含する球の半径と
各オブジェクトを包含する球の半径の比に基いて各オブ
ジェクトを構成するジオメトリプリミティブの目標数を
決定し、 各オブジェクトのジオメトリプリミティブの数を前記目
標数まで削減し、 ジオメトリプリミティブの数を削減したオブジェクトを
用いてオクルージョン判定を行い、 前記複数のオブジェクトのうちオクルードされていない
と判定されたオブジェクトを、前記オクルージョン判定
に用いたジオメトリプリミティブの数より多くのジオメ
トリプリミティブを用いて表示する処理を前記コンピュ
ータに実行させるためのプログラムを記録したコンピュ
ータ読み取り可能な記録媒体。
6. A recording medium recording a program for a computer that displays a plurality of objects constituting a three-dimensional graphics model, the radius of a sphere including the three-dimensional graphics model, and each object. The target number of geometry primitives that compose each object is determined based on the ratio of the radius of the sphere, the number of geometry primitives of each object is reduced to the target number, and the occlusion is performed using the object with the reduced number of geometry primitives. Performing a determination, for causing the computer to perform a process of displaying an object determined not to be occluded among the plurality of objects by using more geometry primitives than the number of geometry primitives used in the occlusion determination. A computer-readable recording medium programs.
JP2002213016A 2002-07-22 2002-07-22 3D graphics drawing device for occlusion culling Expired - Fee Related JP3711273B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002213016A JP3711273B2 (en) 2002-07-22 2002-07-22 3D graphics drawing device for occlusion culling

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002213016A JP3711273B2 (en) 2002-07-22 2002-07-22 3D graphics drawing device for occlusion culling

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP07249899A Division JP3350473B2 (en) 1999-03-17 1999-03-17 Three-dimensional graphics drawing apparatus and method for performing occlusion culling

Publications (2)

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

Family

ID=19195937

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002213016A Expired - Fee Related JP3711273B2 (en) 2002-07-22 2002-07-22 3D graphics drawing device for occlusion culling

Country Status (1)

Country Link
JP (1) JP3711273B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006033261A1 (en) * 2004-09-22 2006-03-30 Konami Digital Entertainment Co., Ltd. Image processor, image processing method, information recording medium, and program
KR101465487B1 (en) * 2013-12-23 2014-11-26 한국건설기술연구원 Bim data processing system for extracting surface object of building

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006033261A1 (en) * 2004-09-22 2006-03-30 Konami Digital Entertainment Co., Ltd. Image processor, image processing method, information recording medium, and program
KR100898671B1 (en) * 2004-09-22 2009-05-22 가부시키가이샤 코나미 데지타루 엔타테인멘토 Image processor, image processing method, and computer-readable information recording medium having a program recorded thereon
KR101465487B1 (en) * 2013-12-23 2014-11-26 한국건설기술연구원 Bim data processing system for extracting surface object of building

Also Published As

Publication number Publication date
JP3711273B2 (en) 2005-11-02

Similar Documents

Publication Publication Date Title
US8154544B1 (en) User specified contact deformations for computer graphics
Aubel et al. Real-time display of virtual humans: Levels of details and impostors
US7671857B2 (en) Three dimensional image processing
US7737982B2 (en) Method and system for minimizing an amount of data needed to test data against subarea boundaries in spatially composited digital video
US7215344B2 (en) Triangle clipping for 3D graphics
US7038679B2 (en) Three dimensional rendering including motion sorting
GB2259432A (en) Three dimensional graphics processing
US9508191B2 (en) Optimal point density using camera proximity for point-based global illumination
JP2006503355A5 (en)
JP2012190428A (en) Stereoscopic image visual effect processing method
JP7038683B2 (en) Synthesizers, methods and programs
JP3350473B2 (en) Three-dimensional graphics drawing apparatus and method for performing occlusion culling
JP2003115055A (en) Image generator
KR100693134B1 (en) Three dimensional image processing
JP3711273B2 (en) 3D graphics drawing device for occlusion culling
JP2003228725A (en) 3d image processing system
KR100848687B1 (en) 3-dimension graphic processing apparatus and operating method thereof
CN113486415A (en) Model perspective method, intelligent terminal and storage device
US10636210B2 (en) Dynamic contour volume deformation
JPH02132572A (en) Picture display device
JP2001291115A (en) Method for plotting three-dimensional graphic and recording medium with the method recorded thereon
Ryder et al. Survey of Techniques for Rendering Real-Time Virtual Humans
JP2000339491A (en) Information processor, information processing method and medium
JP2005056385A (en) Curved surface subdivision apparatus
JP2000339493A (en) Information processor, information processing method and medium

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