JPH0243691A - Input/output converting segment memory and hidden-surface processor - Google Patents

Input/output converting segment memory and hidden-surface processor

Info

Publication number
JPH0243691A
JPH0243691A JP19500688A JP19500688A JPH0243691A JP H0243691 A JPH0243691 A JP H0243691A JP 19500688 A JP19500688 A JP 19500688A JP 19500688 A JP19500688 A JP 19500688A JP H0243691 A JPH0243691 A JP H0243691A
Authority
JP
Japan
Prior art keywords
row
segment
column
data
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
Application number
JP19500688A
Other languages
Japanese (ja)
Inventor
Takeshi Oki
健 大木
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP19500688A priority Critical patent/JPH0243691A/en
Publication of JPH0243691A publication Critical patent/JPH0243691A/en
Pending legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Abstract

PURPOSE:To easily and promptly control a segment by executing a segment input in units of a polygon and a segment output in units of a scanning line by means of an address control and a memory. CONSTITUTION:A row write address counter 30 outputs and updates a write address, a column write address register 33 and an incrementor 35 output and update a column write address on the row, and successively write segment data in units of a polygon into a designated memory cell in a memory cell array 38. On the other hand, the row read address is outputted and updated by a row read address counter 41, and the segment data for one row are stored from the memory cell array 38 into a data register 42, the column address is outputted and updated by a column read address counter 40, and the segment data in units of a scanning line are successively outputted from the data register 42. Thus the segment can be easily and promptly controlled.

Description

【発明の詳細な説明】 産業上の利用分野 本発明は3次元多面体物体を、隠れ面処理を行ないなが
ら2次元スクリーン上に投影して表示する3次元コンピ
ュータグラフィックス装置における隠れ面処理装置に関
するものである。
DETAILED DESCRIPTION OF THE INVENTION Field of the Invention The present invention relates to a hidden surface processing device in a three-dimensional computer graphics device that projects and displays a three-dimensional polyhedral object on a two-dimensional screen while performing hidden surface processing. It is.

従来の技術 3次元物体を2次元スクリーン上に合成して表示する場
合、手前に存在する物体がそれよシ奥にある物体の一部
またはすべてを隠してしまう現象を何らかの方法で処理
して、ラスタスキャンの順に各画素の色・輝度を表示装
置に出力しなければならない。このような3次元グラフ
ィックス装置は一般に第6図に示すような構成をとる。
Conventional Technology When displaying a composite of three-dimensional objects on a two-dimensional screen, it is necessary to somehow handle the phenomenon in which objects in the foreground partially or completely hide objects in the background. The color and brightness of each pixel must be output to the display device in raster scan order. Such a three-dimensional graphics device generally has a configuration as shown in FIG.

まずワールド座標系上で多面体として定義された物体の
各頂点座標を、座標変換・透視変換装置11が視点から
みた座標系に変換し、正規デバイス座標系のデータを出
力する。正規デバイス座標系では、すべての可視領域が
座標軸x、y、zの長さが1の立方体の内部に写像され
ている。次に表示制御装置12は、これら変換された座
標値をもつ頂点から構成される平面(ポリゴン)に隠れ
面処理を施した後、表示装置15に輝度情報を出力する
。この表示制御装置を構成する方法として、従来よりワ
トキンスの方法が知られている3、この方法は ジー・ニス・ワトキンス。
First, the coordinate conversion/perspective conversion device 11 converts the coordinates of each vertex of an object defined as a polyhedron on the world coordinate system to the coordinate system seen from the viewpoint, and outputs data in the regular device coordinate system. In the regular device coordinate system, the entire visible region is mapped inside a cube whose coordinate axes x, y, and z have lengths of 1. Next, the display control device 12 performs hidden surface processing on a plane (polygon) made up of vertices having these converted coordinate values, and then outputs brightness information to the display device 15. As a method for constructing this display control device, the Watkins method has been known for some time.

“ア リアルタイム ビジプル サーフェイスアルゴリ
ズム” ユタ大学  コンピュータサイエンス学科。
“A Real-Time Visible Surface Algorithm” University of Utah, Department of Computer Science.

U T E C−C5c−70−101、1970年θ
月に示され、さらに 山口冨士夫。
U T E C-C5c-70-101, 1970 θ
Also shown on the moon, Fujio Yamaguchi.

“コンピュータデイスプレィによる図形処理工学”1日
刊工業社、昭和66年 の第5.7.9節(PP、281−292)に詳しく解
説されている。この方法は第6図における表示制御装置
12内の処理プログラムをセグメント管理部13と隠れ
面処理部14とに分離する。隠れ面処理部14は、表示
装置15のラスクスキャンに相当する1スキャンライン
単位に奥行きデータZを基に隠れ面処理を行なうもので
、セグメント管理部13はスキャンラインが変わるごと
に刻々変化するポリゴンの各スキャンライン上での始点
と終点を計算し、隠れ面処理部14に出力する8第e図
はこの様子を図示したものでa図は正規デバイス座標の
X軸、Y軸を表示装置16の水平軸。
It is explained in detail in "Graphic Processing Engineering Using Computer Displays" 1 Nikkan Kogyosha, 1986, Section 5.7.9 (PP, 281-292). In this method, the processing program in the display control device 12 in FIG. 6 is separated into a segment management section 13 and a hidden surface processing section 14. The hidden surface processing section 14 performs hidden surface processing based on the depth data Z in units of one scan line corresponding to the rask scan of the display device 15, and the segment management section 13 performs hidden surface processing based on the depth data Z every time the scan line changes. The starting point and ending point on each scan line are calculated and output to the hidden surface processing unit 14. Figure 8 (e) shows this situation, and Figure (a) shows the X-axis and Y-axis of the normal device coordinates being output to the display device 16. horizontal axis.

垂直軸にそれぞれ対応させ、水平・垂直解像度をL×N
とし、その空間内に存在するポリゴン20と、Y=7に
さしかかったスキャンラインとの関係を表わしている。
Each corresponds to the vertical axis, and the horizontal and vertical resolution is L×N.
This represents the relationship between the polygon 20 existing in that space and the scan line approaching Y=7.

