JPH0644385A - Z buffer control circuit - Google Patents
Z buffer control circuitInfo
- Publication number
- JPH0644385A JPH0644385A JP4197338A JP19733892A JPH0644385A JP H0644385 A JPH0644385 A JP H0644385A JP 4197338 A JP4197338 A JP 4197338A JP 19733892 A JP19733892 A JP 19733892A JP H0644385 A JPH0644385 A JP H0644385A
- Authority
- JP
- Japan
- Prior art keywords
- value
- plotting
- plural
- buffer
- buffer memory
- 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
- Digital Computer Display Output (AREA)
- Image Generation (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は3次元グラフィクス分野
におけるZバッファ処理の高速化に関する。3次元グラ
フィクスにおいて、描画処理の高速化のため面塗り処理
の高速化が要求されている。その一つの手段としてZバ
ッファ処理の高速化を目的とする。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to speeding up Z buffer processing in the field of three-dimensional graphics. In three-dimensional graphics, speeding up of surface painting processing is required to speed up drawing processing. One of the means is to speed up the Z buffer processing.
【0002】[0002]
【従来の技術】図4は従来システムの構成概念図であ
る。図4(A)において、3次元画像表示装置は、Zバ
ッファ1、フレームメモリ4、CRT(Cathode Ray Tu
be) 5、プロセサ6、メインメモリ7より構成される。
また、Zバッファ1はZバッファメモリ3とZバッファ
制御回路2を含む。2. Description of the Related Art FIG. 4 is a conceptual diagram of the configuration of a conventional system. In FIG. 4A, the three-dimensional image display device includes a Z buffer 1, a frame memory 4, and a CRT (Cathode Ray Tu).
be) 5, a processor 6, and a main memory 7.
The Z buffer 1 also includes a Z buffer memory 3 and a Z buffer control circuit 2.
【0003】プロセサ6はメインメモリ7上に描画デー
タを作成する。描画データは例えば線分(直線)の集ま
りとして構成され、これをフレームメモリ4に書き込む
とCRT5に画像が表示される。The processor 6 creates drawing data on the main memory 7. The drawing data is configured as, for example, a collection of line segments (straight lines), and when this is written in the frame memory 4, an image is displayed on the CRT 5.
【0004】3次元グラフィクスにおける描画処理で
は、Zバッファ方式が一般的に用いられる。Zバッファ
とはフレームメモリ4にある画素に対応して画素毎にも
っている奥行き情報を保持する記憶装置であって、ある
画素を描画するとき、その画素の奥行き情報(Z値)
と、その位置(XY座標)に既に描かれている画素のZ
値とを比較し、奥行きが浅い(Z値が小)方を残すよう
に制御するためのものである。これにより3次元物体を
2次元画像として描くとき、手前にある面や稜線によっ
て、奥にある部分が隠された自然な画像を描くことがで
きる。The Z-buffer method is generally used for drawing processing in three-dimensional graphics. The Z buffer is a storage device that holds the depth information of each pixel corresponding to the pixel in the frame memory 4, and when drawing a pixel, the depth information (Z value) of the pixel.
And the Z of the pixel already drawn at that position (XY coordinates)
This is for comparing with the value and controlling so as to leave the one with a shallow depth (small Z value). As a result, when a three-dimensional object is drawn as a two-dimensional image, it is possible to draw a natural image in which the part in the back is hidden by the surface or the ridge line in the foreground.
【0005】図5(A)は任意のベクトル(直線)を描
画するときのZ値を説明する図である。座標(Xs,Ys)か
ら座標(Xe,Ye)に直線を引くとき、直線を構成する各画
素に対して座標とZ値を計算する。FIG. 5A is a diagram for explaining the Z value when drawing an arbitrary vector (straight line). When a straight line is drawn from the coordinate (Xs, Ys) to the coordinate (Xe, Ye), the coordinate and the Z value are calculated for each pixel forming the straight line.
【0006】Z値の演算は、プロセサにより始点座標
(Xs,Ys)における値(Zs=初期値)と増分(Zi)を
与えられ、直線を構成する各点毎に終点座標(Xe,Ye) ま
で行われる。The Z value is calculated by giving a value (Zs = initial value) at the starting point coordinates (Xs, Ys) and an increment (Zi) by the processor, and ending point coordinates (Xe, Ye) for each point forming a straight line. Is done until.
【0007】さらにその座標に元からある画素のZ値と
比較して小なら、演算結果をZバッファメモリに書込
み、またフレームメモリへの画素の書込みを許し(すな
わち新しい描画による画素が書き込まれる)、大ならZ
バッファメモリもフレームメモリもそのままにする(す
なわち元からある画素が残る)。Further, if it is smaller than the Z value of the pixel originally at that coordinate, the operation result is written to the Z buffer memory, and the writing of the pixel to the frame memory is allowed (that is, the pixel by new drawing is written). , If large, Z
Both the buffer memory and the frame memory are left as they are (that is, the original pixels remain).
【0008】図4(B)はZ値演算回路を中心とするZ
バッファ制御回路2の要部を示す。22は加算器、23は出
力レジスタであり、プロセサ6から与えられたZ値の初
期値Zs と増分Ziを演算する。出力レジスタ23の出力す
なわち新Z値が信号線20によりZバッファメモリ3へ送
られる。FIG. 4B shows Z centering on the Z value calculation circuit.
The principal part of the buffer control circuit 2 is shown. Reference numeral 22 is an adder, and 23 is an output register, which calculates an initial value Zs and an increment Zi of the Z value given from the processor 6. The output of the output register 23, that is, the new Z value is sent to the Z buffer memory 3 through the signal line 20.
【0009】24は比較器であり、出力レジスタ23の出力
すなわち新Z値 Zw とZバッファメモリ3から読み出さ
れた元のZ値Zrとを比較して Zw < Zrならば、書込み許
可信号21をZバッファメモリ3およびフレームメモリ4
へ送る。Reference numeral 24 denotes a comparator, which compares the output of the output register 23, that is, the new Z value Zw with the original Z value Zr read from the Z buffer memory 3, and if Zw <Zr, the write enable signal 21. Z buffer memory 3 and frame memory 4
Send to.
【0010】Zバッファメモリ3とフレームメモリ4の
座標(アドレス)はXアドレスレジスタ29、Yアドレス
レジスタ28によって始点(Xs,Ys) 、終点(Xe,Ye)が指定
される。The coordinates (addresses) of the Z buffer memory 3 and the frame memory 4 are designated by the X address register 29 and the Y address register 28 as the starting point (Xs, Ys) and the ending point (Xe, Ye).
【0011】これらの処理は、一般に、直線を構成する
画素の座標(X,Y)が互いに異なるため1画素毎に行
うか、複数同時処理するため複雑なハ−ドウェアを用い
るのが普通であった。Generally, these processes are performed for each pixel because the coordinates (X, Y) of pixels forming a straight line are different from each other, or a complicated hardware is usually used for simultaneously processing a plurality of processes. It was
【0012】なお直線の各点の座標の計算はDDA(Dig
ital Differencial Analyzer) 等を用いて行われるが、
本発明とは直接関係がないので説明は省略する。また同
様にフレームメモリに書き込む画素の値の演算について
も説明は省略する。The coordinates of each point on the straight line can be calculated by DDA (Dig
Ital Differencial Analyzer) etc.
Since it is not directly related to the present invention, its explanation is omitted. Similarly, the description of the calculation of the pixel value to be written in the frame memory will be omitted.
【0013】3次元グラフィクスにおいて、物体をソリ
ッドモデルとして描く場合、面塗り処理が多用される。
面塗り処理では、図5(B)に示すように面を多数の水
平線の集まりとして処理するので、上記のように画素一
つ毎に行うZ値の演算は、処理時間に大きな影響を与え
る。In three-dimensional graphics, when an object is drawn as a solid model, surface painting processing is often used.
Since the surface is processed as a group of a large number of horizontal lines in the surface painting processing as shown in FIG. 5B, the calculation of the Z value performed for each pixel as described above greatly affects the processing time.
【0014】[0014]
【発明が解決しようとする課題】本発明は、水平線の描
画時にはZ値の演算を複数の画素に対して同時処理する
ことにより、高速描画を実現することを目的としてい
る。SUMMARY OF THE INVENTION An object of the present invention is to realize high-speed drawing by simultaneously performing Z value calculation on a plurality of pixels when drawing a horizontal line.
【0015】[0015]
【課題を解決するための手段】図1は本発明の原理ブロ
ック図である。 水平方向の複数の画素を同時書込みで
き、その内の個別に指定した画素を書込み許可できるよ
うに構成したフレームメモリ4と、そのフレームメモリ
4の複数の画素に対応した、複数の値を同時読み書きで
き、その内の個別に指定した画素を書込み許可できるよ
うに構成したZバッファメモリ3と、描画が水平線であ
るか任意の角度をもつ直線であるかを区別する描画モー
ド指定フラグ27と、複数のZ値演算回路30とを備える。FIG. 1 is a block diagram showing the principle of the present invention. A frame memory 4 configured such that a plurality of pixels in the horizontal direction can be simultaneously written, and individually designated pixels among them can be written, and a plurality of values corresponding to the plurality of pixels of the frame memory 4 can be simultaneously read / written. And a Z-buffer memory 3 configured to allow writing of individually designated pixels, a drawing mode designation flag 27 for distinguishing whether the drawing is a horizontal line or a straight line with an arbitrary angle, and a plurality of Z value calculation circuit 30 of FIG.
【0016】[0016]
【作用】描画モード指定フラグが水平線を描くことを指
定する場合(描画モード指定フラグが“1”のとき)に
Zバッファメモリ3の複数の画素を同時処理する。When the drawing mode specifying flag specifies drawing a horizontal line (when the drawing mode specifying flag is "1"), a plurality of pixels in the Z buffer memory 3 are simultaneously processed.
【0017】すなわち、水平線の一部を構成する複数の
画素に対応するZ値(Zw0〜Zwm)を複数のZ値演算回路に
より得て、対応する複数の元のZ値(Zr0〜Zrm)をZバッ
ファメモリから読み出して、これと比較する。演算結果
のZ値が元のZ値より小であれば対応する書込み許可信
号(WE0〜WEm)を“1”とし、そうでなければ“0”とす
る。書込み許可信号はZバッファメモリおよびフレーム
メモリの対応する画素の書込みを制御しており“1”で
あれば新しい値の書込みを許し、“0”であれば書込み
を許さないためZバッファメモリ3およびフレームメモ
リ4には元の値が残る。That is, Z values (Zw0 to Zwm) corresponding to a plurality of pixels forming a part of the horizontal line are obtained by a plurality of Z value calculation circuits, and a plurality of corresponding original Z values (Zr0 to Zrm) are obtained. It is read from the Z buffer memory and compared with this. If the Z value of the calculation result is smaller than the original Z value, the corresponding write enable signal (WE0 to WEm) is set to "1", and otherwise it is set to "0". The write enable signal controls the writing of the corresponding pixels in the Z buffer memory and the frame memory. If it is "1", the writing of a new value is permitted, and if it is "0", the writing is not permitted. The original value remains in the frame memory 4.
【0018】このようにすることにより、任意の角度を
もつ直線を描くときは1画素単位に処理する従来方式と
同じ速度であるが、水平線を描くときは非常に速くする
ことができる。With this arrangement, when drawing a straight line having an arbitrary angle, the speed is the same as that of the conventional method in which processing is performed in pixel units, but when drawing a horizontal line, it can be made very fast.
【0019】[0019]
【実施例】フレームメモリ4、Zバッファメモリ1が、
任意に指定したアドレスからある長さだけ同時アクセス
できるように構成すれば前記の処理方法で問題ないが、
構成を単純にするため、2の巾乗を単位とするブロック
を単位にアクセスするようにするのが通常のメモリ構成
方法である。EXAMPLE A frame memory 4 and a Z buffer memory 1 are
There is no problem with the above processing method if it is configured to allow simultaneous access from a specified address for a certain length,
In order to simplify the configuration, a normal memory configuration method is to access in units of blocks each of which is a power of two.
【0020】また、水平線の描画において始点画素(お
よび終点画素)の座標がフレームメモリ4およびZバッ
ファメモリ3のアドレスバウンダリと一致していれば問
題ないが、一般には異なるので、その場合の処理が必要
である。Further, in the drawing of the horizontal line, there is no problem if the coordinates of the starting point pixel (and the ending point pixel) match the address boundary of the frame memory 4 and the Z buffer memory 3, but since they are generally different, the processing in that case is different. is necessary.
【0021】以下、図面を参照して本発明の実施例を詳
細に説明する。図2は本発明の実施例のZバッファ制御
回路のブロック図である。図1と同一のものは、同一の
符号を付して示す。Embodiments of the present invention will be described in detail below with reference to the drawings. FIG. 2 is a block diagram of the Z buffer control circuit according to the embodiment of the present invention. The same parts as those in FIG. 1 are designated by the same reference numerals.
【0022】図2において、25はZ値の初期値を保持す
るレジスタ、26はZ値の増分を保持するレジスタ、27は
描画モード指定フラグ、28,29 は直線の始点と終点の座
標を指定するレジスタであって、これらはプロセサ6 か
ら設定される。In FIG. 2, 25 is a register for holding the initial value of the Z value, 26 is a register for holding the increment of the Z value, 27 is a drawing mode designation flag, and 28 and 29 are the coordinates of the start and end points of the straight line. These registers are set by processor 6.
【0023】30はZ値演算回路、31は増分Ziの倍数選
択回路、32は書込み許可信号作成回路、33は増分Ziの
倍数回路である。本実施例は4ビット同時処理の例であ
って、Z値演算回路30等は4組備えている。Reference numeral 30 is a Z value calculation circuit, 31 is a multiple selection circuit for increment Zi, 32 is a write enable signal generation circuit, and 33 is a multiple circuit for increment Zi. The present embodiment is an example of simultaneous 4-bit processing, and four sets of Z value calculation circuits 30 and the like are provided.
【0024】図3はメモリのアドレスバウンダリを意識
すべき場合の説明図である。図3(A)は三角形を面塗
りするときの始点画素とアドレスバウンダリの関係を示
す。FIG. 3 is an explanatory diagram when the address boundary of the memory should be taken into consideration. FIG. 3A shows the relationship between the starting point pixel and the address boundary when the triangle is painted.
【0025】図においてY=1にある直線()のよう
な水平線の集まりとして三角形が描画される。直線は
4画素単位でメモリアクセスする場合、図に示すように
3回のアクセスを必要とする。最初のアクセスと最後の
アクセスのときX座標の下位2ビットの値により一部の
画素の書込みをしないで元の値を残す必要がある。また
同時処理される4画素のそれぞれの演算内容も異なる。In the figure, a triangle is drawn as a group of horizontal lines such as a straight line () at Y = 1. A straight line requires three accesses as shown in the figure when the memory is accessed in units of 4 pixels. At the time of the first access and the last access, it is necessary to leave the original value without writing some pixels by the value of the lower 2 bits of the X coordinate. Further, the contents of calculation of the four pixels that are simultaneously processed are also different.
【0026】以上のような処理の内容をまとめたものが
図3(B)である。Xの下位2ビットの値が0のとき図
3(A)のに対応し、以下、1のときに、2のとき
に、3のときに対応する。FIG. 3B is a summary of the contents of the above processing. When the value of the lower 2 bits of X is 0, it corresponds to that of FIG. 3A, and when it is 1, it corresponds to 2 and when it is 3.
【0027】図2のZi倍数回路33は -3Zi〜4Zi を作
る回路で、組み合わせ論理回路として容易に構成でき、
Zi倍数選択回路31、書込み許可信号作成回路(EN回
路)32も図3(B)等に従って容易に構成できる。The Zi multiple circuit 33 of FIG. 2 is a circuit for producing -3Zi to 4Zi, and can be easily constructed as a combinational logic circuit.
The Zi multiple selection circuit 31 and the write enable signal generation circuit (EN circuit) 32 can also be easily configured according to FIG.
【0028】なお、任意の角度をもった直線を描画する
場合(描画モード指定フラグが“0”のとき)は、Z値
の演算はそのまま行い、書込み許可信号のみ指定のアド
レスのものだけを“1”とするように回路を構成すれば
よく、容易に実現できる。When a straight line having an arbitrary angle is drawn (when the drawing mode designation flag is "0"), the Z value is calculated as it is, and only the write enable signal having the designated address is ". It suffices to configure the circuit so that it is 1 ″, which can be easily realized.
【0029】[0029]
【発明の効果】3次元グラフィクスにおいては、面塗り
処理が大部分を占める、すなわち水平線の描画が大部分
を占める。メモリの複数同時読み書きなども水平方向に
限れば容易であり、本発明によれば比較的簡単な回路構
成により全体として高速描画を実現できる。EFFECTS OF THE INVENTION In three-dimensional graphics, surface painting processing occupies most, that is, drawing of horizontal lines occupies most. Simultaneous reading and writing of a plurality of memories is easy if limited to the horizontal direction, and according to the present invention, high-speed drawing can be realized as a whole with a relatively simple circuit configuration.
【図1】本発明の原理ブロック図である。FIG. 1 is a principle block diagram of the present invention.
【図2】本発明の実施例Zバッファ制御回路のブロック
図である。FIG. 2 is a block diagram of a Z buffer control circuit according to an embodiment of the present invention.
【図3】メモリのアドレスバウンダリを意識すべき場合
の説明図である。FIG. 3 is an explanatory diagram of a case where an address boundary of a memory should be taken into consideration.
【図4】従来システムの構成概念図である。FIG. 4 is a conceptual diagram of a configuration of a conventional system.
【図5】Z値の演算説明図である。FIG. 5 is an explanatory diagram of Z value calculation.
1 Zバッファ 2 Zバッファ制御回路 3 Zバッファメモリ 4 フレームメモリ 5 CRT 6 プロセサ 7 メインメモリ 20 Z値信号線 21 書込み許可信号 22 加算器 23 出力レジスタ 24 比較器 25 Z値の初期値を保持するレジスタ 26 Z値の増分を保持するレジスタ 27 描画モード指定フラグ 28 Y座標レジスタ 29 X座標レジスタ 30 Z値演算回路 31 Zi倍数選択回路 32 書込み許可信号作成回路(EN回路) 33 Zi倍数回路 1 Z buffer 2 Z buffer control circuit 3 Z buffer memory 4 Frame memory 5 CRT 6 Processor 7 Main memory 20 Z value signal line 21 Write enable signal 22 Adder 23 Output register 24 Comparator 25 Register holding initial value of Z value 26 Register for holding increment of Z value 27 Drawing mode designation flag 28 Y coordinate register 29 X coordinate register 30 Z value calculation circuit 31 Zi multiple selection circuit 32 Write enable signal creation circuit (EN circuit) 33 Zi multiple circuit
Claims (1)
に指定した画素を書込み許可できるように構成したフレ
ームメモリ(4)と、 そのフレームメモリ(4)の複数の画素に対応した、複
数の値を同時読み書きでき、その内の個別に指定した画
素を書込み許可できるように構成したZバッファメモリ
(3)と、 描画が水平線であるか任意の角度をもつ直線であるかを
区別する描画モード指定フラグ(27)と、 複数のZ値演算回路(30)とを備え、 描画モード指定フラグ(27)が水平線を描くことを指定す
る場合にZバッファメモリ(3)の複数のビットを同時
処理するように構成したことを特徴とするZバッファ制
御回路。1. In a three-dimensional image display device, a frame memory (4) configured so that a plurality of pixels in the horizontal direction can be simultaneously written, and individually designated pixels among them can be written, and the frame memory (4) 4) A Z buffer memory (3) configured so that a plurality of values corresponding to a plurality of pixels can be simultaneously read and written, and individually designated pixels of the Z buffer memory (3) can be written, and whether the drawing is a horizontal line or an arbitrary line. A drawing mode designation flag (27) for distinguishing whether the line is an angle and a plurality of Z value calculation circuits (30) are provided. When the drawing mode designation flag (27) specifies drawing a horizontal line, Z A Z-buffer control circuit characterized in that a plurality of bits of a buffer memory (3) are simultaneously processed.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4197338A JPH0644385A (en) | 1992-07-24 | 1992-07-24 | Z buffer control circuit |
US08/094,880 US5621866A (en) | 1992-07-24 | 1993-07-22 | Image processing apparatus having improved frame buffer with Z buffer and SAM port |
GB9607952A GB2299919B (en) | 1992-07-24 | 1993-07-23 | Image processing apparatus |
GB9315283A GB2269081B (en) | 1992-07-24 | 1993-07-23 | Image processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4197338A JPH0644385A (en) | 1992-07-24 | 1992-07-24 | Z buffer control circuit |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0644385A true JPH0644385A (en) | 1994-02-18 |
Family
ID=16372814
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4197338A Pending JPH0644385A (en) | 1992-07-24 | 1992-07-24 | Z buffer control circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0644385A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8884473B2 (en) | 2008-11-18 | 2014-11-11 | Hitachi Metals, Ltd. | Mover, armature, and linear motor |
-
1992
- 1992-07-24 JP JP4197338A patent/JPH0644385A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8884473B2 (en) | 2008-11-18 | 2014-11-11 | Hitachi Metals, Ltd. | Mover, armature, and linear motor |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4234217B2 (en) | System, apparatus and method for embedding transparent enable bits as part of resizing bit block transfer processing | |
US5757374A (en) | Method and apparatus for performing texture mapping | |
JP3012541B2 (en) | Method and apparatus for object identification and collision detection in three-dimensional graphics space | |
JP3586991B2 (en) | Texture data reading device and rendering device | |
US5949421A (en) | Method and system for efficient register sorting for three dimensional graphics | |
US5621866A (en) | Image processing apparatus having improved frame buffer with Z buffer and SAM port | |
JPH07104960B2 (en) | Graphics display system and hidden surface erasing method | |
JPH0355832B2 (en) | ||
US4747042A (en) | Display control system | |
US7616200B1 (en) | System for reducing aliasing on a display device | |
CA2055783A1 (en) | High performance bitblt and line draw engine | |
US7508397B1 (en) | Rendering of disjoint and overlapping blits | |
JPH0644385A (en) | Z buffer control circuit | |
CA1316263C (en) | Apparatus and method for using a test window in a graphics subsystem which incorporates hardware to perform clipping of images | |
JP3090644B2 (en) | Image data processing apparatus and system using the same | |
JP2887122B2 (en) | Image data processing apparatus and system using the same | |
JP2773458B2 (en) | Vector controller | |
JP3106246B2 (en) | Image processing device | |
JPS61187083A (en) | Storage device of picture element information | |
JP2829051B2 (en) | Character display method | |
JPH0346826B2 (en) | ||
JPH0765198A (en) | Image memory device | |
JPH04367988A (en) | Z butter system for graphic processor | |
JPH0535912B2 (en) | ||
JPS6169096A (en) | Graphic processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20010508 |