JPH0754551B2 - Polygon filling device - Google Patents

Polygon filling device

Info

Publication number
JPH0754551B2
JPH0754551B2 JP22514186A JP22514186A JPH0754551B2 JP H0754551 B2 JPH0754551 B2 JP H0754551B2 JP 22514186 A JP22514186 A JP 22514186A JP 22514186 A JP22514186 A JP 22514186A JP H0754551 B2 JPH0754551 B2 JP H0754551B2
Authority
JP
Japan
Prior art keywords
value
data
register
storage means
supplied
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 - Lifetime
Application number
JP22514186A
Other languages
Japanese (ja)
Other versions
JPS6380374A (en
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.)
Daikin Industries Ltd
Original Assignee
Daikin Industries 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 Daikin Industries Ltd filed Critical Daikin Industries Ltd
Priority to JP22514186A priority Critical patent/JPH0754551B2/en
Publication of JPS6380374A publication Critical patent/JPS6380374A/en
Priority to US07/759,657 priority patent/US5167018A/en
Publication of JPH0754551B2 publication Critical patent/JPH0754551B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

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

<産業上の利用分野> この発明は多角形ぬりつぶし装置に関し、さらに詳細に
いえば、ホストコンピュータから供給される座標データ
に基いて選択される2本の辺を直線補間する直線補間部
と、直線補間されたデータに基いて直線描画データを生
成する直線描画部とを有する多角形ぬりつぶし装置に関
する。 <従来の技術> 従来からグラフィックディスプレイ装置においては多角
形ぬりつぶし機能が必須であり、第5図に示すように、
多数の除算回路、および加算回路から構成される直線補
間部と、直線補間部により得られたデータに基いて直線
描画を行なうための直線描画部とを有する多角形ぬりつ
ぶし装置が組込まれていた。 さらに詳細に説明すると、上記直線補間部は、2本の辺
に対してそれぞれx方向、y方向、z方向、I方向の補
間を行なわせるべく、合計8個の除算回路と、各除算回
路からの出力データを入力とする加算回路とを有し、上
記両辺について、それぞれx方向、y方向、z方向、I
方向の直線補間を同時に行なわせるようにしている。 また、上記直線描画部は、上記直線補間部により得られ
たデータを入力とする3個の除算回路と、各除算回路か
らの出力データを入力とする加算回路とを有しており、
上記直線補間部により得られた各辺の補間データに基い
て描画すべき線分に対応する多数のピクセルデータを生
成し、描画メモリに供給するようにしている。 したがって、2本の辺についての直線補間動作を高速に
行なうことができ、その後、補間データに基いて描画す
べき線分に対応する多数のピクセルデータを生成するこ
とができる。 尚、テクスチャマッピング機能を達成する場合には、テ
クスチャ平面に対応する直線補間部、および直線描画部
とを追加すればよく、また、セクショニング機能を達成
する場合には、各直線補間部に切断面境界値補間部を追
加すればよい。 <発明が解決しようとする問題点> 上記の構成の多角形ぬりつぶし装置においては、直線補
間部が多数の除算回路と加算回路とで構成されているた
め、構成が複雑化するという問題があるとともに、上記
のように複雑化した直線補間部の使用頻度が、直線描画
部の使用頻度よりも著しく低いという問題がある。 さらに詳細に説明すると、例えば、1ポリゴンを20×20
画素の正方形であると仮定した場合には、1ポリゴンを
処理するために必要な演算は、直線補間部において平均
25回の加算動作と、1乃至2回の除算動作が行なわれる
のに対して、直線描画部においては400回の加算動作
と、平均25回の除算動作が行なわれるのであり、直線補
間部の使用頻度が直線描画部の使用頻度と比較して著し
く低いことになる。そして、上記のように使用頻度が低
いにも拘わらず、直線補間部における除算回路、および
加算回路の必要個数が多くなり、除算回路、加算回路の
稼働効率が非常に低い状態である。 また、上記直線補間部においては、除算回路から出力さ
れるデータに基いて加算回路による加算動作が行なわれ
た後に、得られた補間データが直線描画部に伝送される
のであり、上記加算動作と、得られた補間データの伝送
動作とは、第6図に示すように、順次シリアルに行なわ
れることになる。即ち、当初全段加算が行なわれた後
(時間T0参照)、2本の辺に対するx,y,z,Iの補間デー
タが順次伝送され(時間T1からT8参照)、最後に除算開
始指示データが伝送される(時間T9参照)ことにより、
直線補間部における加算回路の動作サイクルが終了す
る。 したがって、例えば、加算動作、および加算結果の伝送
動作の合計時間を1μsecに設定した場合には、加算演
算所要時間が50nsecであり、加算結果の出力に要する時
間が100nsecであるから、残りの850nsecの期間は加算回
路が全く動作していないことになる。即ち、2本の辺に
対するx,y,z,Iの補間データをほぼ同時に得たとして
も、上述したように加算回路が全く動作しない時間がか
なり長くなるのであるから、全体としての処理時間は余
り短縮されない。したがって、加算回路を多数使用する
ことにより全ての補間データをほぼ同時に得られるよう
にしても、構成が複雑化するだけで、余り処理速度の向
上を期待することができないのである。 また、得られた補間データをパラレルに伝送することも
考えられるが、実装部品数が大幅に増加するという問題
が発生する。そして、パラレル伝送できるようにして
も、直線描画部の除算回路における分母は、x,yの始
点、および終点に基いて得られた分割数になるのであ
り、この分割数がz,Iの直線描画データを得るために使
用されるのであるから、上記分割数を供給するため、お
よび直線補間部からの補間データを供給するために切替
ゲートが必要になる。したがって、全ての補間データを
パラレル伝送するようにしても余り処理時間は短縮され
ず、実装部品数が大幅に増加する不具合の方が大きくな
る。 上記の問題は、単なる多角形ぬりつぶし動作を行なうの
みではなく、テクスチャマッピング処理、セクショニン
グ処理を行なう場合には特に顕著になる。 <発明の目的> この発明は上記の問題点に鑑みてなされたものであり、
直線補間の所要時間を殆ど増加させることなく、構成を
大幅に簡素化することができる多角形ぬりつぶし装置を
提供することを目的としている。 <問題点を解決するための手段> 上記の目的を達成するための、この発明の多角形ぬりつ
ぶし装置は、ホストコンピュータから供給される座標デ
ータに基いて選択される2本の辺を直線補間する直線補
間部が、辺の一方の端点を示す値、または該値に対し
て、補間により得られるべき点同士の間の差分値を累積
的に加算して得た値を座標データを構成する要素毎に格
納する第1の格納手段と、補間により得られるべき点同
士の間の差分値を上記要素毎に格納する第2の格納手段
と、上記第1、第2の格納手段から読出された値をそれ
ぞれ格納する第1、第2のレジスタと、上記第1、第2
のレジスタの値をそれぞれ加算し、加算された値を第3
のレジスタに供給する加算手段とを有しており、上記第
3のレジスタの値を第1の格納手段に供給しているとと
もに、上記第1のレジスタの値を直線描画部に供給して
おり、第1、第2の格納手段から値を読出し、第1、第
2のレジスタへそれぞれ格納する動作、第1のレジスタ
から直線描画部への値の供給および加算手段における加
算、供給動作、および第3のレジスタから第1の格納手
段への値の供給動作を上記要素毎に順次ずらせた状態で
制御して行なわせるものである。 <作用> 以上の構成の多角形ぬりつぶし装置であれば、ホストコ
ンピュータから供給される座標データに基いて選択され
る2本の辺を直線補間し、直線補間されたデータに基い
て直線描画データを生成することにより多角形をぬりつ
ぶす場合において、当初は第1の格納手段に第1番目
の、辺の一方の端点の座標データを構成する値を格納す
るとともに、第2の格納手段に第1番目の、補間により
得られるべき点同士の間の差分値を格納する。その後
は、第1、第2の格納手段の値を第1、第2のレジスタ
に一時的に格納し、第1のレジスタの値を直線描画部に
供給するとともに、両レジスタの値を加算手段により加
算して第3のレジスタに一時的に格納し、第3のレジス
タの値に基いて第1の格納手段の値を更新する。 また、上記の動作を行なっている間において、第1、第
2の格納手段から第1、第2のレジスタに値を供給した
後は、上記第1、第2の格納手段は最早上記値を保持し
ておく必要がないので、第2番目の、辺の一方の端点の
座標データを構成する値、および補間により得られるべ
き点同士の間の差分値を格納することができる。 さらに、加算手段により得られたデータを第3のレジス
タに供給した後は、上記加算手段は次の加算動作を行な
うことができるので、上記第2番目の、辺の一方の端点
の座標データを構成する値、および補間により得られる
べき点同士の間の差分値に基く加算動作を行なうことが
でき、この間において、上記第1、第2の格納手段への
第3番目の、辺の一方の端点の座標データを構成する
値、および補間により得られるべき点同士の間の差分値
の書込み、第1、第2のレジスタへの供給を行ない、そ
の後、上記加算結果の書込み動作を行なうことができ
る。 即ち、各順位の直線補間データの読出し処理、加算演
算、および出力処理、加算結果の書込み処理を順次行な
うことができ、しかも、各順位の処理を1ステップ遅れ
で順次行なうことができる。 <実施例> 以下、実施例を示す添付図面によって詳細に説明する。 第1図はこの発明の多角形ぬりつぶし装置の一実施例を
示すブロック図である。 図において、直線補間部は、辺の一方の端点を示す値
(以下、初期値と称する)、または累積加算値を格納す
るマルチポートレジスタファイル〔1〕と、補間により
得られるべき点同士の間の差分値(以下、増分値と称す
る)を格納するレジスタファイル〔2〕と、上記マルチ
ポートレジスタファイル〔1〕の内容を一時的に保持す
る第1のパイプラインレジスタ〔3〕と、上記レジスタ
ファイル〔2〕の内容を一時的に保持する第2のパイプ
ラインレジスタ〔4〕と、上記第1、第2のパイプライ
ンレジスタ〔3〕〔4〕の内容を入力として加算動作を
行なう加算回路〔5〕と、加算結果を一時的に格納する
第3のパイプラインレジスタ〔6〕とから構成されてお
り、上記第3のパイプラインレジスタ〔6〕の内容を第
1のマルチポートレジスタファイル〔1〕に供給してい
るとともに、上記第1のパイプラインレジスタ〔3〕の
内容を直線描画部〔7〕に供給している。そして、上記
マルチポートレジスタファイル〔1〕、およびレジスタ
ファイル〔2〕に対して汎用プロセッサ〔8〕からの座
標データ等(直線補間を行なうべき辺の端点の座標デー
タ、および辺の長さに基いて算出された増分値データ)
が供給されている。 尚、
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a polygon filling apparatus, and more specifically, a linear interpolation unit that linearly interpolates two sides selected based on coordinate data supplied from a host computer; The present invention relates to a polygon filling apparatus having a straight line drawing unit that generates straight line drawing data based on interpolated data. <Prior Art> Conventionally, in a graphic display device, a polygon filling function is essential, and as shown in FIG.
A polygon filling apparatus having a linear interpolation unit including a large number of division circuits and addition circuits and a linear drawing unit for drawing a straight line based on the data obtained by the linear interpolation unit has been incorporated. More specifically, the linear interpolation unit includes a total of eight division circuits and two division circuits to interpolate two sides in the x direction, the y direction, the z direction, and the I direction. And an adder circuit to which the output data of I. is input, and x-direction, y-direction, z-direction, I
The direction linear interpolation is performed at the same time. The straight line drawing unit has three division circuits that receive the data obtained by the straight line interpolation unit as inputs, and an adder circuit that receives the output data from each division circuit as an input.
A large number of pixel data corresponding to the line segment to be drawn are generated based on the interpolation data of each side obtained by the linear interpolation unit, and are supplied to the drawing memory. Therefore, the linear interpolation operation for the two sides can be performed at high speed, and then a large number of pixel data corresponding to the line segment to be drawn can be generated based on the interpolation data. In order to achieve the texture mapping function, a linear interpolation unit corresponding to the texture plane and a linear drawing unit may be added. To achieve the sectioning function, each linear interpolation unit may have a cut surface. A boundary value interpolation unit may be added. <Problems to be Solved by the Invention> In the polygon fill-out device having the above configuration, since the linear interpolation unit is composed of a large number of division circuits and addition circuits, there is a problem that the configuration becomes complicated. However, there is a problem in that the frequency of use of the linear interpolation unit that is complicated as described above is significantly lower than the frequency of use of the line drawing unit. More specifically, for example, one polygon is 20 × 20.
Assuming a square of pixels, the calculation required to process one polygon is the average in the linear interpolation unit.
The addition operation is performed 25 times and the division operation is performed once or twice, while the addition operation is performed 400 times and the division operation is performed 25 times on average in the linear drawing unit. The frequency of use is significantly lower than the frequency of use of the straight line drawing unit. Although the frequency of use is low as described above, the required number of division circuits and addition circuits in the linear interpolation unit is large, and the operating efficiency of the division circuits and addition circuits is extremely low. Further, in the linear interpolation section, the addition operation is performed by the addition circuit based on the data output from the division circuit, and then the obtained interpolation data is transmitted to the linear drawing section. The transmission operation of the obtained interpolation data will be serially performed sequentially as shown in FIG. That is, after the initial full-stage addition (see time T0), the x, y, z, I interpolation data for the two sides are sequentially transmitted (see times T1 to T8), and finally the division start instruction data. Is transmitted (see time T9),
The operation cycle of the adding circuit in the linear interpolating unit ends. Therefore, for example, when the total time of the addition operation and the transmission operation of the addition result is set to 1 μsec, the addition calculation time is 50 nsec, and the time required to output the addition result is 100 nsec. During this period, the adder circuit is not operating at all. That is, even if interpolated data of x, y, z, and I for two sides is obtained almost at the same time, as described above, the time during which the adder circuit does not operate at all becomes considerably long. Not much shortened. Therefore, even if all the interpolated data can be obtained almost simultaneously by using a large number of adder circuits, the structure is only complicated and the processing speed cannot be expected to be improved so much. Further, it is conceivable to transmit the obtained interpolation data in parallel, but this causes a problem that the number of mounted components increases significantly. Even if parallel transmission is possible, the denominator in the division circuit of the straight line drawing unit is the number of divisions obtained based on the start point and end point of x, y, and this number of divisions is the straight line of z, I. Since it is used to obtain drawing data, a switching gate is required to supply the division number and to supply the interpolation data from the linear interpolation unit. Therefore, even if all the interpolation data are transmitted in parallel, the processing time is not shortened so much, and the problem that the number of mounted components is greatly increased becomes larger. The above problem becomes particularly noticeable when texture mapping processing and sectioning processing are performed in addition to the simple polygon filling operation. <Objects of the Invention> The present invention has been made in view of the above problems,
It is an object of the present invention to provide a polygonal fill-up device capable of greatly simplifying the configuration without substantially increasing the time required for linear interpolation. <Means for Solving the Problems> In order to achieve the above-mentioned object, the polygon filling apparatus of the present invention linearly interpolates two sides selected based on the coordinate data supplied from the host computer. An element forming the coordinate data by the linear interpolation unit, which is a value indicating one end point of the side or a value obtained by cumulatively adding a difference value between points to be obtained by interpolation to the value. Read from the first storing means for storing each of the elements, the second storing means for storing the difference value between the points to be obtained by the interpolation for each element, and the first and second storing means. First and second registers for storing values respectively, and the first and second registers described above.
Value of each register is added, and the added value is added to the third
Of the third register, the value of the third register is supplied to the first storing means, and the value of the first register is supplied to the straight line drawing unit. , An operation of reading a value from the first and second storage means and storing the value in the first and second registers, an operation of supplying a value from the first register to the straight line drawing unit and an addition and supply operation in the adding means, and The operation of supplying a value from the third register to the first storage means is controlled and performed in a state where the values are sequentially shifted for each element. <Operation> With the polygon filling device having the above configuration, the two sides selected based on the coordinate data supplied from the host computer are linearly interpolated, and the linear drawing data is obtained based on the linearly interpolated data. When the polygon is filled by generating, first, the first storage means stores the first value that constitutes the coordinate data of one end point of the side, and the second storage means stores the first value. The difference value between the points to be obtained by interpolation is stored. After that, the values of the first and second storage means are temporarily stored in the first and second registers, the value of the first register is supplied to the straight line drawing section, and the values of both registers are added. Is added and temporarily stored in the third register, and the value of the first storage means is updated based on the value of the third register. Further, during the above-mentioned operation, after the values are supplied from the first and second storage means to the first and second registers, the first and second storage means are immediately set to the above values. Since it is not necessary to hold it, it is possible to store the second value that constitutes the coordinate data of one end point of the side and the difference value between the points that should be obtained by interpolation. Further, after supplying the data obtained by the adding means to the third register, the adding means can perform the following adding operation, so that the coordinate data of the second end point of one of the sides can be obtained. An addition operation can be performed based on the constituent value and the difference value between the points to be obtained by the interpolation, and during this period, one of the sides of the third side to the first and second storage means is It is possible to write the values forming the coordinate data of the end points and the difference value between the points to be obtained by interpolation, supply them to the first and second registers, and then perform the operation of writing the addition result. it can. That is, it is possible to sequentially perform the process of reading the linear interpolation data of each rank, the addition operation, the output process, and the writing process of the addition result, and the processes of each rank can be sequentially performed with a delay of one step. <Example> Hereinafter, detailed description will be given with reference to the accompanying drawings illustrating an example. FIG. 1 is a block diagram showing an embodiment of a polygon filling apparatus according to the present invention. In the figure, the linear interpolation unit is provided between a value indicating one end point of a side (hereinafter, referred to as an initial value) or a multiport register file [1] that stores a cumulative addition value and points to be obtained by interpolation. Register file [2] for storing the difference value (hereinafter, referred to as an increment value), a first pipeline register [3] for temporarily holding the contents of the multiport register file [1], and the register A second pipeline register [4] that temporarily holds the contents of the file [2] and an adder circuit that performs an addition operation using the contents of the first and second pipeline registers [3] and [4] as inputs. [5] and a third pipeline register [6] for temporarily storing the addition result. The contents of the third pipeline register [6] are stored in the first multi-port register. Together they are supplied to the static file (1), and supplies to the line drawing unit (7) the content of said first pipeline register (3). Then, for the multiport register file [1] and the register file [2], coordinate data and the like from the general-purpose processor [8] (based on the coordinate data of the end points of the side where linear interpolation is to be performed, and the length of the side) Incremental value data calculated by
Is being supplied. still,

