JP3233640B2 - Clipping processing device, three-dimensional simulator device, and clipping processing method - Google Patents

Clipping processing device, three-dimensional simulator device, and clipping processing method

Info

Publication number
JP3233640B2
JP3233640B2 JP51021595A JP51021595A JP3233640B2 JP 3233640 B2 JP3233640 B2 JP 3233640B2 JP 51021595 A JP51021595 A JP 51021595A JP 51021595 A JP51021595 A JP 51021595A JP 3233640 B2 JP3233640 B2 JP 3233640B2
Authority
JP
Japan
Prior art keywords
clipping
dimensional object
polygon
processing
unit
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
JP51021595A
Other languages
Japanese (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.)
Namco Ltd
Original Assignee
Namco 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 Namco Ltd filed Critical Namco Ltd
Priority claimed from PCT/JP1994/001597 external-priority patent/WO1995009405A1/en
Application granted granted Critical
Publication of JP3233640B2 publication Critical patent/JP3233640B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Description

【発明の詳細な説明】 [技術分野] 本発明はクリッピング処理装置、該クリッピング処理
装置を用いた3次元シミュレータ装置及びクリッピング
処理方法に関する。
Description: TECHNICAL FIELD The present invention relates to a clipping processing device, a three-dimensional simulator using the clipping processing device, and a clipping processing method.

[背景技術] 従来、例えば3次元ゲームあるいは飛行機及び各種乗
物の操縦シュミレータ等に使用される3次元シミュレー
タ装置として種々のものが知られている。このような3
次元シミュレータ装置では、図17に示す3次元物体300
に関する画像情報が、あらかじめ装置に記憶されてい
る。この3次元物体300は、プレーヤ(観者)302がスク
リーン306を介して見ることができる風景等の表示物を
表すものである。そして、この表示物である3次元物体
300の画像情報をスクリーン306上に透視投影変換するこ
とにより疑似3次元画像(投影画像)308をスクリーン3
06上に画像表示している。この装置では、プレーヤ302
が、操作パネル304により回転、並進等の操作を行う
と、この操作信号に基づいて所定の3次元演算処理が行
われる。具体的には、まず、操作信号によりプレーヤ30
2の視点位置、視線方向あるいはプレーヤ302の搭乗する
移動体の位置、方向等がどのように変化するかを求める
演算処理が行われる。次に、この視点位置、視線方向等
の変化に伴い、3次元物体300の画像がスクリーン306上
でどのように見えるかを求める演算処理が行われる。そ
して、以上の演算処理はプレーヤ302の操作に追従して
リアルタイムで行われる。これによりプレーヤ302は、
自身の視点位置、視線方向の変化あるいは自身の搭乗す
る移動体の位置、方向の変化に伴う風景等の変化を疑似
3次元画像としてリアルタイムに見ることが可能とな
り、仮想的な3次元空間を疑似体験できることとなる。
[Background Art] Conventionally, various types of three-dimensional simulators have been known for use in, for example, a three-dimensional game or a simulator for controlling an airplane or various vehicles. Such 3
The three-dimensional object 300 shown in FIG.
Is stored in the apparatus in advance. The three-dimensional object 300 represents a display object such as a landscape that the player (viewer) 302 can see through the screen 306. And this display object is a three-dimensional object
The pseudo three-dimensional image (projected image) 308 is transformed into a screen 3 by performing perspective projection transformation of the image information of 300 on the screen 306.
The image is displayed on 06. In this device, the player 302
However, when an operation such as rotation and translation is performed using the operation panel 304, a predetermined three-dimensional calculation process is performed based on the operation signal. Specifically, first, the player 30
Calculation processing is performed to determine how the viewpoint position, line-of-sight direction of the second, or the position, direction, etc. of the moving body on which the player 302 rides change. Next, an arithmetic process is performed to determine how the image of the three-dimensional object 300 looks on the screen 306 in accordance with the change in the viewpoint position, the line of sight, and the like. The above arithmetic processing is performed in real time following the operation of the player 302. This allows the player 302 to
It is possible to see in real time a change in the viewpoint or the direction of the line of sight or a change in the scenery or the like due to a change in the position or direction of the moving body on which the user is riding as a pseudo three-dimensional image, and simulate a virtual three-dimensional space. You will be able to experience it.

図18には、このような3次元シミュレータ装置の構成
の一例が示される。なお、以下の説明では、3次元シミ
ュレータ装置を3次元ゲームに適用した場合を例にとり
説明を進める。
FIG. 18 shows an example of the configuration of such a three-dimensional simulator device. In the following description, the description will be given taking a case where the three-dimensional simulator device is applied to a three-dimensional game as an example.

図18に示すように、この3次元シミュレータ装置は、
操作部510、仮想3次元空間演算部500、画像合成部51
2、CRT518により構成される。
As shown in FIG. 18, this three-dimensional simulator device
Operation unit 510, virtual three-dimensional space calculation unit 500, image synthesis unit 51
2, composed of CRT518.

仮想3次元空間演算部500では、操作部510からの操作
信号、中央処理部506に記憶されたゲートプログラムに
従って、仮想3次元空間の設定が行われる。即ち、3次
元物体300をどの位置に、どの方向で配置するかの演算
が行われる。
In the virtual three-dimensional space calculation unit 500, a virtual three-dimensional space is set according to an operation signal from the operation unit 510 and a gate program stored in the central processing unit 506. That is, an operation of locating the three-dimensional object 300 at which position and in which direction is performed.

画像合成部512は、画像供給部514、画像形成部516を
含んで構成される。そして、画像合成部512では、仮想
3次元空間演算部500による仮想3次元空間の設定情報
に従って疑似3次元画像の画像合成が行われる。
The image synthesizing unit 512 includes an image supply unit 514 and an image forming unit 516. Then, the image synthesizing unit 512 synthesizes the image of the pseudo three-dimensional image according to the setting information of the virtual three-dimensional space by the virtual three-dimensional space calculation unit 500.

さて、本3次元シミュレータ装置では、仮想3次元空
間を構成する3次元物体は、3次元のポリゴンに分割さ
れた多面体として表現されている。例えば、図17におい
て3次元物体300は、3次元のポリゴン(1)〜(6)
(ポリゴン(4)〜(6)は図示せず)に分割された多
面体として表現される。そして、この3次元のポリゴン
の各頂点の座標及び付随データ等(以下、頂点画像情報
と呼ぶ)が3次元画像情報記憶部552に記憶されてい
る。
By the way, in the present three-dimensional simulator device, the three-dimensional object forming the virtual three-dimensional space is represented as a polyhedron divided into three-dimensional polygons. For example, in FIG. 17, a three-dimensional object 300 is a three-dimensional polygon (1) to (6).
(Polygons (4) to (6) are not shown) are represented as polyhedrons. Then, the coordinates of each vertex of the three-dimensional polygon, accompanying data, and the like (hereinafter, referred to as vertex image information) are stored in the three-dimensional image information storage unit 552.

画像供給部514では、仮想3次元空間演算部500の設定
情報に従って、この頂点画像情報に対する回転、並進等
の各種の演算及び透視投影変換等の各種の座標変換が行
われる。そして、演算処理の終了した頂点画像情報は、
所定の順序に並び換えられた後、画像形成部516に出力
される。
In the image supply unit 514, various calculations such as rotation and translation, and various coordinate conversions such as perspective projection conversion are performed on the vertex image information in accordance with the setting information of the virtual three-dimensional space calculation unit 500. Then, the vertex image information for which the arithmetic processing has been completed is
After being rearranged in a predetermined order, the image is output to the image forming unit 516.

画像形成部516は、ポリゴン発生回路570とパレット回
路580を含んで構成され、ポリゴン発生回路570は、輪郭
点演算部324、ラインプロセッサ326を含んで構成され
る。画像形成部516では、ポリゴン内部の全ドットを所
定の色データ等で塗りつぶす演算処理が以下の手順で行
われる。
The image forming section 516 includes a polygon generating circuit 570 and a pallet circuit 580. The polygon generating circuit 570 includes a contour point calculating section 324 and a line processor 326. In the image forming unit 516, a calculation process of filling all the dots inside the polygon with predetermined color data or the like is performed in the following procedure.

即ち、まず、輪郭点演算部324において、ポリゴンの
輪郭線と走査線との交点である左右輪郭点が演算され
る。次に、ラインプロセッサ326により、これらの左右
輪郭点により囲まれた部分が指定された色データに塗り
つぶされる。その後、この塗りつぶされた色データはパ
レット回路580においてRGB変換され、CRT518より出力表
示される。
That is, first, the contour point calculation unit 324 calculates left and right contour points, which are intersections between the contour line of the polygon and the scanning line. Next, the line processor 326 paints the portion surrounded by these left and right contour points with the designated color data. Thereafter, the filled color data is subjected to RGB conversion in the palette circuit 580, and is output and displayed from the CRT 518.

さて、以上の構成の3次元シミュレータ装置では、画
像供給部514にて以下のような演算を行っている。
Now, in the three-dimensional simulator apparatus having the above configuration, the following calculation is performed by the image supply unit 514.

即ち、ドライビングゲームを例にとれば、図19に示す
ように、3次元画像情報記憶部552から読み出されたハ
ンドル、ビル、看板等を表す3次元オブジェクト300、3
33、334が、ワールド座標系(XW、YW、ZW)で表現さ
れる3次元空間上に配置される。その後、これらの3次
元オブジェクトを表す画像情報は、プレーヤ302の視点
を基準とした視点座標系(Xv、Yv、Zv)へと座標変換さ
れる。
That is, taking the driving game as an example, as shown in FIG. 19, the three-dimensional objects 300 and 3 representing the steering wheel, the building, the signboard, and the like read from the three-dimensional image information storage unit 552.
33 and 334 are arranged on a three-dimensional space represented by a world coordinate system (XW, YW, ZW). Thereafter, the image information representing these three-dimensional objects is coordinate-transformed into a viewpoint coordinate system (Xv, Yv, Zv) based on the viewpoint of the player 302.

次に、いわゆるクリッピング処理と呼ばれる画像処理
が行われる。ここで、クリッピング処理とはプレーヤ30
2の視野外(又は3次元空間上で開かれたウィンドウの
視野外)にある画像情報、即ちクリッピング面1、2、
3、4、5、6により囲まれる領域(以下表示領域20と
する)の外にある画像情報を除去する画像処理をいう。
つまり、本3次元シミュレータ装置によりその後の処理
に必要とされる画像情報は、プレーヤ302の視野内にあ
る画像情報のみである。したがって、これ以外の情報を
あらかじめ除去しておけば、その後の処理の負担を減ら
すことができる。即ち、プレーヤ302の周りには、360度
全方向に物体が存在するので、このうちの視野内にある
物体のみを処理するようにすれば、その後に処理すべき
データ量は大幅に減り、特に、リアルタイムにて画像処
理を行う3次元シミュレータ装置においては、必須の画
像処理となる。
Next, image processing called clipping processing is performed. Here, the clipping process means that the player 30
Image information outside the field of view 2 (or outside the field of view of a window opened in three-dimensional space), ie, clipping planes 1, 2,.
Image processing for removing image information outside an area surrounded by 3, 4, 5, and 6 (hereinafter referred to as a display area 20).
That is, the image information required for the subsequent processing by the three-dimensional simulator is only the image information within the field of view of the player 302. Therefore, if other information is removed in advance, the load of subsequent processing can be reduced. That is, since objects exist in all directions around 360 degrees around the player 302, if only objects within the field of view are processed, the amount of data to be processed thereafter is greatly reduced, and in particular, In a three-dimensional simulator apparatus that performs image processing in real time, the image processing is indispensable.

これを図19により更に詳しく説明すると以下のように
なる。つまり、プレーヤ302の視野外(表示領域20の
外)にある物体、例えば視野から外れて後ろに通り過ぎ
て行く看板等を表す3次元オブジェクト334の画像情報
が除去される。この除去処理は、クリッピング面1〜6
のそれぞれの面について、表示領域の内にあるか外にあ
るかを判断し、全ての面について外にあった物体のみを
除去することで行われれる。
This will be described in more detail with reference to FIG. That is, image information of an object outside the field of view of the player 302 (outside the display area 20), for example, a three-dimensional object 334 representing a signboard or the like passing out of view and passing behind is removed. This removal processing is performed on the clipping surfaces 1 to 6
Is determined by determining whether each of the surfaces is inside or outside the display area, and removing only objects outside of all the surfaces.

これに対して、表示領域20の境界にあるビル等の3次
元オブジェクト333では、表示領域20の外にある部分が
除去され、表示領域20の内にある部分のみがその後の画
像処理に使用される。また、表示領域20内に完全に含ま
れているハンドル等の3次元オブジェクト300の画像情
報は、そのままその後の画像処理に使用されることとな
る。
On the other hand, in the three-dimensional object 333 such as a building at the boundary of the display area 20, the part outside the display area 20 is removed, and only the part inside the display area 20 is used for the subsequent image processing. You. Further, the image information of the three-dimensional object 300 such as the handle completely included in the display area 20 is used as it is for subsequent image processing.

最後に、表示領域20内にある物体に対してのみ、スク
リーン座標系(XS、YS)への透視投影変換が行われ、
その後、ソーティング処理が行われる。
Finally, the perspective projection transformation to the screen coordinate system (XS, YS) is performed only on the object within the display area 20,
After that, a sorting process is performed.

さて、以上述べたように、クリッピング処理は、クリ
ッピング処理後の画像処理に使用される画像データを大
幅に減らすことができるため、この種の3次元シミュレ
ータ装置装置においては、必須の画像処理となる。
As described above, since the clipping process can greatly reduce the image data used for the image processing after the clipping process, it is an essential image process in this kind of three-dimensional simulator device. .

しかしながら、図19に示すように、このクリッピング
処理は、クリッピング面1〜6の全ての面について行わ
なければならなく、実際上、この3次元演算部316にお
いては、最も回路全体のスピードを律速する画像処理と
なっていた。
However, as shown in FIG. 19, this clipping process must be performed for all of the clipping planes 1 to 6, and in practice, in the three-dimensional operation unit 316, the speed of the entire circuit is most limited. Image processing.

特に、リアルタイムに疑似3次元画像の画像処理を行
わなければならない3次元シミュレータ装置、即ち、例
えば(1/60)秒毎に表示画面を切り替えて行く装置で
は、スピードの低下は、そのまま画質の低下となってし
まい、大きな問題となる。したがって、かかるクリッピ
ング処理の高速化、最適化を図ることは、この種の3次
元シミュレータ装置では大きな技術的課題となる。
In particular, in a three-dimensional simulator device which must perform image processing of a pseudo three-dimensional image in real time, that is, a device in which a display screen is switched every (1/60) second, for example, a decrease in speed directly decreases the image quality. It becomes a big problem. Therefore, speeding up and optimizing such clipping processing is a major technical problem in this type of three-dimensional simulator.

[発明の開示] 本発明は、以上ような技術の課題に鑑みなされたもの
であり、その目的とするところは、特にリアルタイムに
画像処理を行う3次元シミュレータ装置に最適な、高速
のクリッピング処理装置を提供することにある。
DISCLOSURE OF THE INVENTION The present invention has been made in view of the above-described technical problems, and has as its object to provide a high-speed clipping processing apparatus which is particularly suitable for a three-dimensional simulator apparatus which performs image processing in real time. Is to provide.

前記目的を達成するために、本発明は、複数のポリゴ
ンの集合で表現された3次元オブジェクトに対して複数
のクリッピング面を用いたクリッピング処理を施すため
のクリッピング処理装置であって、 クリッピング処理に用いる前記クリッピング面を指定
するためのインデックスデータを格納する手段を含み、
該インデックスデータをクリッピング処理を施す順に該
格納手段の最上位の格納場所から下位の格納場所へと格
納することでクリッピング面のプライオリティを記憶す
る手段と、 前記プライオリティ記憶手段に対して前記インデック
スデータの初期値を設定する手段と、 前記プライオリティ記憶手段からクリッピング面のイ
ンデックスデータを読み出す手段と、 前記読み出し手段により読み出されたインデックスデ
ータを変更して前記プライオリティ記憶手段に書き戻す
プライオリティ変更手段と、 前記読み出し手段により前記格納手段の最上位の格納
場所から順に読み出されるインデックスデータにより指
定されるクリッピング面を用いて、処理対象となるポリ
ゴンに対してクリッピング演算処理を施すクリッピング
演算手段とを含み、 前記クリッピング演算手段が、処理対象となるポリゴ
ンが前記クリッピング面についての表面領域あるいは境
界領域あるいは表示外領域のいずれにあるかを判定する
内外判定手段と、該内外判定手段により該ポリゴンが境
界領域にあると判定された場合には該ポリゴンと前記ク
リッピング面との内分点を演算する手段と、該内外判定
手段により該ポリゴンが表示外領域にあると判定された
場合には該ポリゴンを無効にする演算処理を施す手段と
を含み、 前記プライオリティ変更手段が、処理対象となったポ
リゴンが前記クリッピング演算手段によりクリッピング
面についての表示外領域にあるとされた場合には、当該
クリッピング面のインデックスデータを前記格納手段の
最上位の格納場所に転送する手段を含むことを特徴とす
る。
In order to achieve the above object, the present invention provides a clipping processing apparatus for performing a clipping process using a plurality of clipping planes on a three-dimensional object represented by a set of a plurality of polygons. Means for storing index data for specifying the clipping plane to be used,
Means for storing the priority of the clipping plane by storing the index data from the highest storage location to the lower storage location of the storage means in the order in which the clipping process is performed; and storing the priority of the index data in the priority storage means. Means for setting an initial value; means for reading the index data of the clipping plane from the priority storage means; priority changing means for changing the index data read by the reading means and writing it back to the priority storage means; Clipping operation means for performing a clipping operation process on a polygon to be processed by using a clipping surface designated by index data sequentially read from the highest storage location of the storage means by the reading means, An inside / outside determination unit configured to determine whether a polygon to be processed is located in a surface area, a boundary area, or a non-display area of the clipping surface; and the inside / outside determination unit sets the polygon to a boundary area. Means for calculating an internal dividing point between the polygon and the clipping plane when it is determined to be present, and invalidating the polygon when the polygon is determined to be in the display outside area by the inside / outside determination means. Means for performing an arithmetic operation, wherein the priority changing means determines that the processing target polygon is located in a non-display area of the clipping plane by the clipping arithmetic means. Is transferred to the uppermost storage location of the storage means.

本発明によれば、プライオリティ記憶手段には初期値
設定手段によりインデックスデータの初期値が設定され
る。そして処理対象となったポリゴンがクリッピング面
についての表示外領域にあるとされた場合には、当該ク
リッピング面のインデックスデータが格納手段の最上位
の格納場所に転送される。この結果、同じ3次元オブジ
ェクトに含まれるポリゴンに対してクリッピング処理を
接続して施して行くと、プライオリティ記憶手段に書き
込まれるプライオリティは最適なものとなる。これによ
り、クリッピング処理時間を統計的に減らすことがで
き、クリッピング処理速度を大幅に向上させることがで
きる。この結果、特に、リアルタイムに画像合成を行う
3次元シミュレータ装置に最適なクリッピング処理装置
を提供できることとなる。
According to the present invention, the initial value of the index data is set in the priority storage means by the initial value setting means. If it is determined that the polygon to be processed is located outside the display area of the clipping plane, the index data of the clipping plane is transferred to the highest storage location of the storage unit. As a result, when the clipping process is connected to polygons included in the same three-dimensional object and performed, the priority written in the priority storage unit is optimized. As a result, the clipping processing time can be statistically reduced, and the clipping processing speed can be greatly improved. As a result, it is possible to provide a clipping processing device most suitable for a three-dimensional simulator device that performs image synthesis in real time.

