JPH09297860A - Three-dimensional image generating device - Google Patents
Three-dimensional image generating deviceInfo
- Publication number
- JPH09297860A JPH09297860A JP8113867A JP11386796A JPH09297860A JP H09297860 A JPH09297860 A JP H09297860A JP 8113867 A JP8113867 A JP 8113867A JP 11386796 A JP11386796 A JP 11386796A JP H09297860 A JPH09297860 A JP H09297860A
- Authority
- JP
- Japan
- Prior art keywords
- dimensional image
- memory
- buffer memory
- pixel
- dimensional
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Image Generation (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、三次元画像生成装
置に関し、特に、三次元の図形データと明るさを表す輝
度とを用いて立体的な画像を生成する三次元画像生成装
置に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a three-dimensional image generating apparatus, and more particularly to a three-dimensional image generating apparatus that generates a three-dimensional image using three-dimensional graphic data and brightness representing brightness.
【0002】[0002]
【従来の技術】図3は、三次元画像生成方法を実現する
従来の三次元画像生成装置のブロック図である。本従来
の三次元画像生成装置は、プロセッサ3と、フレームバ
ッファメモリ4と、Zバッファメモリ2と、例えばCR
Tからなる表示装置5とにより構成されている。プロセ
ッサ3は図外の記憶装置からいくつかのポリゴンで構成
された三次元物体データを読みだし、奥行き座標値Zや
輝度Iの算出などの演算処理を行なう。フレームバッフ
ァメモリ4は画素の輝度を、Zバッファメモリ2は画素
の奥行き値Zを格納する。表示装置5はフレームバッフ
ァメモリ4に格納された内容を表示する。2. Description of the Related Art FIG. 3 is a block diagram of a conventional three-dimensional image generating apparatus that realizes a three-dimensional image generating method. The conventional three-dimensional image generation apparatus includes a processor 3, a frame buffer memory 4, a Z buffer memory 2, and a CR, for example.
And a display device 5 made of T. The processor 3 reads out three-dimensional object data composed of several polygons from a storage device (not shown) and performs arithmetic processing such as calculation of the depth coordinate value Z and brightness I. The frame buffer memory 4 stores the brightness of the pixel, and the Z buffer memory 2 stores the depth value Z of the pixel. The display device 5 displays the contents stored in the frame buffer memory 4.
【0003】図6は、図3に示した三次元画像生成装置
により実行される、Zバッファアルゴリズムと呼ばれる
隠面消去により三次元画像を生成する方法の手順を示す
フローチャートである。FIG. 6 is a flowchart showing a procedure of a method for generating a three-dimensional image by hidden surface removal called a Z-buffer algorithm, which is executed by the three-dimensional image generating apparatus shown in FIG.
【0004】まず、フレームバッファメモリ4及びZバ
ッファメモリ2を初期化する(ステップS101)。す
なわち、Zバッファメモリ2には奥行き座標値Zの最大
値(もっとも視点から離れた位置の座標値)を設定す
る。次に三次元物体データを指示された順序で座標変換
する(ステップS102)。この座標変換は物体のロー
カル座標で表されたポリゴン(三角形や四角形等の基本
図形)の頂点座標を、記憶装置などに指示された方法で
拡大縮小、回転、平行移動などを行ない、表示される画
像の基準座標系となるグローバル座標に対応させるのに
必要な変換であり、この変換により物体はそれぞれの位
置に配置される。First, the frame buffer memory 4 and the Z buffer memory 2 are initialized (step S101). That is, the maximum value of the depth coordinate value Z (the coordinate value of the position farthest from the viewpoint) is set in the Z buffer memory 2. Next, coordinate conversion is performed on the three-dimensional object data in the designated order (step S102). In this coordinate conversion, the vertex coordinates of a polygon (basic figure such as a triangle or a quadrangle) represented by the local coordinates of the object are scaled, rotated, translated, etc. by a method instructed by a storage device or the like and displayed. This conversion is necessary to correspond to the global coordinates that are the reference coordinate system of the image, and the object is placed at each position by this conversion.
【0005】次に物体を構成するポリゴンを順にスキャ
ン変換し(ステップS103)、スキャン変換したポリ
ゴン内の各画素に対して奥行き座標値Zを計算する(ス
テップS104)。次に算出した奥行き座標値ZとZバ
ッファメモリ2に格納されている奥行き座標値ZBとを
比較し(ステップS105)、算出した奥行き座標値Z
がZBより視点に近い位置にある場合、Zバッファメモ
リ2の値を算出した奥行き座標値Zに置き換え(ステッ
プS106)、シェーディング計算(ステップS10
7)から当該画素の輝度を求めてフレームバッファメモ
リ4に格納する(ステップS108)。ステップS10
4で、算出した奥行き座標値ZがZBより視点の奥にあ
った場合、ステップS106〜S108の処理は行なわ
ない。Next, the polygons forming the object are sequentially scan-converted (step S103), and the depth coordinate value Z is calculated for each pixel in the scan-converted polygon (step S104). Next, the calculated depth coordinate value Z and the depth coordinate value ZB stored in the Z buffer memory 2 are compared (step S105) to calculate the calculated depth coordinate value Z.
Is closer to the viewpoint than ZB, the value in the Z buffer memory 2 is replaced with the calculated depth coordinate value Z (step S106), and shading calculation is performed (step S10).
The luminance of the pixel is obtained from 7) and stored in the frame buffer memory 4 (step S108). Step S10
In step 4, when the calculated depth coordinate value Z is in the back of the viewpoint from ZB, the processes of steps S106 to S108 are not performed.
【0006】次に、ポリゴン内部の全ての画素が処理さ
れたか判断し(ステップS109)、処理が終了してい
なければステップS104に戻る。ステップS109で
処理が終了していれば、次に物体を構成する全てのポリ
ゴンが処理されたかどうか判断する(ステップ11
0)。処理が終了していなければステップS103に戻
り、終了していれば次に全ての物体の処理が終了したか
どうか判断する(ステップS111)。終了していなけ
ればステップS102に戻り、終了していればこのルー
チンを終了する。Next, it is judged whether all the pixels inside the polygon have been processed (step S109), and if the processing has not been completed, the process returns to step S104. If the processing is completed in step S109, it is determined whether or not all the polygons forming the object have been processed (step 11).
0). If the processing is not completed, the process returns to step S103, and if it is completed, it is determined whether or not the processing for all objects is completed (step S111). If not completed, the process returns to step S102, and if completed, this routine is completed.
【0007】以上の処理が終了した時点では、フレーム
バッファメモリ4にはスクリーン上の各画素について視
点にもっとも近いポリゴンの輝度だけが格納されてお
り、求める三次元画像が生成されている。このフレーム
メモリの内容を表示装置で表示することにより三次元の
画像を見ることができる。When the above processing is completed, only the brightness of the polygon closest to the viewpoint is stored in the frame buffer memory 4 for each pixel on the screen, and the desired three-dimensional image is generated. A three-dimensional image can be viewed by displaying the contents of this frame memory on a display device.
【0008】[0008]
【発明が解決しようとする課題】以上説明したように、
従来の三次元生成装置においては、フレームバッファメ
モリ4には輝度情報だけ、Zバッファメモリ2には奥行
き情報だけが格納されており、画面のある位置に表示さ
れているポリゴンがどの物体のポリゴンであったかの情
報を得ることはできない。As described above,
In the conventional three-dimensional generation device, only the brightness information is stored in the frame buffer memory 4 and only the depth information is stored in the Z buffer memory 2, and the polygon displayed at a certain position on the screen is the polygon of which object. I can't get information about what was there.
【0009】そのため、本従来例ではグローバル座標で
の物体の座標値を算出することにより、画面のある位置
に表示されているポリゴンが何であるかを推測してい
る。しかし、この方法ではすでに三次元画像生成時に行
なわれている隠面消去などの処理を再度行なう必要があ
り、その上、結果は物体のおおよその位置を知る程度に
留まるので、正確に画面のある位置に表示されているポ
リゴンが何であるかを知ることは困難である。Therefore, in this conventional example, by calculating the coordinate value of the object in global coordinates, it is estimated what the polygon is displayed at a certain position on the screen. However, with this method, it is necessary to re-execute the hidden surface removal processing that has already been performed at the time of generating a three-dimensional image. In addition, the result remains at the level of knowing the approximate position of the object, so that the screen is accurately displayed. It is difficult to know what the polygon displayed at the position is.
【0010】そこで、本発明は三次元画像を生成後、正
確に画面上の任意の位置の表示されたポリゴンがどの物
体のものかを判別するIDを付加することにより、ポリ
ゴンの元になった物体データを知ることができる方法を
提案するものである。Therefore, in the present invention, after the three-dimensional image is generated, an ID for accurately discriminating which object the displayed polygon at an arbitrary position on the screen belongs to becomes the source of the polygon. It proposes a method to know the object data.
【0011】IDを付加する手段を備えた三次元画像生
成方法が、特開平5−35883号公報に開示されてい
る。しかしながら、該公報に開示されている方法におい
ては、IDを付加する手段はシェーディング処理の計算
量を減らすために使用されており、ポリゴンのIDは表
示時には失われてしまう、また、ポリゴンのIDと物体
のIDを結び付ける手段がないため、物体判定用のID
として使用することはできない。A three-dimensional image generation method having means for adding an ID is disclosed in Japanese Patent Laid-Open No. 35883/1993. However, in the method disclosed in this publication, the means for adding the ID is used to reduce the calculation amount of the shading process, and the ID of the polygon is lost at the time of display. Since there is no means to connect the IDs of objects, IDs for object determination
Cannot be used as.
【0012】本発明は、三次元画像を生成後、正確に画
面上の任意の位置に表示されたポリゴンがどの物体のも
のかを知ることができる三次元画像生成装置を提供する
ことを目的とする。It is an object of the present invention to provide a three-dimensional image generation apparatus capable of accurately knowing which object a polygon displayed at an arbitrary position on a screen is after generating a three-dimensional image. To do.
【0013】[0013]
【課題を解決するための手段】上述の目的は、二次元の
スクリーン平面上の座標と該スクリーン平面からの奥行
きを表すz座標とからなる三次元座標により定義される
三次元の図形データと、明るさを表す輝度とを用いて立
体的な画像を生成する三次元画像生成装置であって、各
画素が含まれる図形データを識別するべく図形データ毎
に付与された物体IDを画素毎に格納するためのIDメ
モリと、各画素の輝度を格納するためのフレームバッフ
ァメモリと、各画素のz座標値を格納するためのZバッ
ファメモリと、各物体IDと対応する図形データとを格
納する記憶装置と、該記憶装置に格納された図形データ
を所定の順序で読み出して、z座標値を用いて図形の前
後を判断して視点により近い図形データを選択するZバ
ッファアルゴリズムに基づいた隠面消去処理を行い、選
択された図形データに応じて前記Zバッファメモリ及び
前記IDメモリの内容を更新し、更新されたZバッファ
メモリの内容から各画素の輝度を算出して前記フレーム
バッファメモリの内容を更新するプロセッサと、前記フ
レームバッファメモリの内容を表示する表示装置とを備
えたことを特徴とする本発明の三次元画像生成装置によ
って達成される。The above object is to provide three-dimensional graphic data defined by three-dimensional coordinates consisting of coordinates on a two-dimensional screen plane and z-coordinates representing the depth from the screen plane. A three-dimensional image generation apparatus for generating a three-dimensional image by using brightness representing brightness, wherein an object ID given to each figure data to identify the figure data including each pixel is stored for each pixel. Memory for storing the brightness of each pixel, a Z buffer memory for storing the z-coordinate value of each pixel, and a memory for storing graphic data corresponding to each object ID. A device and a Z-buffer algorithm for reading out graphic data stored in the storage device in a predetermined order, determining the front and back of the graphic using z coordinate values, and selecting graphic data closer to the viewpoint. The hidden surface erasing process based on the above is performed, the contents of the Z buffer memory and the ID memory are updated according to the selected graphic data, the brightness of each pixel is calculated from the updated contents of the Z buffer memory, and The present invention is achieved by the three-dimensional image generation device of the present invention, which comprises a processor for updating the contents of the frame buffer memory and a display device for displaying the contents of the frame buffer memory.
【0014】本発明の三次元画像生成装置は、IDメモ
リが前記スクリーン平面上の全ての画素の物体IDを格
納するよう構成されていてもよい。In the three-dimensional image generating apparatus of the present invention, the ID memory may be configured to store the object IDs of all the pixels on the screen plane.
【0015】本発明の三次元画像生成装置は、IDメモ
リが前記スクリーン平面上の所定の画素の物体IDを格
納するよう構成されていてもよい。In the three-dimensional image generation device of the present invention, the ID memory may be configured to store the object ID of a predetermined pixel on the screen plane.
【0016】本発明の三次元画像生成装置においては、
スクリーン上の全ての物体の処理が終了した時点で、一
番視点に近い物体IDがIDメモリに格納されるので、
三次元画像生成後に、任意のスクリーン座標のIDメモ
リの物体IDデータを参照することにより、当該スクリ
ーン座標に映し出される画像がどの物体データから生成
されたものであるかを知ることができる。In the three-dimensional image generating apparatus of the present invention,
When all the objects on the screen have been processed, the object ID closest to the viewpoint is stored in the ID memory.
After the three-dimensional image is generated, by referring to the object ID data in the ID memory at the arbitrary screen coordinates, it is possible to know from which object data the image displayed at the screen coordinates is generated.
【0017】これにより、三次元画像を用いたインター
フェイスやビデオゲームなどにおいて、三次元画像によ
り表した三次元空間で簡単に視点位置からの物体判定を
行なうことが可能となる。Thus, in an interface using a three-dimensional image or a video game, it is possible to easily determine an object from the viewpoint position in the three-dimensional space represented by the three-dimensional image.
【0018】[0018]
【発明の実施の形態】以下、本発明の三次元画像生成装
置の第1の実施の形態を図を用いて詳細に説明する。BEST MODE FOR CARRYING OUT THE INVENTION A first embodiment of a three-dimensional image generating apparatus of the present invention will be described in detail below with reference to the drawings.
【0019】図1は、本発明の三次元画像生成装置の第
1の実施の形態のブロック図である。本三次元画像生成
装置は、プロセッサ3と、フレームバッファメモリ4
と、Zバッファメモリ2と、フレームバッファメモリと
同じ座標空間分の容量を有するIDメモリ1と、例えば
CRTからなる表示装置5とにより構成されている。FIG. 1 is a block diagram of a first embodiment of a three-dimensional image generation apparatus of the present invention. The three-dimensional image generation device includes a processor 3 and a frame buffer memory 4.
, A Z buffer memory 2, an ID memory 1 having the same coordinate space capacity as the frame buffer memory, and a display device 5 composed of, for example, a CRT.
【0020】プロセッサ3は図外の記憶装置からいくつ
かのポリゴンで構成された三次元物体データを読みだ
し、奥行き座標値Zや輝度Iの算出などの演算処理を行
なう。フレームバッファメモリ4は画素の輝度を、Zバ
ッファメモリ2は画素の奥行き値Zを、IDメモリ1は
物体IDデータを格納する。表示装置5はフレームバッ
ファメモリ4に格納された内容を表示する。The processor 3 reads three-dimensional object data composed of several polygons from a storage device (not shown) and performs arithmetic processing such as calculation of the depth coordinate value Z and the brightness I. The frame buffer memory 4 stores the brightness of the pixel, the Z buffer memory 2 stores the depth value Z of the pixel, and the ID memory 1 stores the object ID data. The display device 5 displays the contents stored in the frame buffer memory 4.
【0021】図4は、本実施の形態における三次元画像
生成方法を説明するフローチャートである。この三次元
画像生成方法は図1の三次元画像生成装置により実行さ
れる。FIG. 4 is a flow chart for explaining the three-dimensional image generation method in this embodiment. This three-dimensional image generation method is executed by the three-dimensional image generation device shown in FIG.
【0022】いくつかのポリゴンから構成される各物体
には物体IDとして正の整数が与えられている。まず、
フレームバッファメモリ4とZバッファメモリ2とID
メモリ1を初期化する(S1)。すなわち、フレームバ
ッファメモリ4には背景輝度を、Zバッファメモリ2に
は奥行き座標値Zの最大値(もっとも視点から離れた位
置の座標値)を、IDメモリ1には空白ID(何も物体
がないことを意味するID)として0を設定する。A positive integer is given as an object ID to each object composed of several polygons. First,
Frame buffer memory 4, Z buffer memory 2 and ID
The memory 1 is initialized (S1). That is, the background brightness is stored in the frame buffer memory 4, the maximum value of the depth coordinate value Z (coordinate value at the position farthest from the viewpoint) is stored in the Z buffer memory 2, and the blank ID (no object is present) is stored in the ID memory 1. 0 is set as an ID which means that there is no.
【0023】次に三次元物体データを指示された順序で
座標変換する(S2)。この座標変換は物体のローカル
座標で表されたポリゴンの頂点座標を、記憶装置などに
指示された方法で拡大縮小、回転、平行移動などを行な
い、表示される画像の基準座標系となるグローバル座標
に対応させるのに必要な変換であり、この変換により物
体はそれぞれの位置に配置される。Next, coordinate conversion is performed on the three-dimensional object data in the designated order (S2). In this coordinate transformation, the vertex coordinates of the polygon represented by the local coordinates of the object are scaled, rotated, translated, etc. by the method instructed by the storage device, etc., and are global coordinates that become the reference coordinate system of the displayed image. Is a transformation necessary to correspond to, and the transformation places the object at each position.
【0024】次に物体を構成するポリゴンを順にスキャ
ン変換し(S3)、スキャン変換したポリゴン内の各画
素に対して奥行き座標値Zを計算する(S4)。次に算
出した奥行き座標値ZをZバッファメモリ2に格納され
ている奥行き座標値ZBとを比較し(S5)、算出した
奥行き座標値ZがZBより視点に近い位置にある場合、
Zバッファメモリ2の値を算出した奥行き座標値Zに置
き換え(S6)、シェーディング計算(S7)により当
該画素の輝度を求めてフレームバッファメモリ4に格納
する(S8)。次に、現在処理している物体のIDをI
Dメモリに書き込む(S9)。S4で、算出した奥行き
座標値ZがZBより視点の奥にあった場合、S6〜S9
の処理は行なわない。Next, the polygons forming the object are sequentially scan-converted (S3), and the depth coordinate value Z is calculated for each pixel in the scan-converted polygon (S4). Next, the calculated depth coordinate value Z is compared with the depth coordinate value ZB stored in the Z buffer memory 2 (S5), and when the calculated depth coordinate value Z is closer to the viewpoint than ZB,
The value of the Z buffer memory 2 is replaced with the calculated depth coordinate value Z (S6), and the brightness of the pixel is calculated by shading calculation (S7) and stored in the frame buffer memory 4 (S8). Next, the ID of the object currently being processed is set to I
Write to D memory (S9). In S4, when the calculated depth coordinate value Z is at the back of the viewpoint from ZB, S6 to S9.
Is not processed.
【0025】次に、ポリゴン内部の全ての画素が処理さ
れたか否か判断し(S10)、処理が終了していなけれ
ばS4に戻る。S10で処理が終了していれば、次に物
体を構成する全てのポリゴンが処理されたか否か判断す
る(S11)。処理が終了していなければS3に戻り、
終了していれば次に全ての物体の処理が終了したか否か
判断する(S12)。終了していなければS2に戻り、
このルーチンを終了する。Next, it is judged whether or not all the pixels inside the polygon have been processed (S10), and if the processing has not been completed, the process returns to S4. If the processing is completed in S10, it is determined whether or not all the polygons forming the object have been processed (S11). If the processing is not completed, the process returns to S3,
If the processing has been completed, then it is determined whether processing of all objects has been completed (S12). If not finished, return to S2,
This routine ends.
【0026】以上の処理が終了した時点で、IDメモリ
1にはスクリーン上の各画素について視点に最も近いポ
リゴンの物体IDが格納されている。また、フレームバ
ッファメモリ4には視点にもっとも近いポリゴンの輝度
が格納されており、求める三次元画像が生成されてい
る。このフレームメモリの内容を表示装置で表示するこ
とにより三次元の画像を見ることができる。さらに、I
Dメモリ1の内容を参照することにより表示された画像
の任意の位置のポリゴンがどの物体から生成されたもの
であるかを知ることができる。Upon completion of the above processing, the ID memory 1 stores the object ID of the polygon closest to the viewpoint for each pixel on the screen. Further, the frame buffer memory 4 stores the brightness of the polygon closest to the viewpoint, and a desired three-dimensional image is generated. A three-dimensional image can be viewed by displaying the contents of this frame memory on a display device. Furthermore, I
By referring to the contents of the D memory 1, it is possible to know from which object the polygon at an arbitrary position of the displayed image is generated.
【0027】もちろん、物体IDは物体毎に限定して付
けられる必要はない。物体の一部を区別するために、一
つの物体に対して複数の物体IDを割り当てることも可
能である。この場合、ポリゴン毎に物体IDを指定可能
であると考えて良い。これらは、ポリゴンで表した物体
のデータ構造に由来する変化であり、ここでは深く言及
しない。Of course, the object ID need not be limited to each object. It is also possible to assign a plurality of object IDs to one object in order to distinguish a part of the object. In this case, it may be considered that the object ID can be designated for each polygon. These are changes that originate from the data structure of the object represented by polygons and will not be discussed here in depth.
【0028】次に、本実施の形態の三次元画像作成装置
における視点位置からの物体判別処理について説明す
る。Next, the object discrimination processing from the viewpoint position in the three-dimensional image creating apparatus of this embodiment will be described.
【0029】例えば、スイッチに物体ID=2を割り付
け、その他の物体ID=1を割り付けたとする。三次元
画像生成後にスクリーン座標(Xa,Ya)のIDメモ
リから物体IDを取得した時、そのIDが2であるか否
かにより、そこに表示されているものがスイッチである
か否かを判別することができる。これを利用することに
より、表示されている物体の判別処理が格段に速くな
る。For example, assume that an object ID = 2 is assigned to the switch and another object ID = 1 is assigned. When the object ID is acquired from the ID memory of screen coordinates (Xa, Ya) after the three-dimensional image is generated, it is determined whether or not the object ID is 2 is a switch. can do. By utilizing this, the process of discriminating the displayed object becomes much faster.
【0030】具体的な仕様方法を図7と図8を参照して
説明する。図中12aと12bとで示されるスイッチA
とスイッチBと机13とが三次元空間に図7のように配
置されている。その三次元空間において使用者はカーソ
ルポリゴン11を移動させスイッチに合わせ、クリック
すると合わせたスイッチに割り当てられた処理が実行さ
れるようなインターフェイスであるとする。A specific specification method will be described with reference to FIGS. 7 and 8. Switch A indicated by 12a and 12b in the figure
The switch B and the desk 13 are arranged in the three-dimensional space as shown in FIG. It is assumed that the user moves the cursor polygon 11 in the three-dimensional space to move the cursor polygon 11 to the switch, and when the user clicks the interface, the process assigned to the switch is executed.
【0031】ここで、物体IDはスイッチAがID=
1、スイッチBがID=2、机がID=3、その他の背
景がID=0、カーソルポリゴンがID=0であるとす
る。カーソルポリゴンは中心部にはポリゴンを持ってい
ないので、中心点のID情報が失われないようになって
いる。Here, the object ID of the switch A is ID =
1, the switch B has ID = 2, the desk has ID = 3, the other background has ID = 0, and the cursor polygon has ID = 0. Since the cursor polygon does not have a polygon at the center, the ID information of the center point is not lost.
【0032】まず、上述の図1の装置により三次元画像
の描画を行なう(S201)、これにより図7のような
三次元画像が生成される。次に、カーソルポリゴン11
の位置を算出する(S202)。算出されたカーソルポ
リゴン11の位置を(Xc,Yc,Zc)とする。X
c,Ycはスクリーン座標、Zcは奥行き値に相当す
る。次に、カーソルと物体の衝突判定を行なう。これ
は、 Zc−α0≦Zbuf(Xc,Yc)≦Zc+α1 の条件式にて判定できる。ここで、α0,α1はスイッ
チ表面とカーソルポリゴンの間をどの程度余裕を持たせ
て衝突判定するか決定する余裕値である。Zbuf(X
c,Yc)はスクリーン座標(Xc,Yc)のZバッフ
ァメモリ2の内容である。First, a three-dimensional image is drawn by the above-mentioned apparatus of FIG. 1 (S201), whereby a three-dimensional image as shown in FIG. 7 is generated. Next, the cursor polygon 11
The position of is calculated (S202). The calculated position of the cursor polygon 11 is (Xc, Yc, Zc). X
c and Yc correspond to screen coordinates, and Zc corresponds to a depth value. Next, the collision of the cursor and the object is determined. This can be determined by the conditional expression of Zc−α0 ≦ Zbuf (Xc, Yc) ≦ Zc + α1. Here, α0 and α1 are margin values that determine how much margin should be provided between the switch surface and the cursor polygon to determine a collision. Zbuf (X
c, Yc) is the contents of the Z buffer memory 2 at the screen coordinates (Xc, Yc).
【0033】この条件が成立しなければS209に処理
を移す。成立していれば、次にクリックされたかどうか
判定する(S204)。クリックされていなければS2
09に処理を移す。クリックされていれば、次にクリッ
クされたのはスイッチAかどうか判定する(S20
5)。この判定は本発明のIDメモリ1を使って行なわ
れる。条件式は、 ID(Xc,Yx)=1 となる。ここで、ID(Xc,Yc)はスクリーン座標
(Xc,Yc)のIDメモリ1の内容である。If this condition is not satisfied, the process proceeds to S209. If it is satisfied, it is determined whether or not the user clicked next (S204). S2 if not clicked
09 is transferred. If it is clicked, it is determined whether the switch A is clicked next (S20).
5). This determination is performed using the ID memory 1 of the present invention. The conditional expression is ID (Xc, Yx) = 1. Here, ID (Xc, Yc) is the contents of the ID memory 1 at the screen coordinates (Xc, Yc).
【0034】この条件が成立すれば、スイッチAに割り
当てられた処理を行い(S208)、S209に処理を
移す。成立しなければ、次にスイッチBかどうか判定す
る(S206)。判定式は、 ID(Xc,Yc)=2 となる。この条件が成立すれば、スイッチBに割り当て
られた処理を行ない(S207)、S209に処理をう
つす。成立しなければ、S209に処理を移す。S20
9では視点の移動、カーソルポリゴンの移動などを行
う。その後、S201に処理を戻す。If this condition is satisfied, the process assigned to the switch A is performed (S208), and the process proceeds to S209. If not established, it is next determined whether or not it is the switch B (S206). The determination formula is ID (Xc, Yc) = 2. If this condition is satisfied, the process assigned to switch B is performed (S207), and the process proceeds to S209. If not established, the process moves to S209. S20
At 9, the viewpoint is moved and the cursor polygon is moved. Then, the process is returned to S201.
【0035】このように、IDメモリを利用することに
より、非常に簡単にインターフェイプログラムを構築す
ることが可能となる。As described above, by using the ID memory, the interface program can be constructed very easily.
【0036】以下、本発明の三次元画像生成装置の第2
実施の形態を図を用いて詳細に説明する。The second embodiment of the three-dimensional image generating apparatus of the present invention will be described below.
Embodiments will be described in detail with reference to the drawings.
【0037】図2は、本発明の第2の実施の形態の三次
元画像生成装置のブロック図である。本三次元画像生成
装置は、プロセッサ3と、フレームバッファメモリ4
と、Zバッファメモリ2と、フレームバッファメモリの
座標空間と比べて小さな座標空間分の容量を有するID
メモリ1´と、例えばCRTからなる表示装置5とによ
り構成されている。FIG. 2 is a block diagram of a three-dimensional image generating apparatus according to the second embodiment of the present invention. The three-dimensional image generation device includes a processor 3 and a frame buffer memory 4.
And an ID having a capacity for the coordinate space smaller than the coordinate space of the Z buffer memory 2 and the frame buffer memory.
It is composed of a memory 1'and a display device 5 composed of, for example, a CRT.
【0038】プロセッサ3は図外の記憶装置からいくつ
かのポリゴンで構成された三次元物体データを読みだ
し、奥行き座標値Zや輝度Iの算出などの演算処理を行
なう。フレームバッファメモリ4は画素の輝度を、Zバ
ッフアメモリ2は画素の奥行き値Zを、IDメモリ1´
は物体IDデータを格納する。表示装置5はフレームバ
ッファメモリ4に格納された内容を表示する。The processor 3 reads out three-dimensional object data composed of some polygons from a storage device (not shown) and performs arithmetic processing such as calculation of the depth coordinate value Z and the brightness I. The frame buffer memory 4 stores the pixel brightness, the Z buffer memory 2 stores the pixel depth value Z, and the ID memory 1 ′.
Stores object ID data. The display device 5 displays the contents stored in the frame buffer memory 4.
【0039】図5は、本実施の形態における三次元画像
生成方法を説明するフローチャートである。図中、図4
のフローチャートと同じ処理には同一の番号を付して示
している。この三次元画像生成方法は図2の三次元画像
生成装置により実行される。FIG. 5 is a flow chart for explaining the three-dimensional image generation method in this embodiment. In the figure, FIG.
The same processes as those in the flowchart in FIG. This three-dimensional image generation method is executed by the three-dimensional image generation device shown in FIG.
【0040】第1の実施の形態と同様に、いくつかのポ
リゴンから構成される各物体には物体IDとして正の整
数が与えられている。As in the first embodiment, a positive integer is given as an object ID to each object composed of several polygons.
【0041】まず、フレームバッファメモリ4とZバッ
ファメモリ2とIDメモリ1を初期化する(S1)。す
なわち、フレームバッファメモリ4には背景輝度を、Z
バッファメモリ2には奥行き座標値Zの最大値(もっと
も視点から離れた位置の座標値)を、IDメモリ1には
空白ID(何も物体がないことを意味するID)として
0を設定する。First, the frame buffer memory 4, the Z buffer memory 2, and the ID memory 1 are initialized (S1). That is, the background brightness is stored in the frame buffer memory 4 as Z
The maximum value of the depth coordinate value Z (the coordinate value at the position farthest from the viewpoint) is set in the buffer memory 2, and 0 is set as the blank ID (ID meaning that there is no object) in the ID memory 1.
【0042】次に三次元物体データを指示された順序で
座標変換する(S2)。この座標変換は物体のローカル
座標で表されたポリゴンの頂点座標を、記憶装置などに
指示された方法で拡大縮小、回転、平行移動などを行な
い、表示される画像の基準座標系となるグローバル座標
に対応させるのに必要な変換であり、この変換により物
体はそれぞれの位置に配置される。次に物体を構成する
ポリゴンを順にスキャン変換し(S3)、スキャン変換
したポリゴン内の各画素に対して奥行き座標値Zを計算
する(S4)。Next, coordinate conversion is performed on the three-dimensional object data in the designated order (S2). In this coordinate transformation, the vertex coordinates of the polygon represented by the local coordinates of the object are scaled, rotated, translated, etc. by the method instructed by the storage device, etc., and are global coordinates that become the reference coordinate system of the displayed image. Is a transformation necessary to correspond to, and the transformation places the object at each position. Next, the polygons forming the object are sequentially scan-converted (S3), and the depth coordinate value Z is calculated for each pixel in the scan-converted polygon (S4).
【0043】次に算出した奥行き座標値ZをZバッファ
メモリ2に格納されている奥行き座標値ZBとを比較し
(S5)、算出した奥行き座標値ZがZBより視点に近
い位置にある場合、Zバッファメモリ2の値を算出した
奥行き座標値Zに置き換え(S6)、シェーディング計
算(S7)により当該画素の輝度を求めてフレームバッ
ファメモリ4に格納する(S8)。次に、現在扱ってい
る座標がIDメモリの存在する座標か否か判断し(S9
A)、座標内であれば、現在処理している物体のIDを
IDメモリに書き込む(S9)。S4で、算出した奥行
き座標値ZがZBより視点の奥にあった場合、S6〜S
9の処理は行なわない。Next, the calculated depth coordinate value Z is compared with the depth coordinate value ZB stored in the Z buffer memory 2 (S5). If the calculated depth coordinate value Z is closer to the viewpoint than ZB, The value of the Z buffer memory 2 is replaced with the calculated depth coordinate value Z (S6), and the brightness of the pixel is calculated by shading calculation (S7) and stored in the frame buffer memory 4 (S8). Next, it is judged whether or not the coordinates currently handled are the coordinates in the ID memory (S9
A) If it is within the coordinates, write the ID of the object currently being processed in the ID memory (S9). In S4, when the calculated depth coordinate value Z is at the back of the viewpoint from ZB, S6 to S
The process of 9 is not performed.
【0044】次に、ポリゴン内部の全ての画素が処理さ
れたか判断し(S10)、処理が終了していなければS
4に戻る。S10で処理が終了していれば、次に物体を
構成する全てのポリゴンが処理されたかどうか判断する
(S11)。処理が終了していなければS3に戻り、終
了していれば次に全ての物体の処理が終了したかどうか
判断する(S12)。終了していなければS2に戻り、
終了していればこのルーチンを終了する。Next, it is judged whether all the pixels inside the polygon have been processed (S10), and if the processing has not been completed, S
Return to 4. If the processing is completed in S10, it is determined whether or not all the polygons forming the object have been processed (S11). If the processing has not been completed, the process returns to S3, and if it has been completed, then it is determined whether or not the processing of all objects has been completed (S12). If not finished, return to S2,
If finished, this routine is finished.
【0045】以上の処理が終了した時点で、IDメモリ
1にはスクリーン上の一部の画素について視点にもっと
も近いポリゴンの物体IDが格納されている。また、フ
レームバッファメモリ4にはスクリーン画面上の各画素
について視点にもっとも近いポリゴンの輝度が格納され
ており、求める三次元画像が生成されている。このフレ
ームメモリの内容を表示装置で表示することにより三次
元画像を見ることができる。さらに、IDメモリ1の内
容を参照することにより表示された画像の一部範囲の位
置のポリゴンがどの物体から生成されたものであるかを
知ることができる。When the above processing is completed, the ID memory 1 stores the object ID of the polygon closest to the viewpoint for some of the pixels on the screen. In addition, the frame buffer memory 4 stores the brightness of the polygon closest to the viewpoint for each pixel on the screen, and a desired three-dimensional image is generated. A three-dimensional image can be viewed by displaying the contents of this frame memory on a display device. Further, by referring to the contents of the ID memory 1, it is possible to know from which object the polygon in the position of a partial range of the displayed image is generated.
【0046】ここで、一部範囲とはある一点であっても
構わない。上述の図7に示したような使用例では事前に
座標(Xc,Yc)は算出可能なので、この座標に関し
てのみIDメモリが存在するだけで、ポリゴンがどの物
体から生成されたものであるかを知ることができる。も
ちろん、IDメモリの範囲は固定座標ではなく、任意の
座標に割り当てるようしてもよい。Here, the partial range may be a single point. In the use example as shown in FIG. 7 described above, the coordinates (Xc, Yc) can be calculated in advance, so it is possible to determine from which object the polygon is generated by only having the ID memory for this coordinate. I can know. Of course, the range of the ID memory may be assigned to arbitrary coordinates instead of fixed coordinates.
【0047】本実施の形態の三次元画像作成装置におけ
る視点位置からの物体判別処理については、上述の第1
の実施の形態で説明したものと同様であるので説明を省
略する。Regarding the object discrimination processing from the viewpoint position in the three-dimensional image creating apparatus of the present embodiment, the above-mentioned first
The description is omitted because it is the same as that described in the above embodiment.
【0048】[0048]
【発明の効果】請求項1に記載の三次元画像生成装置に
よれば、三次元画像を生成後、画面上に表示されたポリ
ゴンがどの物体のものかを正確かつ容易に参照すること
ができる。これにより、三次元画像により表した三次元
空間で視点位置からの物体判定を容易に行うことが可能
となる。According to the three-dimensional image generating apparatus of the first aspect, it is possible to accurately and easily refer to which object the polygon displayed on the screen is after generating the three-dimensional image. . As a result, it becomes possible to easily determine the object from the viewpoint position in the three-dimensional space represented by the three-dimensional image.
【0049】請求項2に記載の三次元画像生成装置によ
れば、スクリーン上の全ての画素に対応する物体IDが
IDメモリに格納されているので、画面上の任意の位置
のポリゴンがどの物体のものかを正確かつ容易に参照す
ることができる。According to the three-dimensional image generation apparatus of the second aspect, since the object IDs corresponding to all the pixels on the screen are stored in the ID memory, the polygon at an arbitrary position on the screen is an object. You can accurately and easily refer to the one.
【0050】請求項3に記載の三次元画像生成装置によ
れば、スクリーン上の必要な領域内の画素についての物
体IDのみがIDメモリに格納されるので、メモリ資源
を有効に活用することが可能となる。According to the three-dimensional image generating apparatus of the third aspect, only the object IDs of the pixels in the necessary area on the screen are stored in the ID memory, so that the memory resources can be effectively used. It will be possible.
【図1】本発明の三次元画像生成装置の第1の実施の形
態のブロック図である。FIG. 1 is a block diagram of a first embodiment of a three-dimensional image generation apparatus of the present invention.
【図2】本発明の三次元画像生成装置の第2の実施の形
態のブロック図である。FIG. 2 is a block diagram of a second embodiment of a three-dimensional image generation apparatus of the present invention.
【図3】従来の三次元画像生成装置のブロック図であ
る。FIG. 3 is a block diagram of a conventional three-dimensional image generation device.
【図4】図1の装置による三次元画像生成方法のフロー
チャートである。4 is a flowchart of a three-dimensional image generation method by the device of FIG.
【図5】図2の装置による三次元画像生成方法のフロー
チャートである。5 is a flowchart of a three-dimensional image generation method by the apparatus of FIG.
【図6】従来の三次元画像生成方法のフローチャートで
ある。FIG. 6 is a flowchart of a conventional three-dimensional image generation method.
【図7】物体IDの使用方法の説明図である。FIG. 7 is an explanatory diagram of how to use an object ID.
【図8】物体IDによる物体判定方法のフローチャート
である。FIG. 8 is a flowchart of an object determination method based on an object ID.
1、1´ IDメモリ 2 Zバッファフレームメモリ 3 プロセッサ 4 フレームバッファメモリ 5 表示装置 11 カーソルポリゴン 12a、12b スイッチ 13 机 14 背景 1, 1'ID memory 2 Z buffer frame memory 3 processor 4 frame buffer memory 5 display device 11 cursor polygons 12a, 12b switch 13 desk 14 background
Claims (3)
クリーン平面からの奥行きを表すz座標とからなる三次
元座標により定義される三次元の図形データと、明るさ
を表す輝度とを用いて立体的な画像を生成する三次元画
像生成装置であって、 各画素が含まれる図形データを識別するべく図形データ
毎に付与された物体IDを画素毎に格納するためのID
メモリと、各画素の輝度を格納するためのフレームバッ
ファメモリと、各画素のz座標値を格納するためのZバ
ッファメモリと、各物体IDと対応する図形データとを
格納する記憶装置と、該記憶装置に格納された図形デー
タを所定の順序で読み出して、z座標値を用いて図形の
前後を判断して視点により近い図形データを選択するZ
バッファアルゴリズムに基づいた隠面消去処理を行い、
選択された図形データに応じて前記Zバッファメモリ及
び前記IDメモリの内容を更新し、更新されたZバッフ
ァメモリの内容から各画素の輝度を算出して前記フレー
ムバッファメモリの内容を更新するプロセッサと、前記
フレームバッファメモリの内容を表示する表示装置とを
備えたことを特徴とする三次元画像生成装置。1. Using three-dimensional graphic data defined by three-dimensional coordinates consisting of coordinates on a two-dimensional screen plane and z-coordinates representing the depth from the screen plane, and brightness representing brightness. A three-dimensional image generation device for generating a three-dimensional image, which is an ID for storing, for each pixel, an object ID assigned to each figure data to identify the figure data including each pixel.
A memory, a frame buffer memory for storing the brightness of each pixel, a Z buffer memory for storing the z coordinate value of each pixel, and a storage device for storing graphic data corresponding to each object ID, The graphic data stored in the storage device is read out in a predetermined order, the front and back of the graphic are judged using the z coordinate value, and graphic data closer to the viewpoint is selected.
Perform hidden surface removal processing based on the buffer algorithm,
A processor that updates the contents of the Z buffer memory and the ID memory according to the selected graphic data, calculates the brightness of each pixel from the updated contents of the Z buffer memory, and updates the contents of the frame buffer memory. And a display device that displays the contents of the frame buffer memory.
の全ての画素の物体IDを格納することを特徴とする請
求項1に記載の三次元画像生成装置。2. The three-dimensional image generation apparatus according to claim 1, wherein the ID memory stores object IDs of all pixels on the screen plane.
の所定の画素の物体IDを格納することを特徴とする請
求項1に記載の三次元画像生成装置3. The three-dimensional image generation device according to claim 1, wherein the ID memory stores an object ID of a predetermined pixel on the screen plane.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8113867A JPH09297860A (en) | 1996-05-08 | 1996-05-08 | Three-dimensional image generating device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8113867A JPH09297860A (en) | 1996-05-08 | 1996-05-08 | Three-dimensional image generating device |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH09297860A true JPH09297860A (en) | 1997-11-18 |
Family
ID=14623094
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8113867A Pending JPH09297860A (en) | 1996-05-08 | 1996-05-08 | Three-dimensional image generating device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH09297860A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6603474B1 (en) | 1999-05-27 | 2003-08-05 | International Business Machines Corporation | Method and apparatus for occlusion culling of objects in a data processing system |
-
1996
- 1996-05-08 JP JP8113867A patent/JPH09297860A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6603474B1 (en) | 1999-05-27 | 2003-08-05 | International Business Machines Corporation | Method and apparatus for occlusion culling of objects in a data processing system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8154547B2 (en) | Method and system for early Z test in title-based three-dimensional rendering | |
CN111803945B (en) | Interface rendering method and device, electronic equipment and storage medium | |
JP5005090B2 (en) | Cutting simulation display device, cutting simulation display method, and cutting simulation display program | |
CN105894551B (en) | Image drawing method and device | |
JPH0689084A (en) | Displaying method for working space | |
JPH0749964A (en) | Three-dimensional dynamic image generating device | |
US20040075735A1 (en) | Method and system for producing a pseudo three-dimensional display utilizing a two-dimensional display device | |
US5280568A (en) | Method and apparatus for drawing a surface model by assigning a drawing priority to each primitive surface model which provides a portion of the surface model | |
CN109407824A (en) | Manikin moves synchronously method and apparatus | |
US20010017629A1 (en) | Methods and apparatus for drawing contours of objects in video games | |
JPH0927045A (en) | Image processor | |
JP2937937B2 (en) | 3D object data processing method | |
JP3629243B2 (en) | Image processing apparatus and method for rendering shading process using distance component in modeling | |
JP2003115055A (en) | Image generator | |
JP2000149062A (en) | Method and device for generating three-dimensional image | |
JPH10334269A (en) | Image processing device and method, and recording medium recording image processing program | |
US6590582B1 (en) | Clipping processing method | |
JPH09297860A (en) | Three-dimensional image generating device | |
JP3181445B2 (en) | Image processing apparatus and method | |
JP3642593B2 (en) | Image composition apparatus and image composition method | |
CN109427084A (en) | A kind of map-indication method, device, terminal and storage medium | |
JP2001266175A (en) | Device/method for processing three-dimensional model and program providing method | |
CA2308249C (en) | Triangle strip length maximization | |
JP2776793B2 (en) | Image display method and display device thereof | |
JPH0535883A (en) | Three-dimensional image generating method |