〔9〕は描画コマンドデータ等を取込むためのI/O
インターフェースであり、〔10〕はメモリである。ま
た、直線補間データに基いて線分を構成するピクセルデ
ータを生成する直線描画部は、x,yデータ用の除算回路
(11)、および加算回路(12)と、zデータ用の除算回
路(13)、および加算回路(14)と、Iデータ用の除算
回路(15)、および加算回路(16)とから構成されてい
る。 以上の構成の多角形ぬりつぶし装置の動作は次のとおり
である。 I/Oインターフェース
[9] is I / O for fetching drawing command data etc.
It is an interface, and [10] is a memory. In addition, a straight line drawing unit that generates pixel data forming a line segment based on the straight line interpolation data includes a division circuit (11) for x, y data, an addition circuit (12), and a division circuit (for z data) ( 13) and an adder circuit (14), a division circuit (15) for I data, and an adder circuit (16). The operation of the polygonal fill-up device having the above configuration is as follows. I / O interface

〔9〕を通して多角形ぬりつぶし
コマンドデータが汎用プロセッサ〔8〕に供給されるこ
とにより、多角形を構成する辺の端点の座標に基いて除
算を行ない、増分値データを得る。そして、 上記端点の座標データをマルチポートレジスタファ
イル〔1〕に格納するとともに、増分値データをレジス
タファイル〔2〕に格納する。 次いで、マルチポートレジスタファイル〔1〕のx
座標データを第1のパイプラインレジスタ〔3〕に供給
するとともに、レジスタファイル〔2〕の増分値データ
を第2のパイプラインレジスタ〔4〕に供給し、必要で
あれば(例えばセクショニング処理を行なう場合には必
ずしも転送する必要はない)、第1のパイプラインレジ
スタ〔3〕の内容を直線描画部に供給する。 その後、上記両パイプラインレジスタ〔3〕〔4〕
の内容に基いて加算回路〔5〕により座標データと増分
値データとを加算する。 上記加算回路〔5〕において得た加算結果を第3の
パイプラインレジスタ〔6〕に供給する。 最後に上記第3のパイプラインレジスタ〔6〕の内
容をマルチポートレジスタファイル〔1〕に格納する。 即ち、以上の一連の動作を行なうことにより、端点の座
標データに順次増分値データを加算して直線補間を行な
うことができるのである。但し、上記直線補間動作は各
辺のx座標、y座標、z座標、およびI座標について行
なう必要があるので、各座標について順次上記一連の動
作を行なわせる必要がある。 この場合において、x座標について上記の処理が終
了した後は、最早両パイプラインレジスタ〔3〕〔4〕
にx座標に関するデータを保持させておく必要はないの
で、y座標に関するデータをマルチポートレジスタファ
イル〔1〕、およびレジスタファイル〔2〕から出力
し、出力されたデータを両パイプラインレジスタ〔3〕
〔4〕に供給することができる。 また、x座標について上記の処理が終了した場合に
は、両パイプラインレジスタ〔3〕〔4〕に格納されて
いるy座標に関するデータに基いて加算回路〔5〕によ
り加算動作を行なわせることができ、加算回路〔5〕に
よる加算動作を行なわせる状態になれば、z座標に関す
るデータをマルチポートレジスタファイル〔1〕、およ
びレジスタファイル〔2〕から出力し、出力されたデー
タを両パイプラインレジスタ〔3〕〔4〕に供給するこ
とができる。そして、上記の動作を行なわせることが
できる。もちろん、z座標に関するデータに基いて加算
回路〔5〕による加算動作を行なわせる状態になれば、
I座標に関するデータをマルチポートレジスタファイル
(1)、およびレジスタファイル(2)から出力し、出
力されたデータを両パイプラインレジスタ(3)(4)
に供給することができる。 以上、要約すれば、第2図、および第3図に示すよう
に、マルチポートレジスタファイル〔1〕、およびレジ
スタファイル〔2〕からの初期値データ、または累積加
算値データの読出し、および増分値データの読出し動
作、第1のパイプラインレジスタ〔3〕から直線描画部
へのデータ出力、加算回路〔5〕による加算動作、およ
び加算結果のマルチポートレジスタファイル〔1〕への
格納動作を、各座標データについてそれぞれ1動作時間
ずつずらせた状態で順次行なう。したがって、全体とし
て、全てのデータを同時に得て、その後、得られたデー
タを順次直線描画部に供給する従来例とほぼ等しい時間
で直線補間動作、および補間データの伝送を行なわせる
ことができる。 また、以上の実施例においては、汎用プロセッサ〔8〕
により除算動作を行なわせるようにしているが、直線補
間動作を行なう場合における除算回数は非常に少ないの
であるから、特に処理時間が長くなるという不都合はな
い。 第4図は他の実施例を示すブロック図であり、上記実施
例と異なる点は、テクスチャマッピング動作を行なわせ
ることができるようにするために、テクスチャ平面用の
直線描画を行なう除算回路(17)(18)、加算回路(1
9)(20)、加算回路(19)(20)から出力される加算
結果を格納するマッピングメモリ(21)、およびシェー
ディング処理等を行なうための乗算回路(22)を追加し
た点のみである。 したがって、この実施例の場合には、x,y,z,I座標デー
タの他にu,v座標データについても直線補間部により順
次補間して直線補間データを得、順次除算回路(11)
(13)(15)(17)(18)に供給することにより、u,v
座標で表されるテクスチャ平面上の所望の図形データ
を、x,y,z,I座標で表されるディスプレイ平面上の所望
の領域に投影する、いわゆるテクスチャマッピング処理
を行なうことができる。 尚、この発明は上記の実施例に限定されるものではな
く、例えば上記マルチポートレジスタファイル〔1〕に
代えてマルチポートメモリを使用すること、レジスタフ
ァイル〔2〕に代えてメモリを使用することが可能であ
り、この場合において、メモリを3つ以上の領域に区画
し、2の領域にそれぞれ左側の線分用のデータ、右側の
線分用のデータを格納するとともに、他の1つの領域に
描画する線分用のデータを格納し、残余の領域をセクシ
ョニング等のための判定機能を含む制御領域として使用
する(例えば、x,y,z,u,v等用のフラグを格納しておく
とともに、セクショニング用としてz1′,z2′,…zn′
のフラグを格納しておく)ことにより、左右の線分のみ
ならず、描画する線分についても時分割制御を行なうこ
とができる他、直線補間のための除算動作を専用の除算
回路により行なわせることが可能であり、さらには、断
面図表示を行なわせる、いわゆるセクショニング処理に
も適用することが可能であり、その他この発明の要旨を
変更しない範囲内において、種々の設計変更を施すこと
が可能である。 <発明の効果> 以上のようにこの発明は、直線補間動作を行なうための
加算回路を1つのみとすることが可能であるから、構成
を簡素化することができるとともに、第1、第2の格納
手段の容量により定まる次元数までの座標の拡張を簡単
に行なうことができ、しかも、従来方式と同程度の直線
補間処理速度を達成することができるという特有の効果
を奏する。
By supplying the polygon fill command data to the general-purpose processor [8] through [9], division is performed based on the coordinates of the end points of the sides forming the polygon to obtain increment value data. Then, the coordinate data of the end points is stored in the multiport register file [1] and the increment value data is stored in the register file [2]. Next, x of the multiport register file [1]
The coordinate data is supplied to the first pipeline register [3] and the increment value data of the register file [2] is supplied to the second pipeline register [4], and if necessary (for example, sectioning processing is performed. In this case, it is not always necessary to transfer), and the contents of the first pipeline register [3] are supplied to the straight line drawing unit. After that, both pipeline registers [3] [4]
Based on the contents of the above, the addition circuit [5] adds the coordinate data and the increment value data. The addition result obtained in the addition circuit [5] is supplied to the third pipeline register [6]. Finally, the contents of the third pipeline register [6] are stored in the multiport register file [1]. That is, by performing the series of operations described above, it is possible to sequentially add the increment value data to the coordinate data of the end points and perform the linear interpolation. However, since the linear interpolation operation needs to be performed for the x-coordinate, y-coordinate, z-coordinate, and I-coordinate of each side, it is necessary to sequentially perform the series of operations for each coordinate. In this case, after the above processing is completed for the x coordinate, both pipeline registers [3] [4] are no longer needed.
Since it is not necessary to hold the data relating to the x coordinate in, the data relating to the y coordinate is output from the multiport register file [1] and the register file [2], and the output data is output to both pipeline registers [3].
Can be supplied to [4]. Further, when the above process is completed for the x coordinate, the addition circuit [5] can cause the addition operation based on the data regarding the y coordinate stored in both pipeline registers [3] [4]. If the addition circuit [5] is ready to perform the addition operation, the z-coordinate data is output from the multiport register file [1] and the register file [2], and the output data is output to both pipeline registers. [3] [4] can be supplied. Then, the above operation can be performed. Of course, if the addition circuit [5] performs the addition operation based on the data related to the z coordinate,
Data regarding the I coordinate is output from the multiport register file (1) and the register file (2), and the output data is output to both pipeline registers (3) and (4).
Can be supplied to. In summary, as shown in FIGS. 2 and 3, the initial value data or the cumulative addition value data read from the multiport register file [1] and the register file [2] and the increment value are incremented. Each of the data read operation, the data output from the first pipeline register [3] to the straight line drawing unit, the addition operation by the addition circuit [5], and the storage operation of the addition result in the multiport register file [1] are performed. The coordinate data are sequentially shifted by one operation time. Therefore, as a whole, all the data can be obtained at the same time, and thereafter, the linear interpolation operation and the transmission of the interpolated data can be performed in substantially the same time as in the conventional example in which the obtained data is sequentially supplied to the linear drawing unit. In the above embodiment, the general-purpose processor [8]
However, since the number of divisions is very small when the linear interpolation operation is performed, there is no inconvenience that the processing time becomes long. FIG. 4 is a block diagram showing another embodiment. The difference from the above-mentioned embodiment is that a division circuit (17) for drawing a straight line for a texture plane in order to be able to perform a texture mapping operation. ) (18), adder circuit (1
9) (20), a mapping memory (21) for storing addition results output from the addition circuits (19) and (20), and a multiplication circuit (22) for performing shading processing and the like. Therefore, in the case of this embodiment, not only the x, y, z, I coordinate data but also the u, v coordinate data are sequentially interpolated by the linear interpolating unit to obtain linear interpolating data, and the sequential dividing circuit (11)
By supplying to (13) (15) (17) (18), u, v
A so-called texture mapping process of projecting desired graphic data on a texture plane represented by coordinates onto a desired area on a display plane represented by x, y, z, I coordinates can be performed. The present invention is not limited to the above-described embodiment, and for example, a multiport memory is used instead of the multiport register file [1], and a memory is used instead of the register file [2]. In this case, the memory is divided into three or more areas, and the data for the left line segment and the data for the right line segment are stored in each of the two areas, and the other one area is stored. Store the data for the line segment to be drawn in, and use the remaining area as the control area including the judgment function for sectioning etc. (for example, store the flags for x, y, z, u, v etc. Z1 ′, z2 ′, ... zn ′ for sectioning
By storing the flag of), time division control can be performed not only on the left and right line segments but also on the line segment to be drawn, and the division operation for linear interpolation can be performed by a dedicated division circuit. Further, the present invention can be applied to so-called sectioning processing for displaying a cross-sectional view, and various design changes can be made without departing from the scope of the present invention. Is. <Advantages of the Invention> As described above, according to the present invention, since only one adder circuit can be used for performing the linear interpolation operation, the configuration can be simplified and the first and second embodiments can be performed. It is possible to easily expand the coordinates up to the number of dimensions that is determined by the capacity of the storage means, and it is possible to achieve the same linear interpolation processing speed as the conventional method.

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