また、本発明は、前記プライオリティ変更手段が、処
理対象となったポリゴンが前記クリッピング演算手段に
よりクリッピング面についての表示外領域にあるとされ
た場合には、当該クリッピング面のインデックスデータ
を前記格納手段の最上位の格納場所に転送するととも
に、前記最上位の格納場所から、転送された前記インデ
ックスデータの格納場所の1つ上位の格納場所までに格
納されているインデックスデータを、順次繰り下げて下
位の格納場所に転送する手段を含むことを特徴とする。
Also, the present invention is characterized in that when the priority changing means determines that the polygon to be processed is located in a non-display area of the clipping plane by the clipping calculating means, the index data of the clipping plane is stored in the storage means. And the index data stored from the highest storage location to the storage location one level higher than the storage location of the transferred index data is sequentially decremented to the lowermost storage location. It is characterized by including means for transferring to a storage location.

本発明によれば、処理対象となったポリゴンがクリッ
ピング面についての表示外領域にあるとされた場合に
は、当該クリッピング面のインデックスデータが、格納
手段の最上位の格納場所に転送されるのみならず、他の
インデックスデータはそのまま順次繰り下がって下位の
格納場所に転送される。これにより、クリッピングアウ
トさせやすいクリッピング面のインデックスデータが、
格納手段の最上位から順に格納されて行くことになる。
この結果、例えば最上位にあるインデックスデータによ
り指定されるクリッピング面によりクリッピングアウト
できなくても、次のインデックスデータにより指定され
るクリッピング面によりクリッピングアウトすることが
可能となり、クリッピング処理時間を更に減少させるこ
とが可能となる。
According to the present invention, if the polygon to be processed is determined to be in the non-display area of the clipping plane, the index data of the clipping plane is only transferred to the highest storage location of the storage unit. Instead, the other index data is sequentially moved down and transferred to a lower storage location. As a result, the index data of the clipping plane that is easy to clip out
The data is stored sequentially from the top of the storage means.
As a result, for example, even if clipping out cannot be performed by the clipping plane specified by the top index data, clipping out can be performed by the clipping plane specified by the next index data, and the clipping processing time is further reduced. It becomes possible.

また、本発明は、3次元オブジェクトを構成するポリ
ゴンに対して前記クリッピング処理を施す前に、当該3
次元オブジェクト全体についての前処理を行う手段を更
に含み、 前記前処理手段が、 前記クリッピング面を含むように形成された所定幅の
トリビアルクリッピング用のゾーンを設定し、前記3次
元オブジェクトが、該ゾーンについての表示領域あるい
は境界領域あるいは表示外領域のいずれにあるかを判定
する前処理判定手段と、 該前処理判定手段により、当該3次元オブジェクトが
前記ゾーンについての表示領域あるいは表示外領域にあ
ると判定された場合には当該3次元オブジェクトを構成
するポリゴンに対するクリッピング処理を省略し、前記
ゾーンについての境界領域にあると判定された場合には
当該3次元オブジェクトを構成するポリゴンに対してク
リッピング処理を施すことを指定する手段とを含むこと
を特徴とする。
Further, the present invention provides a method for performing the clipping process on a polygon constituting a three-dimensional object.
The apparatus further includes means for performing pre-processing on the entire three-dimensional object, wherein the pre-processing means sets a zone for trivial clipping having a predetermined width formed so as to include the clipping plane, and And a pre-processing determination unit that determines whether the three-dimensional object is located in the display region or the non-display region of the zone. If determined, the clipping process for the polygons constituting the three-dimensional object is omitted, and if determined to be in the boundary area of the zone, the clipping process is performed for the polygons constituting the three-dimensional object. Means for designating the application.

本発明によれば、あらかじめ3次元オブジェクトが、
トリビアルクリッピング用のゾーンについての表示領
域、境界領域、表示外領域のいずれかにあるかが判断さ
れる。そして、3次元オブジェクトが、ゾーンについて
の表示領域あるいは表示外領域にあると判断された場合
は、当該3次元オブジェクトに含まれるポリゴンのクリ
ッピング処理を行われない。この結果、処理の総量を大
幅に減らすことができ、クリッピング処理速度を大幅に
向上させることができる。
According to the present invention, the three-dimensional object is
It is determined whether the zone for the trivial clipping is in the display area, the boundary area, or the non-display area. If it is determined that the three-dimensional object is in the display area or the non-display area of the zone, the clipping processing of the polygon included in the three-dimensional object is not performed. As a result, the total amount of processing can be significantly reduced, and the clipping processing speed can be significantly improved.

また、本発明は、前記クリッピング演算手段に含まれ
る前記内分点演算手段が、前記内分点演算に使用される
演算係数を変更することにより処理の対象となるポリゴ
ンに対して透視投影変換処理を施す手段を含むことを特
徴とする。
Also, the present invention provides a perspective projection conversion process for a polygon to be processed, wherein the interior dividing point computing unit included in the clipping computing unit changes an operation coefficient used for the interior dividing point calculation. Characterized in that it includes means for applying

本発明によれば、クリッピング処理のみならず透視投
影変換処理も1つのクリッピング処理装置により行うこ
とができるため、ハードウェアの小規模化を図ることが
できる。この結果、装置のコストパーフォーマンスを高
めることができる また、本発明は、前記初期値設定手段により設定され
る初期値を、ポリゴンにより構成される3次元オブジェ
クトの表示状態に応じて3次元オブジェクト毎に設定す
る手段を含むことを特徴とする。
According to the present invention, not only the clipping processing but also the perspective projection conversion processing can be performed by one clipping processing apparatus, so that the hardware can be downsized. As a result, it is possible to improve the cost performance of the apparatus. In addition, the present invention sets the initial value set by the initial value setting means for each three-dimensional object in accordance with the display state of the three-dimensional object composed of polygons. Is included.

本発明によれば、3次元オブジェクト毎にプライオリ
ティの初期値を設定することができるため、3次元オブ
ジェクトの表示状態に応じてこの初期値を変更すること
で、最適なクリッピング処理を行うことが可能となる。
According to the present invention, the initial value of the priority can be set for each three-dimensional object. Therefore, by changing the initial value according to the display state of the three-dimensional object, it is possible to perform an optimal clipping process. Becomes

また、本発明は、上記クリッピング処理装置を含む3
次元シミュレータ装置であって、 前記クリッピング処理装置によりクリッピング処理が
施されたポリゴンを用いて、仮想3次元空間において観
者から見える視界画像を合成する画像合成手段を少なく
とも含むことを特徴とする。
In addition, the present invention provides a 3
A three-dimensional simulator device, characterized by including at least an image synthesizing means for synthesizing a view image viewed by a viewer in a virtual three-dimensional space using the polygons subjected to the clipping processing by the clipping processing device.

本発明によれば、クリッピング処理装置によりクリッ
ピング処理を施すことで、画像合成手段において処理し
なければならないポリゴンの数を大幅に減少させること
ができ、リアルタイムな画像合成が可能な3次元シミュ
レータ装置を提供できることとなる。
ADVANTAGE OF THE INVENTION According to this invention, the number of polygons which need to be processed by an image synthesis means can be reduced sharply by performing a clipping process by a clipping processing apparatus, and the three-dimensional simulator apparatus which can perform real-time image synthesis is provided. It can be provided.

[図面の簡単な説明] 図1は、本発明に係るクリッピング処理装置の好適な
一例について示すブロック図である。
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram showing a preferred example of a clipping processing device according to the present invention.

図2は、本発明に係るクリッピング処理装置が適用さ
れた3次元シミュレータ装置の一例を示すブロック図で
ある。
FIG. 2 is a block diagram showing an example of a three-dimensional simulator to which the clipping processing device according to the present invention is applied.

図3は、テクスチャマッピングの概念について説明す
る概略説明図である。
FIG. 3 is a schematic explanatory diagram illustrating the concept of texture mapping.

図4(A)、(B)は、本実施例により取り扱われる
データのデータフォーマットの一例を示すものである。
FIGS. 4A and 4B show an example of a data format of data handled by the present embodiment.

図5は、本発明に係るクリッピング処理装置が適用さ
れた画像供給部の一例を示すブロック図である。
FIG. 5 is a block diagram illustrating an example of an image supply unit to which the clipping processing device according to the present invention is applied.

図6(A)、(B)、(C)は、本実施例に係るクリ
ッピング処理装置をリエントラントモードで使用する場
合について示す概略説明図である。
FIGS. 6A, 6B, and 6C are schematic explanatory diagrams illustrating a case where the clipping processing apparatus according to the present embodiment is used in the reentrant mode.

図7(A)、(B)、(C)、(D)は、初期モード
指定データ、プライオリティ指定データの一例及びクリ
ッピングレジスタの書換え動作について示す概略説明図
である。
FIGS. 7A, 7B, 7C, and 7D are schematic explanatory diagrams showing an example of initial mode designation data, priority designation data, and a rewriting operation of a clipping register.

図8(A)、(B)、(C)、(D)、(E)は、本
実施例に係るクリッピング処理装置の適用例について示
す概略説明図である。
FIGS. 8A, 8B, 8C, 8D, and 8E are schematic explanatory diagrams showing an application example of the clipping processing device according to the present embodiment.

図9は、トリビアルクリッピング処理を行う場合のク
リッピング処理装置の構成を示すブロック図である。
FIG. 9 is a block diagram showing a configuration of a clipping processing device when performing a trivial clipping process.

図10は、トリビアルクリッピング処理の手法について
説明するための概略説明図である。
FIG. 10 is a schematic explanatory diagram for explaining a technique of the trivial clipping process.

図11は、プライオリティレジスタ(プライオリティ記
憶手段)の具体的な回路構成を示すブロック図である。
FIG. 11 is a block diagram showing a specific circuit configuration of a priority register (priority storage means).

図12は、プライオリティ変更部の具体的な回路構成を
示すブロック図である。
FIG. 12 is a block diagram illustrating a specific circuit configuration of the priority changing unit.

図13(A)、(B)、(C)、(D)は、デコード信
号及びプライオリティレジスタの動作を示す概略説明図
である。
FIGS. 13A, 13B, 13C, and 13D are schematic explanatory diagrams showing operations of the decode signal and the priority register.

図14は、クリッピング演算部におけるクリッピング演
算手法を説明するための概略説明図である。
FIG. 14 is a schematic explanatory diagram for explaining a clipping calculation method in the clipping calculation unit.

図15は、クリッピング演算部の具体的な回路構成を示
すブロック図である。
FIG. 15 is a block diagram illustrating a specific circuit configuration of the clipping operation unit.

図16(A)、(B)、(C)、(D)は、プライオリ
ティ変更及び並列接続による処理速度の向上について説
明するための概略説明図である。
FIGS. 16 (A), (B), (C) and (D) are schematic illustrations for explaining an improvement in processing speed by priority change and parallel connection.

図17は、従来の3次元シミュレータ装置の概念につい
て説明するための概略説明図である。
FIG. 17 is a schematic explanatory diagram for explaining the concept of a conventional three-dimensional simulator device.

図18は、従来の3次元シミュレータ装置の構成につい
て示す概略ブロック図である。
FIG. 18 is a schematic block diagram showing a configuration of a conventional three-dimensional simulator device.

図19は、画像供給部での画像処理演算について説明す
るための概略説明図である。
FIG. 19 is a schematic explanatory diagram for describing an image processing operation in the image supply unit.

[発明を実施するための最良の形態] (実施例の目次) 1.3次元シミュレータ装置全体の説明 2.画像供給部の説明 (1)初期設定 (2)フレームデータの転送 (3)オブジェクトデータの転送 (4)座標変換部等での動作 3.クリッピング処理装置の説明 (1)構成及び動作 (2)適用例 (3)トリビアルクリッピング・リジェクト 4.具体例 (1)プライオリティ変更部、プライオリティレジス
タ等 (2)クリッピング演算部 (3)プライオリティ変更及び並列接続による処理速
度の向上 1.3次元シミュレータ装置全体の説明 まず、3次元シミュレータ装置の全体について説明す
る。
BEST MODE FOR CARRYING OUT THE INVENTION (Table of contents of the embodiment) 1.3 Description of the whole simulator device 2. Description of image supply unit (1) Initial setting (2) Transfer of frame data (3) Transfer of object data (4) Operation in coordinate conversion unit, etc. 3. Description of clipping processing device (1) Configuration and operation (2) Application example (3) Trivial clipping / reject 4. Specific example (1) Priority change unit, priority register, etc. 2) Clipping calculation unit (3) Improvement of processing speed by priority change and parallel connection 1.3 Overall description of 1.3D simulator First, the entire 3D simulator will be described.

本3次元シミュレータ装置は、図2に示すように、操
作部412、仮想3次元空間演算部413、画像合成部401、C
RT446を含んで構成される。また、画像合成部401は、画
像供給部410、画像形成部428を含んで構成される。な
お、以下の説明では、本3次元シミュレータ装置を3次
元ゲームに適用した場合を例にとり説明する。
As shown in FIG. 2, the present three-dimensional simulator apparatus includes an operation unit 412, a virtual three-dimensional space calculation unit 413, an image synthesis unit 401,
It includes RT446. Further, the image synthesizing unit 401 includes an image supply unit 410 and an image forming unit 428. In the following description, a case where the present three-dimensional simulator device is applied to a three-dimensional game will be described as an example.

仮想3次元空間演算部413では、中央処理部414内に格
納されたゲームプログラムと、操作部412からの操作信
号とにより仮想3次元空間の設定が行われる。具体的に
は、仮想3次元空間を構成する3次元オブジェクト(例
えば、敵飛行機、山、ビル等)の位置・方向情報、プレ
ーヤの位置・視野方向情報等により構成される仮想3次
元空間設定情報が演算され、画像合成部401内の画像供
給部410へと出力される。
In the virtual three-dimensional space calculation unit 413, a virtual three-dimensional space is set based on a game program stored in the central processing unit 414 and an operation signal from the operation unit 412. More specifically, virtual three-dimensional space setting information composed of position / direction information of three-dimensional objects (for example, enemy airplanes, mountains, buildings, etc.) constituting a virtual three-dimensional space, position / view direction information of a player, and the like. Is calculated and output to the image supply unit 410 in the image synthesis unit 401.

画像供給部410では、前記の仮想3次元空間設定情報
に従って、所定の演算処理が行われる。具体的には、絶
対座標系から視点座標系への座標変換、クリッピング処
理、透視投影変換、ソーティング処理等の演算処理が行
われ、画像形式部428へとデータが出力される。この場
合、出力されるデータはポリゴン毎に分割されたデータ
として表現されており、具体的にはポリゴンの各頂点の
位置座標、テクスチャ座標、その他の付随情報等の頂点
画像情報から構成されている。なお、この画像供給部41
0の構成及び動作の詳細については後述する。
In the image supply unit 410, predetermined arithmetic processing is performed in accordance with the virtual three-dimensional space setting information. Specifically, arithmetic processing such as coordinate conversion from the absolute coordinate system to the viewpoint coordinate system, clipping processing, perspective projection conversion, sorting processing, and the like are performed, and data is output to the image format unit 428. In this case, the output data is expressed as data divided for each polygon, and specifically, is configured from vertex image information such as position coordinates, texture coordinates, and other accompanying information of each vertex of the polygon. . The image supply unit 41
Details of the configuration and operation of 0 will be described later.

画像形成部428は、このポリゴンの各頂点ごとに与え
られた頂点画像情報に基づいてポリゴン内部の画像情報
を演算して、これをCRT446に出力するものである。
The image forming unit 428 calculates image information inside the polygon based on the vertex image information given for each vertex of the polygon, and outputs this to the CRT 446.

さて、本実施例の3次元シミュレータ装置では、より
高品質の画像をより効率よく画像合成すべく、テクスチ
ャマッピング手法及びグーローシェーディング手法と呼
ぶ手法により画像合成を行っている。以下、これらの手
法の概念について簡単に説明する。
In the three-dimensional simulator apparatus of the present embodiment, image synthesis is performed by a method called a texture mapping method and a Gouraud shading method in order to more efficiently synthesize a high-quality image. Hereinafter, the concepts of these techniques will be briefly described.

図3には、テクスチャマッピング手法の概念について
示される。
FIG. 3 shows the concept of the texture mapping method.

図3に示すような3次元オフジェクト332の各面に例
えば格子状、縞状の模様等が施されたものを画像合成す
る場合には、従来は、3次元オブジェクトを、3次元ポ
リゴン(1)〜(80)(3次元ポリゴン(41)〜(80)
については図示せず)に分割し、これらの全てのポリゴ
ンに対して画像処理を行っていた。その理由は、従来の
3次元シミュレータ装置では、1つのポリゴン内の色の
塗りつぶしは、指定された一つの色でしか行えなかった
ためである。この結果、複雑な模様等が施された高品質
な画像を合成する場合には、ポリゴン数が非常に増加し
てしまうため、実質的に、このような高品質の画像を合
成することは不可能であった。
Conventionally, when an image is formed by combining, for example, a lattice-like or striped pattern on each surface of a three-dimensional object 332 as shown in FIG. )-(80) (3-dimensional polygon (41)-(80)
Are not shown), and image processing is performed on all of these polygons. The reason for this is that in the conventional three-dimensional simulator device, a color in one polygon can be painted only with one designated color. As a result, when synthesizing a high-quality image on which a complicated pattern or the like is applied, the number of polygons increases significantly. Therefore, it is practically impossible to synthesize such a high-quality image. It was possible.