この正規デバイス座標系を真正面から見た図が第6図す
、Y=7の断面を示したのが第6図Cである。第5図の
隠れ面処理部14は第6図Cのセグメント21(ポリゴ
ン20とスキャンライン面の交線)の両端点座標、特に
奥行きデータz、、Zrに注目して隠れ面処理を行なう
FIG. 6 is a view of this normal device coordinate system viewed from the front, and FIG. 6C is a cross-sectional view of Y=7. The hidden surface processing unit 14 in FIG. 5 performs hidden surface processing by focusing on the coordinates of both end points of the segment 21 (the intersection line of the polygon 20 and the scan line surface) in FIG. 6C, particularly the depth data z, , Zr.

第5図のセグメント管理部13は第6図すにおいてたえ
ず変化するスキャンラインに追従して各セグメント21
の両端点座標を第4図の隠れ面処理部14に出力する。
In FIG. 6, the segment management unit 13 in FIG.
The coordinates of both end points are output to the hidden surface processing section 14 in FIG.

このセグメント管理部13は、ポリゴン2oの構成する
稜線は常に直線であることを利用して、第7図に示すよ
うな処理フローをとっている。現スキャンライン面と交
叉するポリゴン(アクティブポリゴン)に関する情報を
リスト構造で主記憶装置上にもち、これを管理する。
The segment management unit 13 takes advantage of the fact that the edge line of the polygon 2o is always a straight line, and employs a processing flow as shown in FIG. 7. Information regarding polygons (active polygons) that intersect with the current scan line surface is stored in the main memory in a list structure and managed.

新しいスキャンラインになった時、ある稜線が新たに侵
入(アクティブになる)した場合、このリストを更新2
作成して付加し、また退出する稜線がある場合にはやけ
bリストを更新して除安する。
When a new scan line becomes available, this list will be updated if a certain edge newly invades (becomes active)2.
If there is a ridgeline to be created, added, or removed, the burnt b list is updated and removed.

その後すべてのアクティブポリゴンについて隠れ面処理
を行ない、次のスキャンラインのためKすべての稜線に
ついて X=X+dX/dY Z=Z+dZ/dY を計算する。dX/dY 、dZ/dYは一度前もって
計算しておけば、スキャンラインが変わるたびの計算は
インクリメンタルにできるため、プログラムで実行する
にしては高速化できるという特徴がある。
After that, hidden surface processing is performed on all active polygons, and for the next scan line, X=X+dX/dY and Z=Z+dZ/dY are calculated for all K edges. Once dX/dY and dZ/dY are calculated in advance, the calculations can be made incrementally each time the scan line changes, so the program can be executed at high speed.

発明が解決しようとする課題 しかしながら上記のような構成では、主記憶装置上にあ
るリスト構造をもつアクティブポリゴンテーブルを1つ
の逐時処理型プロセッサで管理するため、高速化に限界
があるという問題点を有していた。
Problems to be Solved by the Invention However, with the above configuration, there is a problem in that there is a limit to speedup because the active polygon table having a list structure on the main memory is managed by one concurrent processing processor. It had

本発明はかかる点に鑑み、上記セグメント管理を高速に
動作可能な入出力変換セグメントメモリと上記表示制御
装置を高速化するために上記入出力変換セグメントメモ
リを用いた隠れ面処理装置を提供することを目的とする
In view of this, the present invention provides an input/output conversion segment memory capable of performing segment management at high speed, and a hidden surface processing device using the input/output conversion segment memory to speed up the display control device. With the goal.

課題を解決するための手段 本発明はセグメント入力クロノクによりY工から1ずつ
インクリメントする行書き込みアドレスカウンタと、行
アドレスをデコードする行デコーダと、メモリセルアレ
イの各行単位に格納されているデータ数を列アドレスと
して保持するN個の列書き込みアドレスレジスタ群と、
選択された列書き込みアドレスレジスタ内の列アドレス
を1だけインクリメントするインクリメンタと、列アド
レスをデコードする列デコーダと、一画面分のセグメン
トデータを格納するMXNのメモリセルアレイと、セグ
メント出力クロックにより0から1ずつインクリメント
する列読み出しアドレスカウンタと、キャリー出力によ
り0から1ずつインクリメントする行読み出しアドレス
カウンタと、前記メモリセルアレイから1行分のセグメ
ントデータを入力し、列アドレスで指定されたセグメン
トデータをシリアルに出力するM個のデータレジスタ群
とを備えた入出力変換セグメントメモリである。
Means for Solving the Problems The present invention includes a row write address counter that increments by 1 starting from Y using a segment input clock, a row decoder that decodes the row address, and a column that stores the number of data stored in each row of the memory cell array. a group of N column write address registers held as addresses;
An incrementer that increments the column address in the selected column write address register by 1, a column decoder that decodes the column address, an MXN memory cell array that stores segment data for one screen, and a segment output clock that increments the column address from 0 to 1. A column read address counter that increments by 1, a row read address counter that increments by 1 from 0 by carry output, and one row of segment data from the memory cell array is input, and the segment data specified by the column address is serially processed. This is an input/output conversion segment memory equipped with a group of M data registers for output.

また他の発明はランダムポートからポリゴン単位で列方
向に順次格納されるセグメントデータを入力し、シリア
ルポートからスキャンライン単位で行方向のセグメント
データを順次出力するデュアルポートメモリと、セグメ
ント人力クロックによりYヨから1ずつインクリメント
する行書き込みアドレスカウンタと、前記デュアルポー
トメモリの各行単位に格納されているデータ数を列アド
レスとして保持する書き込みアドレスメモリと、選択さ
れた列書き込みアドレスメモリ内の列アドレスを1だけ
インクリメントするインクリメンタと、スキャンライン
の更新と共に行読み出しアドレスを1ずつインクリメン
トする行読み出しアトビスカウンタとを備えた入出力変
換メモリである。
Another invention is a dual port memory that inputs segment data sequentially stored in the column direction in units of polygons from a random port and outputs segment data in the row direction sequentially in units of scan lines from a serial port, and a segment manual clock. A row write address counter that increments by 1 starting from y, a write address memory that holds the number of data stored in each row of the dual port memory as a column address, and a column address in the selected column write address memory that increments by 1. This is an input/output conversion memory equipped with an incrementer that increments by 1, and a row read Atobis counter that increments the row read address by 1 as the scan line is updated.

