JPS61133482A - Multiprocessor for graphic display - Google Patents

Multiprocessor for graphic display

Info

Publication number
JPS61133482A
JPS61133482A JP25495984A JP25495984A JPS61133482A JP S61133482 A JPS61133482 A JP S61133482A JP 25495984 A JP25495984 A JP 25495984A JP 25495984 A JP25495984 A JP 25495984A JP S61133482 A JPS61133482 A JP S61133482A
Authority
JP
Japan
Prior art keywords
processor
segment
polygon
pixels
processors
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.)
Granted
Application number
JP25495984A
Other languages
Japanese (ja)
Other versions
JPH0146914B2 (en
Inventor
Takayoshi Yoshida
隆義 吉田
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.)
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
Agency of Industrial Science and Technology
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 Agency of Industrial Science and Technology filed Critical Agency of Industrial Science and Technology
Priority to JP25495984A priority Critical patent/JPS61133482A/en
Publication of JPS61133482A publication Critical patent/JPS61133482A/en
Publication of JPH0146914B2 publication Critical patent/JPH0146914B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Image Processing (AREA)
  • Image Generation (AREA)

Abstract

PURPOSE:To increase remarkably the function of picture processing by using the Z buffer method so as to eliminate the need for sorging processing checking the priority of polygon thereby attaining the parallel processing in he unit of polygon. CONSTITUTION:In the multiprocessor system, m-set of polygon processors 2, MXn-set of segment processors 4, and MXN-set of picture cell processors 6b are connected in a hierarchy way by the 1st distributor and M-set of 2nd distributors. MXN-set of processor output terminals are unified by a bus 11 and connected to a video generator 7, and its output is connected to a CRT display device 8. A high degree of parallel processing is attained in the level of segments or picture cells decomposing a polygon and since the segment processor and picture cell processor arranged in a two-dimention way are simple in the processing content, they are constituted simply and suitable for the hardware forming and large scale integration and lots of them are arranged.

Description

【発明の詳細な説明】[Detailed description of the invention]

(産業上の利用分野) この発明は、ラスタースキャンCRT上に三次元図形を
高速表示するためのマルチプロセッサシステムに関する
。 (従来の技術) 従来このような三次元図形表示用マルチプロセケサで、
隠面消去や色彩、陰影を施した三次元動画像をリアルタ
イム(毎秒約30フレーム)またはそれに近い速度で生
成しようとするものとして、フライトシミュレータ(I
EEE Spectrum 、 march”N’−4
8t 、 pp34−38)及ヒgXPER’rs シ
スf ム(情報処(噛掌会[グラフィックスとCADシ
ンポノクム論文’、ih 5 g 、12.1 、 p
p181−188 )がある。これらのシステムでは次
のような方法で画像生成を行う。三次元世界座標系内に
点、線分、多角形のような図形要素で構成される場面を
記述し、これを影面上の矩形の窓ABCDを通して眺め
たとき、中心投影によって表示すべき範囲が点Pを頂点
とする角錐台ABCDEFGHの内部であることを示し
ている。 矩形EFGI(は投影面から一定の距離だけ隔れた平面
内にある。(三次元)画面座標系Os”−”s3’sZ
sは第3図のように表示画面上の画素の座標(K!1r
yB)及び奥行き座標z3から作られる左手系の直角座
標系であり、表示枠をAl103C3Dl!とすれば第
2図の角錐台ABCDEFG)Iが第3図の直方体A3
03CgDt3F3G3Hgに写像されるように座標変
換が行われる。この直方体の内部にある図形はXS””
”Is平面に正射影することにより表示される。第3図
にはこの直方体内部の三角形AIAz A3が正射影を
受けて三角形Al′A2′A3′ として表示された例
を示している。 ここで、複数の図形が画面上で重なりを生ずる場合には
、視点側に最も近い、すなわちz3座標値ヤンライン)
と呼ぶ。スキャンライン法は、三次元画面座標系内のす
べてのポリゴンを13値の一定な一枚のスキャンライン
平面で切断し、その断面に現われるポリゴンの交差線分
(これをセグメントと呼ぶ)のリストを作成し、これら
のセグメントの両端点のXs座標値によってスキャンラ
インを多くの区間に分割し、各々の区間で最優先となる
   ′ポリゴンを見出そうとする方法である。第4図
はスキャンライン法による隠面消去の簡単な例を図示し
たものであり、四角形A+ Az Aj A4及び三角
形B、 82 B3がスキャンライン平面と、それぞれ
セグメントPI P2及びP3 P4で交差し、これら
のセグメントがスキャンライン上の線分p 、/ p 
2/及びP3′P4′に射影される。スキャンラインは
PI’+P3’+P 2’ l P 4’の分点で5つ
の区間に分割され、各区間で表示すべきポリゴンを決定
する。図から明らかな)で混合して塗ることが必要にな
る。この処理はポリコゝンの境界に生ずるジャグを除去
する効果を有する。 スキャンライン法による隠面消去は、ポリゴンの画素へ
の分解処理(これをスキャンコンバージョンと呼ぶ)及
びジャグの除去処理を行いながら、画面の上から下へ(
または下から上へ)向かうスキャンラインの順に隠面消
去と塗りつぶしを行い一画面を生成する。前述したフラ
イトンミュレータ及びEXPERTSシステムではスキ
ャンライン法による隠面消去をマルチプロセッサを用い
て実行している。例えばgXPERTsンステムでは全
画面領域を二次元的に分割し、各々の矩形の小領域に属
する部分画像に対して二次元的に配置されたマルチプロ
セッサを用いて並列処理する手法を採っている。 スキャンライン法の特長はz3値の比較回数が少ない、
最終的に消去されるポリゴン画素に対する無ライン平面
との交差であるセグメントのリストに対し、x8値によ
るソーティングが必要なことであP・このソーティング
の処理量は?リコ゛ノの個数7)プロセッサを必要とし
、多くの処理時間を要する。マルチプロセッサを用いて
実行する場合、このような高機能プロセッサを数多く配
置することはコスト面から限界を生ずる。またスキャン
ライフ法で並列処理する場合に、図形が画面の一部に集
中すると、マルチプロセッサを構成するプロセッサエレ
メント間に不均一な負荷を生ずるので、均等負荷分散の
だめの動的な・制御が必要となる。 これに対して2バツフア法による隠面消去は、三次元画
面座標系内のポリがンをスキャンコンバートシて画素(
これをポリコゝン画素と呼ぶことがある)まで分解し、
画面上の同一の画素に射影さ法で隠面消去を行うには、
画面上の画素(X g + 73)毎に三原色(rHr
 gHr bM)と輝度■つ、及びz3座標値バッファ