そこで、本3次元シミュレータ装置では、3次元オブ
ジェクト332の回転、並進、透視投影変換等の座標変換
及びクリッピング等の処理を、各面を構成する3次元ポ
リゴンA、B、Cごとに行い(具体的には各3次元ポリ
ゴンの頂点ごと)、格子状、縞状の模様については、テ
クスチャとして取り扱い、ポリゴンの処理と分割して処
理を行っている。即ち、図2に示すように画像形成部42
8内にはテクスチャ情報記憶部442が設けられ、この中に
は各3次元ポリゴンにはり付けるべきテクスチャ情報、
つまり格子状、縞状の模様等の画像情報が記憶されてい
る。
Therefore, in the present three-dimensional simulator apparatus, processing such as rotation, translation, and perspective transformation of the three-dimensional object 332 and processing such as clipping are performed for each of the three-dimensional polygons A, B, and C constituting each surface (specifically, (Each vertex of each three-dimensional polygon), a lattice-like pattern, and a stripe-like pattern are treated as textures, and are processed separately from polygon processing. That is, as shown in FIG.
8 is provided with a texture information storage unit 442, in which texture information to be attached to each three-dimensional polygon,
That is, image information such as a lattice pattern or a stripe pattern is stored.

そして、このテクスチャ情報を指定するテクスチャ情
報記憶部442のアドレスを、各3次元ポリゴンの各頂点
のテクスチャ座標VTX、VTYとして与えておく。具体的に
は、図3に示すように、ポリゴンAの各頂点に対して
は、(VTX0、VTY0)、(VTX1、VTY1)、(VTX2、VTY
2)、(VTX3、VTY3)のテクスチャ座標が設定される。
Then, the address of the texture information storage unit 442 specifying the texture information is given as the texture coordinates VTX and VTY of each vertex of each three-dimensional polygon. Specifically, as shown in FIG. 3, for each vertex of polygon A, (VTX0, VTY0), (VTX1, VTY1), (VTX2, VTY
2), (VTX3, VTY3) texture coordinates are set.

画像形成部428内のプロセッサ部430では、この各頂点
のテクスチャ座標VTX、VTYから、ポリゴン内の全てのド
ットについてのテクスチャ座標TX、TYが求められる。
そして、求められたテクスチャ座標TX、TYにより、テ
クスチャ情報記憶部442から対応するテクスチャ情報が
読み出され、パレット&ミキサ回路444に出力される。
これにより、図3に示すような、格子状、縞状等のテク
スチャが施された3次元オブジェクトを画像合成するこ
とが可能となる。
The processor unit 430 in the image forming unit 428 obtains the texture coordinates TX and TY for all the dots in the polygon from the texture coordinates VTX and VTY of each vertex.
Then, based on the determined texture coordinates TX and TY, the corresponding texture information is read from the texture information storage unit 442 and output to the pallet & mixer circuit 444.
This makes it possible to synthesize an image of a three-dimensional object on which a texture such as a lattice or a stripe is applied as shown in FIG.

また、本3次元シミュレータ装置では前記したように
3次元オブジェクト332を3次元ポリゴンの固まりとし
て表現している。したがって、各3次元ポリゴンの境界
における輝度情報の連続性が問題となる。例えば複数の
3次元ポリゴンを用いて球を表現しようとする場合、3
次元ポリゴン内の全ドットが全て同じ輝度に設定される
と、実際は「丸み」を表現したいのに、各3次元ポリゴ
ンの境界が「丸み」として表現されない事態が生じる。
そこで、本3次元シミュレータ装置では、グーローシェ
ーディングと呼ばれる手法によりこれを回避している。
この手法では、前記したテクスチャマッピング手法と同
様に、3次元ポリゴンの各頂点に図3に示すように各頂
点の輝度情報VBRI0〜VBRI3を与えておき、画像形成部42
8で最終的に画像表示する際に、この各頂点の輝度情報V
BRI0〜VBRI3より3次元ポリゴン内の全てのドットにつ
いての輝度情報を補間により求めている。
Further, in the present three-dimensional simulator, the three-dimensional object 332 is represented as a cluster of three-dimensional polygons as described above. Therefore, the continuity of the luminance information at the boundary of each three-dimensional polygon becomes a problem. For example, when trying to represent a sphere using a plurality of three-dimensional polygons, 3
If all the dots in the three-dimensional polygon are set to the same luminance, a situation occurs in which the boundary of each three-dimensional polygon is not expressed as “roundness”, although the user actually wants to express “roundness”.
Therefore, the three-dimensional simulator avoids this by a method called Gouraud shading.
In this method, the luminance information VBRI0 to VBRI3 of each vertex is given to each vertex of the three-dimensional polygon as shown in FIG.
When the image is finally displayed in step 8, the luminance information V of each vertex
From BRI0 to VBRI3, luminance information for all dots in the three-dimensional polygon is obtained by interpolation.

以上のように、本3次元シミュレータ装置は、テクス
チャマッピング手法及びグーローシェーディング手法を
用いて、高画質で高速の画像処理が可能となる構成とな
っている。そして、これにより、ポリゴンの画像情報
は、ポリゴンの頂点表示座標、頂点テクスチャ座標、頂
点輝度情報等の複数個のデータが連なったデータとして
構成されることになる。更に、同一の3次元オブジェク
トに共通のデータであるオブジェクトデータ、同一のフ
レーム内で共通のデータであるフレームデータも存在す
る。図4には、これらのデータフォーマットの一例が示
される。したがって、同図に示すような複数個のデータ
が連なって一区切りとなったデータを、画像供給部410
内において、どのようにして効率よく、適正に処理する
かが、一つの大きな技術的課題となる。
As described above, the three-dimensional simulator apparatus is configured to perform high-quality and high-speed image processing using the texture mapping method and the Gouraud shading method. Thus, the image information of the polygon is configured as data in which a plurality of data such as vertex display coordinates, vertex texture coordinates, and vertex luminance information of the polygon are linked. Further, there are object data which is data common to the same three-dimensional object, and frame data which is data common within the same frame. FIG. 4 shows an example of these data formats. Therefore, the data that is divided into a plurality of pieces of data as shown in FIG.
One of the major technical issues is how to perform processing efficiently and properly.

なお、以下、説明を簡単にするために、図4に示すよ
うに、頂点輝度情報VBRI0〜VBRI3をI0〜I3と、頂点テク
スチャ座標VTX0〜VTY3をTX0〜TY3と、頂点座標VX0〜V
Z3をX0〜Z3と表すこととする。
Note that, in order to simplify the description, as shown in FIG.
Z3 is represented as X0 to Z3.

2.画像供給部の説明 画像供給部410は、図5に示すように、処理部415、3
次元画像情報記憶部416、座標変換部418、クリッピング
処理装置420、出力フォーマット変換部421、ソーティン
グ処理部422を含んでいる。
2. Description of Image Supply Unit The image supply unit 410 includes, as shown in FIG.
It includes a dimensional image information storage unit 416, a coordinate conversion unit 418, a clipping processing unit 420, an output format conversion unit 421, and a sorting processing unit 422.

以下、画像供給部410の構成及び動作について、例え
ば、ドライビングゲームに本3次元シミュレータ装置を
適用した場合を例に説明する。
Hereinafter, the configuration and operation of the image supply unit 410 will be described by taking, as an example, a case where the present three-dimensional simulator apparatus is applied to a driving game.

(1)初期設定 本3次元シミュレータ装置に電源が投入されると、仮
想3次元空間演算部413(中央処理部414)から処理部41
5を介して、ドライビングゲームを構成する要素である
レーシングカー、ハンドル、道路等を表す3次元オブジ
ェクトの画像情報が、3次元画像情報記憶部416に書き
込まれる。本3次元シミュレータ装置は、この3次元オ
ブジェクトの画像情報に座標変換、回転、並進等の各種
の画像演算処理を行い、ドライビング仮想3次元空間を
形成するものである。
(1) Initial setting When the power of the present three-dimensional simulator is turned on, the virtual three-dimensional space calculation unit 413 (central processing unit 414) switches to the processing unit 41.
Through 5, image information of a three-dimensional object representing a racing car, a steering wheel, a road, and the like, which are components of the driving game, is written to the three-dimensional image information storage unit 416. The present three-dimensional simulator apparatus performs various image calculation processes such as coordinate conversion, rotation, and translation on the image information of the three-dimensional object to form a driving virtual three-dimensional space.

なお、3次元画像情報記憶部416がROMである場合は、
この書き込みは必要とされない。
When the three-dimensional image information storage unit 416 is a ROM,
This writing is not required.

(2)フレームデータの転送 全ての3次元オブジェクトに共通する視点情報、即ち
プレーヤの視点位置・角度・視野角の情報、モニタの情
報等は、1フィールド毎、例えば(1/60)秒毎に更新さ
れ、仮想3次元空間演算部413から処理部415を介して座
標変換部418に転送される。座標変換部418では、このデ
ータを基に各種の座標変換が行われる。
(2) Transfer of frame data Viewpoint information common to all three-dimensional objects, that is, information on a player's viewpoint position, angle, and viewing angle, monitor information, and the like is provided every field, for example, every (1/60) second. The updated data is transferred from the virtual three-dimensional space calculation unit 413 to the coordinate conversion unit 418 via the processing unit 415. The coordinate conversion unit 418 performs various coordinate conversions based on the data.

また、モニタの角度・大きさ等の情報もクリッピング
処理用のデータとしてクリッピング処理装置420に転送
される。クリッピング処理装置420では、このデータを
基にクリッピング処理を行うクリッピング面等を演算
し、クリッピング処理を行う。
Also, information such as the angle and size of the monitor is transferred to the clipping processing device 420 as data for clipping processing. The clipping processing device 420 calculates a clipping plane or the like on which clipping processing is performed based on the data, and performs clipping processing.

これらの転送されるデータはフレームデータと呼ば
れ、図4(A)に示すように、各フレームの先頭に設定
される。
These transferred data are called frame data, and are set at the head of each frame as shown in FIG.

(3)オブジェクトデータの転送 仮想3次元空間を形成するためには、ドライビングゲ
ームを構成する要素であるレーシングカー、ハンドル、
道路等の各種の3次元オブジェクトを仮想3次元空間上
の所定位置に配置しなければならない。したがって、ど
の3次元オブジェクトを、どこに配置するかを表すオブ
ジェクトナンバ、位置情報が必要となる。これらのオブ
ジェクトナンバ、位置情報等は、仮想3次元空間演算部
413から処理部415へと転送される。
(3) Transfer of Object Data In order to form a virtual three-dimensional space, a racing car, a steering wheel,
Various three-dimensional objects such as roads must be arranged at predetermined positions in a virtual three-dimensional space. Therefore, an object number and position information indicating which three-dimensional object is to be arranged and where is needed. These object numbers, position information, and the like are stored in a virtual three-dimensional space operation unit.
Transferred from 413 to the processing unit 415.

次に、前記のオブジェクトナンバをアドレスとして、
3次元画像情報記憶部416から対応する3次元オブジェ
クトの画像情報が読み出される。即ち、例えばオブジェ
クトナンバがレーシングカーを指定するものである場合
は、このレーシングカーの画像情報が3次元画像情報記
憶部416から読み出される。3次元画像情報記憶部416に
は、レーシングカー等の画像情報が複数枚のポリゴンの
集合(多面体)として表現され格納されている。処理部
415は、データフォーマット形成部417により、この読み
出したデータからオブジェクトデータ及びポリゴンデー
タと呼ばれるデータを形成して、座標変換部418以下へ
と順次転送する。
Next, using the object number as an address,
The image information of the corresponding three-dimensional object is read from the three-dimensional image information storage unit 416. That is, for example, when the object number designates a racing car, the image information of the racing car is read from the three-dimensional image information storage unit 416. In the three-dimensional image information storage unit 416, image information of a racing car or the like is represented and stored as a set (polyhedron) of a plurality of polygons. Processing unit
The data format forming unit 415 forms data called object data and polygon data from the read data by the data format forming unit 417, and sequentially transfers the data to the coordinate conversion unit 418 and below.

ここで、オブジェクトデータとは、3次元オブジェク
トであるレーシングカーの位置情報、回転情報、その他
の付属データ等で構成されるデータをいう。また、ポリ
ゴンデータとは、前記レーシングカーの画像情報をポリ
ゴンに分割したデータであり、ポリゴンの頂点座標、頂
点テクスチャ座標、頂点輝度情報、その他の付属データ
で構成されるデータをいう。これらのデータは、データ
フォーマット形成部417により、図4に示すようなデー
タフォーマットで次段に送られる。
Here, the object data refers to data composed of position information, rotation information, other attached data, and the like of a racing car that is a three-dimensional object. The polygon data is data obtained by dividing the image information of the racing car into polygons, and is data composed of vertex coordinates, vertex texture coordinates, vertex luminance information, and other attached data of polygons. These data are sent to the next stage by the data format forming unit 417 in a data format as shown in FIG.

なお、このオブジェクトデータ内には、後述するよう
に、オブジェクト毎にクリッピング面を設定するための
データも含まれている。
The object data includes data for setting a clipping plane for each object, as described later.

(4)座標変換部等での動作 座標変換部418では、処理部415から転送されたプレー
ヤの視点情報と、処理部415から転送されたレーシング
カー位置情報、回転情報からなるオブジェクトデータを
もとに、ポリゴンデータに対して各種の座標変換が行わ
れる。即ち、ポリゴンデータに対するローカル座標系で
の回転、ワールド座標系への平行移動、視点座標系への
回転等が行われる。
(4) Operation in Coordinate Conversion Unit and the Like The coordinate conversion unit 418 is based on the viewpoint information of the player transferred from the processing unit 415 and the object data including the racing car position information and the rotation information transferred from the processing unit 415. Next, various coordinate transformations are performed on the polygon data. That is, rotation of the polygon data in the local coordinate system, translation to the world coordinate system, rotation to the viewpoint coordinate system, and the like are performed.

クリッピング処理装置420では、これらの座標変換が
終了したポリゴンデータに対してクリッピング処理が行
われる。このクリッピング処理を行うための平面方程式
は、前記したようにフレームデータとして転送されたも
のを用いて演算される。なお、クリッピング処理の詳細
については後述する。
The clipping processing device 420 performs a clipping process on the polygon data on which the coordinate conversion has been completed. The plane equation for performing the clipping process is calculated using the one transferred as the frame data as described above. The details of the clipping process will be described later.

出力フォーマット変換部421では、クリッピング処理
により多角形に変形してしまったポリゴンを例えば4角
形のポリゴンにフォーマット変換する処理が行われる。
フォーマット変換されたデータは、次段のソーティング
処理部422に出力される。
The output format conversion unit 421 performs a process of format-converting a polygon transformed into a polygon by the clipping process into, for example, a quadrilateral polygon.
The format-converted data is output to the next-stage sorting processing unit 422.

3.クリッピング処理装置の説明 (1)構成及び動作 本実施例に係るクリッピング処理装置420は、図1に
示すように、クリッピング面のインデックスデータをプ
ライオリティに従って記憶するプライオリティレジスタ
(プライオリティ記憶手段)170、プライオリティレジ
スタ170からインデックスデータの読み出しを行う読み
出し部190、プライオリティレジスタ170のデータを変更
するプライオリティ変更部160、セレクタ150、セレクタ
150から入力されたデータよりプライオリティレジスタ
に初期値を設定する初期値設定部152、全体の制御を行
う制御部154、クリッピング演算部200を含んで構成され
る。
3. Description of Clipping Processing Apparatus (1) Configuration and Operation As shown in FIG. 1, the clipping processing apparatus 420 according to the present embodiment includes a priority register (priority storage unit) 170 for storing index data of a clipping plane according to priority. A reading unit 190 for reading index data from the priority register 170, a priority changing unit 160 for changing data of the priority register 170, a selector 150, a selector
An initial value setting unit 152 that sets an initial value in a priority register from data input from 150, a control unit 154 that performs overall control, and a clipping operation unit 200 are included.

クリッピング演算部200では、実際のクリッピング処
理及び透視投影変換が行われている。具体的には、図19
に示すように、クリッピング面1〜6のそれぞれの面に
ついて、3次元オブジェクト300、333、334を構成する
それぞれのポリゴンごとに、表示領域20の内にあるか外
にあるかの内外判定が行われる。
In the clipping operation unit 200, actual clipping processing and perspective projection conversion are performed. Specifically, FIG.
As shown in FIG. 5, for each of the clipping planes 1 to 6, for each of the polygons constituting the three-dimensional objects 300, 333, and 334, an inside / outside determination is made as to whether the polygon is inside or outside the display area 20. Will be

例えば、3次元オブジェクト334を構成するポリゴン
は全て、完全に表示領域20の外にあるため、これらの画
像情報はその後の画像処理されるべきデータから除去さ
れる。また、3次元オブジェクト300については、全て
のポリゴンが表示領域20の内にあるため、これらの画像
情報は、そのままその後の画像処理に使用されることと
なる。更に、表示領域20の境界にある3次元オブジェク
ト333では、表示領域20の外にある部分が除去され、表
示領域20の内にある部分のみがその後の画像処理に使用
される。この場合は、境界により内分される点が演算さ
れ、これにより新たなポリゴンデータが形成される。
For example, since all the polygons forming the three-dimensional object 334 are completely outside the display area 20, these pieces of image information are removed from data to be subjected to subsequent image processing. Since all the polygons of the three-dimensional object 300 are within the display area 20, these pieces of image information are used as they are for subsequent image processing. Further, in the three-dimensional object 333 at the boundary of the display area 20, the part outside the display area 20 is removed, and only the part inside the display area 20 is used for the subsequent image processing. In this case, a point internally divided by the boundary is calculated, thereby forming new polygon data.

最後に、表示領域20内にある物体に対してのみ、スク
リーン座標系(XS、YS)への透視投影変換が行われ、
次段へとデータが送られる。この場合、クリッピング処
理及び透視投影変換は数学的に似た演算処理であるた
め、クリッピング演算部200は、このクリッピング処理
及び透視投影変換を全く同じ構成で演算処理できるよう
に構成されている。
Finally, the perspective projection transformation to the screen coordinate system (XS, YS) is performed only on the object within the display area 20,
Data is sent to the next stage. In this case, since the clipping process and the perspective projection transformation are mathematically similar computation processes, the clipping computation unit 200 is configured to perform the clipping process and the perspective projection transformation with exactly the same configuration.

さて、本実施例に係るクリッピング処理装置420は、
これらの複数のクリッピング面によるクリッピング処理
及び透視投影変換を、1つ又は複数のクリッピング処理
装置により行うことができるように構成されている。
By the way, the clipping processing device 420 according to the present embodiment,
The clipping processing and the perspective projection conversion using the plurality of clipping planes are configured to be performed by one or a plurality of clipping processing apparatuses.

前記した図1、図5に示す接続は、1つのみのクリッ
ピング処理装置420により、全てのクリッピング面によ
るクリッピング処理及び透視投影変換を行う場合の接続
を示したものである。このような接続構成とする場合に
は、クリッピング処理装置420は以下のような動作をす
る。
The connections shown in FIG. 1 and FIG. 5 show connections in the case where clipping processing and perspective projection conversion are performed on all clipping planes by only one clipping processing device 420. In the case of such a connection configuration, the clipping processing device 420 operates as follows.

即ち、まず、図6(A)に示すように、処理の終了し
たデータを出力後、新たなデータを入力され、一番初め
に行うべきクリッピング面によりクリッピング処理が行
われる。その後、同図(B)に示すように入力と出力が
接続され内部ループが作られる。これにより、一番初め
のクリッピング面によりクリッピング処理されたデータ
が入力に戻され、この戻されたデータに対して次のクリ
ッピング面によるクリッピング処理が行なわれる。
That is, as shown in FIG. 6A, after outputting the processed data, new data is input, and the clipping process is performed on the clipping plane to be performed first. Thereafter, the input and output are connected to form an inner loop as shown in FIG. As a result, the data clipped by the first clipping plane is returned to the input, and the returned data is subjected to clipping processing by the next clipping plane.

このようにして、順次、あらかじめ定められたクリッ
ピング面の順序に従ってクリッピング処理が行われた
後、最後に透視投影変換がなされ、内部ループが解除さ
れて、データが次段の出力フォーマット変換部421へと
出力される。
In this way, after the clipping process is sequentially performed in accordance with the predetermined order of the clipping plane, finally, the perspective projection conversion is performed, the inner loop is released, and the data is transmitted to the output format conversion unit 421 in the next stage. Is output.

なお、以下、このように内部ループを作って前に処理
したデータを入力に戻してクリッピング処理及び透視投
影変換を順次行うモードをリエントラントモードと呼ぶ
こととする。
Hereinafter, the mode in which the inner loop is formed and the previously processed data is returned to the input and the clipping process and the perspective projection conversion are sequentially performed is referred to as a reentrant mode.

図6(C)には、このクリッピング処理装置を複数段
設けて、上記処理を行う場合の例が示される。この場合
には、例えば、一段目のクリッピング処理装置420aに
て、初めの3面のクリッピング面によるクリッピング処
理が行われ、二段面のクリッピング処理装置420bにて、
残る3面のクリッピング処理及び透視投影変換が行われ
る。このようにクリッピング処理装置を直列に接続し、
それぞれのクリッピング処理装置間での処理をパイプラ
イン処理により行えば、クリッピング処理速度の大幅な
向上を図ることができる。ただし、この場合には、クリ
ッピング処理装置の個数が増えてしまうため、ハードウ
ェアの節約という意味では、1つのクリッピング処理装
置のみによってクリッピング処理を行う場合のが有利で
ある。
FIG. 6C shows an example in which the clipping processing device is provided in a plurality of stages and the above processing is performed. In this case, for example, in the first-stage clipping processing device 420a, the clipping process using the first three clipping surfaces is performed, and in the second-stage clipping processing device 420b,
The clipping process and perspective projection conversion of the remaining three surfaces are performed. In this way, the clipping devices are connected in series,
If processing between the respective clipping processing devices is performed by pipeline processing, the clipping processing speed can be greatly improved. However, in this case, since the number of clipping processing devices increases, it is advantageous to perform clipping processing with only one clipping processing device in terms of hardware saving.

さて、プライオリティレジスタ170には、クリッピン
グ処理装置内にて、どのようなクリッピング面の順序で
クリッピング処理を行うかを指定するデータが記憶され
ている。具体的には、クリッピング処理を行うクリッピ
ング面を指定するインデックスデータが、処理を行う順
序で記憶されている。
The priority register 170 stores data for specifying the order of the clipping planes in which the clipping process is performed in the clipping processing device. Specifically, index data that specifies a clipping plane on which clipping processing is performed is stored in the processing order.

そして、初期値設定部152は、このプライオリティレ
ジスタ170に、初期値を設定するものであり、この初期
値の設定は、セレクタ150により選択され入力される初
期モード指定データ及びプライオリティ指定データによ
り行われる。ここで、初期モード指定データは、3次元
シミュレータ装置全体のリセット時に設定されるデータ
である。また、プライオリティ指定データは、図4に示
すオブジェクトデータ内に含まれているものであり、こ
れにより、3次元オブジェクト単位で、クリッピング面
のプライオリティを指定することが可能となる。
The initial value setting unit 152 sets an initial value in the priority register 170. The setting of the initial value is performed by initial mode designation data and priority designation data selected and input by the selector 150. . Here, the initial mode designation data is data set when the entire three-dimensional simulator device is reset. Further, the priority designation data is included in the object data shown in FIG. 4, and thereby, it is possible to designate the priority of the clipping plane in units of three-dimensional objects.

図7(A)には、この初期モード指定データ、プライ
オリティ指定データの一例が示される。このデータは、
例えば8ビットのデータからなり、ビット0〜6がクリ
ッピング面の指定に、ビット7が透視投影変換を行うか
否かの指定に使用される。そして、各ビットが‘0'であ
る場合は指定を行わないという意味になり、‘1'である
場合は指定を行うという意味となる。更に、クリッピン
グ処理及び透視投影変換処理の順序は、同図(A)に示
すビットのLSBから順に行うように指定される。
FIG. 7A shows an example of the initial mode designation data and the priority designation data. This data is
For example, it is composed of 8-bit data. Bits 0 to 6 are used to specify a clipping plane, and bit 7 is used to specify whether or not to perform perspective projection conversion. When each bit is '0', it means that no designation is made, and when each bit is '1', it means that designation is made. Further, the order of the clipping process and the perspective projection conversion process is specified to be performed in order from the LSB of the bit shown in FIG.

これにより、初期モード指定データが図7(A)に示
すように設定されている場合は、ビット1、2、3、7
が‘1'となっているため、クリッピング面1、2、3の
順番でクリッピング処理を行い、その後透視投影変換を
行い出力するという意味となる。
Thus, when the initial mode designation data is set as shown in FIG. 7A, bits 1, 2, 3, 7
Is '1', which means that clipping processing is performed in the order of clipping planes 1, 2, and 3, and then perspective projection conversion is performed and output.

なお、図19に示すように、3次元空間でのクリッピン
グ処理は、実際上は多くとも6面のクリッピング面があ
れば足りる。しかし、本実施例では、図7(A)に示す
ように7面までのクリッピング処理が可能となるように
構成されている。これは、例えばゲーム等に本3次元シ
ミュレータ装置を適用した場合に、壁等にゲームのキャ
ラクタが消えてしまう等の映像効果を出す場合に有効で
ある。即ち、残りのクリッピング面をこの壁等に設定す
ることにより、キャラクタがこの壁に消えたり、すり抜
けるといった映像効果を出すことが可能となる。
As shown in FIG. 19, the clipping process in the three-dimensional space is actually sufficient if there are at most six clipping planes. However, in the present embodiment, as shown in FIG. 7A, the clipping processing for up to seven surfaces can be performed. This is effective, for example, when the present three-dimensional simulator apparatus is applied to a game or the like and a video effect such as the disappearance of a game character on a wall or the like. In other words, by setting the remaining clipping plane on this wall or the like, it is possible to produce a video effect such that the character disappears or slips through this wall.

さて、3次元シミュレータ装置に電源が投入される
と、初期値設定部152に、初期モード指定データが入力
される。そして、例えば、初期モード指定データが、図
7(A)に示す内容のデータである場合、プライオリテ
ィレジスタ170は、初期値設定部152により図7(B)に
示すような初期状態(1、2、3、7の順)に設定され
る。これにより、まず初めのポリゴンに対しては、クリ
ッピング面1、2、3の順でクリッピング処理が行わ
れ、最後に透視投影変換が行われることとなる。
When the power of the three-dimensional simulator is turned on, initial mode designation data is input to the initial value setting unit 152. Then, for example, when the initial mode designation data is data having the contents shown in FIG. 7A, the priority register 170 uses the initial value setting unit 152 to set the initial state (1, 2) as shown in FIG. , 3 and 7). As a result, the clipping process is performed on the first polygon in the order of the clipping planes 1, 2, and 3, and finally the perspective projection conversion is performed.