また他の発明はポリゴンの各頂点データを入力し、各ス
キャンライン平面で切断したセグメントに変換して、ポ
リゴンのY方向の最小値Yヨと複数のセグメントデータ
を順次出力するセグメント変換器と、ポリゴン単位で先
頭行アドレスY、から列方向にセグメントデータをシリ
アルに入力して格納すると共に、スキャンライン単位に
行方向のセグメントデータを順次シリアルに出力する入
出力変換セグメントメモリと、スキャンライン単位で順
次セグメントデータを入力し、1スキャンライン内の隠
れ面処理及びシェーディングを行ない、各スキャンライ
ン単位に隠れ面処理した画素データを出力する隠れ面処
理器とを備えた隠れ面処理装置。
Another invention provides a segment converter that inputs each vertex data of a polygon, converts it into segments cut by each scan line plane, and sequentially outputs the minimum value Y in the Y direction of the polygon and a plurality of segment data; An input/output conversion segment memory that serially inputs and stores segment data in the column direction from the first row address Y in units of polygons, and serially outputs segment data in the row direction in units of scan lines; A hidden surface processing device that sequentially inputs segment data, performs hidden surface processing and shading within one scan line, and outputs pixel data subjected to hidden surface processing for each scan line.

作  用 本発明の入出力変換セグメントメモリは前記した構成に
より、行書き込めアドレスカウンタで書き込みアドレス
の出力と更新を行為い、列書き込みアドレスレジスタと
インクリメンタでその行の列書き込みアドレスの出力と
更新を行ない、メモリセルアレイ中の指定されたメモリ
セルに順次ポリゴン単位のセグメントデータを書き込む
。一方、行読み出しアドレスカウンタで行読み出しアド
レスの出力と更新を行ない、メモリセルアレイから1行
分のセグメントデータをデータレジスタに格納し、列読
み出しアドレスカウンタで列アドレスの出力と更新を行
ない、データレジスタから順次スキャンライン単位のセ
グメントデータを出力するものである。
Operation: With the above-described configuration, the input/output conversion segment memory of the present invention outputs and updates the write address using the row write address counter, and outputs and updates the column write address of the row using the column write address register and incrementer. Then, segment data is sequentially written in polygon units to designated memory cells in the memory cell array. On the other hand, the row read address counter outputs and updates the row read address, one row of segment data is stored from the memory cell array in the data register, the column read address counter outputs and updates the column address, and the data register stores one row of segment data from the memory cell array. It sequentially outputs segment data in units of scan lines.

また他の発明の入出力変換セグメントメモリは前記した
構成により、行書き込みアドレスカウンタで行書き込み
アドレスの出力と更新を行ない、列アドレン書き込みメ
モリとインクリメンタでその行の列書き込みアドレスの
出力と更新を行ない、デュアルポートメモリのランダム
ポートから順次ポリゴン単位のセグメントデータを書き
込む。−方、行読み出しアドレスカウンタで行読み出し
アドレスの出力と更新を行ない、デュアルポートメモリ
のシリアルポートから順次スキャンライン単位のセグメ
ントデータを出力するものである。
In addition, the input/output conversion segment memory of another invention has the above-described configuration, and the row write address counter outputs and updates the row write address, and the column address write memory and incrementer output and update the column write address of the row. and write segment data in polygon units sequentially from the random port of the dual port memory. - On the other hand, a row read address counter outputs and updates a row read address, and segment data in scan line units is sequentially output from a serial port of a dual port memory.

さらに他の発明の隠れ面処理装置は前記した構成により
、セグメントに変換し、入出力変換セグメントメモリで
ポリゴン単位にシリアル入力したセグメントデータをス
キャンライン単位でシリアル出力し、隠れ面処理器でス
キャンライン単位の隠れ面処理とシェーディングを行な
い、隠れ面処理結果の画素データを順次出力するもので
ある。
Furthermore, the hidden surface processing device of another invention has the above-described configuration, converts the segment data into segments, serially inputs the segment data in units of polygons in the input/output conversion segment memory, serially outputs the segment data in units of scan lines, and outputs the segment data serially in units of scan lines using the hidden surface processor. It performs unit hidden surface processing and shading, and sequentially outputs pixel data resulting from the hidden surface processing.

実施例 第1図は本実施例における入出力変換セグメントメモリ
のブロック図を示すものである。第1図において、3o
はポリゴンのY方向の最小値Y工を格納し、セグメント
入力クロック5CKIにより1ずつインクリメントする
行書き込みアドレスカウンタ、31は行アドレスのセレ
クタ、32は行アドレスをデコードする行デコーダ、3
3はメモリセルアレイ38の各行単位に格納されている
データ数を列アドレスとして保持するN個の列書き込み
アドレスレジスタ群、34は列アドレス用バッファ、3
5は列アドレスのインクリメンタ、36は列アドレスの
セレクタ、37は列アドレスをデコードする列デコーダ
、38は1画面分の七グメントデータを格納するM×N
のメモリセルアレイ、39は書き込みデータ用バッファ
、40はセグメント出力クロックSCK○により列読み
出しアドレスを更新する列読み出しアドレスカウンタ、
41は行読み出しアドレスを更新する行読み出しアドレ
スカウンタ、42は1スキャンライン分のセグメントデ
ータを格納するM個のデータレジスタ群、43は読み出
しデータ用バッファである。
Embodiment FIG. 1 shows a block diagram of an input/output conversion segment memory in this embodiment. In Figure 1, 3o
3 is a row write address counter that stores the minimum value Y in the Y direction of the polygon and increments by 1 in response to the segment input clock 5CKI; 31 is a row address selector; 32 is a row decoder that decodes the row address;
3 is a group of N column write address registers that hold the number of data stored in each row of the memory cell array 38 as a column address; 34 is a column address buffer; 3
5 is a column address incrementer, 36 is a column address selector, 37 is a column decoder that decodes the column address, and 38 is M×N that stores seven segment data for one screen.
39 is a buffer for write data; 40 is a column read address counter that updates the column read address by the segment output clock SCK○;
41 is a row read address counter that updates the row read address; 42 is a group of M data registers that stores segment data for one scan line; and 43 is a read data buffer.