第1図はこの発明の多角形ぬりつぶし装置の一実施例を
示すブロック図、 第2図、および第3図は直線補間動作を概略的に説明す
る動作説明図、 第4図は他の実施例を示すブロック図、 第5図は従来例を示すブロック図、 第6図は従来の直線補間動作、およびデータ伝送動作を
概略的に説明する動作説明図。 〔1〕……マルチポートレジスタファイル、 〔2〕……レジスタファイル、 〔3〕〔4〕〔6〕……パイプラインレジスタ、〔5〕
……加算回路、 〔7〕……直線描画部
FIG. 1 is a block diagram showing an embodiment of a polygon filling apparatus according to the present invention, FIGS. 2 and 3 are operation explanatory views for schematically explaining a linear interpolation operation, and FIG. 4 is another embodiment. FIG. 5, FIG. 5 is a block diagram showing a conventional example, and FIG. 6 is an operation explanatory view schematically explaining a conventional linear interpolation operation and a data transmission operation. [1] ... Multiport register file, [2] ... Register file, [3] [4] [6] ... Pipeline register, [5]
…… Adding circuit, [7] …… Line drawing unit

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】ホストコンピュータから供給される座標デ
ータに基いて選択される2本の辺を直線補間する直線補
間部と、直線補間されたデータに基いて直線描画データ
を生成する直線描画部とを有する多角形ぬりつぶし装置
において、上記直線補間部が、辺の一方の端点を示す
値、または該値に対して、補間により得られるべき点同
志の間の差分値を累積的に加算して得た値を座標データ
を構成する要素毎に格納する第1の格納手段と、補間に
より得られるべき点同士の間の差分値を上記要素毎に格
納する第2の格納手段と、上記第1、第2の格納手段か
ら読出された値をそれぞれ格納する第1、第2のレジス
タと、上記第1、および第2のレジスタの値をそれぞれ
加算し、加算された値を第3のレジスタに供給する加算
手段とを有しており、上記第3のレジスタの値を第1の
格納手段に供給しているとともに、上記第1のレジスタ
の値を直線描画部に供給しており、第1、第2の格納手
段から値を読出し、第1、第2のレジスタへそれぞれ格
納する動作、第1のレジスタから直線描画部への値の供
給および加算手段における加算、供給動作、および第3
のレジスタから第1の格納手段への値の供給動作を、上
記要素毎に順次ずらせた状態で制御して行なわせること
を特徴とする多角形ぬりつぶし装置。
1. A linear interpolation unit for linearly interpolating two sides selected based on coordinate data supplied from a host computer, and a linear drawing unit for generating linear drawing data based on the linearly interpolated data. In the polygon filling device having, the linear interpolation unit obtains by cumulatively adding a difference value between points to be obtained by interpolation to a value indicating one end point of a side or the value. A first storage means for storing the calculated value for each element forming the coordinate data, a second storage means for storing a difference value between points to be obtained by interpolation for each element, the first storage means, The values of the first and second registers respectively storing the values read from the second storage means and the values of the first and second registers are respectively added, and the added values are supplied to the third register. And adding means to The value of the third register is supplied to the first storage means, the value of the first register is supplied to the straight line drawing unit, and the value is read from the first and second storage means. The operation of storing in the first and second registers, the operation of supplying the value from the first register to the straight line drawing unit and the operation of adding and supplying in the adding means, and
A polygonal filling apparatus, characterized in that the operation of supplying a value from the register to the first storage means is controlled and performed in a state in which the elements are sequentially shifted.
JP22514186A 1986-09-24 1986-09-24 Polygon filling device Expired - Lifetime JPH0754551B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP22514186A JPH0754551B2 (en) 1986-09-24 1986-09-24 Polygon filling device
US07/759,657 US5167018A (en) 1986-09-24 1991-09-13 Polygon-filling apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22514186A JPH0754551B2 (en) 1986-09-24 1986-09-24 Polygon filling device