メモリの値輸(xt、yi)とZiとを比較し、z4(
zMのときに限り、zM(x1py4)をZiで、IM
(x4.yl)をIiでs  rM(xtpyt)をr
iで1gM(xt、yH)をgiで、bM(x1+y1
)をbiで置き換える。以上をすべてのポリゴンのすべ
てのポリゴン画素について順次実行すれば最終的に隠面
消去された画像がr。。 gMp t)M、IMに得られる。この2バツフア法は
単純なためにハードウェア化が容易であり、2バツフア
メモリや隠面消去機構を備えたグラフィックディスグレ
イ装置も商品化されている。 (発明が解決しようとする問題点) しかし、2パツクア法の並列性を利用した本格的なマル
チプロセッサを実現した例は従来見られない。 従って、本発明の目的は、隠面消去アルゴリズムとして
2バツフア法を適用し、これを効率よく画素を求める処
理を行な5m個(mは自然数)の、!?リゴ/プロセッ
サと、ポリゴングロセッサの出力に対しセグメントの両
端点から内部画素を求めるM×n個(M≧m + nは
自然数)のセグメントプロセッサと、セグメントプロセ
ッサの出力に対し画像メモリの飛び越し・そターンに位
置する画素を分割して保有しセグメントプロセッサで求
められた画素を2バツフア法による隠面消去を行ないな
がら画像メモリに書込むM×N@(N≧n)のピクセル
プロセッサと、ボリコゝンプロセッサからセグメントプ
ロセッサにデータ分配を行う第1のデストリビュータと
、セグメントプロセッサからピクセルプロセッサにデー
タ分配を行うM個の第2のデストリビュータとを有し、
前記画像メモリの内容を表示する図形表示用マルチプロ
セッサにある。 (作用) 理の機能は飛躍的に増大する。 (実施例) 第1図はこの発明の実施例を示すブロック図であって、
ホストプロセッサlはパス9を経由してm個のポリゴン
プロセッサ2−1.2−2.・・・、 2−m K 接
続され、これらm個のポリゴングロセッサは、m入力M
出力の第1のデストリピータ3に接続され、第1のデス
トリビュータのM本の出力端子の内、1番目の出力端子
はパスl0−1を経由してn個のセグメントゾロセッサ
4−1−1 、4−1−2 F・・・、 4−1−nに
、以下同様にM番目の出力端子はパス10−Mを経由し
てn(固のセグメントプロセッサ4−M−1、4−M−
2,・・・、4−M−nK接続される。n個のセグメン
トゾロセッサ4−1−1 、4−1−2、− 、4−1
−nは、n入力N出力の第2のデストリビュータ5−1
に接続され、この第2のデストリビュータのN本の出力
ロセクプ、M×n個のセグメント7°0七ノサ、M×N
個のピクセルプロセッサが、1個の第1のデストリビュ
ータとM個の第2のデストリビュータを介して階層構造
的に接続されている。M’xN個のピクセルプロセッサ
の出力端子はパス11で1本化されてビデオ発生器7に
接続され、その出力はCR7表示器8に接続されている
。なお、MとNは2のべき乗とし、menは1≦m <
、 M 。 1 <、 n≦Nとなるよう忙選ぶものとする。 点座標(xW y 7w+ ZW)の系列、ポリゴンの
色(r#ghb)及び輝度Iで表わされる。色はホリゴ
ン内部全域釦適用されるが、輝度Iはポリコゝン内部全
域に−における単位法線ベクトルをN1、点光源Pに向
 4か5単位ベクトルをり、  とすると、点A1にお
ける輝度はII =k(N11 t−1)−1easθ
lによりて計算される。ここでkは定数、θ】はN1と
Llのなす角である。曲面を多数の小さなポリコ?/で
近似する場合には、第5図に示すようにポリゴンの頂点
Al r A2 、A3の各点で輝度I、二に邸θ1r
 I2=に邸θ2゜r3crsθ3を求め、ポリコ゛ン
の周囲と内部の点における輝度Iを、それぞれポリコゝ
ンプロセッサ及びセッサの発生するポリコ゛ンデータの
系列はパス9に出力され、1つのポリコゝンr−夕はm
イ固のポリコ8ンプロセノサ2−1 、2−2、−・・
、2−mのいずれか1つに転送される。ポリコゝンプロ
セッサではポリゴンの頂点座標(xw+ yW+ zw
)を画面座標(X g + y3 + 73)に変換す
る。この変換は次式で表わされる。 められるpは平行投影の場合には1であり除算は不要で
ある。座標変換の結果、ポリゴンの全部または一部が視
野外(第2図の直方体A、03C,D、EsF8G、H
8の外部)にあればこれを除去するクリッピング処理が
必要である。それには上記直方体を囲む6つの平面の各
々について順に、ポリコゝンとの交差線分を求め、この
交差線分より明らかに視野外となるrすがン部分を除去
して行く。次に、クリッピング処理されたホリゴンの頂
点座標からその周囲エツジを次のように求める。以下の
説明では画面座標(Xs、ys+z3)の添字Sを省略
する。第6図に示すようなポリコゝンAt A2 A3
 A4 Asがあるとき、その頂点のy座標の最小値と
最大値から最下頂点出しておき、(x+ +y+ 、Z
l +11 )を初期値とし2、分に対して行えばよい
。交点の対P++P2が求められる毎に、このデータが
第1のデストリビュータ3に入力され、PI  とP2
を通過するスキャンラインのy座標の2進数表現におけ
る下位1og2 、Mビットによって決まる番号をもつ
第1のデストリビュータ3の出力端子に出力される。例
えばM=8=23の場合、y座標の下位3ビツトが00
0ならパスエ0−1に、111ならバスl0−8に出力
される。いま、交点の対PIeP2のデータがパス10
−1に出力されたとすると、このデータは1個のセグメ
ントプロセッサ4−1−1 、4−1−2 、 = 、
 4−1−nのいずれか1つ位置する画素から右エツジ
P2に位置する画素に向かって順に求める。それにはP
I (XI tZt 、L)と除算を必要とするのでこ
の計算をセグメントプロセッサで行うことを避けるため
にポリゴングロセ   )−タの一部としてセグメント
プロセッサに転送スる方法が考えられる。この方法には
大きな利点がある。それは1つのポリゴンから得られる
どのセグメントについても−dz 、 dI−は一定で
あると考えdx    dx てよいからである。例えば三角形A、 A2 A3の頂
点データをAI (x+ ly+ tZt 、rl) 
l A2 (X21>’21Z2112)−A4 (X
3 +73 、Z3 、I3)とすれば、三角形内部に
おけdz      dI る−及び−は次式により算出される。 dx      dx (以下余白) る番号をもつ第2のデストリビュータ5−1の出力端子
に接続されたピクセルプロセッサに転送すれる。例えば
、N=8=23の場合、X座標の下位3ビツトがOOO
ならピクセルプロセッサ6−1−IK。 111ならピクセルプロセッサ6−1−8に転送される
。 各々のピクセルプロセッサは一画面を構成する全画素の
うち、y方向にM個毎に、X方向にN個毎に飛び越した
画素について、その色(rlg。 b)と輝度I、奥行き2を記憶する2バツフアメモリを
有している。いま、ymax=PxQ、xmax=Q×
N1一画面全体の画素数を3’maX X xmBz=
PMX QN とし、M×N個のピクセルプロセッサに
よって画面全体が覆われる。ピクセルプロセッサでは、
セグメンよって決まるy i/及びxi′ をアドレス
としてその除いた値である。アクセスされたZバッファ
メモリの値を(・・g・5・′1・ )としzi< Z
Hのときに限りZMをZiで、rMをrlで、匂をgl
で、輸をglで、エエをIiで置き換える。 一方、MxN個のピクセルプロセッサに分散して記憶さ
れた2バツフアメモリのうちrH+ gHr bM+工
、は常時周期的に読み出され、バス11、ビデオ発生器
7を通じてCRT表示器8に表示される。 三次元場面は通常数百〜数万のポリゴンによって構成さ
れており、ホストプロセンサ1によって次々と発生され
るポリゴンの系列は、m個の、d IJゴンプロセッサ
において相互干渉なく並列処理されると共に、1個の、
l IJゴンプロセッサ内部においてもポリコゝン間の
相互干渉を考慮することなくパイプライン的に処理する
ことができる。ポリゴンは多数のセグメントに分解され
て第1のデストド間の処理速度の均衡を保っている。n
個のセグメントプロセッサから成るセグメントプロセッ
サ系では、多数のセグメントを並列処理してさらに多数
の画素に分解し、第2のデストリビュータを通じてN個
のピクセルプロセッサに分配し、画像 、。 メモリに書き込む。画面の解像度を1000xlOOO
とすると、この分解処理によって作られるポリゴン画素
の総数は数百万に達するのが普通であり、リアルタイム
動画像として表示するためにはこの処理を上砂以内に実
行する必要がある。本発明によるマルチプロセッサはこ
の分解処理に最も適した高度並列処理方式を適用するこ
とによって上記性能要求を達成しようとするものである
。 以上が本発明によるマルチプロセッサの全体的な構成と
動作である。以下に各部の構成と動作を詳細に説明する
。 される。データ入力端子15−1.、15−2 、・・
・+15−mはしものである。この動作を説明するのに
まず1個のポリゴンプロセッサの発生するデータの転送
のみを考える。1つのポリゴンはy座標の連続したセグ
メントデータの系列に分解され、第1のデストリビュー
タを通じてM系統のセグメントプロセッサ系に順次分配
される。従りて出力端子番号をカウントするM進のシフ
トカウンタ13によりて桁移動数を指示された巡回桁移
動器12を用いて桁移動することにより、セグメントデ
ータの系列がそれぞれ目的とする出力端子に送られる。 1つのセグメントデータ(以下セグメントブロックと呼
ぶ)はその両端点のx、y、z座標値、輝度11それら
の増分値等から成る一定の形式の固定長ビット数をもつ
データであって、これをビット毎に直列に転送する場合
は、そのビット数をビットカウンタ14に設定しておき
、1ビツト転送する毎1だけ増加させる。1つのポリゴ
ンから生成され?3hこのようなセグメントの系列はそ
のポリゴンを続的に変化するが、シフトカウンタ13は
基本的には一様な速度で上昇カウントを続けるものとし
、従ってこの不連続となる期間だけ、l? リボンプロ
セッサ側に待ち時間を生ずる。それには次のポリゴンの
最初のセグメントのy座標の下位log2Mビゾトがシ
フトカウンタの内容に一致し、目的とする出力端子が見
出されるまで待てばよい。このように1つのポリゴンプ
ロセッサの発生するセグメントデータはシフタ12を通
じて断続的に転送される0m個のポリゴンプロセッサが
同時に働いている場合は、第8図から明らかな様に、m
個の入力端子は巡回的に連続するm個の出力端子に接続
されているので、m系統のセグメントデータを並列に転
送することができる。この場合第8図のようなビットシ
リアルの転送では長時間を要し、また入出力端子に接続
されたポリゴンプロセッサ及びセグメントプロセッサと
の同期制御が難しく、こ出力とも最初の1系統のみ示し
である。ツクイトカウンタ18はセグメントブロックの
転送制御に使われるカウンタであり、1セグメントブロ
ツクが例えば7バイトであれば7進のカウンタである。 ポリゴンプロセッサ2−1で発生するセグメントブロッ
クは入力端子15−1よりPIFO19に次々と書き込
まれるが、FIFO19より1セグメントブロツクが読
み出し可能な状態にあるかどうかをF/F (フリップ
フロッグ)23が示している。また、PIFO20から
はセグメントブロックがn台のセグメントプロセッサ4
−1−1 、4−1−2 、− 、4−1−nによって
次々と読み出されるが、FIFO20が1セグメントブ
ロツクを書き込み可能な状態にあるかどうかをF/F 
24が示している。また、ポリゴンの最初のセグメント
ブロックを転送開始するタイミングを決めるために、F
IFOの出力端子25に現われだyけるものとして転送
制御方法を説明する。まず、ポリゴンプロセッサの処理
速度が十分に速く、セグメントデータの供給が滞ること
がなければJ々23は常に1にセットされており、また
セグメントプロセッサの処理速度が十分に速ければ、F
/F24も常に1にセットされている。すべての入出力
端子がこのような状態にあれば、m系統の並列転送が可
能であり、各系統はF/F 22によって個別に転送制
御を受ける。すなわちF7T 22が1の状態の期間で
は転送を行い、0の状態の期間では転送を行わない。こ
の場合、入力側にあるF/F22の状態を順次変化する
行先の出力端子側に知らせるには、シフタ12と同じ1
ビット分のシフタを追加するか、またはシフタ12の1
ビット分を一時的に使用すればよい。次に1,1+7ゴ
ングロセツサの処理が滞りてF/’F 23が0にリセ
ットされたントデータ系列を発生する前の初期化処理に
おい音に−よる処理の停滞時間は小さいのでFIFO1
9に理の停滞時間は長(、PIFO19によって吸収し
得ない場合もあると考えられるので、以上述べたように
系統別の転送制御を行うのが妥当である。これに対して
、セグメントプロセッサの処理が滞りてM個の出力端子
側に設けられたF/F 24が1つ以上0にリセットさ
れた場合には、m系統すべての転送を一時中断し、出力
側全体の回復を待って転送再開するように制御するのが
妥当である。その理由は、M系統のセグメントプロセッ
サ系には多数のセグメントデータが偏ることなく分配さ
れ、セグメントブロックに対する処理も簡単なので、処
理が停滞するとしてもM系統について一様に起こる可能
性が高いからである。以上述べたような第1のデストリ
ビュータの構成法と転送制御法を採ることによってセグ
メントデータが効率的に転送される。 次にセグメントプロセッサ、第2のデストリビ一部、ビ
クセルグロセッサ6−1−1 、及びその周辺回路を示
したものである。セグメントプロセッサ=j71−1は
′″′′メフト端点から内部を補間して首素列を求める
が、具体的には以下のような処理を行う。第11図はセ
グメントの1例を拡大して描いたもので、三角形AlA
2A3 と2本の水平線)’ = yl、Y = y+
、+1とで囲まれた台形PIQIQ2P2、− の内部がセグメントを表わしている。セグメント・1正
方形状の画素の系列に分解されるが、このセンメ′ント
の場合はさらに、左エツジP+Qtと交差する左エツジ
画素の系列、左右両エツジと交差しない内部画素の系列
、右エツジP2Q2と交差する右エツジ画素の系列に分
解される。第12図にセグメントプロセッサの入力デー
タ(、)と出、カデータ(b)を示し、第13図に演算
内容を示す。これらの図表において、yはセグメントの
y座標を、r + g * bはセグメントの色を、X
A + Ztr I7はそれぞれ点P1におけるX座標
、2座標、輝度工を、Δ2.ΔIはを第13図のように
算出する。XはXtの整数部分〔Xt〕を初期値として
順次1を加えることによって、2は2tを初期値として
順次Δ2を加えることによって、■は1tを初期値とし
て順次Δ工を加えることによって求められる。αはO≦
α≦1の値であり、ノ、iヤグの除去のために使用され
る。第11図かられかるようにαは左エツジ画素ではO
から1に向メントプロセッサでの乗除算を避けるだめ、
加減算と表演算によって求める方法を以下に示す。左エ
ツジP+Q+においてP 1r Qt のX座標をそれ
ぞれXLl xL+hz  とし、b4≧Oとする。こ
こでXAの小数部分をp = x−[x]とし、p+h
t=(1とすれば、0<p(1,q≧pが成立し、左エ
ツジ画素の個数は(q〕+ 1となる。pとqの値から
αの系列αt(1+α11 、・・・、αt
(Industrial Application Field) The present invention relates to a multiprocessor system for displaying three-dimensional figures on a raster scan CRT at high speed. (Prior art) Conventionally, such a multi-processor for displaying three-dimensional figures,
Flight simulators (I
EEE Spectrum, march"N'-4
8t, pp 34-38) and Hig
p181-188). These systems generate images using the following methods. When a scene consisting of graphical elements such as points, line segments, and polygons is described in a three-dimensional world coordinate system and viewed through a rectangular window ABCD on the shadow plane, the range that should be displayed by central projection is is inside a truncated pyramid ABCDEFGH with point P as its apex. Rectangle EFGI (is in a plane separated by a certain distance from the projection plane. (Three-dimensional) screen coordinate system Os"-"s3'sZ
s is the coordinate of a pixel on the display screen (K!1r
yB) and depth coordinate z3, and the display frame is Al103C3Dl! Then, the truncated pyramid ABCDEFG)I in Fig. 2 is the rectangular parallelepiped A3 in Fig. 3.
Coordinate transformation is performed so that it is mapped to 03CgDt3F3G3Hg. The figure inside this rectangular parallelepiped is XS""
"It is displayed by orthogonally projecting it onto the Is plane. Figure 3 shows an example in which the triangle AIAz A3 inside this rectangular parallelepiped is orthogonally projecting and being displayed as the triangle Al'A2'A3'. , if multiple figures overlap on the screen, the closest to the viewpoint side, that is, the z3 coordinate value Yang line)
It is called. The scan line method cuts all polygons in a three-dimensional screen coordinate system with a single scan line plane with 13 constant values, and generates a list of intersecting line segments (called segments) of the polygons that appear in the cross section. In this method, the scan line is divided into many sections according to the Xs coordinate values of both end points of these segments, and the ' polygon with the highest priority is found in each section. FIG. 4 illustrates a simple example of hidden surface removal using the scan line method, in which a quadrilateral A+ Az Aj A4 and triangles B, 82 B3 intersect the scan line plane at segments PI P2 and P3 P4, respectively, These segments are line segments p, /p on the scan line
2/ and projected onto P3'P4'. The scan line is divided into five sections at the points PI'+P3'+P2'lP4', and polygons to be displayed in each section are determined. (as is clear from the figure) will need to be mixed and applied. This process has the effect of removing jags that occur at polycon boundaries. Hidden surface removal using the scan line method involves decomposing polygons into pixels (this is called scan conversion) and removing jags while moving from the top of the screen to the bottom (
Or, one screen is generated by erasing hidden surfaces and filling in in the order of scan lines (from bottom to top). In the above-mentioned Flyton simulator and EXPERTS system, hidden surface removal using the scan line method is executed using a multiprocessor. For example, the gXPERTS system uses a method in which the entire screen area is divided two-dimensionally, and partial images belonging to each rectangular small area are processed in parallel using two-dimensionally arranged multiprocessors. The feature of the scan line method is that the number of comparisons of z3 values is small.
This requires sorting by x8 values for the list of segments that are the intersections of polygon pixels with non-line planes to be finally erased.P. What is the processing amount of this sorting? Number of resources 7) Requires a processor and requires a lot of processing time. When executing using multiprocessors, there is a cost limit to arranging a large number of such high-performance processors. In addition, when performing parallel processing using the scan life method, if graphics are concentrated in a part of the screen, uneven loads will occur among the processor elements that make up the multiprocessor, so dynamic control is required to distribute the load evenly. becomes. On the other hand, hidden surface removal using the two-buffer method scans and converts polygons in the three-dimensional screen coordinate system to pixels (
This is broken down into polycon pixels (sometimes called polycon pixels),
To perform hidden surface removal using the projection method on the same pixel on the screen,
Three primary colors (rHr
Compare gHr bM) and luminance, and z3 coordinate value buffer memory value transponder (xt, yi) and Zi, and compare z4(
Only when zM, zM (x1py4) with Zi, IM
(x4.yl) with Ii s rM(xtpyt) with r
1gM(xt, yH) at i, bM(x1+y1
) with bi. If the above steps are executed sequentially for all polygon pixels of all polygons, the final image with hidden surfaces removed will be r. . gMp t) M, obtained in IM. This two-buffer method is simple and can be easily implemented in hardware, and graphic display gray devices equipped with two-buffer memories and a hidden surface erasing mechanism have also been commercialized. (Problems to be Solved by the Invention) However, there has never been an example of realizing a full-scale multiprocessor using the parallelism of the two-pack quadrature method. Therefore, an object of the present invention is to apply the 2-buffer method as a hidden surface elimination algorithm and efficiently process the process to obtain 5m pixels (m is a natural number)! ? M×n (M≧m + n is a natural number) segment processors that calculate internal pixels from both end points of the segment for the output of the polygon processor; An M×N@(N≧n) pixel processor divides and retains the pixels located in that turn, and writes the pixels obtained by the segment processor into the image memory while performing hidden surface elimination using the two-buffer method, and a first distributor that distributes data from the in-processor to the segment processor; and M second distributors that distribute data from the segment processor to the pixel processor;
The graphics display multiprocessor displays the contents of the image memory. (Effect) The functions of science will increase dramatically. (Embodiment) FIG. 1 is a block diagram showing an embodiment of this invention,
Host processor l connects m polygon processors 2-1.2-2. ..., 2-m K are connected, and these m polygon processors have m inputs M
The first output terminal of the M output terminals of the first distributor 3 is connected to the first output distributor 3, and the first output terminal is connected to the n segment processors 4-1- via the path 10-1. 1, 4-1-2 F..., 4-1-n, the Mth output terminal is similarly connected to n (hard segment processors 4-M-1, 4-M) via path 10-M. M-
2, . . . , 4-M-nK are connected. n segment processors 4-1-1, 4-1-2, -, 4-1
-n is the second distributor 5-1 with n inputs and N outputs.
N outputs of this second distributor, M×n segments 7°07nosa, M×N
The M pixel processors are connected in a hierarchical structure via one first distributor and M second distributors. The output terminals of the M'xN pixel processors are combined by a path 11 and connected to a video generator 7, whose output is connected to a CR7 display 8. Note that M and N are powers of 2, and men is 1≦m<
, M. 1 <, n≦N. It is expressed by a series of point coordinates (xW y 7w+ZW), polygon color (r#ghb), and brightness I. The color is applied to the entire area inside the polycon, but the brightness I is applied to the entire area inside the polycon, with a unit normal vector at - N1 and a 4 or 5 unit vector toward the point light source P, then the brightness at point A1 is II =k(N11 t-1)-1easθ
Calculated by l. Here, k is a constant, and θ] is the angle formed by N1 and Ll. Curved surface with many small polycos? In the case of approximation by /, as shown in FIG.
The polycon data series generated by the polycon processor and processor are output to path 9, and one polycon r- Evening is m
Iriga's Polycon 8 Procenosa 2-1, 2-2, ---
, 2-m. In the polygon processor, the vertex coordinates of the polygon (xw + yW + zw
) to screen coordinates (X g + y3 + 73). This conversion is expressed by the following equation. The calculated p is 1 in the case of parallel projection, and no division is necessary. As a result of coordinate transformation, all or part of the polygons are outside the field of view (rectangular parallelepipeds A, 03C, D, EsF8G, H in Fig. 2).
8), clipping processing is required to remove this. To do this, for each of the six planes surrounding the rectangular parallelepiped, intersecting line segments with the polycone are found in turn, and the r-shaped portions that are clearly outside the field of view from these intersecting line segments are removed. Next, from the vertex coordinates of the clipped holigon, its surrounding edges are determined as follows. In the following description, the subscript S of the screen coordinates (Xs, ys+z3) will be omitted. Polycon At A2 A3 as shown in Fig. 6
A4 When there is As, take out the lowest vertex from the minimum and maximum y coordinates of that vertex, and calculate (x+ +y+, Z
It is sufficient to set the initial value as l + 11) and perform the calculation for 2 minutes. Each time a pair of intersections P++P2 is determined, this data is input to the first distributor 3, and PI and P2
The lower 1og2 in the binary representation of the y-coordinate of the scan line passing through is outputted to the output terminal of the first distributor 3 with a number determined by M bits. For example, if M=8=23, the lower 3 bits of the y coordinate are 00
If it is 0, it is output to path 0-1, and if it is 111, it is output to bus l0-8. Now, the data of the pair PIeP2 at the intersection is path 10.
-1, this data is output to one segment processor 4-1-1, 4-1-2, = ,
4-1-n in order from the pixel located at the right edge P2 to the pixel located at the right edge P2. P for that
Since division with I(XI tZt , L) is required, in order to avoid having to perform this calculation in the segment processor, a method of transferring it to the segment processor as part of the polygon register may be considered. This method has significant advantages. This is because it can be assumed that -dz and dI- are constant for any segment obtained from one polygon. For example, the vertex data of triangle A, A2 A3 is AI (x+ ly+ tZt, rl)
l A2 (X21>'21Z2112)-A4 (X
3 +73 , Z3 , I3), dz dI inside the triangle - and - are calculated by the following equation. It is transferred to the pixel processor connected to the output terminal of the second distributor 5-1 having the number dx dx (hereinafter referred to as blank space). For example, if N=8=23, the lower 3 bits of the X coordinate are OOO
Then pixel processor 6-1-IK. If it is 111, it is transferred to the pixel processor 6-1-8. Each pixel processor stores the color (rlg.b), brightness I, and depth 2 of every M pixels in the y direction and every N pixels in the X direction among all the pixels that make up one screen. It has two buffer memories. Now, ymax=PxQ, xmax=Q×
The number of pixels for the entire N1 screen is 3'maX X xmBz=
PMX QN, and the entire screen is covered by M×N pixel processors. In the pixel processor,
This is the value obtained by removing y i/ and xi' determined by the segment as an address. Let the value of the accessed Z buffer memory be (・・g・5・′1・ ), then zi< Z
Only when H, ZM is Zi, rM is rl, and odor is gl.
Then, replace ``port'' with gl and ``e'' with Ii. On the other hand, out of the two buffer memories distributed and stored in M×N pixel processors, rH+gHr bM+ are always periodically read out and displayed on the CRT display 8 via the bus 11 and the video generator 7. A three-dimensional scene is usually composed of hundreds to tens of thousands of polygons, and a series of polygons successively generated by the host processor 1 is processed in parallel by m dIJgon processors without mutual interference. , 1 piece,
Even inside the IJgon processor, processing can be performed in a pipeline manner without considering mutual interference between polycons. The polygon is decomposed into a number of segments to balance the processing speed between the first and second segments. n
In a segment processor system consisting of N segment processors, a large number of segments are processed in parallel, further decomposed into a large number of pixels, and distributed to N pixel processors through a second distributor to create an image. write to memory. Screen resolution 1000xlOOOO
In this case, the total number of polygon pixels created by this decomposition processing typically reaches several million, and in order to display it as a real-time moving image, it is necessary to perform this processing within a few seconds. The multiprocessor according to the present invention attempts to achieve the above performance requirements by applying a highly parallel processing method most suitable for this decomposition processing. The above is the overall configuration and operation of the multiprocessor according to the present invention. The configuration and operation of each part will be explained in detail below. be done. Data input terminal 15-1. ,15-2,...
・+15-m is a handmaiden. To explain this operation, first consider only the transfer of data generated by one polygon processor. One polygon is decomposed into a series of segment data with continuous y coordinates, and sequentially distributed to M segment processor systems through a first distributor. Therefore, by shifting the digits using the cyclic digit mover 12, which is instructed to shift the number of digits by the M-adic shift counter 13 that counts the output terminal number, the series of segment data can be moved to the respective target output terminals. Sent. One segment data (hereinafter referred to as a segment block) is data that has a fixed length bit number in a certain format and consists of x, y, z coordinate values of both end points, brightness 11, their increment value, etc. When serially transferring each bit, the number of bits is set in the bit counter 14 and incremented by 1 every time one bit is transferred. Generated from one polygon? 3h Although such a series of segments continuously changes its polygon, the shift counter 13 basically continues to count up at a uniform speed, and therefore, during this discontinuous period, l? This causes waiting time on the ribbon processor side. To do this, it is sufficient to wait until the lower log2M bizoto of the y-coordinate of the first segment of the next polygon matches the contents of the shift counter and the desired output terminal is found. In this way, the segment data generated by one polygon processor is intermittently transferred through the shifter 12.If 0m polygon processors are working simultaneously, m
Since the input terminals are cyclically connected to the m output terminals, m systems of segment data can be transferred in parallel. In this case, bit serial transfer as shown in Figure 8 takes a long time, and synchronization control with the polygon processor and segment processor connected to the input/output terminals is difficult, and only the first output system is shown. . The transfer counter 18 is a counter used to control the transfer of segment blocks, and if one segment block is, for example, 7 bytes, it is a heptad counter. Segment blocks generated by the polygon processor 2-1 are sequentially written to the PIFO 19 from the input terminal 15-1, but the F/F (flip-frog) 23 indicates whether one segment block can be read from the FIFO 19. ing. Also, from the PIFO 20, the segment block is sent to n segment processors 4.
-1-1, 4-1-2, -, and 4-1-n are read out one after another, but the F/F checks whether the FIFO 20 is in a state where one segment block can be written.
24 is shown. Also, in order to determine the timing to start transferring the first segment block of the polygon,
The transfer control method will be explained based on what appears at the output terminal 25 of the IFO. First, if the processing speed of the polygon processor is fast enough and the supply of segment data is not interrupted, J23 is always set to 1, and if the processing speed of the segment processor is fast enough, F
/F24 is also always set to 1. If all the input/output terminals are in this state, parallel transfer of m systems is possible, and each system is individually controlled for transfer by the F/F 22. That is, transfer is performed during the period in which F7T 22 is in the 1 state, and no transfer is performed in the period in which the F7T 22 is in the 0 state. In this case, in order to notify the state of the F/F 22 on the input side to the output terminal side of the destination that changes sequentially,
Add a bit shifter or shifter 1 of 12
You can use bits temporarily. Next, the processing of the 1, 1 + 7 gongro setter is delayed and F/'F 23 is reset to 0. In the initialization process before generating the mont data series, the processing stagnation time due to the sound is small, so FIFO 1
9, the stagnation time of the segment processor is long (and there may be cases where it cannot be absorbed by the PIFO 19, so it is appropriate to perform transfer control for each system as described above.In contrast, the stagnation time of the segment processor is If the processing is delayed and one or more of the F/Fs 24 provided on the M output terminals are reset to 0, transfer of all m systems is temporarily suspended, and the transfer is performed after waiting for the entire output side to recover. It is reasonable to control the system so that it restarts.The reason is that a large amount of segment data is evenly distributed to the M segment processor system, and processing for segment blocks is easy, so even if processing stalls, the M This is because there is a high possibility that this will occur uniformly for all systems.By adopting the configuration method of the first distributor and the transfer control method as described above, segment data can be transferred efficiently.Next, the segment processor, This figure shows a part of the second deriving unit, a vixel processor 6-1-1, and its peripheral circuits.The segment processor j71-1 interpolates internally from the meft end point ``'''' to generate a neck element sequence. Specifically, the following processing is performed. Figure 11 shows an enlarged drawing of an example of a segment, and shows a triangle AlA
2A3 and two horizontal lines)' = yl, Y = y+
, +1 and the inside of the trapezoid PIQIQ2P2, - represents a segment. Segment 1 is decomposed into a series of square pixels, but in the case of this segment, it is further divided into a series of left edge pixels that intersect with the left edge P+Qt, a series of internal pixels that do not intersect with both left and right edges, and a right edge P2Q2. is decomposed into a series of right edge pixels that intersect with . FIG. 12 shows the input data (,) and output data (b) of the segment processor, and FIG. 13 shows the contents of the calculation. In these diagrams, y is the y-coordinate of the segment, r + g * b is the color of the segment, and
Δ2. ΔI is calculated as shown in FIG. X can be found by sequentially adding 1 to the integer part [Xt] of Xt as an initial value, 2 by sequentially adding Δ2 to 2t, and ■ by sequentially adding Δt to 1t. . α is O≦
It is a value of α≦1, and is used to remove the yag. As can be seen from Figure 11, α is O at the left edge pixel.
To avoid multiplication and division in the processor from 1 to 1,
The following is a method for calculating by addition/subtraction and table operations. At the left edge P+Q+, let the X coordinate of P 1r Qt be XLl xL+hz, and b4≧O. Here, the decimal part of XA is p = x-[x], and p+h
If t=(1, then 0<p(1, q≧p holds, and the number of left edge pixels is (q)+1. From the values of p and q, the sequence of αt(1+α11,...・, αt

〔9〕が求
められるが、αの値に最■ 犬Iの誤差を許すとして、第14図のように4つの場合
に分けて考える。0≦(1<1の場合は第141 <、
 q < 3の場合は第14図(b)のように1.p及
びq−1を百精度で近似し、図の黒丸で示した最も近く
の点に近似する。このpとq−1とから数表によってα
jg+αt工、α12 rαt3が求められる。 3≦q<7の場合は第14図(c)のようにp及びq−
3を7精度で近似し、同様に数表によって場合にはQl
 r PtのX座標をそれぞれXj+ xz+htとす
れば以上に述べた方法によってαの系列が求められる。 また、右エツジ画素のαの系列を求めるには、第11図
の右エツジP2Q2の左端点と右端点のX座標をそれぞ
れXr+ xH+h、とし、以上に述べたと同じ方法に
よりαの系列を求めた後、αの各項において1−αを算
出することにより求められる。 以上のように求められた画素データは第12図(b)に
示すような形式でセグメントプロセッサ4−1−1の出
力端子34から出力され、FIFO26に順次書き込ま
れる。1画素分のデータはX座標値の下位log2Nビ
ットによって決まるピクセルプロセッササに転送される
が、1つのセグメントはX座標の連続した画素の系列に
分解されるから、第1のデストリビーータ3と同様の構
成をもつ第2のデストタ)を例えば8個(1バイト分)
並列に並べたものであり、出力端子番号をカウントする
シフトカウンタ27によって桁移動数を指示され、バイ
トカウンタ28によって1バイト単位の転送制御が行わ
れる。その動作と制御方法は第1のデストリビーータと
同様である。第2のデストリビーータ5−1の出力端子
36から出力された1画素分のデータはピクセルプロセ
ッサ6−1−1の内部にあるノ4きデータであり、αi
は色と輝度の混合比として使われる。ピクセルプロセッ
サではαi=1の内部画素についてはZiとZMを比較
器30で比較し、Z、<ZMであれば2バツフアメモリ
の更新を行う。0くαi(1のエツジ画素についてはノ
ヤグの除去を行う必要がある。その方法を第15図、に
示す表示例を用いて説明する。第15図はエツジA2A
3を共有する2つの三角形AlA2A3 とBIA2A
3及びその背後に四角形CIC2C3C4があるものと
してこれを表示した図である。三角形AlA2A3の覆
う画素のうち画素の一部のみを占めるエツジ画素を正方
形で描いである。エツジ画素は複数のポリゴンまたは背
景(これらを面と総称する)によって共有されているか
ら、複数個の面の色と輝度とを適当な比率で混合する必
要がある。このノヤグの除去処理を正しく行うには多く
の計算を必要とするので、ここではすでに処理されてい
るものとし、三角形AI A2A3の背後にある面の色
と輝度及び2座標が2バツフff613+A2A3の色
で、エツジA、 D、及びAIDz上の画素は四角形C
IC2C3C4の色で、エツジA2Dl及びA3D2上
の画素は背景色で塗られている。その後に三角形AIA
zA3を処理する場合、内部画素は三角形AlA2A3
の色で塗りつぶすことになるが、エツジ画素については
、画素専有率α1(0(α1く1)の面積をもつ部分(
斜線部分)が三角形A、A2A3の内部にあるから、そ
の色と輝度ri + gi + bi r 11のそれ
ぞれに対して、 α1r4+(1−αi)rM αjgi+(1−α+)gM αibi + (1−α1)bM αjIi+(1−αi)IM なる混合計算を混合器31において行い、これらの値で
rH2gHr l)HI TMを更新すれば正しく表示
される。次に第11図において三角形AlA2A3が三
角形BIA2A3及び四角形自C2C3C4より以前に
画素に対する混合計算をすべて後処理として行えばよい
。この場合、2つのポリゴンの共有エツジ上の画素につ
いては、一方の、l IJがンに属するエツジ画素を内
部画素として取り扱う必要がある。 例えば共有エツジA2A3上の画素は、三角形B 、 
A2A3に対しては内部画素とみなしてこれを塗りつぶ
し、三角形AlA2A3に対してはエツジ画素とみなし
て一部の段階で混合計算を行えばよい。 との積を求めるROM 41−1. 、41−2 、4
]、−3、及びDA変換器42−1 、42−2 、4
2−3から構成されている。 カラ/り40はN進カウンタnc’+Q進カウンタXc
’+M進カウンタmcZP進カウンタy。′から成って
おり、Nxc′+nc′が画面のX座標を、Myc’ 
+ mc’がy座標を表わしている。nc′及びmc′
はM×N個のピクセルプロセッサのいずれか1つを選択
し、Xc′及びyc′は2バツフアメモリのアドレスと
して使われ、第10図のアドレス入力端子38を通じて
2バツフアメモリをアクセスする。第10図のデータ出
力端子39からZバッファメモリの内容IM 、rMr
 gMr by4が読み出され第16図のI。 r、g、b入力端子に転送される。ビデオ発生器ではR
=rXI 、G=gXI 、B=bXIの乗算をROM
41−1,41−2 、41−3において行いその結果
をDA変換してそれぞれR,G、B出力端子に出力する
。 以下の利点を有する。まず、2バツフア法の特徴けるよ
うに処理量が非線形に増大することがない。 ポリゴンを分解したセグメントやピクセルのレベルでも
高度の並列処理が可能で、本マルチプロセッサシステム
はこれらの並列性を十分に利用して効率よく実行する構
成法を採っている。二次元的に配置されたセグメントプ
ロセ、す及びピクセルプロセッサは処理内容が単純なた
め比較的単純に構成でき、ハードウェア化、LSI化に
適しており、これらを多数配置することができる。これ
らのプロセッサには画面上の走査線及び画素の飛び越し
   ゛パタンを割り当てるので、特別な制御を行わな
くても、処理量が偏ることなく均等な負荷分散が達成さ
れ、画像メモリへのアクセス競合を起こすことなく高い
稼動率で作動する。ポリゴングロセッサとセグメントプ
ロセッサは必要に応じてその個数を増減することができ
、その個数を増大するこの周囲を求める方法を示す図、
第7図は画素の飛び越しパタンを示す図、第8図は第1
のデスl−IJピユータの構成図、第9図は第1のディ
ス) IJピユータの詳細な構成図、第10図はセグメ
ントプロセッサからピクセルプロセッサに至る詳細な構
成図、第11図はセグメントの拡大図、第12図はセグ
メントプロセッサの入出力データ形式を示す図、第13
図はセグメントプロセッサの処理内容を示す図、第14
図はαの求め方を示す図、第15図はジャグの除去方法
の説明図、第16図はビデオ発生器の構成図である。 (符号の説明) 第1図;1はホストグロセ、す、2−1 、2−2 。 ・” 、 2−mはポリゴンプロセ、す、3は第1のデ
スト  リ  ピ ュ − タ 、   4−1−1 
  、  4−1−2   、   ・・・  、  
 4−1−n   、   ・・・。 4−M−1、4−M−2、= 、 4−M−nは計M×
n個のセグメCRT表示器、9 、10−1 、10−
2 、・・・、 10−M 、 11出力端子、17は
カウント入力端子である。 第9図;18はバイトカウンタ、19.20はFIFO
121は一致検出回路、22,23,24は7すツブフ
ロップ、25はシック入力端子である。 第10図;26はFIFo、 27はシフトカウンタ、
28はバイトカウンタ、29はバッファレジスタ、スト
リビーータ出力端子、37はカウント入力端子、38は
2バツフアメモリアドレス入力端子、39は2バツフア
メモリ出力端子である。 第14図;40は画面アドレスカウンタ、41−1゜4
1−2 、41−3はROM、 42−1 、42−2
 、42−3はDA変換器である。 ′特許出願人 工業技術院長 等々力  達 奉2圀 本3凹 算、4凹 も5回 蕩−2121(b。 &/4図 秦l乙閏
[9] is calculated, but assuming that the value of α is allowed to have a maximum error of I, we will consider four cases as shown in Fig. 14. 0≦(If 1<1, the 141st<,
If q < 3, 1. as shown in FIG. 14(b). Approximate p and q-1 to 100 precision, and approximate to the nearest point indicated by a black circle in the figure. From this p and q-1, α
jg+αt engineering, α12 rαt3 are obtained. If 3≦q<7, p and q-
3 with 7 precision, and in the same way, Ql
If the X coordinates of rPt are respectively Xj+xz+ht, then the series of α can be found by the method described above. Also, to find the α series of the right edge pixels, set the X coordinates of the left end point and right end point of the right edge P2Q2 in Fig. 11 to Xr+xH+h, respectively, and find the α series using the same method as described above. Then, it is obtained by calculating 1-α for each term of α. The pixel data obtained as described above is outputted from the output terminal 34 of the segment processor 4-1-1 in the format shown in FIG. 12(b) and sequentially written into the FIFO 26. Data for one pixel is transferred to a pixel processor determined by the lower log2N bits of the X coordinate value, but since one segment is decomposed into a series of consecutive pixels of the X coordinate, it is processed in the same way as the first distributer 3. For example, 8 pieces (1 byte worth) of the second destorer with the configuration
They are arranged in parallel, and a shift counter 27 that counts the output terminal number indicates the number of digits to be shifted, and a byte counter 28 performs transfer control in 1-byte units. Its operation and control method are similar to the first distributor. The data for one pixel output from the output terminal 36 of the second destriver 5-1 is the data stored in the pixel processor 6-1-1, and αi
is used as the mixing ratio of color and brightness. In the pixel processor, a comparator 30 compares Zi and ZM for the internal pixel with αi=1, and if Z<ZM, the 2-buffer memory is updated. It is necessary to remove the noise for the edge pixel of 0kuαi(1.The method will be explained using the display example shown in FIG. 15.
Two triangles AlA2A3 and BIA2A that share 3
3 and a rectangle CIC2C3C4 behind it. Edge pixels that occupy only a portion of the pixels covered by the triangle AlA2A3 are drawn as squares. Since edge pixels are shared by a plurality of polygons or backgrounds (these are collectively referred to as surfaces), it is necessary to mix the colors and luminances of the plurality of surfaces in an appropriate ratio. Correctly performing this Noyag removal process requires a lot of calculations, so here we assume that it has already been processed, and the color and brightness of the surface behind the triangle AI A2A3 and the color of the 2 coordinates ff613 + A2A3. The pixels on edges A, D, and AIDz are rectangle C.
With the color of IC2C3C4, the pixels on edges A2Dl and A3D2 are painted with the background color. Then triangle AIA
When processing zA3, the internal pixels are triangle AlA2A3
However, for edge pixels, the area with the pixel occupancy rate α1 (0 (α1 × 1)) is
Since the shaded area) is inside triangles A and A2A3, α1r4+(1-αi)rM αjgi+(1-α+)gM αibi + (1- If the mixing calculation α1)bM αjIi+(1−αi)IM is performed in the mixer 31 and rH2gHr l)HI TM is updated with these values, the display will be correct. Next, in FIG. 11, all mixing calculations for pixels of triangle AlA2A3 may be performed as post-processing before triangle BIA2A3 and quadrangle C2C3C4. In this case, for pixels on the shared edge of two polygons, the edge pixel belonging to one of the polygons must be treated as an internal pixel. For example, the pixels on the shared edge A2A3 are triangle B,
A2A3 may be regarded as an internal pixel and filled in, and triangle AlA2A3 may be regarded as an edge pixel and mixed calculations may be performed at some stages. ROM to find the product of 41-1. , 41-2 , 4
], -3, and DA converters 42-1, 42-2, 4
It consists of 2-3. Kara/ri 40 is N-ary counter nc' + Q-ary counter Xc
'+M-ary counter mcZP-ary counter y. ', Nxc'+nc' is the X coordinate of the screen, Myc'
+mc' represents the y coordinate. nc' and mc'
selects one of M×N pixel processors, Xc' and yc' are used as addresses of the two-buffer memory, and the two-buffer memory is accessed through the address input terminal 38 of FIG. The contents of the Z buffer memory IM, rMr from the data output terminal 39 in FIG.
gMr by 4 is read out and I in FIG. Transferred to r, g, b input terminals. R for video generator
=rXI, G=gXI, B=bXI multiplication in ROM
41-1, 41-2, and 41-3, and the results are DA-converted and output to R, G, and B output terminals, respectively. It has the following advantages. First, the amount of processing does not increase nonlinearly, which is a characteristic of the two-buffer method. Highly parallel processing is possible even at the level of segments and pixels, which are obtained by decomposing polygons, and this multiprocessor system takes full advantage of this parallelism to achieve efficient execution. The two-dimensionally arranged segment processors and pixel processors have simple processing contents, so they can be constructed relatively simply, and are suitable for implementation in hardware or LSI, and a large number of them can be arranged. Since these processors are assigned interleaving patterns for scanning lines and pixels on the screen, even load distribution is achieved without any special control, without biasing the processing amount, and contention for access to the image memory is eliminated. Operates at high operating rate without causing any problems. The number of polygon processors and segment processors can be increased or decreased as necessary, and the following figure shows a method for calculating the perimeter to increase the number of polygon processors and segment processors.
Figure 7 is a diagram showing a pixel interlace pattern, and Figure 8 is a diagram showing the pixel interlace pattern.
Figure 9 is a detailed configuration diagram of the IJ computer, Figure 10 is a detailed configuration diagram from the segment processor to the pixel processor, and Figure 11 is an enlarged view of the segment. Figure 12 is a diagram showing the input/output data format of the segment processor.
The figure shows the processing contents of the segment processor.
The figure shows how to obtain α, FIG. 15 is an explanatory diagram of how to remove the jag, and FIG. 16 is a block diagram of the video generator. (Explanation of symbols) Fig. 1; 1 is host grosse, 2-1, 2-2.・", 2-m is the polygon processor, 3 is the first distributor, 4-1-1
, 4-1-2 , ... ,
4-1-n,... 4-M-1, 4-M-2, = , 4-M-n is the total M×
n segment CRT displays, 9, 10-1, 10-
2, . . . , 10-M, 11 output terminals, and 17 a count input terminal. Figure 9; 18 is byte counter, 19.20 is FIFO
121 is a coincidence detection circuit, 22, 23, 24 are 7-tube flops, and 25 is a thick input terminal. Figure 10; 26 is FIFo, 27 is shift counter,
28 is a byte counter, 29 is a buffer register and a stribeater output terminal, 37 is a count input terminal, 38 is a 2-buffer memory address input terminal, and 39 is a 2-buffer memory output terminal. Figure 14; 40 is the screen address counter, 41-1°4
1-2, 41-3 are ROM, 42-1, 42-2
, 42-3 is a DA converter. 'Patent applicant Director of the Agency of Industrial Science and Technology Todoroki Tatsuho 2 Kunimoto 3 concave calculations, 4 concave also 5 times - 2121 (b.

Claims (1)

【特許請求の範囲】[Claims] ラスタースキャン型表示面に三次元図形を表示する図形
表示用マルチプロセッサにおいて、順次入力される多角
形のポリゴンデータに少なく共座標変換処理及びポリゴ
ンの周囲画素を求める処理を行なうm個(mは自然数)
のポリゴンプロセッサと、ポリゴンプロセッサの出力に
対しセグメントの両端点から内部画素を求めるM×n個
(M≧m,nは自然数)のセグメントプロセッサと、セ
グメントプロセッサの出力に対し画像メモリの飛び越し
パターンに位置する画素を分割して保有しセグメントプ
ロセッサで求められた画素をZバッファ法による隠面消
去を行ないながら画像メモリに書込むM×N個(N≧n
)のピクセルプロセッサと、ポリゴンプロセッサからセ
グメントプロセッサにデータ分配を行う第1のデストリ
ビュータと、セグメントプロセッサからピクセルプロセ
ッサにデータ分配を行うM個の第2のデストリビュータ
とを有し、前記画像メモリの内容を表示することを特徴
とする図形表示用マルチプロセッサ。
In a figure display multiprocessor that displays three-dimensional figures on a raster scan type display screen, the polygon data of sequentially input polygons is subjected to at least m co-coordinate transformation processes and processes for determining surrounding pixels of polygons (m is a natural number). )
A polygon processor, an M×n segment processor (M≧m, n is a natural number) that calculates internal pixels from both end points of the segment for the output of the polygon processor, and an interlace pattern of the image memory for the output of the segment processor. The located pixels are divided and retained, and the pixels obtained by the segment processor are written into the image memory while performing hidden surface erasure using the Z-buffer method.
), a first distributor that distributes data from the polygon processor to the segment processor, and M second distributors that distribute data from the segment processor to the pixel processor; A graphic display multiprocessor characterized by displaying contents.
JP25495984A 1984-12-04 1984-12-04 Multiprocessor for graphic display Granted JPS61133482A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25495984A JPS61133482A (en) 1984-12-04 1984-12-04 Multiprocessor for graphic display

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25495984A JPS61133482A (en) 1984-12-04 1984-12-04 Multiprocessor for graphic display

Publications (2)

Publication Number Publication Date
JPS61133482A true JPS61133482A (en) 1986-06-20
JPH0146914B2 JPH0146914B2 (en) 1989-10-11

Family

ID=17272239

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25495984A Granted JPS61133482A (en) 1984-12-04 1984-12-04 Multiprocessor for graphic display

Country Status (1)

Country Link
JP (1) JPS61133482A (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6367685A (en) * 1986-09-09 1988-03-26 Fujitsu Ltd Load dispersion method for parallel rate racing
JPS63197280A (en) * 1987-02-12 1988-08-16 Matsushita Electric Ind Co Ltd Picture recognizing device
JPS63213091A (en) * 1987-02-28 1988-09-05 Toshiba Corp Depth map preparing device
JPS63310091A (en) * 1987-06-12 1988-12-19 Agency Of Ind Science & Technol Parallel picture displaying system
JPH01175088A (en) * 1987-12-29 1989-07-11 Sony Corp Image shading device
JPH01200489A (en) * 1988-02-05 1989-08-11 Japan Radio Co Ltd Processor for three-dimensional graphic
JPH02219184A (en) * 1989-02-21 1990-08-31 Graphics Commun Technol:Kk Image processor

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6367685A (en) * 1986-09-09 1988-03-26 Fujitsu Ltd Load dispersion method for parallel rate racing
JPS63197280A (en) * 1987-02-12 1988-08-16 Matsushita Electric Ind Co Ltd Picture recognizing device
JPS63213091A (en) * 1987-02-28 1988-09-05 Toshiba Corp Depth map preparing device
JP2614223B2 (en) * 1987-02-28 1997-05-28 株式会社東芝 Depth map generator
JPS63310091A (en) * 1987-06-12 1988-12-19 Agency Of Ind Science & Technol Parallel picture displaying system
JPH01175088A (en) * 1987-12-29 1989-07-11 Sony Corp Image shading device
JPH01200489A (en) * 1988-02-05 1989-08-11 Japan Radio Co Ltd Processor for three-dimensional graphic
JPH02219184A (en) * 1989-02-21 1990-08-31 Graphics Commun Technol:Kk Image processor

Also Published As

Publication number Publication date
JPH0146914B2 (en) 1989-10-11

Similar Documents

Publication Publication Date Title
Potmesil et al. The pixel machine: a parallel image computer
US4967392A (en) Drawing processor for computer graphic system using a plurality of parallel processors which each handle a group of display screen scanlines
US5973705A (en) Geometry pipeline implemented on a SIMD machine
US5794016A (en) Parallel-processor graphics architecture
US4725831A (en) High-speed video graphics system and method for generating solid polygons on a raster display
US5990912A (en) Virtual address access to tiled surfaces
US5185856A (en) Arithmetic and logic processing unit for computer graphics system
US5274760A (en) Extendable multiple image-buffer for graphics systems
EP0486239A2 (en) Rasterization processor for a computer graphics system
JPH0535913B2 (en)
CN110675480B (en) Method and apparatus for acquiring sampling position of texture operation
JPH09245179A (en) Computer graphic device
CN110807827B (en) System generating stable barycentric coordinates and direct plane equation access
US7038692B1 (en) Method and apparatus for providing a vertex cache
JPH08255262A (en) Improvement about 3-d rendering system of computer
US6157393A (en) Apparatus and method of directing graphical data to a display device
US5321805A (en) Raster graphics engine for producing graphics on a display
US6812928B2 (en) Performance texture mapping by combining requests for image data
JPH0546592B2 (en)
US6859209B2 (en) Graphics data accumulation for improved multi-layer texture performance
JPS61133482A (en) Multiprocessor for graphic display
JPH05189549A (en) Image data processor by multiprocessor
US6963342B2 (en) Arbitration scheme for efficient parallel processing
JPH0714029A (en) Equipment and method for drawing of line
EP0486194A2 (en) Memory system

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term