以上のように構成された本実施例の入出力変換セグメン
トメモリについて、以下その動作を第6図に示す3次元
グラフィックスの説明図と第4図に示すメモリセルアレ
イの入出力説明図を参照しながら説明する。
The operation of the input/output conversion segment memory of this embodiment configured as described above will be described below with reference to the three-dimensional graphics explanatory diagram shown in FIG. 6 and the input/output explanatory diagram of the memory cell array shown in FIG. I will explain.

まずセグメントデータの書き込みについて説明する。1
画面分のセグメントデータを入力する前に列書き込みア
ドレスレジスタ33を0に、メモリアレイ38をダミー
のセグメントデータになるよう初期化する。そしてポリ
ゴン単位でセグメントブータラIl[i次メモリセルア
レイ38に入力する。
First, writing of segment data will be explained. 1
Before inputting segment data for a screen, the column write address register 33 is initialized to 0 and the memory array 38 is initialized to dummy segment data. Then, the segment booter Il[is input to the i-th memory cell array 38 in units of polygons.

第4図は簡単のためメモリセルアレイ38の大きさを1
6X16にしたときの列書き込みアドレスレジスタ33
の内容とメモリセルアレイ38とデータレジスタ42の
状態を例で示している。第6図(b)に示すポリゴン2
oをY=Y工からY方向に1ずつインクリメントして生
成されるセグメント21を順次書き込む場合を考える。
For simplicity, FIG. 4 shows the size of the memory cell array 38 as 1.
Column write address register 33 when set to 6X16
The contents and the states of the memory cell array 38 and data register 42 are shown as examples. Polygon 2 shown in Figure 6(b)
Consider the case where the segments 21 generated by incrementing o by 1 in the Y direction from Y=Y are sequentially written.

行書き込みアドレスカウンタ30にポリゴンのY方向の
最小値Yヨ=3を格納する。行書き込みアドレスカウン
タ30から行アドレスとしてYヨが出力され、行デコー
ダ32を介してメモリセルアレイ38と列書き込みアド
レスレジスタ33に入力される。行アドレス=3のメモ
リセルアレイ38の行にはすでに6個のセグメントデー
タが格納されておシ、選択された列書き込みアドレスレ
ジスタ33には次に格納すべき列アドレスの値5が格納
されている。列書き込みアドレスレジスタ33から出力
された列アドレスは列デコーダ37ヲ介シてメモリセル
アレイ38に入力される。
The minimum value Yyo=3 of the polygon in the Y direction is stored in the row write address counter 30. YY is output as a row address from the row write address counter 30 and inputted to the memory cell array 38 and column write address register 33 via the row decoder 32. Six segment data have already been stored in the row of the memory cell array 38 with row address = 3, and the selected column write address register 33 has stored the value 5 of the column address to be stored next. . The column address output from the column write address register 33 is input to the memory cell array 38 via the column decoder 37.

方選択された列書き込みアドレスレジスタ33内に格納
されていた列アドレスはインクリメンタ35でインクリ
メントされ、列書き込みアドレスレジスタ33内の列ア
ドレスの値は6に更新される。こうして行デコーダ32
と列デコーダ37を介して選択されたメモリセルアレイ
38中の行アドレス=39列アドレス=5のメモリセル
にバッファ43を介してY=Yおの1つ目のセグメント
データが書き込まれる。そしてセグメントデータと共に
入力されるセグメント人力クロック5CKIにより、行
書き込みアドレスカウンタ30内の行アドレスの値もイ
ンクリメントされ4に更新して出力される。更新された
行アドレスで選択された列書き込みアドレスレジスタ3
3から列アドレスの値4が出力され、メモリセルアレイ
3日中の行アドレス=49列アドレス=4のメモリセル
にY=Yヨ+1の2つ目のセグメントデータが書き込ま
れる。このようにしてY=Yヨのセグメントデータまで
書き込んで1ポリゴン分のセグメントデータの書き込み
が終了する。
The column address stored in the selected column write address register 33 is incremented by the incrementer 35, and the value of the column address in the column write address register 33 is updated to six. Thus the row decoder 32
The first segment data of Y=Y is written via the buffer 43 into the selected memory cell of the memory cell array 38 with the row address=39 and the column address=5. Then, the value of the row address in the row write address counter 30 is also incremented by the segment manual clock 5CKI input together with the segment data, updated to 4, and output. Column write address register 3 selected with updated row address
The column address value 4 is output from 3, and the second segment data of Y=Yyo+1 is written into the memory cell of row address=49 and column address=4 in the memory cell array 3. In this way, the segment data for Y=YY is written, and the writing of segment data for one polygon is completed.

次にセグメントデータの読み出しについて説明する。一
画面分のセグメントデータを出力する前に列読み出しア
ドレスカウンタ4oと行読み出しアドレスカウンタ41
は共に初期化され0行0列になっている。今仮に第4図
に示すように2スキャンライン分のセグメントデータが
出力され、行読み出しアドレスレジスタ41の行アドレ
スの値が2になったときのことを考える。行読み出しア
ドレスカウンタ41がインクリメントされ行アドレスの
値が2になると、行デコーダ32を介して選択されたメ
モリセルアレイ38の3行目のセグメントデータがデー
タレジスタ群42に出力される。そしてセグメント出力
クロック5CKOにより列読み出しアドレスカウンタ4
0はインクリメントされ、データレジスタ42からバッ
ファ43を介して順次セグメントデータがA、B、Cと
出力されていく。列読み出しアドレスカウンタ4゜は、
あらかじめ格納されていた列アドレスの値になるか又は
ダミーのセグメントデータがデータレジスタ群42から
出力されるのを検出するかして、キャリー信号を行読み
出しアドレスカウンタ41に出力し、行アドレスの更新
が行なわれる。このようにして1スキャンライン単位ず
つデータレジスタ群42を介してセグメントデータが読
み出される。
Next, reading of segment data will be explained. Before outputting segment data for one screen, the column read address counter 4o and the row read address counter 41
are both initialized and set to row 0 and column 0. Now, let us consider a case where segment data for two scan lines is outputted and the value of the row address in the row read address register 41 becomes 2, as shown in FIG. When the row read address counter 41 is incremented and the row address value becomes 2, the segment data of the third row of the selected memory cell array 38 is outputted to the data register group 42 via the row decoder 32. Then, column read address counter 4 is activated by segment output clock 5CKO.
0 is incremented, and segment data A, B, and C are sequentially output from the data register 42 via the buffer 43. The column read address counter 4° is
When a pre-stored column address value is reached or when dummy segment data is detected to be output from the data register group 42, a carry signal is output to the row read address counter 41 and the row address is updated. will be carried out. In this way, segment data is read out via the data register group 42 one scan line at a time.

以上のように本実施例によれば、列書き込みアドレスレ
ジスタとメモリセルアレイとデータレジスタという規則
正しい素子を用いることでLSI化に適しているだけで
なく、ポリゴン単位のセグメント入力とスキャンライン
単位のセグメント出力をメモリを介して行なっているた
めセグメントの管理が非常に高速に行なえる。
As described above, according to this embodiment, by using regular elements such as column write address registers, memory cell arrays, and data registers, it is not only suitable for LSI implementation, but also allows for segment input in polygon units and segment output in scan line units. Since this is done through memory, segment management can be done very quickly.

第2図は他の発明の実施例における入出力変換メモリの
ブロック図を示すものである。第2図において、30は
行書き込みアドレスカウンタ、34はバッファ、36は
インクリメンタ、41は行読み出しアドレスカウンタで
、以上は第1図と同一ノモのであり、44はデュアルポ
ートメモリ48の各行単位に格納されているデータ数を
列アドレスとして各行に保持している列書き込みアドレ
スメモリ、46.46.47は行アドレスと列アドレス
及び書き込みアドレスと読み出しアドレスを選択するセ
レクタ、48はランダムポートからポリゴン単位のセグ
メントデータを入力し、シリアルボートからスキャンラ
イン単位のセグメントデータを出力するデュアルポート
メモリである。
FIG. 2 shows a block diagram of an input/output conversion memory in another embodiment of the invention. In FIG. 2, 30 is a row write address counter, 34 is a buffer, 36 is an incrementer, and 41 is a row read address counter, which are the same as in FIG. Column write address memory holds the number of stored data as a column address in each row; 46, 46, and 47 are selectors for selecting the row address, column address, write address, and read address; 48 is a polygon unit from a random port. It is a dual port memory that inputs segment data and outputs segment data in units of scan lines from the serial port.

以上のように構成された本実施例の入出力変換セグメン
トメモリについて、以下その動作を説明する。
The operation of the input/output conversion segment memory of this embodiment configured as described above will be explained below.

まずセグメントデータの書き込みについて説明する。1
画面分のセグメントデータを入力する前に列書き込みア
ドレスメモリ44を0に、デュアルポートメモリ48を
ダミーのセグメントデータで初期化する。そして行書き
込みアドレスカウンタ30にポリゴンのY方向の最小値
Yヨを格納する。格納された行アドレスY工に対応する
列書き込みアドレスは列書き込みアドレスメモリ44か
ら出力されると共にインクリメンタ35で更新されて再
び列書き込みアドレスメモリ44の同一アドレスに格納
される。行書き込みアドレスカウンタ3oと列書き込み
アドレスメモリ44から各々出力された行及び列アドレ
スはセレクタ46゜47を介してデュアルポートメモリ
48のアドレスとして入力され、指定されたアドレスに
Y:Ym。
First, writing of segment data will be explained. 1
Before inputting segment data for a screen, the column write address memory 44 is initialized to 0 and the dual port memory 48 is initialized with dummy segment data. Then, the minimum value Y in the Y direction of the polygon is stored in the row write address counter 30. The column write address corresponding to the stored row address Y is output from the column write address memory 44, updated by the incrementer 35, and stored again at the same address in the column write address memory 44. The row and column addresses respectively output from the row write address counter 3o and column write address memory 44 are input as addresses to the dual port memory 48 via selectors 46 and 47, and Y:Ym is input to the designated address.

のセグメントデータがランダムポートを介して格納され
る。このときセグメントデータと共にセグメント人力ク
ロック5CKIが行書き込みアドレスカウンタに入力さ
れ、行アドレスの更新が行なわれる。同様にして次のセ
グメントデータもデュアルポートメモリ48にランダム
ポートを介して書き込まれる。このようにしてポリゴン
単位にセグメントデータがデュアルポートメモリ48に
書き込まれる。
segment data is stored through random ports. At this time, the segment manual clock 5CKI is input to the row write address counter together with the segment data, and the row address is updated. Similarly, the next segment data is also written to the dual port memory 48 via the random port. In this manner, segment data is written to the dual port memory 48 in units of polygons.

次にセグメントデータの読み出しについて説明する。一
画面分のセグメントデータを出力する前に行読み出しア
ドレスカウンタ41は0に初期化されている。行読み出
しアドレスがセレクタ46゜47を介してデュアルポー
トメモリ48に入力すれると、セグメント出力クロック
5CKOに同期して1行分セグメントデータが順次シリ
アルボートを介して読み出される。1行分のセグメント
データが読み出されると行読み出しアドレスカウンタ4
1はインクリメントされ、次のスキャンラインの処理に
移行する。
Next, reading of segment data will be explained. The row read address counter 41 is initialized to 0 before outputting segment data for one screen. When the row read address is input to the dual port memory 48 via the selectors 46 and 47, segment data for one row is sequentially read out via the serial port in synchronization with the segment output clock 5CKO. When one row of segment data is read, the row read address counter 4
1 is incremented and the process moves to the next scan line.

以上のように本実施例によれば、汎用のデュアルホード
メモリと列書き込みアドレスメモリt[いることで容易
に実現できるだけでなく、ポリゴン単位のセグメント入
力とスキャンライン単位のセグメント出力をメモリを介
して行なっているためセグメントの管理が非常に高速に
行なえる。
As described above, according to this embodiment, not only can it be easily realized by using a general-purpose dual hold memory and a column write address memory t, but also segment input in polygon units and segment output in scan line units can be performed via memory. This allows segment management to be performed very quickly.

第3図は他の発明の実施例における隠れ面処理装置のブ
ロック図である。第3図において、1はポリゴンを入力
しセグメントに変換して出力するセグメント変換器、2
は入力したポリゴン単位のセグメントデータをスキャン
ライン単位に出力する入出力変換セグメントメモリ、3
はスキャンライン単位に隠れ面処理とシェーディングを
行ない、画素データを出力する隠れ面処理器、4はCR
Tである。
FIG. 3 is a block diagram of a hidden surface processing device in another embodiment of the invention. In FIG. 3, 1 is a segment converter that inputs polygons, converts them into segments, and outputs them; 2
3 is an input/output conversion segment memory that outputs input segment data in units of polygons in units of scan lines;
4 is a hidden surface processor that performs hidden surface processing and shading on a scan line basis and outputs pixel data; 4 is a CR
It is T.

以上のように構成された隠れ面処理装置について、以下
その動作を説明する。
The operation of the hidden surface processing device configured as described above will be described below.

まずポリゴンの各頂点データをセグメント変換器1に入
力し、ポリゴンのY方向の最小値YMと各スキャンライ
ン平面で切断したセグメントに変換する。Yvと変換さ
れたセグメントデータを順次入出力変換セグメントメモ
リ2に入力すると、行アドレスをYヨから1ずつ内部で
インクリメントしてポリゴン単位のセグメントデータが
格納される。このようにして一画面分のポリゴンデータ
はセグメント変換器1でセグメントに変換されたのち入
出力変換セグメントメモリ内にセグメントデータとして
保持される。
First, data on each vertex of a polygon is input to the segment converter 1, and converted into segments cut by the minimum value YM of the polygon in the Y direction and each scan line plane. When the segment data converted to Yv is sequentially input to the input/output conversion segment memory 2, the row address is internally incremented by 1 from Yyo and the segment data in units of polygons is stored. In this way, one screen's worth of polygon data is converted into segments by the segment converter 1, and then held as segment data in the input/output conversion segment memory.

次に入出力変換セグメントメモリ2に格納していfc、
一画面分のセグメントデータは、スキャンライン単位に
順次出力され隠れ面処理器3に入力される。隠れ面処理
器3では1スキャンライン内で隠れ面処理とシェーディ
ングを行い、1スキャンライン内のセグメントデータを
すべて入力し終ると、隠れ面処理結果の画素データを順
次CRT4に出力する。入出力変換セグメントメモリ2
から隠れ面処理器3へ入力する1スキャンライン内のセ
グメントデータ量はいつも一定であシ、また隠れ面処理
器3から1スキャンライン分の画素データを出力してい
る間に次のスキャンラインのセグメントデータを隠れ面
処理器3に入力できるので、CRT4には連続して画素
データが入力され、3次元画像が表示される。
Next, fc is stored in the input/output conversion segment memory 2,
Segment data for one screen is sequentially output in units of scan lines and input to the hidden surface processor 3. The hidden surface processor 3 performs hidden surface processing and shading within one scan line, and after inputting all the segment data within one scan line, sequentially outputs the pixel data resulting from the hidden surface processing to the CRT 4. I/O conversion segment memory 2
The amount of segment data in one scan line that is input to the hidden surface processor 3 is always constant, and while the hidden surface processor 3 is outputting pixel data for one scan line, Since segment data can be input to the hidden surface processor 3, pixel data is continuously input to the CRT 4 and a three-dimensional image is displayed.

以上のように本実施例によれば、ポリゴン単位の処理を
するセグメント変換器とスキャンライン単位の処理をす
る隠れ面処理をする隠れ面処理器を入出力変換セグメン
トメモリを介して接続することにより、パイプライン処
理が可能となりポリゴン単位の隠れ面処理が高速に行な
えると共に、フレームメモリなしの簡単な構成で3次元
画像をCRTに表示できる。
As described above, according to this embodiment, a segment converter that processes polygons and a hidden surface processor that processes scan lines are connected via the input/output conversion segment memory. , pipeline processing becomes possible, hidden surface processing for each polygon can be performed at high speed, and three-dimensional images can be displayed on a CRT with a simple configuration without frame memory.

なお、本実施例において、入出力変換セグメントメモリ
は1つとしたが、2つに分けてダブルバッファ構成にし
てもよい。また、3次元イメージデータを格納するため
フレームメモリを設けてもよい。
In this embodiment, there is one input/output conversion segment memory, but it may be divided into two to form a double buffer configuration. Additionally, a frame memory may be provided to store three-dimensional image data.

発明の詳細 な説明したように、入出力変換セグメントメモリの本発
明によれば、ポリゴン単位のセグメント入力とスキャン
ライン単位のセグメント出方をアドレスの管理とメモリ
で行なっているためセグメント管理が非常に簡単に非常
に高速に行なうことができ、その実用的効果は大きい。
As described in detail, according to the present invention of the input/output conversion segment memory, segment input in polygon units and segment output in scan line units are performed using address management and memory, making segment management extremely easy. It can be performed easily and at very high speed, and its practical effects are great.

また以上説明したようK、隠れ面処理装置の本発明によ
れば、ポリゴン単位の処理をするセグメント変換器とス
キャンライン単位の処理をする隠れ面処理器を入出力変
換セグメントメモリを介して接続することにより、3次
元データの一時格納を容易にできるだけでなく、パイプ
ライン処理が可能となシポリゴン単位の隠れ面処理が非
常に高速に行なうことができ、その実用的効果は大きい
Furthermore, as explained above, according to the present invention of the hidden surface processing device, the segment converter that processes each polygon and the hidden surface processor that processes each scan line are connected via the input/output conversion segment memory. This not only facilitates temporary storage of three-dimensional data, but also allows very high-speed hidden surface processing in units of polygons, which allows pipeline processing, and has great practical effects.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は第1の発明における一実施例の入出力変換セグ
メントメモリのブロック図、第2図は第2の発明におけ
る一実施例の入出力変換セグメントメモリのブロック図
、第3図は第3の発明における一実施例の隠れ面処理装
置のブロック図、第4図は第1の発明の動作説明図、第
6図は従来の3次元グラフィックヌ装置のブロック図、
第6図は同3次元グラフィックヌ装置の基本的概念の説
明図、第7図は従来のセグメント管理部の処理フロー図
である。 30・・・…行書き込みアドレスカウンタ、32・・・
・・・イテデコーダ、33・・・・・・列書き込みアド
レスレジスタ群、35 、、・、、、インクリメンタ、
37・・・・・列デコーダ、38・・・・・・メモリセ
ルアレイ、4o・・・・・・列読み出しアドレスカウン
タ、41.・、・・・行読み出しアドレスカウンタ、4
2・・・・・・データレジスタ群、44・・・・・・列
書き込みアドレスメモリ、48・旧・・デュアルボー1
メモリ、1・・・・・・セグメント変換器、2・・・・
・・入出力変換セグメントメモリ、3・・・・・・隠れ
面処理器。 代理人の氏名 弁理士 粟 野 重 孝 ほか1名区 第 図
FIG. 1 is a block diagram of an input/output conversion segment memory according to an embodiment of the first invention, FIG. 2 is a block diagram of an input/output conversion segment memory of an embodiment of the second invention, and FIG. 3 is a block diagram of an input/output conversion segment memory of an embodiment of the second invention. FIG. 4 is an explanatory diagram of the operation of the first invention; FIG. 6 is a block diagram of a conventional three-dimensional graphic device;
FIG. 6 is an explanatory diagram of the basic concept of the three-dimensional graphic device, and FIG. 7 is a processing flow diagram of a conventional segment management unit. 30...Line write address counter, 32...
... Ite decoder, 33 ... Column write address register group, 35 , . . . , Incrementer,
37... Column decoder, 38... Memory cell array, 4o... Column read address counter, 41. . . . line read address counter, 4
2... Data register group, 44... Column write address memory, 48 Old... Dual baud 1
Memory, 1... Segment converter, 2...
... Input/output conversion segment memory, 3... Hidden surface processor. Name of agent: Patent attorney Shigetaka Awano and 1 other person

Claims (4)

【特許請求の範囲】[Claims] (1)ポリゴンのY方向の最小値または最大値を格納し
、セグメント入力クロックにより前記最小値または最大
値から1ずつインクリメントする行書き込みアドレスカ
ウンタと、前記行書き込みアドレスカウンタから出力さ
れる行アドレスをデコードする行デコーダと、後述する
メモリセルアレイの各行単位に格納されているデータ数
を列アドレスとして保持し、前記行デコーダにより選択
された行において次に書き込むべき列アドレスを出力す
るN個の列書き込みアドレスレジスタ群と、前記選択さ
れた列書き込みアドレスレジスタの内容を1だけインク
リメントして再度格納させるためのインクリメンタと、
前記列書き込みアドレスレジスタから出力された列アド
レスをデコードする列デコーダと、前記行デコーダと前
記列デコーダにより選択されたメモリセルにセグメント
データを書き込むことにより、一画面分のセグメントデ
ータを格納するM×Nのメモリセルアレイと、セグメン
ト出力クロックにより0から1ずつインクリメントする
列読み出しアドレスカウンタと、前記列読み出しカウン
タのキャリー出力により0から1ずつインクリメントす
る行読み出しアドレスカウンタと、前記行読み出しアド
レスカウンタが1ずつインクリメントされるたびに選択
された前記メモリセルアレイの1行分のセグメントデー
タを格納し、前記列読み出しアドレスカウンタが1ずつ
インクリメントされるたびに選択された列のセグメント
データを出力するM個のデータレジスタ群とを備えたこ
とを特徴とする入出力変換セグメントメモリ。
(1) A row write address counter that stores the minimum or maximum value of a polygon in the Y direction and increments by 1 from the minimum or maximum value using a segment input clock, and a row address that is output from the row write address counter. A row decoder to be decoded and N column write functions that hold the number of data stored in each row of a memory cell array (described later) as a column address, and output the column address to be written next in the row selected by the row decoder. an incrementer for incrementing the contents of the selected column write address register by 1 and storing it again;
A column decoder that decodes a column address output from the column write address register, and an Mx that stores segment data for one screen by writing segment data into memory cells selected by the row decoder and the column decoder. N memory cell arrays, a column read address counter that increments by 1 from 0 based on a segment output clock, a row read address counter that increments by 1 from 0 based on the carry output of the column read counter, and a column read address counter that increments by 1 from 0 based on the carry output of the column read counter. M data registers that store segment data for one row of the selected memory cell array each time the column read address counter is incremented by one, and output segment data of the selected column each time the column read address counter is incremented by one. An input/output conversion segment memory characterized by comprising a group.
(2)ランダムポートからポリゴン単位で列方向に順次
格納されるセグメントデータを入力し、シリアルポート
からスキャンライン単位で行方向のセグメントデータを
順次出力するデュアルポートメモリと、ポリゴンのY方
向の最小値または最大値を格納し、セグメント入力クロ
ックにより前記最小値または最大値から1ずつインクリ
メントする行書き込みアドレスカウンタと、前記デュア
ルポートメモリの各行単位に格納されているデータ数を
列アドレスとして保持し、前記行書き込みアドレスカウ
ンタから出力される行アドレスで選択された行において
次に書き込むべき列アドレスを出力する列書き込みアド
レスメモリと、前記選択された列書き込みアドレスメモ
リの内容を1だけインクリメントして再度格納させるた
めのインクリムンタと、前記デュアルポートメモリから
1スキャンライン分のセグメントデータを読み出すたび
に行読み出しアドレスを1ずつインクリメントする行読
み出しアドレスカウンタとを備えたことを特徴とする入
出力変換セグメントメモリ。
(2) A dual port memory that inputs segment data sequentially stored in the column direction in units of polygons from a random port and outputs segment data in the row direction sequentially in units of scan lines from the serial port, and the minimum value of polygons in the Y direction Alternatively, a row write address counter that stores a maximum value and increments by 1 from the minimum value or maximum value by a segment input clock, and holds the number of data stored in each row of the dual port memory as a column address; A column write address memory that outputs the column address to be written next in the row selected by the row address output from the row write address counter, and the contents of the selected column write address memory are incremented by 1 and stored again. and a row read address counter that increments a row read address by 1 every time segment data for one scan line is read from the dual port memory.
(3)3次元物体を構成するポリゴンの各頂点データ(
X座標値X、Y座標値Y、Z座標値Z、輝度I)を入力
し、ポリゴンを各スキャンライン平面で切断したセグメ
ントに変換して、ポリゴンのY方向の最小値または最大
値と複数のセグメントデータ(左端点のX座標値X_e
、X方向の長さΔX、左端点のZ座標値Z_e、Z座標
の傾きΔZ/ΔX、輝度I_e)を順次出力するセグメ
ント変換器と、前記セグメント変換器からポリゴン単位
で順次出力されるセグメントデータを先頭行アドレスか
ら列方向にシリアル入力し、セグメントデータを格納す
ると共に、スキャンライン単位に行方向のセグメントデ
ータを順次シリアル出力する入出力変換セグメントメモ
リと、前記入出力変換セグメントメモリからスキャンラ
イン単位で順次出力されるセグメントデータを入力し、
1スキャンライン内の隠れ面処理及びシェーディングを
行ない、各スキャンライン単位に隠れ面処理した画素デ
ータ(輝度I_p)を出力する隠れ面処理器とを備えた
ことを特徴とする隠れ面処理装置。
(3) Each vertex data of polygons constituting a three-dimensional object (
Input the X coordinate value Segment data (X coordinate value of the left end point
, the length in the X direction ΔX, the Z coordinate value Z_e of the left end point, the inclination ΔZ/ΔX of the Z coordinate, and the brightness I_e), and segment data sequentially output in polygon units from the segment converter. An input/output conversion segment memory that serially inputs data in the column direction from the first row address, stores the segment data, and serially outputs the segment data in the row direction in scan line units; Input the segment data that is output sequentially in
A hidden surface processing device comprising: a hidden surface processor that performs hidden surface processing and shading within one scan line and outputs pixel data (luminance I_p) subjected to hidden surface processing for each scan line.
(4)3次元物体を構成するポリゴンの各頂点データ(
X座標値X、Y座標値Y、Z座標値Z、輝度I)を入力
し、ポリゴンを各スキャンライン平面で切断したセグメ
ントに変換して、ポリゴンのY方向の最小値または最大
値と複数のセグメントデータ(左端点のX座標値X_e
、X方向の長さΔX、左端点のZ座標値Z_e、Z座標
の傾きΔZ/ΔX、左端点の輝度I_e、輝度の傾きΔ
I/ΔX)を順次出力するセグメント変換器と、前記セ
グメント変換器からポリゴン単位で順次出力されるセグ
メントデータを先頭行アドレスから列方向にシリアル入
力し、セグメントデータを格納すると共に、スキャンラ
イン単位に行方向のセグメントデータを順次シリアル出
力する入出力変換セグメントメモリと、前記入出力変換
セグメントメモリからスキャンライン単位で順次出力さ
れるセグメントデータを入力し、1スキャンライン内の
隠れ面処理及びシェーディングを行ない、各スキャンラ
イン単位に隠れ面処理した画素データ(輝度I_p)を
出力する隠れ面処理器とを備えたことを特徴とする隠れ
面処理装置。
(4) Each vertex data of polygons constituting a three-dimensional object (
Input the X coordinate value Segment data (X coordinate value of the left end point
, length in the X direction ΔX, Z coordinate value Z_e of the left end point, slope of the Z coordinate ΔZ/ΔX, brightness I_e of the left end point, slope of brightness Δ
A segment converter that sequentially outputs I / Δ An input/output conversion segment memory that serially outputs segment data in the row direction and segment data sequentially output in scan line units from the input/output conversion segment memory are input, and hidden surface processing and shading within one scan line is performed. , and a hidden surface processor that outputs pixel data (luminance I_p) subjected to hidden surface processing for each scan line.
JP19500688A 1988-08-04 1988-08-04 Input/output converting segment memory and hidden-surface processor Pending JPH0243691A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19500688A JPH0243691A (en) 1988-08-04 1988-08-04 Input/output converting segment memory and hidden-surface processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19500688A JPH0243691A (en) 1988-08-04 1988-08-04 Input/output converting segment memory and hidden-surface processor

Publications (1)

Publication Number Publication Date
JPH0243691A true JPH0243691A (en) 1990-02-14

Family

ID=16333965

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19500688A Pending JPH0243691A (en) 1988-08-04 1988-08-04 Input/output converting segment memory and hidden-surface processor

Country Status (1)

Country Link
JP (1) JPH0243691A (en)

Similar Documents

Publication Publication Date Title
US4967392A (en) Drawing processor for computer graphic system using a plurality of parallel processors which each handle a group of display screen scanlines
EP0870282B1 (en) Method for a span and subspan sorting rendering system
US6731288B2 (en) Graphics engine with isochronous context switching
US5274760A (en) Extendable multiple image-buffer for graphics systems
JP3557208B2 (en) Computer graphics system with high performance multi-layer z-buffer
JPH04506717A (en) Pipelined Single Port Z - An Efficient Way to Update Buffers
JPH04222069A (en) Method for maximizing interference of column address of serial and random port access in frame buffer graphic system
GB2226479A (en) Method and apparatus for fractional double buffering
JPH10275460A (en) Memory device and picture processing device using this
US5459835A (en) Graphics rendering systems
JP3177143B2 (en) Improved graphics picking method and apparatus using auxiliary buffer information
EP0536114A1 (en) Graphics rendering systems
US4614941A (en) Raster-scan/calligraphic combined display system for high speed processing of flight simulation data
US5982377A (en) Three-dimensional graphic displaying system and method
JPH0243691A (en) Input/output converting segment memory and hidden-surface processor
JP2899838B2 (en) Storage device
JPS642953B2 (en)
JPH1131236A (en) Sorting method of polygon data and picture processor using the method
JPH02132572A (en) Picture display device
JP2706341B2 (en) Segment conversion / management device and active polygon generator
JP2583379B2 (en) Pseudo three-dimensional image synthesizing apparatus and image synthesizing method
JPH0765198A (en) Image memory device
JPH02284277A (en) Graphic display device
JPH11203486A (en) Translucent object display method and image display device using the method
JPH08235380A (en) Method and device for displaying polyhedron