ここで、あるポリゴンに対するクリップアウトが、ク
リッピング面2で起こったと仮定する。するとクリッピ
ング処理装置420による処理が中断され、プライオリテ
ィ変更部160により、プライオリティレジスタ170に書き
込まれているデータの変更が行われる。具体的には、図
7(C)に示すように、プライオリティレジスタ170の
内容は、クリッピング面2が先頭になり、クリッピング
面1の処理順序が1つ繰下がり、この結果、処理順序は
面2、1、3、7の順に変更される。これにより、その
後のポリゴンに対するクリッピング処理は、クリッピン
グ面2、1、3の順で行われることとなる。
Here, it is assumed that a clip-out for a certain polygon has occurred on the clipping plane 2. Then, the processing by the clipping processing device 420 is interrupted, and the data written in the priority register 170 is changed by the priority changing unit 160. More specifically, as shown in FIG. 7 (C), the contents of the priority register 170 are such that the clipping plane 2 comes first, and the processing order of the clipping plane 1 is lowered by one. , 1, 3, and 7 are changed in this order. As a result, the subsequent clipping processing for the polygon is performed in the order of the clipping planes 2, 1, and 3.

次に、クリッピング面3でクリップアウトが起こる
と、プライオリティレジスタ170の内容は、図7(D)
に示すように3、2、1、7の順に変更される。
Next, when clipping out occurs on the clipping plane 3, the contents of the priority register 170 are changed as shown in FIG.
Are changed in the order of 3, 2, 1, and 7.

このようにして、3次元オブジェクトを構成する全て
のポリゴンに対するクリッピング処理が終了すると、次
に処理を行う3次元オブジェクトに対応するプライオリ
ティ指定データが、初期値設定部152を介して、プライ
オリティレジスタ170に設定される。ただし、このプラ
イオリティ指定データによる3次元オブジェクト毎の初
期値の設定は任意のものであり、常に、3次元オブジェ
クト毎にこの設定をする必要はない。設定しなかった場
合は、前回に、最後に設定されたプライオリティレジス
タ170の内容により、その後のポリゴンのクリッピング
処理が行われることとなる。
When the clipping process for all the polygons constituting the three-dimensional object is completed in this manner, the priority designation data corresponding to the next three-dimensional object to be processed is stored in the priority register 170 via the initial value setting unit 152. Is set. However, the setting of the initial value for each three-dimensional object by the priority designation data is arbitrary, and it is not always necessary to set this for each three-dimensional object. If not set, the subsequent polygon clipping processing is performed according to the contents of the priority register 170 set last.

このプライオリティ指定データは、オブジェクトデー
タに含まれているものであり、具体的には図2に示す3
次元画像情報記憶部416内に、3次元オブジェクト毎に
付随データとして記憶されている。そして、このプライ
オリティ指定データは、例えば仮想3次元空間を形成す
るプログラムによりあらかじめ設定されるものである。
即ち、仮想3次元空間において配置される場所がある程
度決まっており、したがって、初めにクリッピングされ
るべきクリッピング面がある程度予想のつく3次元オブ
ジェクトに対して、このプライオリティ指定データを設
定すると、クリッピング処理速度の大幅な向上を図るこ
とが可能となる。
This priority designation data is included in the object data, and specifically, is shown in FIG.
The three-dimensional object is stored in the three-dimensional image information storage unit 416 as accompanying data for each three-dimensional object. The priority designation data is set in advance by a program for forming a virtual three-dimensional space, for example.
That is, the place to be arranged in the virtual three-dimensional space is determined to some extent. Therefore, if this priority designation data is set for a three-dimensional object in which the clipping plane to be clipped can be expected to some extent, the clipping processing speed Can be greatly improved.

(2)適用例 さて、以上の手法により、本実施例ではクリッピング
処理の大幅な高速化を図っているが、以下、この手法が
クリッピング処理の高速化にいかに有効であるかを、図
8(A)〜(D)を用いて説明する。
(2) Example of Application Now, in the present embodiment, the speed of the clipping process is greatly increased by the above-described method. Hereinafter, it will be described how this method is effective in increasing the speed of the clipping process, as shown in FIG. This will be described with reference to A) to (D).

図8(A)〜(D)には、説明を簡単にするため、2
次元空間内でクリッピング処理をする場合の例が示され
ている。同図において、クリッピング面1〜4により囲
まれている領域を表示領域20ということとする。逆に、
表示領域20の外の領域を表示外領域18ということとす
る。更に、クリッピング面1〜4の境界上の領域を境界
領域19ということとする。
FIGS. 8 (A) to 8 (D) show 2
An example in which clipping processing is performed in a dimensional space is shown. In the figure, an area surrounded by the clipping planes 1 to 4 is referred to as a display area 20. vice versa,
An area outside the display area 20 is referred to as a non-display area 18. Further, an area on the boundary between the clipping planes 1 to 4 is referred to as a boundary area 19.

この時、まず図8(A)において、3次元オブジェク
ト30を構成するポリゴン32について、クリッピング面
1、2、3、4の順序でクリッピング処理を行う場合に
ついて考えてみる。この場合、クリッピング面1、2、
3のクリッピング処理においては、ポリゴン32の全頂点
が表示領域20にあると判断されるため、これらのクリッ
ピング面によってはクリップアウトされないことにな
る。したがって、この場合、ここまでで3単位時間必要
とされる。しかし、次のクリッピング面4においては、
ポリゴン32の全頂点が表示外領域18にあると判断される
ため、これによりポリゴン32はクリップアウトされるこ
ととなる。この結果、当該クリッピング処理には、結
局、4単位時間を要したことになる。
At this time, first, consider a case where the clipping process is performed on the polygon 32 forming the three-dimensional object 30 in the order of the clipping planes 1, 2, 3, and 4 in FIG. In this case, clipping planes 1, 2,
In the clipping process of No. 3, since all the vertices of the polygon 32 are determined to be in the display area 20, the clipping is not performed depending on these clipping planes. Therefore, in this case, three unit times are required so far. However, on the next clipping plane 4,
Since it is determined that all the vertices of the polygon 32 are in the non-display area 18, the polygon 32 is clipped out. As a result, the clipping process eventually required four unit times.

しかし、ここで実際に必要な処理は最後のクリッピン
グ面4についての処理だけであり、後の処理は全て無駄
な処理となる。したがって、この無駄な処理をいかにし
て減らすが課題となる。
However, the processing actually required here is only the processing for the last clipping plane 4, and all subsequent processing is useless. Therefore, how to reduce this useless processing becomes an issue.

さて、物体(3次元オブジェクト)は、その一般的な
性質として、一定の大きさを持ち、そのため同一の3次
元オブジェクトを構成するポリゴンは統計的に「近く」
にあるということができる。言い換えれば、3次元オブ
ジェクトを構成する1つのポリゴンが、あるクリッピン
グ面でクリップアウトするならば、同一の3次元オブジ
ェクトを構成する他のポリゴンも、そのクリッピング面
でクリップアウトする確率が高いということができる。
したがって、あるポリゴンが、クリッピング面4でクリ
ップアウトした場合、同一オブジェクト内の他のポリゴ
ンも、そのクリッピング面からクリッピング処理すれ
ば、処理時間を統計的に減少させることが可能となる。
By the way, an object (a three-dimensional object) has a certain size as a general property, and polygons constituting the same three-dimensional object are statistically “close”.
It can be said that there is. In other words, if one polygon forming the three-dimensional object clips out on a certain clipping plane, the other polygons forming the same three-dimensional object have a high probability of clipping out on the clipping plane. it can.
Therefore, when a certain polygon is clipped out on the clipping plane 4, the processing time of other polygons in the same object can be statistically reduced by performing clipping processing from the clipping plane.

この手法を、3次元オブジェクト30の配置が図8
(A)に示す配置である場合に適用すると以下のように
なる。ポリゴン32がクリッピング面4によりクリップア
ウトされると、同図(B)に示すように、プライオリテ
ィレジスタ170の内容が4、1、2、3、7の順に変更
される。したがって、次のポリゴン34のクリッピング処
理はクリッピング面4より始まり、一番初めにクリップ
アウトされる。したがって、3単位時間が節約されるこ
ととなる。同様に、ポリゴン36、38についても3単位時
間が節約されることとなる。この結果、1枚目のポリゴ
ン32の処理時間こそ、この手法を使用しない場合と変わ
らないが、2枚目以降のポリゴン32〜38の処理時間は無
駄が全く無くなり、1単位時間となる。したがって、ポ
リゴンの枚数が十分に多い場合には、3次元オブジェク
ト30に必要とされる処理時間は、この手法を使用しない
場合に比べて約1/4になることとなる。
This method is based on the arrangement of the three-dimensional object 30 in FIG.
When applied to the arrangement shown in FIG. When the polygon 32 is clipped out by the clipping plane 4, the contents of the priority register 170 are changed in the order of 4, 1, 2, 3, and 7, as shown in FIG. Therefore, the clipping processing of the next polygon 34 starts from the clipping plane 4 and is clipped out first. Therefore, three unit times are saved. Similarly, for the polygons 36 and 38, three unit times are saved. As a result, the processing time of the first polygon 32 is not different from the case where this method is not used, but the processing time of the second and subsequent polygons 32 to 38 is completely wasteful and becomes one unit time. Therefore, when the number of polygons is sufficiently large, the processing time required for the three-dimensional object 30 is reduced to about 1/4 compared with the case where this method is not used.

また、この手法を、3次元オブジェクト40の配置が図
8(C)に示す配置である場合に適用すると以下のよう
になる。ポリゴン42がクリッピング面4によりクリップ
アウトされると、同図(D)に示すように、処理をする
クリッピング面の順序が4、1、2、3になるようにプ
ライオリティレジスタ170の内容が変更される。
When this method is applied to the case where the arrangement of the three-dimensional object 40 is the arrangement shown in FIG. 8C, the following is obtained. When the polygon 42 is clipped out by the clipping plane 4, the contents of the priority register 170 are changed so that the order of the clipping planes to be processed becomes 4, 1, 2, 3 as shown in FIG. You.

次に、例えばポリゴン44のクリッピング処理をしたと
すると、ポリゴン44はクリッピング面4によってはクリ
ップアウトされず、クリッピング面2によってクリップ
アウトされる。したがって、プライオリティレジスタ17
0の内容は、2、4、1、3の順に変更される。この場
合、前にクリップアウトされたクリッピング面4につい
ては、順位が1つだけ繰下がることになる。そして、次
に、例えばポリゴン46のクリッピング処理をしたとする
と、クリッピング面2によってはクリップアウトできな
いが、プライオリティレジスタ170内の次の順位に記憶
されているクリッピング面4によってクリップアウトで
きる。したがって、これにより、最短の1単位時間では
処理できないが、2単位時間で処理できることになるの
で、処理時間を節約することができることとなる。
Next, for example, if the clipping process of the polygon 44 is performed, the polygon 44 is not clipped out by the clipping surface 4 but clipped out by the clipping surface 2. Therefore, priority register 17
The contents of 0 are changed in the order of 2, 4, 1, and 3. In this case, the clipping plane 4 previously clipped out is moved down by one rank. Then, for example, if the clipping processing of the polygon 46 is performed, the clipping cannot be performed by the clipping plane 2, but can be clipped by the clipping plane 4 stored in the next order in the priority register 170. Accordingly, although processing cannot be performed in the shortest one unit time, processing can be performed in two unit times, thereby saving processing time.

なお、本実施例では前述したように、あらかじめ最適
なクリッピング面の順序を、3次元オブジェクト毎に、
プライオリティ指定データにより初期設定しておくこと
ができる。即ち、例えば図8(C)に示す3次元オブジ
ェクト40が、形成される仮想3次元空間の構成上、クリ
ッピング面4、2によってクリップアウトされる可能性
が高いものであったとする。この場合、3次元オブジェ
クト40のオブジェクトデータの中のプライオリティ指定
データを、クリッピング面の処理の順序が例えば4、
2、1、3となるように指定しておけば、ポリゴン42を
処理する際に必要とされる処理時間を節約することが可
能となる。
In this embodiment, as described above, the optimal clipping plane order is determined in advance for each three-dimensional object.
Initial setting can be made by priority designation data. That is, for example, it is assumed that the three-dimensional object 40 illustrated in FIG. 8C has a high possibility of being clipped out by the clipping planes 4 and 2 due to the configuration of the formed virtual three-dimensional space. In this case, the priority designation data in the object data of the three-dimensional object 40 is changed to the processing order of the clipping plane, for example, 4,
By designating the polygons to be 2, 1, and 3, it is possible to save the processing time required when processing the polygon 42.

また、本手法により処理時間を節約できるのは、同一
の3次元オブジェクト内にあるポリゴンに対して続けて
クリッピング処理をする場合に限られるものではない。
例えば、画像処理を行う順序を、なるべく近い位置にあ
る3次元オブジェクトから順に行うようにゲームプログ
ラム等であらかじめ設定しておいた場合にも、本手法は
処理時間の節約に有効なものとなる。具体的には、例え
ば図8(E)において、お互いに近くにある3次元オブ
ジェクト60、62、64の順に処理を行うように、ゲームプ
ログラム等で設定しておく。これにより、データフォー
マット形成部417により形成される図4に示すデータフ
ォーマットは、3次元オブジェクト60、62、64の順にな
るように形成されることになる。このようにすれば、初
めに3次元オブジェクト60がクリッピング面4にクリッ
プアウトされれば、その近くにあるべき3次元オブジェ
クト60もクリッピング面4によってクリップアウトされ
る可能性が高くなるため、本手法により処理時間を節約
することが可能となる。
Further, the processing time can be saved by the present method is not limited to the case where the clipping process is continuously performed on polygons in the same three-dimensional object.
For example, the present method is also effective in saving processing time, even when the order of performing image processing is set in advance by a game program or the like so that the three-dimensional objects are located in as close order as possible. Specifically, for example, in FIG. 8E, a game program or the like is set to perform processing in the order of the three-dimensional objects 60, 62, and 64 that are close to each other. Accordingly, the data format shown in FIG. 4 formed by the data format forming unit 417 is formed so as to be in the order of the three-dimensional objects 60, 62, and 64. By doing so, if the three-dimensional object 60 is clipped out to the clipping plane 4 first, the possibility that the three-dimensional object 60 that should be near the clipping plane 4 is clipped out by the clipping plane 4 increases. This makes it possible to save processing time.

(3)トリビアルアクセプト・リジェクト さて、以上述べた手法では、例えば図8(E)に示す
3次元オブジェクト50のように全てのポリゴン52〜58が
表示領域20内にある場合は、それぞれのポリゴンに対し
て4単位時間の処理時間がかかることとなる。
(3) Trivial Accept / Reject Now, in the above-described method, if all the polygons 52 to 58 are in the display area 20 like the three-dimensional object 50 shown in FIG. On the other hand, a processing time of 4 unit time is required.