Publications (2)

Publication Number Publication Date
JPS6380374A JPS6380374A (en) 1988-04-11
JPH0754551B2 true JPH0754551B2 (en) 1995-06-07

Family

ID=16824593

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22514186A Expired - Lifetime JPH0754551B2 (en) 1986-09-24 1986-09-24 Polygon filling device

Country Status (1)

Country Link
JP (1) JPH0754551B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3349871B2 (en) * 1995-07-10 2002-11-25 株式会社リコー Image processing device
JP4692956B2 (en) * 2004-11-22 2011-06-01 株式会社ソニー・コンピュータエンタテインメント Drawing processing apparatus and drawing processing method

Also Published As

Publication number Publication date
JPS6380374A (en) 1988-04-11

Similar Documents

Publication Publication Date Title
KR100278565B1 (en) Geometry pipeline implemented on a simd machine
US5946000A (en) Memory construct using a LIFO stack and a FIFO queue
US4974177A (en) Mapping circuit of a CRT display device
US5422997A (en) Texture address generator, texture pattern generator, texture drawing device, and texture address generating method
JPS60239796A (en) Circuit and apparatus for altering data in display memory
EP0752685A1 (en) Method and apparatus for efficient rendering of three-dimensional scenes
GB2336982A (en) Improvements relating to computer 3D rendering systems
JPH0754551B2 (en) Polygon filling device
US5167018A (en) Polygon-filling apparatus
KR0165464B1 (en) Apparatus and method of span rendering for graphics
US6476818B1 (en) Storage circuit control device and graphic computation device
JP4482996B2 (en) Data storage apparatus and method and image processing apparatus
US6489967B1 (en) Image formation apparatus and image formation method
JP2002369076A (en) Three-dimensional special effect device
JPH0831138B2 (en) Polygonal fill device in scanning display device
JPH1131236A (en) Sorting method of polygon data and picture processor using the method
JPS59188761A (en) Write system of picture memory
JPS6274166A (en) Polygon apex data tracking device for scanning type display device
JPH01223580A (en) Method for displaying three-dimensional graphic
JP3247441B2 (en) Image processing device
JPH0438389Y2 (en)
JPH0346826B2 (en)
JP2605609B2 (en) Dot display processing device
JPH04184687A (en) Graphic plotter
JP2001052193A (en) Method and device for texture mapping

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term