この場合には、以下に述べるトリビアルアクセプト・
リジェクト手法(以下、トリビアルクリッピング処理と
呼ぶこととする)を前記手法と組み合わせることで対処
することができる。
In this case, the trivial accept
This can be dealt with by combining a reject method (hereinafter, referred to as a trivial clipping process) with the above method.

図9には、このトリビアルクリッピング処理を用いた
場合の構成図が示される。同図に示すように、トリビア
ルクリッピング処理を行う場合には、本実施例の構成
は、図1の構成に更に前処理部280が含まれた構成とな
る。
FIG. 9 shows a configuration diagram when this trivial clipping process is used. As shown in the drawing, when the trivial clipping process is performed, the configuration of the present embodiment has a configuration in which a preprocessing unit 280 is further included in the configuration of FIG.

前処理部280は、トリビアルクリッピング面による内
外判定を行う前処理判定部282と、この判定結果に基づ
いて、初期値設定部152に出力すべき指定データを形成
する指定データ発生部284を含んで構成される。
The preprocessing unit 280 includes a preprocessing determination unit 282 that performs an inside / outside determination based on a trivial clipping plane, and a designation data generation unit 284 that forms designation data to be output to the initial value setting unit 152 based on the determination result. Be composed.

次に、図10を用いて、この前処理部280の動作につい
て説明する。なお、説明を簡単にするために同図には2
次元空間での適用例が示されている。
Next, the operation of the preprocessing unit 280 will be described with reference to FIG. It should be noted that FIG.
An application example in a dimensional space is shown.

まず初めに、前処理判定部282において、3次元オブ
ジェクト50の代表点の座標値及び物体長Lが読み出され
る。この代表点の座標としては、例えば3次元オブジェ
クトの頂点座標の平均値が用いられる。また、物体長L
としては、例えば3次元オブジェクトの各頂点間の長さ
のうち、最大のものの長さが用いられる。この代表点及
び物体長Lは、図4に示すオブジェクトデータの一部と
して設定されているものである。
First, in the preprocessing determination unit 282, the coordinate value of the representative point of the three-dimensional object 50 and the object length L are read. As the coordinates of the representative point, for example, an average value of the vertex coordinates of the three-dimensional object is used. Also, the object length L
For example, among the lengths between the vertices of the three-dimensional object, the maximum length is used. The representative point and the object length L are set as a part of the object data shown in FIG.

この設定により、3次元オブジェクト50は、中心座標
が前記代表値の座標で、直径がLの円(3次元空間では
球)であるものと擬制されることになる。
With this setting, the three-dimensional object 50 is simulated as a circle having a center coordinate of the representative value and a diameter L (a sphere in a three-dimensional space).

次に、前処理判定部282は、トリビアルクリッピング
面11〜14、21〜24で形成されるトリビアルクリッピング
用のゾーンを設定する(図10の斜線部)。そして、この
円(球)に擬性された3次元オブジェクト50が、ゾーン
上の領域である境界領域27、ゾーンに囲まれた内側の領
域である表示領域26、ゾーンの外側の領域である表示外
領域28のうち、いずれの領域にあるのかが判定される。
ここで、トリビアルクリッピング面11〜14は、クリッピ
ング面1〜4より最大長MLだけ内側に設定されたクリッ
ピング面であり、トリビアルクリッピング面21〜24は、
クリッピング面1〜4より最大長MLだけ外側に設定され
たクリッピング面である。なお、最大長MLとは、全ての
3次元オブジェクトの物体長Lの最大値をいう。
Next, the preprocessing determination unit 282 sets a zone for trivial clipping formed by the trivial clipping surfaces 11 to 14 and 21 to 24 (shaded portion in FIG. 10). Then, the three-dimensional object 50 imitated by the circle (sphere) includes a boundary area 27 which is an area on the zone, a display area 26 which is an inner area surrounded by the zone, and a display which is an area outside the zone. It is determined which of the outer regions 28 is located.
Here, the trivial clipping planes 11 to 14 are clipping planes set inside the clipping planes 1 to 4 by the maximum length ML, and the trivial clipping planes 21 to 24 are
This is a clipping plane set outside the clipping planes 1 to 4 by the maximum length ML. Note that the maximum length ML refers to the maximum value of the object length L of all three-dimensional objects.

この内外判定により、例えば図10における3次元オブ
ジェクト50は表示領域26にあると判断され、これを構成
するポリゴン52〜58は、表示領域26内にあってクリッピ
ング処理が必要ないものと判断される。したがって、こ
の場合は、指定データ発生部284では、透視投影変換の
みを行いクリッピング処理は行わないとする指定データ
(例えば図7(A)において‘10000000'となるデー
タ)が形成され、初期値設定部152に出力される。初期
値設定部152は、この指定データに基づいて、プライオ
リティレジスタ170へ、当該3次元オブジェクト50に対
する処理の初期値の設定を行うことになる。この結果、
ポリゴン52〜58のデータは、クリッピング演算部200に
おいて透視投影変換のみが行われて出力されることにな
る。
By this inside / outside determination, for example, it is determined that the three-dimensional object 50 in FIG. 10 is in the display area 26, and the polygons 52 to 58 constituting this are determined to be in the display area 26 and do not need the clipping process. . Therefore, in this case, the designated data generating unit 284 forms designated data (for example, data which becomes '10000000' in FIG. 7A) that performs only perspective projection conversion and does not perform clipping, and sets the initial value. It is output to the unit 152. The initial value setting unit 152 sets the initial value of the process for the three-dimensional object 50 in the priority register 170 based on the specified data. As a result,
The data of the polygons 52 to 58 are output after only the perspective projection conversion is performed in the clipping calculation unit 200.

また、同様に、3次元オブジェクト30は、内外判定に
より表示外領域28にあると判断され、ポリゴン32〜38は
表示外領域28にあってクリッピング処理が必要ないもの
と判断される。したがって、この場合は、指定データ発
生部284では、透視投影変換もクリッピング処理も行わ
ないとする指定データ(例えば図7(A)において‘00
000000'となるデータ)が形成され、初期値設定部152に
出力される。この指定データにより、当該3次元オブジ
ェクト30に対する処理の初期値がプライオリティレジス
タ170に設定される。この結果、ポリゴン32〜38のデー
タは、クリッピング演算部200において何も処理がされ
ないこととなる。
Similarly, the three-dimensional object 30 is determined to be in the non-display area 28 by the inside / outside determination, and the polygons 32 to 38 are determined to be in the non-display area 28 and do not require clipping processing. Therefore, in this case, the designated data generating unit 284 designates the designated data for which neither the perspective projection conversion nor the clipping process is performed (for example, '00 in FIG. 7A).
000000 ') is output to the initial value setting unit 152. With this designation data, the initial value of the process for the three-dimensional object 30 is set in the priority register 170. As a result, the data of the polygons 32 to 38 are not subjected to any processing in the clipping operation unit 200.

また、同様に、3次元オブジェクト40は、内外判定に
より境界領域27にあると判断され、ポリゴン42〜48はク
リッピング処理が必要なものであると判断される。この
場合は、指定データ発生部284では指定データが何も形
成されない。したがって、ポリゴン42〜48に対するクリ
ッピング処理は、前記した、プライオリティを順次変更
する手法により、効率よく処理されることとなる。
Similarly, the three-dimensional object 40 is determined to be in the boundary area 27 by the inside / outside determination, and the polygons 42 to 48 are determined to require clipping processing. In this case, no designated data is formed in the designated data generating unit 284. Therefore, the clipping process for the polygons 42 to 48 is efficiently performed by the above-described method of sequentially changing the priority.

以上のように、本実施例では、プライオリティを順次
変更する手法と、トリビアルクリッピング処理を行う手
法とを組み合わせることにより、非常に効率のよいクリ
ッピング処理を行うことができる。即ち、前処理部280
による大まかな内外判定により表示領域26にあるとされ
たポリゴンに対しては、透視投影変換のみを行えばよい
ため1単位時間だけで処理が済むことになる。また、表
示外領域28にあるとされたポリゴンに対しては、何も処
理を行わなくてよいため、処理時間は、前処理のために
必要な処理時間のみとなる。また、境界領域27にあると
されたポリゴンに対しては、前記したプライオリティを
順次変更する手法により、初めに処理を行うポリゴンを
除いては、大部分のポリゴンに対して1〜2単位時間で
処理をすることが可能となる。
As described above, in the present embodiment, a very efficient clipping process can be performed by combining the method of sequentially changing the priority and the method of performing the trivial clipping process. That is, the preprocessing unit 280
Since only the perspective projection conversion needs to be performed on the polygon determined to be in the display area 26 by the rough inside / outside determination, the processing is completed in only one unit time. Further, no processing is required for the polygons that are determined to be in the non-display area 28, so that the processing time is only the processing time required for the pre-processing. In addition, for the polygons that are determined to be in the boundary area 27, most of the polygons are processed in 1-2 unit time except for the polygons that are processed first by the above-described method of sequentially changing the priority. Processing can be performed.

4.具体例 (1)プライオリティ変更部、プライオリティレジスタ
等 図11には、プライオリティレジスタ170の具体的回路
構成が示され、図12には、プライオリティ変更部160の
具体的回路構成及び各ブロック間の詳細な接続状態が示
されている。
4. Specific Examples (1) Priority Change Unit, Priority Register, etc. FIG. 11 shows a specific circuit configuration of the priority register 170, and FIG. Detailed connection status is shown.

図11に示すように、プライオリティレジスタ170は、
クリッピング面のプライオリティを記憶する8つの3ビ
ットのレジスタ171〜178及び、このレジスタへのデータ
書き込みを許可するためのオア回路181〜188を含んで構
成されている。
As shown in FIG. 11, the priority register 170
It comprises eight 3-bit registers 171 to 178 for storing the priority of the clipping plane, and OR circuits 181 to 188 for permitting data writing to these registers.

同図に示すように、レジスタ171〜178はシリアルに接
続されており、CLK信号によりクロック駆動され、RES信
号により電源投入時にリセットされる。また、先頭のレ
ジスタ171には、入力データDIN[2:0]が入力されてい
る。
As shown in the figure, the registers 171 to 178 are serially connected, are clock-driven by a CLK signal, and are reset at power-on by a RES signal. The input data DIN [2: 0] is input to the first register 171.

次に、レジスタの端子SAに入力されるセレクト信号SA
[7:0]のいずれかがアサートされると、対応するレジ
スタの入力データとして端子DAがセレクトされる。これ
により、当該レジスタには前段のレジスタの出力データ
がロードされ、データがシフトすることになる。逆に、
端子SAに入力されるセレクト信号SA[7:0]がネゲート
されると、レジスタの入力データとして端子DBがセレク
トされる。これにより、当該レジスタには、自分自身の
出力データがそのままフィードバックして入力され、当
該レジスタは前回のデータをそのまま保持することにな
る。
Next, the select signal SA input to the terminal SA of the register
When any of [7: 0] is asserted, the terminal DA is selected as input data of the corresponding register. As a result, the output data of the preceding register is loaded into the register, and the data is shifted. vice versa,
When the select signal SA [7: 0] input to the terminal SA is negated, the terminal DB is selected as input data of the register. As a result, the own output data is fed back and input to the register as it is, and the register holds the previous data as it is.

なお、ここで、アサートとは、端子をオン状態とする
ような信号状態をいい、ネゲートとは、端子をオフ状態
とするような信号状態をいう。
Here, the assertion means a signal state in which a terminal is turned on, and the negation means a signal state in which a terminal is turned off.

オア回路181〜188には制御部154から入力される許可
信号ENALL及びプライオリティ変更部160から入力される
ロード信号ENL[7:0]が接続されている。そして、許可
信号ENALLがアサートされるとロード信号ENL[7:0]の
入力が禁止され、更に、全てのレジスタ171〜178がシフ
ト状態となる。逆に、許可信号ENALLがネゲートされる
とロード信号ENL[7:0]の入力が許可される。
The enable signals ENALL input from the control unit 154 and the load signals ENL [7: 0] input from the priority change unit 160 are connected to the OR circuits 181 to 188. When the enable signal ENALL is asserted, the input of the load signal ENL [7: 0] is prohibited, and all the registers 171 to 178 are shifted. Conversely, when the enable signal ENALL is negated, the input of the load signal ENL [7: 0] is enabled.

プライオリティ変更部160は、カウンタ162、デコーダ
164、アンド回路166、セレクタ168を含んで構成され
る。
The priority change unit 160 includes a counter 162, a decoder
164, an AND circuit 166, and a selector 168.

カウンタ162は、3ビットの同期式カウンタであり、C
LK信号によりクロック駆動され、RES信号により電源投
入時にリセットされる。そして、カウント許可信号COEN
がアサートされると、次のCLK信号でカウントアップさ
れる。また、クリア許可信号CLENがアサートされると次
のCLK信号に同期してクリアされる。
The counter 162 is a 3-bit synchronous counter.
Clocked by the LK signal and reset at power-on by the RES signal. Then, the count enable signal COEN
Is asserted, it is counted up by the next CLK signal. When the clear permission signal CLEN is asserted, it is cleared in synchronization with the next CLK signal.

このカウンタ162により、前記したリエントラントモ
ードにおいて、現在、何回目のクリッピング処理を行っ
ているかが記憶される。例えば、図6(C)に示す接続
状態で、3面のクリッピング処理を行っているクリッピ
ング処理装置420aを例にすると以下のようになる。即
ち、処理すべきポリゴンデータが新たに入力された状態
ではカウンタ162の記憶データは(000)となっており、
この状態で当該ポリゴンデータに対する1回目のクリッ
ピング処理が行われる。そして、1回目のクリッピング
処理が終了すると、制御部154から入力されるカウント
許可信号COENがアサートされ、カウンタ162の記憶デー
タは(001)となる。同様に、2回目のクリッピング処
理が終了すると記憶データは(010)となり、この状態
で3回目のクリッピング処理が行われる。最後に、3回
目の処理が終了すると、クリア許可信号CLENがアサート
されて、記憶データが再び(000)にクリアされる。
The counter 162 stores how many times the clipping process is currently performed in the reentrant mode. For example, the following is an example of a clipping processing device 420a that performs clipping processing on three surfaces in the connection state shown in FIG. 6C. That is, when polygon data to be processed is newly input, the data stored in the counter 162 is (000),
In this state, the first clipping process is performed on the polygon data. When the first clipping process is completed, the count permission signal COEN input from the control unit 154 is asserted, and the data stored in the counter 162 becomes (001). Similarly, when the second clipping process ends, the stored data becomes (010), and the third clipping process is performed in this state. Finally, when the third processing is completed, the clear permission signal CLEN is asserted, and the stored data is cleared to (000) again.

以上の動作により、カウンタ162は、以下の2つの役
割を果たしている。第1の役割は、現在クリップ処理を
行うべきクリッピング面(もしくは透視投影変換モー
ド)を指定する機能である。即ち、カウンタ162の出力
は、3ビットのリードコードREC[2:0]として、読み出
し部190に入力される。そして、プライオリテイ読み出
し部190では、このリードコードREC[2:0]を使用し
て、プライオリティレジスタ170の出力Q0〜Q7のうち、
クリッピング面指定データSAD[2:0]となるべきものを
セレクトする。これにより、後段のクリッピング演算部
200に、現在クリッピング処理を行うべきクリッピング
面(もしくは透視投影変換モード)を指定するインデッ
クスデータが出力される。
By the above operation, the counter 162 plays the following two roles. The first role is to specify a clipping plane (or perspective projection conversion mode) for which clip processing is to be performed at present. That is, the output of the counter 162 is input to the reading unit 190 as a 3-bit read code REC [2: 0]. Then, the priority reading unit 190 uses the read code REC [2: 0] to select one of the outputs Q0 to Q7 of the priority register 170.
Select what should be the clipping plane designation data SAD [2: 0]. Thereby, the clipping operation unit at the subsequent stage
Index data specifying the clipping plane (or perspective projection conversion mode) for which clipping processing is to be performed at present is output to 200.

カウンタ162の第2の役割は、クリップアウトが生じ
たときに、プライオリティレジスタ170を書き換えるた
めの信号を生成する役割である。具体的にはカウンタ16
2の出力は図12に示すようにデコーダ164に入力される。
そしてデコーダ164では、カウンタ162から入力された3
ビットのデータから、図13(A)に示すような8ビット
のライトコードWRC[7:0]を生成する。このライトコー
ドWRC[7:0]は、アンド回路166を介してロード信号ENL
[7:0]としてプライオリティレジスタ170に入力され
る。プライオリティレジスタではこのロード信号ENL
[7:0]により、どのレジスタを書き換えるのかを決定
することになる。
The second role of the counter 162 is to generate a signal for rewriting the priority register 170 when clipout occurs. Specifically, counter 16
The output of 2 is input to the decoder 164 as shown in FIG.
Then, in the decoder 164, the 3
An 8-bit write code WRC [7: 0] as shown in FIG. 13A is generated from the bit data. The write code WRC [7: 0] is supplied to the load signal ENL via the AND circuit 166.
[7: 0] is input to the priority register 170. In the priority register, this load signal ENL
[7: 0] determines which register is to be rewritten.

セレクタ168は、制御部154の制御により、初期値設定
部152から入力される初期値、あるいは、読み出し部190
から出力されたクリッピング面指定データSAD[2:0]
(具体的にはクリッピングアウトされたクリッピング面
を指定するデータ)のうち、いずれかを一方を選択する
機能を有するものである。
The selector 168 controls the initial value input from the initial value setting unit 152 or the reading unit 190 under the control of the control unit 154.
Plane specification data SAD [2: 0] output from
(Specifically, data for specifying a clipped plane clipped out) has a function of selecting one of them.

次に、これらの回路の動作を図13(B)〜(D)を用
いて説明する。
Next, the operation of these circuits will be described with reference to FIGS.

(A)初期化 まず、初期状態、即ち電源投入時又は各3次元オブジ
ェクトに対する処理開始時においては、初期値設定部15
2に、初期モード指定データ(電源投入時)、又はプラ
イオリティ指定データ(3次元オブジェクト処理開始
時)が入力される。この時、例えば、図13(B)に示す
ように(10101110)というデータが、初期値設定部152
に入力されたとする。この意味は、クリッピング面1、
2、3、5についてクリッピング処理を行い、その後、
透視投影変換(7)して出力するという意味である。初
期値設定部152はこのデータを3ビットの値にエンコー
ドしてセレクタ168に出力する。具体的には(111)、
(101)、(011)、(010)、(001)の値、即ち7、
5、3、2、1を表す3ビットのコードにエンコードさ
れる。
(A) Initialization First, in the initial state, that is, at the time of turning on the power or at the start of processing for each three-dimensional object, the initial value setting unit 15
2 is input with initial mode designation data (when power is turned on) or priority designation data (when starting three-dimensional object processing). At this time, for example, as shown in FIG. 13B, data (10101110) is stored in the initial value setting unit 152.
Is entered. This means clipping plane 1,
Perform clipping processing on 2, 3, and 5, and then
This means that perspective projection conversion (7) is performed and output. The initial value setting unit 152 encodes this data into a 3-bit value and outputs the value to the selector 168. Specifically (111),
The values of (101), (011), (010), (001), ie 7,
It is encoded into a 3-bit code representing 5, 3, 2, 1.

セレクタ168では、制御部154からの制御信号により、
端子Bがセレクトされており、前記のエンコードされた
データが入力される。この場合、制御部154からの全信
号の許可信号はENALL=0となっている。したがって、
前記したのように、プライオリティレジスタ170内のレ
ジスタ171〜178は全てシフト状態となっている。この結
果、セレクタ168からのデータは、レジスタ171〜178を
順次シフトして入力されてゆくことになる。そして、こ
の例では、レジスタ171に‘1'が、レジスタ172に‘2'
が、レジスタ173に‘3'、レジスタ174に‘5'、レジスタ
175に‘7'が設定され、レジスタ176〜178は未確定状態
となる。
In the selector 168, according to a control signal from the control unit 154,
Terminal B is selected, and the encoded data is input. In this case, the enable signals of all the signals from the control unit 154 are ENALL = 0. Therefore,
As described above, all the registers 171 to 178 in the priority register 170 are in the shift state. As a result, the data from the selector 168 is sequentially shifted and input to the registers 171 to 178. Then, in this example, '1' is stored in the register 171 and '2' is stored in the register 172.
Is '3' in register 173, '5' in register 174,
'7' is set in 175, and the registers 176 to 178 are in an undetermined state.

(B)通常動作時 以上の初期設定が終了後、クリッピング処理が開始さ
れる。そして、通常動作時には、ENMASK=0、ENALL=
1となっている。これにより、ライトコードWRC[7:0]
は全てマスクされた状態となりロード信号はENL[7:0]
は全て‘0'となり、したがって、セレクタ信号SA[7:
0]は全て‘0'になる。この結果、レジスタ171〜178は
全て保持状態となり、前記した‘12357'のデータを保持
したままとなる。
(B) Normal operation After the above initial settings are completed, the clipping process is started. During normal operation, ENMASK = 0, ENALL =
It is 1. As a result, the write code WRC [7: 0]
Are all masked and the load signal is ENL [7: 0]
Are all '0', and therefore the selector signal SA [7:
0] are all '0'. As a result, the registers 171 to 178 are all in the holding state, and the data of “12357” is held.

次に、カウンタ162からの出力であるリードコードREC
[2:0]が順次カウントアップされる。これにより、読
み出し部190において、プライオリティレジスタ170の出
力Q7〜Q1が順次セレクトされてゆき、この結果、この例
では、クリッピング面1、2、3、5の順でクリッピン
グ処理が行われ、最後に透視投影変換(7)が行われる
ことになる。
Next, the read code REC output from the counter 162
[2: 0] are sequentially counted up. As a result, in the reading unit 190, the outputs Q7 to Q1 of the priority register 170 are sequentially selected. As a result, in this example, clipping processing is performed in the order of the clipping planes 1, 2, 3, and 5, and finally Perspective projection transformation (7) is performed.

(C)クリップアウトが生じた場合 以上の通常動作を行っている際に、例えばクリッピン
グ面3で、あるポリゴンがクリップアウトしたとする。
すると、制御部154によりEMASK=1とされ、アンド回路
166が導通し、現在クリッピング処理を行っているクリ
ッピング面までのロード信号ENL[7:0]がアサートされ
る。具体的には、図13(C)に示すように、ENL[7]
〜ENL[5]が‘1'となる。この結果、レジスタ171〜17
3がシフト状態となり、レジスタ174〜178は保持状態と
なる。
(C) When Clipout Occurs It is assumed that a polygon is clipped out on the clipping plane 3 during the normal operation described above.
Then, the control unit 154 sets EMASK = 1, and the AND circuit
166 becomes conductive, and the load signal ENL [7: 0] up to the clipping plane where the clipping process is currently being performed is asserted. Specifically, as shown in FIG. 13 (C), ENL [7]
~ ENL [5] becomes '1'. As a result, registers 171 to 17
3 is in the shift state, and the registers 174 to 178 are in the holding state.

そして、セレクタ168ではA端子が選択され、クリッ
ピング面3の指示データを記憶しているレジスタ173
が、同図(C)に示すようにセレクタ168を介して1段
目のレジスタ171に接続される。
Then, the selector 168 selects the terminal A, and the register 173 storing the instruction data of the clipping plane 3 is stored.
Are connected to the first-stage register 171 via the selector 168 as shown in FIG.

そして、次のクロックでレジスタ171〜173がシフトす
るため、同図(D)に示すようにレジスタ171〜173に記
憶されるデータの順位は‘1'‘2'‘3'から‘3'‘1'‘2'
へと変更される。即ち、1段目のレジスタには現在クリ
ッピング処理を行っているクリッピング面を指示するデ
ータが、2段目から現在クリッピング処理を行っている
順位のレジスタまでは、今までの順位が一つずつ繰下が
った指示データがそれぞれロードされることとなる。
Then, since the registers 171 to 173 are shifted by the next clock, the order of the data stored in the registers 171 to 173 is changed from "1", 2 "3" to "3" as shown in FIG. 1''2 '
Is changed to That is, the data indicating the clipping plane on which the clipping process is currently being performed is stored in the first-stage register. The reduced instruction data will be loaded.

なお、透視投影変換の処理は、必ず全てのクリッピン
グ処理が終わった後に行わなければならないので、透視
投影変換の処理時には、EMASK=0となり、プライオリ
ティレジスタ170の内容が更新されることはない。
It should be noted that since the perspective projection conversion process must be performed after all clipping processes have been completed, EMASK = 0 during the perspective projection conversion process, and the contents of the priority register 170 are not updated.

以上の動作により、例えば、あるポリゴンがクリッピ
ング面3でクリッピングアウトすると、次のポリゴンか
らはクリッピング面3から処理されることとなり、クリ
ッピング処理の高速化の大幅な向上を図ることが可能と
なる。また、この場合、今までのクリッピング面の順位
はそれぞれ1つずつ繰下がる。したがって、例えば前に
クリッピングアウトが生じたクリッピング面は2番目の
順位に繰下がるだけとなる。この結果、仮に最上位のク
リッピング面によりクリッピングアウトされなくても、
次の順位のクリッピング面によりクリッピングアウトさ
れる可能性が高くなるため、クリッピング処理の高速
化、最適化を図ることが可能となる。
By the above operation, for example, when a certain polygon is clipped out on the clipping plane 3, the next polygon is processed from the clipping plane 3, and the speeding up of the clipping processing can be greatly improved. In this case, the order of the clipping planes is reduced by one. Thus, for example, a clipping plane that previously had a clipping out will only move down to the second order. As a result, even if it is not clipped out by the topmost clipping plane,
Since the possibility of clipping out by the next-ranked clipping plane increases, clipping processing can be speeded up and optimized.

(2)クリッピング演算部 次にクリッピング演算部200の具体的な構成及び動作
について説明する。
(2) Clipping Operation Unit Next, a specific configuration and operation of the clipping operation unit 200 will be described.

まず、本実施例におけるクリッピング処理の手法につ
いて、図14を用いて以下説明する。図14には、クリッピ
ング面1によりポリゴン70をクリッピングする場合が示
される。同図において、v0=(X0、Y0、Z0)、v1=(X
1、Y1、Z1)、v2=(X2、Y2、Z2)、v3=(X3、Y3、Z
3)は、ポリゴン10の頂点座標であり、h(V)=aX+b
X+cZ+dは、クリッピング面1の平面方程式である。
First, a method of the clipping process in the present embodiment will be described below with reference to FIG. FIG. 14 shows a case where the polygon 70 is clipped by the clipping plane 1. In the figure, v0 = (X0, Y0, Z0), v1 = (X
1, Y1, Z1), v2 = (X2, Y2, Z2), v3 = (X3, Y3, Z
3) is the vertex coordinates of the polygon 10, and h (V) = aX + b
X + cZ + d is a plane equation of the clipping plane 1.

(A)各頂点座標の内外判定 ポリゴンデータの入力と同時に、頂点座標V0〜V3がク
リッピング面1の外の領域にあるか内の領域にあるかの
内外判定が行われる。このために、まず、以下の演算が
行われる。
(A) Judgment of inside / outside of each vertex coordinate At the same time as the input of the polygon data, inside / outside judgment as to whether the vertex coordinates V0 to V3 are in the area outside or inside the clipping plane 1 is performed. For this purpose, first, the following calculation is performed.

h(V0)=aX0+bY0+cZ0+d h(V1)=aX1+bY1+cZ1+d h(V2)=aX2+bY2+cZ2+d h(V3)=aX3+bY3+cZ3+d 上記の演算により、h(Vn)≦0となった場合はVnは
表示領域にあると判断され、h(Vn)>0となった場合
はVnは表示外領域にあると判断される。例えば、図14に
おいては、h(V0)、h(V3)>0よりV0、V3は表示外
領域にあると判断され、h(V1)、h(V2)≦0よりV
1、V2は表示領域にあると判断される。
h (V0) = aX0 + bY0 + cZ0 + dh (V1) = aX1 + bY1 + cZ1 + dh (V2) = aX2 + bY2 + cZ2 + dh (V3) = aX3 + bY3 + cZ3 + d By the above operation, if h (Vn) .ltoreq.0, it is determined that h (Vn) .ltoreq.0 if the above-mentioned operation indicates that V (n) ≤0. If h (Vn)> 0, it is determined that Vn is in the non-display area. For example, in FIG. 14, since h (V0) and h (V3)> 0, it is determined that V0 and V3 are in the non-display area, and V (V1), h (V2) ≦ 0,
1, V2 is determined to be in the display area.

(B)内分点の演算 図14において、全頂点が表示領域にあると判断された
ポリゴン72については、全頂点がそのまま次の処理(例
えば次の平面に対するクリッピング処理又は透視投影変
換)に供されることになる。また、全頂点が表示外領域
にあると判断されたポリゴン74については、、全頂点が
次の処理の対象から外される。
(B) Calculation of Internal Dividing Points In FIG. 14, for the polygon 72 for which all vertices are determined to be in the display area, all vertices are directly subjected to the next processing (for example, clipping processing or perspective projection conversion for the next plane). Will be done. For the polygon 74 for which all vertices are determined to be in the non-display area, all vertices are excluded from the target of the next processing.

これに対して、クリッピング面1によりクリッピング
されたポリゴン70についてはクリッピング点、即ち内分
点Vk、Vlが求められる。そして、頂点V0、V3はその後の
処理の対象から外され、その代わりに内分点Vk、Vlがポ
リゴン70の頂点とされ、その後の処理に使用されること
となる。
On the other hand, for the polygon 70 clipped by the clipping plane 1, clipping points, that is, internally dividing points Vk and Vl are obtained. Then, the vertices V0 and V3 are excluded from the target of the subsequent processing. Instead, the internally dividing points Vk and Vl are set as the vertices of the polygon 70, and are used for the subsequent processing.

内分点Vk、Vlを求めるために、まず、それぞれの内分
比tk、tlが以下の演算式により求められる。
In order to obtain the internal dividing points Vk and Vl, first, the respective internal dividing ratios tk and tl are obtained by the following arithmetic expressions.

tk(|h(V0)|)/(|h(V1)−h(V0)|) tl(|h(V2)|)/(|h(V3)−h(V2)|) 次に上記の内分比tk、tlを用いて、以下の演算式に
より内分点Vk、Vlが求められる。
tk (| h (V0) |) / (| h (V1) -h (V0) |) tl (| h (V2) |) / (| h (V3) -h (V2) |) Using the internal division ratios tk and tl, the internal division points Vk and Vl are obtained by the following arithmetic expressions.

Vk=V0+tk(V1−V0) Vl=V2+tl(V3−V2) 以上の内分点の演算は全て、頂点座標の内分点演算を
例にして説明したが、本実施例では、これ以外の頂点テ
クスチャ座標、頂点輝度情報についてもクリッピングに
よる内分点を求めている。また、ポリゴンの頂点数につ
いても上記の説明では4頂点のポリゴンを例にして説明
したが、本発明ではこれに限らず任意のn個の頂点を持
つポリゴンに対してクリッピング処理を行うことができ
る。したがって、この場合、上記の演算式は以下のよう
な一般式によって表すことができ、これにより出力デー
タWoutを求めている。
Vk = V0 + tk (V1−V0) Vl = V2 + tl (V3−V2) All the calculations of the above-mentioned inner dividing points have been described using the example of the inner dividing point calculation of the vertex coordinates. For the texture coordinates and vertex luminance information, the subdivision point is obtained by clipping. In the above description, the number of vertices of a polygon has been described by taking a polygon having four vertices as an example. However, the present invention is not limited to this, and a clipping process can be performed on a polygon having any n vertices. . Therefore, in this case, the above-mentioned arithmetic expression can be represented by the following general expression, and the output data Wout is obtained thereby.

Wout=Wa+ti(Wb−Wa) W:頂点輝度座標I0〜In、頂点テクスチャ座標TX0、T
Y0〜TXn、TYn、頂点座標X0、Y0、Z0〜Xn、Yn、Znのう
ちクリッピングされるもの a、b:クリッピングされるべき2点間のポイントナン
バ ti:その時の内分比 なお、本実施例のクリッピング処理装置では、クリッ
ピング処理を行わずそのまま次の処理に供されるデータ
については、上記の式においてti=0とすることによ
り演算を行っている。
Wout = Wa + ti (Wb−Wa) W: vertex luminance coordinates I0 to In, vertex texture coordinates TX0, T
Y0 to TXn, TYn, vertex coordinates X0, Y0, Z0 to Xn, Yn, and Zn which are clipped a, b: Point number between two points to be clipped ti: Internal division ratio at that time In the clipping processing device of the example, the data to be directly used for the next processing without performing the clipping processing is calculated by setting ti = 0 in the above equation.

また、本実施例のクリッピング処理装置では、上記の
(A)内外判定、(B)内分点の演算をパイプライン処
理することにより処理の高速化を図っている。
Further, in the clipping processing device of the present embodiment, the processing is speeded up by performing pipeline processing of (A) the inside / outside determination and (B) the calculation of the inner dividing point.

(C)クリッピング演算部の構成及び動作 クリッピング演算部200は、図15に示すように、内外
判定部210、内分点演算部230、出力マルプレクサ260を
含んで構成される。
(C) Configuration and Operation of Clipping Calculation Unit The clipping calculation unit 200 includes an inside / outside determination unit 210, an inside division point calculation unit 230, and an output multiplexer 260 as shown in FIG.

本実施例では、この内外判定部210での演算処理と、
内分点演算部230での演算処理をパイプライン処理によ
って行っている。そして、内外判定部210では、入力さ
れたポリゴンデータに対する内外判定演算が順次行わ
れ、内分点演算部230に内分点演算すべき最新のデータ
を常時送り出せるように制御されている。このような制
御手法を用いるのは以下の理由による。即ち、通常、こ
の種の3次元シミュレータ装置では、プレーヤの操作状
態により、内分点演算を行うべきポリゴンの数が変化し
てしまう。一方、内分点演算部230では除算等の演算が
行われるため、内外判定部210に比べて、より多くの演
算処理時間が必要とされる。したがって、このような状
況において最適のスピードで演算処理を行うには、常に
内外判定部210が、内分点演算部230に対して最新のデー
タが出力できるように制御されていることが必要とな
る。
In the present embodiment, the calculation process in the inside / outside determination unit 210,
The arithmetic processing in the internally dividing point arithmetic unit 230 is performed by pipeline processing. The inside / outside determination section 210 performs an inside / outside determination operation on the input polygon data sequentially, and is controlled so that the latest data to be subjected to the inside division point calculation section 230 is always sent to the inside division point calculation section 230. The reason for using such a control method is as follows. That is, in this type of three-dimensional simulator device, the number of polygons for which the internal dividing point calculation is to be performed usually changes depending on the operation state of the player. On the other hand, since the internal division operation unit 230 performs an operation such as division, more operation processing time is required as compared with the internal / external determination unit 210. Therefore, in order to perform the arithmetic processing at the optimum speed in such a situation, it is necessary that the inside / outside determination unit 210 is always controlled so that the latest data can be output to the internal dividing point calculation unit 230. Become.

また、本実施例に係るクリッピング処理装置420は、
前述のリエントラントモードにより、1つのクリッピン
グ処理装置420で複数のクリッピング面によるクリッピ
ング処理を行うことができる。この場合には、出力マル
チプレクサ260により、クリッピング処理が終了したポ
リゴンデータを入力部212に再度入力することにより、
複数のクリッピング面によるクリッピング処理を同じポ
リゴンデータに対して行うことが可能となる。
Further, the clipping processing device 420 according to the present embodiment,
With the reentrant mode described above, one clipping processing device 420 can perform clipping processing using a plurality of clipping planes. In this case, the output multiplexer 260 re-inputs the clipped polygon data to the input unit 212,
Clipping processing using a plurality of clipping planes can be performed on the same polygon data.

内外判定部210は、入力部212、ポリゴンデータレジス
タ214、平面方程式演算部216、クリッピング指示部218
を含んで構成される。
The inside / outside determination unit 210 includes an input unit 212, a polygon data register 214, a plane equation calculation unit 216, and a clipping instruction unit 218.
It is comprised including.

入力部212では、座標変換部418から入力されたフレー
ムデータ、オブジェクトデータ、ポリゴンデータから、
クリッピング演算部200において必要なデータの抽出及
び各種のデータフォーマット変換を行う。
In the input unit 212, from the frame data, object data, and polygon data input from the coordinate transformation unit 418,
The clipping calculation unit 200 extracts necessary data and performs various data format conversions.

例えば、フレームデータからは画像を表示するモニタ
の角度、大きさ等を抽出し、これによりクリッピングを
行う平面方程式の係数等を抽出する。また、オブジェク
トデータからは、オブジェクト毎の処理に必要なデータ
の抽出を行う。また、ポリゴンデータからは、ポリゴン
の頂点座標、頂点テクスチャ座標、頂点輝度情報等を抽
出して、これに必要なデータフォーマット変換を行い、
頂点座標を平面方程式演算部216へ、頂点座標、頂点テ
クスチャ座標、頂点輝度情報等をポリゴンデータレジス
タ214へと出力する。
For example, the angle, size, and the like of a monitor that displays an image are extracted from the frame data, and the coefficients and the like of a plane equation for performing clipping are extracted. Further, data necessary for processing for each object is extracted from the object data. Also, from the polygon data, the vertex coordinates, vertex texture coordinates, vertex luminance information, etc. of the polygon are extracted, and the necessary data format conversion is performed.
The vertex coordinates are output to the plane equation calculation unit 216, and the vertex coordinates, the vertex texture coordinates, the vertex luminance information, and the like are output to the polygon data register 214.

ポリゴンデータレジスタ214では、入力部212から入力
された頂点座標、頂点テクスチャ座標、頂点輝度情報等
が順次記憶され、クリッピング指示部218の指示に従っ
て、データを内分点演算部230、または、出力マルチプ
レクサ260へと出力する。
The polygon data register 214 sequentially stores the vertex coordinates, vertex texture coordinates, vertex luminance information, and the like input from the input unit 212 and, according to the instruction of the clipping instructing unit 218, converts the data into the internal dividing point calculating unit 230 or the output multiplexer. Output to 260.

平面方程式演算部216では、前記演算手法で説明した
ように、下記の演算式にしたがい、ポリゴンの全長点座
標vnに対する内外判定が行われる。ここで、係数a,b,
c,dは、フレームデータにより設定されたものである。
また、どのクリッピング面の平面方程式により演算する
か、即ち、どのようなクリッピング面の順序で演算を行
うかは、読み出し部190により読み出されたデータによ
り決定される。
In the plane equation calculation unit 216, as described in the calculation method, the inside / outside determination is performed on the full-length point coordinates vn of the polygon according to the following calculation formula. Where the coefficients a, b,
c and d are set by the frame data.
Also, which clipping plane is to be operated by the plane equation, that is, which clipping plane is to be operated in order is determined by the data read by the reading unit 190.

h(Vn)=aXn+bYn+cZn+d 上記の演算により、h(vn)≦0となった場合はvn
は表示領域内にあると判断され、h(vn)>0となっ
た場合はvnは表示外領域にあると判断される。
h (Vn) = aXn + bYn + cZn + d If the above operation results in h (vn) ≦ 0, vn
Is determined to be in the display area, and when h (vn)> 0, vn is determined to be in the non-display area.

クリッピング指示部218では、表示領域又は表示外領
域のポリゴンの各頂点のインデックスデータが記憶され
る。そして、ポリゴンの全ての頂点が表示外領域にある
とされた場合は、ポリゴンデータレジスタ214に、当該
ポリゴンデータを無効とするように指示する。
The clipping instructing unit 218 stores the index data of each vertex of the polygon in the display area or the non-display area. Then, when all the vertices of the polygon are determined to be in the non-display area, the polygon data register 214 is instructed to invalidate the polygon data.

また、全ての頂点が表示領域にあるとされた場合は、
ポリゴンデータレジスタ214に、当該ポリゴンデータを
出力マルチプレクサへ出力するように指示する。
If all vertices are in the display area,
Instruct the polygon data register 214 to output the polygon data to the output multiplexer.

また、ポリゴンがクリッピング面の境界領域にあると
された場合、即ちクリッピング面により内分されると判
断された場合は、ポリゴンデータレジスタ214に、ポリ
ゴンデータを内分点演算部230へと出力するように指示
する。この場合、クリッピング指示部218は、平面方程
式演算部216で演算されたh(Vm)、h(Vn)(以下、
hm、hnと呼ぶ)を内分点演算部230へと出力する。
If it is determined that the polygon is in the boundary area of the clipping plane, that is, if it is determined that the polygon is internally divided by the clipping plane, the polygon data is output to the polygon data register 214 and to the internal division point calculation unit 230. To instruct. In this case, the clipping instructing unit 218 calculates h (Vm) and h (Vn) (hereinafter, h (Vn)) calculated by the plane equation calculating unit 216.
hm, hn) to the internally dividing point calculation unit 230.

なお、クリッピング指示部218では、この他にも、内
分点演算部230内のデータ制御等に必要なデータも生成
されている。また、現在のモードが、透視投影変換を行
うモードであった場合は、内分点演算部230での演算が
透視投影変換演算となるように各種の指示を与えてい
る。
The clipping instructing unit 218 also generates data necessary for data control and the like in the internally dividing point calculating unit 230. Further, when the current mode is a mode for performing perspective projection conversion, various instructions are given so that the calculation in the internally dividing point calculation unit 230 is a perspective projection conversion calculation.

内分点演算部230は、絶対値演算部232、234、セレク
タ236、238、除算部240、減算部242、0マスク部244、
1マスク部246、乗算部248、加算部250を含んで構成さ
れる。
The internal dividing point calculation unit 230 includes absolute value calculation units 232 and 234, selectors 236 and 238, division unit 240, subtraction unit 242, 0 mask unit 244,
It is configured to include one mask unit 246, multiplication unit 248, and addition unit 250.

絶対値演算部232、234ではクリッピング指示部218か
ら出力されたhm、hnより、それぞれ|hm−hn|、|hm
|が演算され、セレクタ236、238を介して除算部240へ
と出力される。除算部240では、これらのデータより内
分比ti=|hm|/|hm−hn|が演算され、乗算部248へと
出力される。
In the absolute value calculation units 232 and 234, | hm−hn | and | hm are respectively obtained from hm and hn output from the clipping instruction unit 218.
Is calculated and output to the division unit 240 via the selectors 236 and 238. The division unit 240 calculates the internal division ratio ti = | hm | / | hm-hn | from these data, and outputs the result to the multiplication unit 248.

減算部242では、ポリゴンデータレジスタ214から出力
されたポリゴンデータWa、WbよりWb−Waが演算され、乗
算部248へと出力される。なお、ここでWa、Wbには、ポ
リゴンの頂点座標のみならず、頂点テクスチャ座標、頂
点輝度情報も含まれる。これらのデータは、ポリゴンが
内分される場合に、後の画像処理の演算に必要となるも
のだからである。
The subtraction unit 242 calculates Wb−Wa from the polygon data Wa and Wb output from the polygon data register 214 and outputs the result to the multiplication unit 248. Here, Wa and Wb include not only vertex coordinates of the polygon but also vertex texture coordinates and vertex luminance information. This is because these data are necessary for the later image processing calculation when the polygon is internally divided.

乗算部248では、前記ti、Wb−Waより、ti(Wb−W
a)が演算され、加算部250へと出力される。
The multiplication unit 248 calculates ti (Wb−Wb) from the ti and Wb−Wa.
a) is calculated and output to the adder 250.

加算部250では、Waと前記ti(Wb−Wa)より、 Wout=Wa+ti(Wb−Wa) が演算される。これにより内分点が求められたことにな
る。
The adder 250 calculates Wout = Wa + ti (Wb-Wa) from Wa and the ti (Wb-Wa). This means that the internal dividing point has been obtained.

なお、内分点演算部230では内分点演算のみならず透
視投影変換演算をも併せて行うことができる。この場合
には、セレクタ236、238により、それぞれWa及びhがセ
レクトされ、0マスク部244、1マスク部246により、そ
れぞれデータがマスクされ、‘0'、‘1'が設定される。
これにより、上記演算式は、Wa=0、Wb−Wa=1、ti
=h/Waと設定され、 Wout=h/Wa と演算され、これにより透視投影変換が行われることと
なる。このように、本実施例では、内分点演算を行う回
路構成を利用して、透視投影変換も併せて行うことがで
きる。したがって、透視投影変換を行うための回路を新
たに設ける必要がなく、ハードウエアを大幅に節約する
ことが可能となる。特に、除算部240等の規模の大きな
回路を併用できる点で有利である。
In addition, the internally dividing point calculation unit 230 can perform not only the internally dividing point calculation but also the perspective projection conversion calculation. In this case, Wa and h are respectively selected by the selectors 236 and 238, and the data is masked by the 0 mask unit 244 and the 1 mask unit 246, respectively, and '0' and '1' are set.
As a result, the above arithmetic expressions are expressed as Wa = 0, Wb-Wa = 1, ti
= H / Wa, and Wout = h / Wa is calculated, whereby the perspective projection transformation is performed. As described above, in the present embodiment, the perspective projection conversion can be performed together by using the circuit configuration for performing the internal dividing point calculation. Therefore, it is not necessary to newly provide a circuit for performing the perspective projection conversion, and it is possible to greatly reduce hardware. In particular, it is advantageous in that a large-scale circuit such as the division unit 240 can be used together.

内分点演算部230での演算結果Woutは、出力マルチプ
レクサ260に入力される。出力マルチプレクサ260は、当
該ポリゴンに対する他のクリッピング面によるクリッピ
ング処理がまだ残っている場合は、演算結果を入力部に
戻す。そして、プライオリティレジスタに記憶されてい
る全てのクリッピング面の処理、及び透視投影変換が終
了するまでこの動作を繰り返す。そして、最後のクリッ
ピング面の処理又は透視投影変換が終了すると、データ
を次段の出力フォーマット部421へと出力する。
The calculation result Wout in the internal dividing point calculation unit 230 is input to the output multiplexer 260. The output multiplexer 260 returns the operation result to the input unit when the clipping process by another clipping plane for the polygon still remains. This operation is repeated until the processing of all clipping planes stored in the priority register and the perspective projection conversion are completed. Then, when the processing of the last clipping plane or the perspective projection conversion is completed, the data is output to the output format unit 421 at the next stage.

(3)プライオリティ変更及び並列接続による処理速度
の向上 図16(A)には、従来のクリッピング処理装置により
クリッピング処理を行う場合が示されている。即ち、従
来では、5個のクリッピング処理装置400a〜400e及び透
視投影変換回路402を直列に接続してクリッピング処理
を行っていた(5面によるクリッピングの場合)。この
場合の処理時間を、以下、1単位時間とする。
(3) Improvement of Processing Speed by Changing Priority and Parallel Connection FIG. 16A shows a case where a clipping process is performed by a conventional clipping device. That is, in the related art, the clipping process is performed by connecting five clipping processing devices 400a to 400e and the perspective projection conversion circuit 402 in series (in the case of clipping by five planes). The processing time in this case is hereinafter referred to as one unit time.

これに対して、本実施例によるクリッピング処理装置
では、同図(B)に示すように1個のクリッピング処理
装置420でこれを処理することが可能となる。更に、同
図(C)に示すように、合成する画面の状況によって
は、これを複数、例えば2個のクリッピング処理装置42
0a、420bにより処理することも可能である。以下、本実
施例に係るクリッピング処理装置が速度向上に如何に有
効であるかを示す。
On the other hand, in the clipping processing device according to the present embodiment, it is possible to process this with one clipping processing device 420 as shown in FIG. Further, as shown in FIG. 4C, depending on the situation of the screen to be synthesized, a plurality of, for example, two clipping processing units 42 may be used.
It is also possible to process by 0a and 420b. Hereinafter, it will be described how the clipping processing apparatus according to the present embodiment is effective for improving the speed.

さて、本実施例に係るクリッピング処理装置では、同
図(D)に示すように6個のクリッピング処理装置420
〜420fを並列に接続して、ポリゴンデータを並列処理す
る構成とすることが可能である。そして、このような接
続をしても、同図(A)の従来のクリッピング処理に要
するクリッピング処理装置の個数と、同数のクリッピン
グ処理装置で処理を行うことができる。
Now, in the clipping processing device according to the present embodiment, as shown in FIG.
To 420f can be connected in parallel, so that the polygon data can be processed in parallel. Even with such a connection, the processing can be performed by the same number of clipping processing devices as the number of clipping processing devices required for the conventional clipping process in FIG.

同図(D)に示す構成で、トリビアル・アクセプト/
リジェクトの手法を用いることにより、例えば全てのポ
リゴンがクリッピングが必要なく透視投影変換のみ必要
であると判断された場合は、従来の6倍のスピードでク
リッピング処理を行うことができる。また、このように
理想的な状態ではない場合にも、以下に説明するよう
に、この接続の構成は処理速度の向上に非常に有効であ
る。
With the configuration shown in FIG.
By using the reject method, for example, when it is determined that all polygons need only perspective projection transformation without clipping, clipping processing can be performed at six times the speed of the related art. In addition, even when the state is not ideal, as described below, this connection configuration is very effective in improving the processing speed.

例えば、本3次元シミュレータ装置をゲームに適用し
た場合、ゲーム中においてポリゴンのクリッピング処理
は、全てのポリゴンについて全てのクリッピング面に対
して行わなければならない訳ではない。画面の状況によ
って変化するが、例えば、次にような比率になる。
For example, when the present three-dimensional simulator apparatus is applied to a game, the clipping processing of polygons during the game does not have to be performed for all clipping planes for all polygons. The ratio changes depending on the state of the screen. For example, the ratio is as follows.

クリッピング処理の必要なし 70% 1面のクリッピング処理が必要 20% 2面のクリッピング処理が必要 8% 3面以上のクリッピング処理が必要 2% さて、この場合にクリッピング処理に要する時間の概
算を以下に示す。即ち、クリッピング処理にかかる時間
は、上記のそれぞれの場合についてかかる時間の比率を
P0(クリッピング処理の必要なし、透視投影変換のみ)
〜P5(5面のクリッピング処理が必要、透視投影変換含
む)であらわすと次式であらわすことができる。
No need for clipping 70% One-side clipping required 20% Two-side clipping required 8% Three or more clipping required 2% Now, in this case, the approximate time required for clipping is as follows: Show. In other words, the time required for the clipping process is calculated as
P0 (no clipping required, only perspective projection transformation)
PP5 (necessary 5 plane clipping processing, including perspective projection transformation) can be expressed by the following equation.

1×P0+2P1+3P2+6P5 (k) なお、説明を簡単にするため3面以上のクリッピング
は、全て5面でクリッピングされるものとしている。
1 × P0 + 2P1 + 3P2 + 6P5 (k) For simplicity, clipping on three or more surfaces is assumed to be clipped on all five surfaces.

ここに、上で述べた典型的な比率を代入すると、
(k)は、 1×0.7+2×0.2+0.08+6×0.02=1.46 となる。これを並列接続された6個のクリッピング処理
装置に振り分けられると、 1.46/6=0.233 となる。図16(A)の従来のクリッピング処理装置では
1単位時間を要したのであるから、処理速度は約4.1倍
となる。
Here, substituting the typical ratio mentioned above,
(K) is 1 × 0.7 + 2 × 0.2 + 0.08 + 6 × 0.02 = 1.46. If this is distributed to the six clipping processors connected in parallel, the result is 1.46 / 6 = 0.233. Since the conventional clipping processing apparatus shown in FIG. 16A requires one unit time, the processing speed is increased by about 4.1 times.

これはクリッピング処理装置の個数が図16(A)と比
較して変わっていない点に注意すべきである。動的にポ
リゴンのクリッピング処理の内容を変更することによっ
て、この速度が可能となるのである。これはしかし、極
端な場合、例えば全てのポリゴンがクリッピングの必要
が生じるような場合には、スピードの差は図16(A)と
比べて全くなくなる。
It should be noted that the number of clipping processing devices has not changed compared to FIG. This speed is made possible by dynamically changing the contents of the polygon clipping process. However, in an extreme case, for example, when all the polygons need to be clipped, there is no difference in speed as compared with FIG.

しかしこのような場合においても、前述したクリッピ
ング面のプライオリティを内部で変更させる機能によ
り、処理スピードの低下を防止することができる。以
下、これを説明する。
However, even in such a case, the processing speed can be prevented from lowering by the above-described function of internally changing the priority of the clipping surface. Hereinafter, this will be described.

クリッピング処理が例えば全てのポリゴンについて3
面必要になった場合を考えよう。これは複数のポリゴン
からなる3次元オブジェクト一個がこのようになった場
合にも当てはまる。この場合、そのままでは処理は4回
のループ(透視投影変換含む)が必要となり、図16
(A)に比べて6/4=1.5倍しか処理スピードが向上しな
い。しかし、この時、処理されるポリゴンの95%が実際
には一つの面でクリップアウトされると考える。これ
は、実際にクリッピング処理を行う場合、頻繁に発生す
る。条件として最初にクリップアウトされるポリゴンが
ならんでおり、クリップアウトされるポリゴンは、その
後に並んでいるものとする。
Clipping process is 3 for all polygons
Suppose you need a surface. This is true even when one three-dimensional object composed of a plurality of polygons becomes like this. In this case, as it is, the processing requires four loops (including perspective projection conversion), and FIG.
The processing speed is improved only by 6/4 = 1.5 times as compared with (A). However, at this time, it is assumed that 95% of the processed polygons are actually clipped out on one surface. This frequently occurs when the clipping process is actually performed. It is assumed that polygons to be clipped out first are arranged as conditions, and polygons to be clipped out are arranged subsequently.

この場合、クリップアウトされる最初のポリゴンは4
倍の時間が必要となる。しかし、その後のポリゴンにつ
いては、前述したプライオリティを変更する手法を用い
ることにより、前記クリップアウトしたクリッピング面
で最初に処理され、すぐにクリップアウトが生じてしま
うため、1単位時間しか必要としない。この場合の処理
時間は、ポリゴン数が十分多いと仮定した場合に、 0.05×4+0.95×1=1.15 となる。これは、クリッピング面のプライオリティの変
更を行わない場合の、 4/1.15=3.4倍 となり、また図16(A)の場合に比べても、 1.5×3.4=5.1(倍) となる。したがって、かなり理想状態に近い値(6倍)
が得られることになる。
In this case, the first polygon clipped out is 4
Twice the time is required. However, the subsequent polygons are processed first on the clipped-out clipping plane by using the above-described method of changing the priority, so that clipping occurs immediately, so that only one unit time is required. The processing time in this case is 0.05 × 4 + 0.95 × 1 = 1.15, assuming that the number of polygons is sufficiently large. This is 4 / 1.15 = 3.4 times when the priority of the clipping plane is not changed, and 1.5 × 3.4 = 5.1 (times) as compared with the case of FIG. 16 (A). Therefore, a value very close to the ideal state (6 times)
Is obtained.

つまり、クリッピング面のプライオリティ変更機能に
よって、本来処理が遅くなる場合でも、かなりそれを防
ぐことができることになる。
In other words, even if the processing is originally slowed down by the function of changing the priority of the clipping plane, it can be considerably prevented.

なお、本発明は上記実施例に限定されるものではな
く、本発明の要旨の範囲内で種々の変形実施が可能であ
る。
It should be noted that the present invention is not limited to the above embodiment, and various modifications can be made within the scope of the present invention.

例えば、本発明において、クリッピング演算部により
行われるクリッピング処理の演算手法としては、上記し
た演算手法に限らず種々のアルゴリズムを用いた演算手
法を用いることができる。
For example, in the present invention, the operation method of the clipping process performed by the clipping operation unit is not limited to the above-described operation method, and an operation method using various algorithms can be used.

また、本発明におけるプライオリティ記憶手段として
は、フリップフロップ等で形成されるレジスタのみなら
ず、SRAM、DRAM等のメモリなど、少なくともプライオリ
ティ(インデックスデータ)を記憶できるものであれ
ば、どのようなものを用いても構わない。
Further, as the priority storage means in the present invention, not only a register formed by a flip-flop or the like, but also a memory such as an SRAM or a DRAM as long as it can store at least the priority (index data). You may use it.

また、本発明の3次元シミュレータ装置は、業務用の
ゲーム機、家庭用のゲーム装置、フライトシミュレー
タ、教習所等で使用されるドライビングシミュレータ
等、種々のものに適用できる。更に、多数のプレーヤが
参加する大型アトラクション型のゲーム装置、シミュレ
ーション装置にも適用できる。
Further, the three-dimensional simulator device of the present invention can be applied to various things such as a business game machine, a home game device, a flight simulator, a driving simulator used in a driving school, and the like. Further, the present invention can be applied to a large attraction type game device and a simulation device in which a large number of players participate.

また、本発明において仮想3次元空間演算手段、画像
合成手段、クリッピング処理装置等において行われる演
算処理は、専用の画像処理デバイスを用いて処理しても
よいし、汎用のマイクロコンピュータ、DSP等を利用し
てソフトウェア的に処理してもよい。
In the present invention, the arithmetic processing performed in the virtual three-dimensional space arithmetic means, the image synthesizing means, the clipping processing device and the like may be performed using a dedicated image processing device, or may be performed using a general-purpose microcomputer, DSP, or the like. The processing may be performed using software.

更に、仮想3次元空間演算手段、画像合成手段等で行
われる演算処理も本実施例で説明したものに限定される
ものではない。
Further, the calculation processing performed by the virtual three-dimensional space calculation means, the image synthesis means, and the like is not limited to those described in the present embodiment.

また、本発明の3次元シミュレータ装置には、画像合
成された疑似3次元画像をヘッドマウントディスプレイ
(HMD)と呼ばれるディスプレイに表示する構成のもの
も含まれる。
Further, the three-dimensional simulator apparatus of the present invention includes a configuration in which a pseudo three-dimensional image obtained by image synthesis is displayed on a display called a head mounted display (HMD).

Claims (20)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】複数のポリゴンの集合で表現された3次元
オブジェクトに対して複数のクリッピング面を用いたク
リッピング処理を施すためのクリッピング処理装置であ
って、 クリッピング処理に用いる前記クリッピング面を指定す
るためのインデックスデータを格納する手段を含み、該
インデックスデータをクリッピング処理を施す順に該格
納手段の最上位の格納場所から下位の格納場所へと格納
することでクリッピング面のプライオリティを記憶する
手段と、 前記プライオリティ記憶手段に対して前記インデックス
データの初期値を設定する手段と、 前記プライオリティ記憶手段からクリッピング面のイン
デックスデータを読み出す手段と、 前記読み出し手段により読み出されたインデックスデー
タを変更して前記プライオリティ記憶手段に書き戻すプ
ライオリティ変更手段と、 前記読み出し手段により前記格納手段の最上位の格納場
所から順に読み出されるインデックスデータにより指定
されるクリッピング面を用いて、処理対象となるポリゴ
ンに対してクリッピング演算処理を施すクリッピング演
算手段とを含み、 前記クリッピング演算手段が、処理対象となるポリゴン
が前記クリッピング面についての表面領域あるいは境界
領域あるいは表示外領域のいずれにあるかを判定する内
外判定手段と、該内外判定手段により該ポリゴンが境界
領域にあると判定された場合には該ポリゴンと前記クリ
ッピング面との内分点を演算する手段と、該内外判定手
段により該ポリゴンが表示外領域にあると判定された場
合には該ポリゴンを無効にする演算処理を施す手段とを
含み、 前記プライオリティ変更手段が、処理対象となったポリ
ゴンが前記クリッピング演算手段によりクリッピング面
についての表示外領域にあるとされた場合には、当該ク
リッピング面のインデックスデータを前記格納手段の最
上位の格納場所に転送する手段を含むことを特徴とする
クリッピング処理装置。
1. A clipping processing apparatus for performing a clipping process using a plurality of clipping planes on a three-dimensional object represented by a set of a plurality of polygons, wherein the clipping plane used for the clipping processing is designated. Means for storing index data for storing the priority of the clipping plane by storing the index data in the order of performing the clipping process from the highest storage location to the lower storage location of the storage means, Means for setting an initial value of the index data in the priority storage means; means for reading index data of a clipping plane from the priority storage means; and changing the index data read by the reading means to change the priority. Memory Using a priority changing unit that writes back to a column, and a clipping calculation process performed on the polygon to be processed by using the clipping plane specified by the index data sequentially read from the highest storage location of the storage unit by the reading unit. An internal / external determination unit for determining whether a polygon to be processed is located in a surface area, a boundary area, or a non-display area of the clipping plane; and When the polygon is determined to be in the boundary area by the means, the means for calculating the internal dividing point between the polygon and the clipping plane is determined, and the polygon is determined by the interior / external determination means to be in the display outside area. Means for performing an arithmetic process for invalidating the polygon in the case, If the priority changing unit determines that the polygon to be processed is in the non-display area of the clipping plane by the clipping calculation unit, the index data of the clipping plane is stored in the highest storage location of the storage unit. A clipping processing device comprising means for transferring.
【請求項2】請求項1において、 前記プライオリティ変更手段が、処理対象となったポリ
ゴンが前記クリッピング演算手段によりクリッピング面
についての表示外領域にあるとされた場合には、当該ク
リッピング面のインデックスデータを前記格納手段の最
上位の格納場所に転送するとともに、前記最上位の格納
場所から、転送された前記インデックスデータの格納場
所の1つ上位の格納場所までに格納されているインデッ
クスデータを、順次繰り下げて下位の格納場所に転送す
る手段を含むことを特徴とするクリッピング処理装置。
2. The clipping plane index data according to claim 1, wherein the priority changing unit determines that the processing target polygon is located outside the display area of the clipping plane by the clipping calculation unit. Is transferred to the highest storage location of the storage means, and the index data stored from the highest storage location to the storage location one level higher than the storage location of the transferred index data is sequentially transferred. A clipping processing device comprising means for decrementing and transferring to a lower storage location.
【請求項3】請求項1において、 3次元オブジェクトを構成するポリゴンに対して前記ク
リッピング処理を施す前に、当該3次元オブジェクト全
体についての前処理を行う手段を更に含み、 前記前処理手段が、 前記クリッピング面を含むように形成された所定幅のト
リビアルクリッピング用のゾーンを設定し、前記3次元
オブジェクトが、該ゾーンについての表示領域あるいは
境界領域あるいは表示外領域のいずれにあるかを判定す
る前処理判定手段と、 該前処理判定手段により、当該3次元オブジェクトが前
記ゾーンについての表示領域あるいは表示外領域にある
と判定された場合には当該3次元オブジェクトを構成す
るポリゴンに対するクリッピング処理を省略し、前記ゾ
ーンについての境界領域にあると判定された場合には当
該3次元オブジェクトを構成するポリゴンに対してクリ
ッピング処理を施すことを指定する手段と、 を含むことを特徴とするクリッピング処理装置。
3. The apparatus according to claim 1, further comprising: means for performing pre-processing on the entire three-dimensional object before performing the clipping processing on the polygons constituting the three-dimensional object; Before setting a trivial clipping zone having a predetermined width formed so as to include the clipping plane, and before determining whether the three-dimensional object is in a display area, a boundary area, or a non-display area of the zone. When the processing determining means and the preprocessing determining means determine that the three-dimensional object is in the display area or the non-display area of the zone, the clipping processing for the polygons constituting the three-dimensional object is omitted. , If it is determined to be in the boundary area for the zone, Means for designating that clipping processing is to be performed on polygons constituting an original object.
【請求項4】請求項2において、 3次元オブジェクトを構成するポリゴンに対して前記ク
リッピング処理を施す前に、当該3次元オブジェクト全
体についての前処理を行う手段を更に含み、 前記前処理手段が、 前記クリッピング面を含むように形成された所定幅のト
リビアルクリッピング用のゾーンを設定し、前記3次元
オブジェクトが、該ゾーンについての表示領域あるいは
境界領域あるいは表示外領域のいずれにあるかを判定す
る前処理判定手段と、 該前処理判定手段により、当該3次元オブジェクトが前
記ゾーンについての表示領域あるいは表示外領域にある
と判定された場合には当該3次元オブジェクトを構成す
るポリゴンに対するクリッピング処理を省略し、前記ゾ
ーンについての境界領域にあると判定された場合には当
該3次元オブジェクトを構成するポリゴンに対してクリ
ッピング処理を施すことを指定する手段と、 を含むことを特徴とするクリッピング処理装置。
4. The apparatus according to claim 2, further comprising: means for performing pre-processing on the entire three-dimensional object before performing the clipping processing on polygons constituting the three-dimensional object; Before setting a trivial clipping zone having a predetermined width formed so as to include the clipping plane, and before determining whether the three-dimensional object is in a display area, a boundary area, or a non-display area of the zone. When the processing determining means and the preprocessing determining means determine that the three-dimensional object is in the display area or the non-display area of the zone, the clipping processing for the polygons constituting the three-dimensional object is omitted. , If it is determined to be in the boundary area for the zone, Means for designating that clipping processing is to be performed on polygons constituting an original object.
【請求項5】請求項1において、 前記クリッピング演算手段に含まれる前記内分点演算手
段が、前記内分点演算に使用される演算係数を変更する
ことにより処理の対象となるポリゴンに対して透視投影
変換処理を施す手段を含むことを特徴とするクリッピン
グ処理装置。
5. The polygon according to claim 1, wherein said interior dividing point computing means included in said clipping computing section changes an operation coefficient used for said interior dividing point computation to obtain a polygon to be processed. A clipping processing device comprising means for performing a perspective projection conversion process.
【請求項6】請求項2において、 前記クリッピング演算手段に含まれる前記内分点演算手
段が、前記内分点演算に使用される演算係数を変更する
ことにより処理の対象となるポリゴンに対して透視投影
変換処理を施す手段を含むことを特徴とするクリッピン
グ処理装置。
6. The polygon according to claim 2, wherein said internal dividing point calculating means included in said clipping calculating means changes a calculation coefficient used for said internal dividing point calculation to obtain a polygon to be processed. A clipping processing device comprising means for performing a perspective projection conversion process.
【請求項7】請求項3において、 前記クリッピング演算手段に含まれる前記内分点演算手
段が、前記内分点演算に使用される演算係数を変更する
ことにより処理の対象となるポリゴンに対して透視投影
変換処理を施す手段を含むことを特徴とするクリッピン
グ処理装置。
7. A polygon as a processing target according to claim 3, wherein said internally dividing point calculating means included in said clipping calculating means changes an arithmetic coefficient used for said internally dividing point calculation. A clipping processing device comprising means for performing a perspective projection conversion process.
【請求項8】請求項4において、 前記クリッピング演算手段に含まれる前記内分点演算手
段が、前記内分点演算に使用される演算係数を変更する
ことにより処理の対象となるポリゴンに対して透視投影
変換処理を施す手段を含むことを特徴とするクリッピン
グ処理装置。
8. The polygon according to claim 4, wherein said internal dividing point calculating means included in said clipping calculating means changes a calculation coefficient used for said internal dividing point calculation to obtain a polygon to be processed. A clipping processing device comprising means for performing a perspective projection conversion process.
【請求項9】請求項1において、 前記初期値設定手段により設定される初期値を、ポリゴ
ンにより構成される3次元オブジェクトの表示状態に応
じて3次元オブジェクト毎に設定する手段を含むことを
特徴とするクリッピン処理装置。
9. The apparatus according to claim 1, further comprising means for setting an initial value set by said initial value setting means for each three-dimensional object according to a display state of a three-dimensional object formed by polygons. Clipping processing device.
【請求項10】請求項2において、 前記初期値設定手段により設定される初期値を、ポリゴ
ンにより構成される3次元オブジェクトの表示状態に応
じて3次元オブジェクト毎に設定する手段を含むことを
特徴とするクリッピン処理装置。
10. The apparatus according to claim 2, further comprising means for setting an initial value set by said initial value setting means for each three-dimensional object according to a display state of a three-dimensional object formed by polygons. Clipping processing device.
【請求項11】請求項3において、 前記初期値設定手段により設定される初期値を、ポリゴ
ンにより構成される3次元オブジェクトの表示状態に応
じて3次元オブジェクト毎に設定する手段を含むことを
特徴とするクリッピン処理装置。
11. The apparatus according to claim 3, further comprising means for setting an initial value set by said initial value setting means for each three-dimensional object according to a display state of a three-dimensional object constituted by polygons. Clipping processing device.
【請求項12】請求項4において、 前記初期値設定手段により設定される初期値を、ポリゴ
ンにより構成される3次元オブジェクトの表示状態に応
じて3次元オブジェクト毎に設定する手段を含むことを
特徴とするクリッピン処理装置。
12. The apparatus according to claim 4, further comprising means for setting an initial value set by said initial value setting means for each three-dimensional object according to a display state of a three-dimensional object formed by polygons. Clipping processing device.
【請求項13】請求項5において、 前記初期値設定手段により設定される初期値を、ポリゴ
ンにより構成される3次元オブジェクトの表示状態に応
じて3次元オブジェクト毎に設定する手段を含むことを
特徴とするクリッピン処理装置。
13. The apparatus according to claim 5, further comprising means for setting an initial value set by said initial value setting means for each three-dimensional object according to a display state of a three-dimensional object formed by polygons. Clipping processing device.
【請求項14】請求項6において、 前記初期値設定手段により設定される初期値を、ポリゴ
ンにより構成される3次元オブジェクトの表示状態に応
じて3次元オブジェクト毎に設定する手段を含むことを
特徴とするクリッピン処理装置。
14. The apparatus according to claim 6, further comprising means for setting an initial value set by said initial value setting means for each three-dimensional object according to a display state of a three-dimensional object constituted by polygons. Clipping processing device.
【請求項15】請求項7において、 前記初期値設定手段により設定される初期値を、ポリゴ
ンにより構成される3次元オブジェクトの表示状態に応
じて3次元オブジェクト毎に設定する手段を含むことを
特徴とするクリッピン処理装置。
15. The apparatus according to claim 7, further comprising means for setting an initial value set by said initial value setting means for each three-dimensional object according to a display state of a three-dimensional object formed by polygons. Clipping processing device.
【請求項16】請求項8において、 前記初期値設定手段により設定される初期値を、ポリゴ
ンにより構成される3次元オブジェクトの表示状態に応
じて3次元オブジェクト毎に設定する手段を含むことを
特徴とするクリッピン処理装置。
16. The apparatus according to claim 8, further comprising means for setting an initial value set by said initial value setting means for each three-dimensional object according to a display state of a three-dimensional object constituted by polygons. Clipping processing device.
【請求項17】請求項1乃至16のいずれかのクリッピン
グ処理装置を含む3次元シミュレータ装置であって、 前記クリッピング処理装置によりクリッピング処理が施
されたポリゴンを用いて、仮想3次元空間において観者
から見える視界画像を合成する画像合成手段を少なくと
も含むことを特徴とする3次元シミュレータ装置。
17. A three-dimensional simulator including the clipping processing device according to any one of claims 1 to 16, wherein a viewer in a virtual three-dimensional space is used by using a polygon subjected to clipping processing by the clipping processing device. A three-dimensional simulator apparatus comprising at least image synthesizing means for synthesizing a visual field image viewed from the outside.
【請求項18】クリッピング処理に用いるクリッピング
面のプライオリティを記憶するプライオリティ記憶手段
を用いて複数のポリゴンの集合で表現された3次元オブ
ジェクトに対してクリッピング処理を施すクリッピング
処理方法であって、 前記プライオリティ記憶手段にクリッピング面のプライ
オリティの初期値を設定するステップと、 前記プライオリティ記憶手段に記憶されるプライオリテ
ィが高いクリッピング面から順に、該クリッピング面を
用いて処理対象となるポリゴンが該クリッピング面につ
いての表示領域あるいは境界領域あるいは表示外領域の
いずれにあるかを判定するステップと、 前記判定ステップにより処理対象のポリゴンが境界領域
にあると判定された場合には該ポリゴンと前記クリッピ
ング面との内分点を演算し、該ポリゴンが表示外領域に
あると判定された場合には該ポリゴンを無効にする演算
処理を施すクリッピング演算ステップと、 前記クリッピング演算ステップにより処理対象のポリゴ
ンが前記クリッピング面についての表示外領域にあると
された場合には、該クリッピング面のプライオリティが
最も高くなるように前記プライオリティ記憶手段のプラ
イオリティを変更するステップとを含むことを特徴とす
るクリッピング処理方法。
18. A clipping processing method for performing a clipping process on a three-dimensional object represented by a set of a plurality of polygons using a priority storage unit that stores a priority of a clipping surface used for the clipping process, wherein Setting an initial value of the priority of the clipping plane in the storage unit; and displaying the polygon to be processed using the clipping plane in order from the clipping plane with the highest priority stored in the priority storage unit. Determining whether the polygon is in a boundary area or a non-display area; and, if the determination step determines that the polygon to be processed is in the boundary area, an internal dividing point between the polygon and the clipping plane. Calculate A clipping operation step of performing an operation for invalidating the polygon when it is determined that the polygon is in the non-display area; and a polygon to be processed by the clipping operation step is displayed in the non-display area of the clipping plane. If it is determined that there is, the step of changing the priority of the priority storage means so that the priority of the clipping plane is the highest.
【請求項19】請求項18において、 3次元オブジェクトを構成するポリゴンに対して前記ク
リッピング処理を施す前に、当該3次元オブジェクト全
体についての前処理を行うステップを含み、 前記前処理ステップが、 クリッピング面を含むように形成された所定幅のトリビ
アルクリッピング用のゾーンを設定し、前記3次元オブ
ジェクトが、該ゾーンについての表示領域あるいは境界
領域あるいは表示外領域のいずれにあるかを判定するス
テップと、 前記判定ステップにより前記3次元オブジェクトが前記
ゾーンについての表示領域あるいは表示外領域にあると
判定された場合には当該3次元オブジェクトを構成する
ポリゴンに対するクリッピング処理を省略し、前記ゾー
ンについての境界領域にあると判定された場合には当該
3次元オブジェクトを構成するポリゴンに対してクリッ
ピング処理を施すことを指定するステップとを含むこと
を特徴とするクリッピング処理方法。
19. The method according to claim 18, further comprising: before performing the clipping process on the polygons constituting the three-dimensional object, performing a pre-process on the entire three-dimensional object. Setting a zone for trivial clipping of a predetermined width formed so as to include a surface, and determining whether the three-dimensional object is in a display area, a boundary area, or a non-display area of the zone; If it is determined in the determination step that the three-dimensional object is in the display area or the non-display area for the zone, clipping processing for polygons constituting the three-dimensional object is omitted, and the boundary area for the zone is If it is determined that there is a Clipping processing method characterized in that with respect to the polygons constituting the-objects and a step of specifying the performing clipping processing.
【請求項20】請求項18において、 前記初期値設定ステップにより設定される初期値が、ポ
リゴンにより構成される3次元オブジェクトの表示状態
に応じて3次元オブジェクト毎に設定されることを特徴
とするクリッピン処理方法。
20. The method according to claim 18, wherein the initial value set in the initial value setting step is set for each three-dimensional object according to a display state of the three-dimensional object constituted by polygons. Clipping treatment method.
JP51021595A 1993-09-28 1994-09-28 Clipping processing device, three-dimensional simulator device, and clipping processing method Expired - Fee Related JP3233640B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP5-264411 1993-08-28
JP26441193 1993-09-28
PCT/JP1994/001597 WO1995009405A1 (en) 1993-09-28 1994-09-28 Clipping processor, three-dimensional simulator and clipping processing method

Publications (1)

Publication Number Publication Date
JP3233640B2 true JP3233640B2 (en) 2001-11-26

Family

ID=26435313

Family Applications (1)

Application Number Title Priority Date Filing Date
JP51021595A Expired - Fee Related JP3233640B2 (en) 1993-09-28 1994-09-28 Clipping processing device, three-dimensional simulator device, and clipping processing method

Country Status (1)

Country Link
JP (1) JP3233640B2 (en)

Similar Documents

Publication Publication Date Title
US5553208A (en) Image synthesizing system having a field buffer unit that stores texture coordinates
JP3594309B2 (en) Pipeline processing device, clipping processing device, three-dimensional simulator device, and pipeline processing method
US5630043A (en) Animated texture map apparatus and method for 3-D image displays
US6362822B1 (en) Lighting and shadowing methods and arrangements for use in computer graphic simulations
US5559937A (en) Clipping processing device, three-dimensional simulator device, and clipping processing method
JP4846120B2 (en) Graphics device with skeleton animation stitching hardware
US5966132A (en) Three-dimensional image synthesis which represents images differently in multiple three dimensional spaces
US7737982B2 (en) Method and system for minimizing an amount of data needed to test data against subarea boundaries in spatially composited digital video
US6549203B2 (en) Lighting and shadowing methods and arrangements for use in computer graphic simulations
JPH06203172A (en) Sorting processor and image synthesizing device using the processor
US5877769A (en) Image processing apparatus and method
JPH0687267B2 (en) Wire frame graphic display generation method and device and hidden line removal system
EP1312047B1 (en) Apparatus and method for rendering antialiased image
US6339430B1 (en) Video game machine and method for changing texture of models
JP2883523B2 (en) Image synthesizing apparatus and image synthesizing method
JP3233640B2 (en) Clipping processing device, three-dimensional simulator device, and clipping processing method
JPH05249953A (en) Image display device
EP0425573B1 (en) Texture mapping for computer graphics display controller system
JP2763481B2 (en) Image synthesizing apparatus and image synthesizing method
JP3978812B2 (en) Splash display method in image processing apparatus
JPH06238063A (en) Game cartridge and game device using this
JP3452512B2 (en) GAME DEVICE AND GAME IMAGE GENERATION METHOD
JP2008077406A (en) Image generation system, program, and information storage medium
JPH04225482A (en) Graphic display device
JP2888640B2 (en) Image synthesizing apparatus and image synthesizing method

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

Free format text: PAYMENT UNTIL: 20070921

Year of fee payment: 6

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20070921

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20080921

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20080921

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090921

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090921

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090921

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100921

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100921

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110921

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20110921

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120921

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20120921

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20130921

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees