JPH0146914B2 - - Google Patents

Info

Publication number
JPH0146914B2
JPH0146914B2 JP25495984A JP25495984A JPH0146914B2 JP H0146914 B2 JPH0146914 B2 JP H0146914B2 JP 25495984 A JP25495984 A JP 25495984A JP 25495984 A JP25495984 A JP 25495984A JP H0146914 B2 JPH0146914 B2 JP H0146914B2
Authority
JP
Japan
Prior art keywords
segment
processor
polygon
pixel
pixels
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
Application number
JP25495984A
Other languages
English (en)
Other versions
JPS61133482A (ja
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/ja
Publication of JPS61133482A publication Critical patent/JPS61133482A/ja
Publication of JPH0146914B2 publication Critical patent/JPH0146914B2/ja
Granted legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】 (産業上の利用分野) この発明は、ラスタースキヤンCRT上に三次
元図形を高速表示するためのマルチプロセツサシ
ステムに関する。
(従来の技術) 従来このような三次元図形表示用マルチプロセ
ツサで、隠面消去や色彩、陰影を施した三次元動
画像をリアルタイム(毎秒約30フレーム)または
それに近い速度で生成しようとするものとして、
フライトシミユレータ(IEEE Spectrum、
march 1981、pp34−38)及びEXPERTSシステ
ム(情報処理学会「グラフイツクスとCADシン
ポジウム論文集、58.12.1、pp181−188)がある。
これらのシステムでは次のような方法で画像生成
を行う。三次元世界座標系内に点、線分、多角形
のような図形要素で構成される場面を記述し、こ
れを計算機内部に記憶する。視点と投影面が与え
られると、対象となる図形をすべて、世界座標系
から画面座標系に変換する。この場合、表示すべ
き範囲として投影面上の矩形の窓とCRT画面上
の矩形の表示枠を対応づけ、投影面からの奥行き
の範囲や投影法(中心投影か平行投影か)が指定
される。第2図は世界座標系Ow−xwywzw内で視
点Pより投影面上の矩形の窓ABCDを通して眺
めたとき、中心投影によつて表示すべき範囲が点
Pを頂点とする角錐台ABCDEFGHの内部であ
ることを示している。矩形EFGHは投影面から一
定の距離だけ隔れた平面内にある。(三次元)画
面座標系Os−xsyszsは第3図のように表示画面上
の画素の座標(xs、ys)及び奥行き座標zsから作
られる左手系の直角座標系であり、表示枠をAs
OsCsDsとすれば第2図の角錐台ABCDEFGHが
第3図の直方体AsOsCsDsEsFsGsHsに写像される
ように座標変換が行われる。この直方体の内部に
ある図形はxs−ys平面に正射影することにより表
示される。第3図にはこの直方体内部の三角形
A1A2A3が正射影を受けて三角形A1′A2′A3′とし
て表示された例を示している。
ここで、複数の図形が画面上で重なりを生ずる
場合には、視点側に最も近い、すなわちzs座標値
の最も小さい図形を優先的に表示する必要があ
り、この優先関係を調べる処理は隠面消去と呼ば
れる。隠面消去には幾つかの手法があるが、その
うち画面座標系内に置かれた多数の多角形(以下
ポリゴンと呼ぶ)に対して隠面消去を行う方法と
して、スキヤンライン法とZバツフア法とがよく
使われる。表示画面は画素(ピクセル)の二次元
配列として表わされ、横1行分の画素列を走査線
(スキヤンライン)と呼ぶ。スキヤンライン法は、
三次元画面座標系内のすべてのポリゴンをys値の
一定な一枚のスキヤンライン平面で切断し、その
断面に表われるポリゴンの交差線分(これをセグ
メントと呼ぶ)のリストを作成し、これらのセグ
メントの両端点のxs座標値によつてスキヤンライ
ンを多くの区間に分割し、各々の区間で最優先と
なるポリゴンを見出そうとする方法である。第4
図はスキヤンライン法による隠面消去の簡単な例
を図示したものであり、四角形A1A2A3A4及び三
角形B1B2B3がスキヤンライン平面と、それぞれ
セグメントP1P2及びP3P4で交差し、これらのセ
グメントがスキヤンライン上の線分P1′P2′及び
P3′P4′に射影される。スキヤンラインはP1′,P3′,
P2′,P4′の分点で5つの区間に分割され、各区間
で表示すべきポリゴンを決定する。図から明らか
なように区間P3′P2′においては、セグメントP1P2
とP3P4が重なつていて前者の優先度が高いから、
ポリゴンA1A2A3A4の色と輝度でこのスキヤンラ
イン区間に属する画素を塗ればよい。また、両ポ
リゴンの境界点である点P2′に位置する画素、及
び点P1′,P4′に位置する画素については、その両
側のポリゴンまたは背景の色と輝度を適当な割合
で混合して塗ることが必要になる。この処理はポ
リゴンの境界に生ずるジヤグを除去する効果を有
する。
スキヤンライン法による隠面消去は、ポリゴン
の画素への分解処理(これをスキヤンコンバージ
ヨンと呼ぶ)及びジヤグの除去処理を行いなが
ら、画面の上から下へ(または下から上へ)向か
うスキヤンラインの順に隠面消去と塗りつぶしを
行い一画面を生成する。前述したフライトシミユ
レータ及びEXPERTSシステムではスキヤンラ
イン法による隠面消去をマルチプロセツサを用い
て実行している。例えばEXPERTSシステムで
は全画面領域を二次元的に分割し、各々の矩形の
小領域に属する部分画像に対して二次元的に配置
されたマルチプロセツサを用いて並列処理する手
法を採つている。スキヤンライン法の特長はzs
の比較回数が少ない、最終的に消去されるポリゴ
ン画素に対する無駄な輝度計算をしなくて済む;
ジヤグの除去が容易である;等の理由により全処
理量が少ないことである。スキヤンライン法の欠
点としては、表示すべきポリゴンデータをすべて
入力した後に、スキヤンライン平面との交差を求
めるための前処理として、これらのポリゴンのリ
ストに対し、ys値によるソーテイングが必要なこ
と、及びスキヤンライン平面との交差であるセグ
メントのリストに対し、xs値によるソーテイング
が必要なことである。このソーテイングの処理量
はポリゴンの個数の増加に対し非線形に増加する
ため、多数のポリゴンから成る複雑な画像の生成
のためには高機能のプロセツサを必要とし、多く
の処理時間を要する。マルチプロセツサを用いて
実行する場合、このような高機能プロセツサを数
多く配置することはコスト面から限界を生ずる。
またスキヤンライン法で並列処理する場合に、図
形が画面の一部に集中すると、マルチプロセツサ
を構成するプロセツサエレメント間に不均一な負
荷を生ずるので、均等負荷分散のための動的な制
御が必要となる。
これに対してZバツフア法による隠面消去は、
三次元画面座標系内のポリゴンをスキヤンコンバ
ートして画素(これをポリゴン画素と呼ぶことが
ある)まで分解し、画面上の同一の画素に射影さ
れる複数のポリゴン画素をそのzs座標値を比較し
て表示優先度を決定する方法であり、単純で並列
性の高いアルゴリズムである。実際にZバツフア
法で隠面消去を行うには、画面上の画素(xs
ys)毎に三原色(rM、gM、bM)と輝度IM、及びzs
座標値zMを有する画像メモリ(これらを総称して
Zバツフアと呼ぶ)を使用し、予めrM、gM、bM
IMを背景となる色と輝度で塗りつぶしておき、zM
を最大値znax(第3図参照)で満たしておく。三
次元画面座標系のポリゴンをスキヤンコンバート
してポリゴン画素の列(xi、yi、zi、ri、gi、bi
Ii)i=1、2、3、…に展開する。画素(xi
yi)におけるZバツフアメモリの値zM(xi、yi)と
ziとを比較し、zi<zMのときに限り、zM(xi、yi
をziで、IM(xi、yi)をIiで、rM(xi、yi)をriで、gM
(xi、yi)をgiで、bM(xi、yi)をbiで置き換える。
以上をすべてのポリゴンのすべてのポリゴン画素
について順次実行すれば最終的に隠面消去された
画像がrM、gM、bM、IMに得られる。このZバツフ
ア法は単純なためにハードウエア化が容易であ
り、Zバツフアメモリや隠面消去機構を備えたグ
ラフイツクデイスプレイ装置も商品化されてい
る。
(発明が解決しようとする問題点) しかし、Zバツフア法の並列性を利用した本格
的なマルチプロセツサを実現した例は従来見られ
ない。
従つて、本発明の目的は、隠面消去アルゴリズ
ムとしてZバツフア法を適用し、これを効率よく
実行するマルチプロセツサを提供することにあ
る。
(問題点を解決するための手段) 本発明の特徴は、ラスタースキヤン型表示面に
三次元図形を表示する図形表示用マルチプロセツ
サにおいて、順次入力される多角形のポリゴンデ
ータに少なく共座標変換処理及びポリゴンの周囲
画素を求める処理を行なうm個(mは自然数)の
ポリゴンプロセツサと、ポリゴンプロセツサの出
力に対しセグメントの両端点から内部画素を求め
るM×n個(M≧m、nは自然数)のセグメント
プロセツサと、セグメントプロセツサの出力に対
し画像メモリの飛び越しパターンに位置する画素
を分割して保有しセグメントプロセツサで求めら
れた画素をZバツフアによる隠面消去を行ないな
がら画像メモリに書込むM×N個(N≧n)のピ
クセルプロセツサと、ポリゴンプロセツサからセ
グメントプロセツサにデータ分配を行う第1のデ
ストリビユータと、セグメントプロセツサからピ
クセルプロセツサにデータ分配を行うM個の第2
のデストリビユータとを有し、前記画像メモリの
内容を表示する図形表示用マルチプロセツサにあ
る。
(作用) 本発明はZバツフア法を用いるので、ポリゴン
の優先関係を調べるソーテイング処理が不要で、
ポリゴン単位の並列処理が可能である。この並列
性を利用するために3種類のプロセツサエレメン
トを階層的に接続する構成が採用される。各プロ
セツサエレメントの処理内容は単純なのでハード
ウエア化に適し、その個数を増大させれば画像処
理の機能は飛躍的に増大する。
(実施例) 第1図はこの発明の実施例を示すブロツク図で
あつて、ホストプロセツサ1はバス9を経由して
m個のポリゴンプロセツサ2−1,2−2,…,
2−mに接続され、これらm個のポリゴンプロセ
ツサは、m入力M出力の第1のデストリビユータ
3に接続され、第1のデストリビユータのM本の
出力端子の内、1番目の出力端子はバス10−1
を経由してn個のセグメントプロセツサ4−1−
1,4−1−2,…,4−1−nに、以下同様に
M番目の出力端子はバス10−Mを経由してn個
のセグメントプロセツサ4−M−1,4−M−
2,…,4−M−nに接続される。n個のセグメ
ントプロセツサ4−1−1,4−1−2,…,4
−1−nは、n入力N出力の第2のデストリビユ
ータ5−1に接続され、この第2のデストリビユ
ータのN本の出力端子はN個のピクセルプロセツ
サ6−1−1,6−1−2,…,6−1−Nに接
続される。以下同様にn個のセグメントプロセツ
サ4−M−1,4−M−2,…,4−M−nは、
n入力N出力の第2のデストリビユータ5−Mに
接続され、この第2のデストリビユータのN本の
出力端子はN個のピクセルプロセツサ6−M−
1,6−M−2,…,6−M−Nに接続される。
このように、本マルチプロセツサシステムは、m
個のポリゴンプロセツサ、M×n個のセグメント
プロセツサ、M×N個のピクセルプロセツサが、
1個の第1のデストリビユータとM個の第2のデ
ストリビユータを介して階層構造的に接続されて
いる。M×N個のピクセルプロセツサの出力端子
はバス11で1本化されてビデオ発生器7に接続
され、その出力はCRT表示器8に接続されてい
る。なお、MとNは2のべき乗とし、m、nは1
mM、1nNとなるように選ぶものとす
る。
このマルチプロセツサを用いて画像生成を行う
方法を以下に述べる。ホストプロセツサ1では世
界座標系内での場面を構成するポリゴンデータを
順次発生する。1つのポリゴンデータは、その頂
点座標(xw、yw、zw)の系列、ポリゴンの色
(r、g、b)及び輝度Iで表わされる。色はポ
リゴン内部全域に適用されるが、輝度Iはポリゴ
ン内部全域に一定値を適用する場合(コンスタン
トシエーデイング)と、各頂点毎に輝度Iを与え
て内部を線形補間する場合(スムーズシエーデイ
ング)とが考えられる。輝度Iは第5図のように
曲面上の点A1における単位法線ベクトルをN1
点光源Pに向かう単位ベクトルをL1とすると、
点A1における輝度はI1=k(N1、L1)=kcosθ1
よつて計算される。ここでkは定数、θ1はN1
L1のなす角である。曲面を多数の小さなポリゴ
ンで近似する場合には、第5図に示すようにポリ
ゴンの頂点A1,A2,A3の各点で輝度I1=kcosθ1
I2=kcosθ2、I3cosθ3を求め、ポリゴンの周囲と内
部の点における輝度Iを、それぞれポリゴンプロ
セツサ及びセグメントプロセツサにおいて後に述
べる方法により線形補間する。ポリゴンが曲面の
近似でない場合はポリゴンの法線ベクトルから共
通の輝度を算出し、輝度の補間処理を省略する。
ホストプロセツサの発生するポリゴンデータの系
列はバス9に出力され、1つのポリゴンデータは
m個のポリゴンプロセツサ2−1,2−2,…,
2−mのいずれか1つに転送される。ポリゴンプ
ロセツサではポリゴンの頂点座標(xw、yw、zw
を画面座標(xs、ys、zs)に変換する。この変換
は次式で表わされる。
すなわち4成分ベクトル〔xw、yw、zw、1〕
にaijを要素とする4行4列の変換行列を乗じて、
その結果の4成分ベクトル〔pxs、pys、pzs、p〕
の第4成分pで第1、2、3成分を除算すれば
xs、ys、zsが求められる。pは平行投影の場合に
は1であり除算は不要である。座標変換の結果、
ポリゴンの全部または一部が視野外(第2図の直
方体AsOsCsDsEsFsGsHsの外部)にあればこれを
除去するクリツピング処理が必要である。それに
は上記直方体を囲む6つの平面の各々について順
に、ポリゴンとの交差線分を求め、この交差線分
より明らかに視野外となるポリゴン部分を除去し
て行く。次に、クリツピング処理されたポリゴン
の頂点座標からその周囲エツジを次のように求め
る。以下の説明では画面座標(xs、ys、zs)の添
字sを省略する。第6図に示すようなポリゴン
A1A2A3A4A5があるとき、その頂点のy座標の最
小値と最大値から最下頂点A1と最上頂点A4を求
め、左エツジ頂点列A1A2A3A4と右エツジ頂点列
A1A5A4を定める。ここでは両エツジ頂点列のy
座標値は単調に増加するものと仮定する。最下頂
点A1を通過するスキヤンラインSL1より出発し、
順次上昇するスキヤンラインSLに対し、左エツ
ジ頂点列により作られる折れ線A1A2A3A4との交
点P1及び右エツジ頂点列により作られる折れ線
A1A5A4との交点P2における(x、y、z、I)
の値を並行して求めて行く。それには各エツジに
おいて、初期値(x1、y1、z1、I1)と終値(x2
y2、z2、I2)から、dx/dy=x2−x1/y2−y1、dz/dy= z2−z1/y2−y1、dI/dy=I2−I1/y2−y1を算出してお
き、(x1、 y1、z1、I1)を初期値とし、(dx/dy、1、dz/dy、 dI/dy)を増分とする累加演算を各成分に対して行 えばよい。交点の対P1,P2が求められる毎に、
このデータが第1のデストリビユータ3に入力さ
れ、P1とP2を通過するスキヤンラインのy座標
の2進数表現における下位log2Mビツトによつて
決まる番号をもつ第1のデストリビユータ3の出
力端子に出力される。例えばM=8=23の場合、
y座標の下位3ビツトが000ならバス10−1に、
111ならバス10−8に出力される。いま、交点
の対P1,P2のデータがバス10−1に出力され
たとすると、このデータはn個のセグメントプロ
セツサ4−1−1,4−1−2,…,4−1−n
のいずれか1つに転送される。セグメントプロセ
ツサでは、点P1と点P2を両端とする線分(セグ
メント)の内部画素のx座標、z座標、輝度Iを
左エツジP1に位置する画素から右エツジP2に位
置する画素に向かつて順に求める。それにはP1
(x1、z1、I1)とP2(x2、z2、I2)とからdz/dx= z2−z1/x2−x1、dI/dx=I2−I1/x2−x1を算出してお
き、(x1、 z1、I1)を初期値とし(1、dz/dx、dI/dx)を増分と する累加演算を各成分について行えばよい。しか
し、dz/dx、dI/dxを算出するには除算を必要とする のでこの計算をセグメントプロセツサで行うこと
を避けるためにポリゴンプロセツサでdz/dx及び dI/dxを算出し、これをセグメントデータの一部と してセグメントプロセツサに転送する方法が考え
られる。この方法には大きな利点がある。それは
1つのポリゴンから得られるどのセグメントにつ
いてもdz/dx、dI/dxは一定であると考えてよいから である。例えば三角形A1A2A3の頂点データをA1
(x1、y1、z1、I1)、A2(x2、y2、z2、I2)、A3(x3
y3、z3、I3)とすれば、三角形内部におけるdz/dx 及びdI/dxは次式により算出される。
dz/dx=(y2−y1)(z3−z1)−(y3−y1)(z2
−z1)/(y2−y1)(x3−x1)−(y3−y1)(x2−x1
dI/dx=(y2−y1)(I3−I1)−(y3−y1)(I2
−I1)/(y2−y1)(x3−x1)−(y3−y1)(x2−x1
セグメントプロセツサ4−1−1,4−1−
2,…,4−1−nで求められた各画素データは
第2のデストリビユータ5−1に入力され、その
画素のx座標の2進数表現における下位log2Nビ
ツトによつて決まる番号をもつ第2のデストリビ
ユータ5−1の出力端子に接続されたピクセルプ
ロセツサに転送される。例えば、N=8=23の場
合、x座標の下位3ビツトが000ならピクセルプ
ロセツサ6−1−1に、111ならピクセルプロセ
ツサ6−1−8に転送される。
各々のピクセルプロセツサは一画面を構成する
全画素のうち、y方向にM個毎に、x方向にN個
毎に飛び越した画素について、その色(r、g、
b)と輝度I、奥行きZを記憶するZバツフアメ
モリを有している。いま、ynax=P×Q、xnax
Q×N、一画面全体の画素数をynax×xnax=PM
×QNとし、M=N=4とすれば、ピクセルプロ
セツサ4−1−1は第7図の黒丸で示すP×Q個
の画素をもつており、またピクセルプロセツサ2
−1−2は黒丸の右隣に位置するP×Q個の画素
をもつている。従つてM×N個のピクセルプロセ
ツサによつて画面全体が覆われる。ピクセルプロ
セツサでは、セグメントプロセツサから送られた
画像データ(xi、yi、zi、ri、g、bi、Ii)に対し、
yi=Myi′+m′(0m′<M)、xi=Nxi′+n′(0

n′<N)によつて決まるyi′及びxi′をアドレスと
してそのピクセルプロセツサ内部のZバツフアメ
モリをアクセスする。yi′はyiの2進数表現におけ
る下位log2Mビツトm′を取り除いた値であり、
xi′はxiの2進数表現における下位log2Nビツト
n′を取り除いた値である。アクセスされたZバツ
フアメモリの値を(zM、rM、gM、bM、IM)とし、
zi<zMのときに限りzMをziで、rMをriで、gMをgi
で、bMをgiで、IMをIiで置き換える。一方、M×
N個のピクセルプロセツサに分散して記憶された
ZバツフアメモリのうちrM、gM、bM、IMは常時周
期的に読み出され、バス11、ビデオ発生器7を
通じてCRT表示器8に表示される。
三次元場面は通常数百〜数万のポリゴンによつ
て構成されており、ホストプロセツサ1によつて
次々と発生されるポリゴンの系列は、m個のポリ
ゴンプロセツサにおいて相互干渉なく並列処理さ
れると共に、1個のポリゴンプロセツサ内部にお
いてもポリゴン間の相互干渉を考慮することなく
パイプライン的に処理することができる。ポリゴ
ンは多数のセグメントに分解されて第1のデスト
リビユータを通じてM系統のセグメントプロセツ
サ系に分配される。第1のデストリビユータはm
個のポリゴンプロセツサの発生するセグメントデ
ータを同時並行的に分配する機構を有している。
分解が進むにつれて処理量は増大するが、同時に
処理内容は単純化するので多数の専用化されたプ
ロセツサエレメントを二次元的に多数配置するこ
とによつて高性能を達成し、異なるプロエレメン
ト間の処理速度の均衡を保つている。n個のセグ
メントプロセツサから成るセグメントプロセツサ
系では、多数のセグメントを並列処理してさらに
多数の画素に分解し、第2のデストリビユータを
通じてN個のピクセルプロセツサに分配し、画像
メモリに書き込む。画面の解像度を1000×1000と
すると、この分解処理によつて作られるポリゴン
画素の総数は数百万に達するのが普通であり、リ
アルタイム動画像として表示するためにはこの処
理を1/30秒以内に実行する必要がある。本発明に
よるマルチプロセツサはこの分解処理に最も適し
た高度並列処理方式を適用することによつて上記
性能要求を達成しようとするものである。
以上が本発明によるマルチプロセツサの全体的
な構成と動作である。以下に各部の構成と動作を
詳細に説明する。
第1のデストリビユータ3は、m入力M出力の
データパスで第8図の様にMビツト幅の並列桁移
動器(シフタ)12、桁移動数を指示するシフト
カウンタ13、ビツトカウンタ14を用いて実現
される。データ入力端子15−1,15−2,
…,15−mは第1図におけるm個のポリゴンプ
ロセツサ2−1,2−2,…,2−mの出力端子
にそれぞれ接続されており、データ出力端子16
−1,16−2,…,16−Mは第1図における
M本のバス10−1,10−2,…,10−Mと
同じものである。この動作を説明するのにまず1
個のポリゴンプロセツサの発生するデータの転送
のみを考える。1つのポリゴンはy座標の連続し
たセグメントデータの系列に分解され、第1のデ
ストリビユータを通じてM系統のセグメントプロ
セツサ系に順次分配される。従つて出力端子番号
をカウントするM進のシフトカウンタ13によつ
て桁移動数を指示された巡回桁移動器12を用い
て桁移動することにより、セグメントデータの系
列がそれぞれ目的とする出力端子に送られる。1
つのセグメントデータ(以下セグメントブロツク
と呼ぶ)はその両端点のx、y、z座標値、輝度
I、それらの増分値等から成る一定の形式の固定
長ビツト数をもつデータであつて、これをビツト
毎に直列に転送する場合は、そのビツト数をビツ
トカウンタ14に設定しておき、1ビツト転送す
る毎にカウント入力17よりパルスを入力して下
降カウントし、これが0になるまで続けることに
よりセグメントブロツクを転送する。セグメント
ブロツクの転送を終了する毎にシフトカウンタ1
3を1だけ増加させる。1つのポリゴンから生成
されるこのようなセグメントの系列はそのポリゴ
ンを貫く走査線の本数だけ継続し、1つのポリゴ
ンの処理を終了すると別のポリゴンの分解処理に
移る。この時点で送出すべき出力端子番号の系列
は不連続的に変化するが、シフトカウンタ13は
基本的には一様な速度で上昇カウントを続けるも
のとし、従つてこの不連続となる期間だけポリゴ
ンプロセツサ側に待ち時間を生ずる。それには次
のポリゴンの最初のセグメントのy座標の下位
log2Mビツトがシフトカウンタの内容に一致し、
目的とする出力端子が見出されるまで待てばよ
い。このように1つのポリゴンプロセツサの発生
するセグメントデータはシフタ12を通じて断続
的に転送される。m個のポリゴンプロセツサが同
時に働いている場合は、第8図から明らかな様
に、m個の入力端子は巡回的に連続するm個の出
力端子に接続されているので、m系統のセグメン
トデータを並列に転送することができる。この場
合第8図のようなビツトシリアルの転送では長時
間を要し、また入出力端子に接続されたポリゴン
プロセツサ及びセグメントプロセツサとの同期制
御が難しく、これらのプロセツサの稼動率を低下
させるおそれがある。これらの問題点を解消する
方法及び転送制御を行う具体的な方法を第9図を
用いて説明する。第9図は第8図のシフタを例え
ば8個並列に並べて1時に1バイトづつ転送で
き、かつ入出力段にそれぞれ1バイト幅のFIFO
(先入れ先出しメモリ)19及び20をそう入し
たもので、簡単のため入出力とも最初の1系統の
み示してある。バイトカウンタ18はセグメント
ブロツクの転送制御に使われるカウンタであり、
1セグメントブロツクが例えば7バイトであれば
7進のカウンタである。ポリゴンプロセツサ2−
1で発生するセグメントブロツクは入力端子15
−1よりFIFO19に次々と書き込まれるが、
FIFO19より1セグメントブロツクが読み出し
可能な状態にあるかどうかをF/F(フリツプフ
ロツプ)23が示している。また、FIFO20か
らはセグメントブロツクがn台のセグメントプロ
セツサ4−1−1,4−1−2,…,4−1−n
によつて次々に読み出されるが、FIFO20が1
セグメントブロツクを書き込み可能な状態にある
かどうかをF/F24が示している。また、ポリ
ゴンの最初のセグメントブロツクを転送開始する
タイミングを決めるために、FIFOの出力端子2
5に現われたy座標の下位log2Mビツトとシフト
カウンタのlog2Mビツトとの一致検出回路21
と、この一致信号によつて1にセツトされるF/
F22がある。このF/F22は、シフタの入力
端子25からセグメントデータが出力側に転送可
能な状態にあることを示しており、通常はポリゴ
ンの最終セグメントブロツクの転送が終了した時
点で0にリセツトされる。以上のような機構を各
入出力端子毎に設けるものとして転送制御方法を
説明する。まず、ポリゴンプロセツサの処理速度
が十分に速く、セグメントデータの供給が滞るこ
とがなければ、F/F23は常に1にセツトされ
ており、またセグメントプロセツサの処理速度が
十分に速ければ、F/F24も常に1にセツトさ
れている。すべての入出力端子がこのような状態
にあれば、m系統の並列転送が可能であり、各系
統はF/F22によつて個別に転送制御を受け
る。すなわちF/F22が1の状態の期間では転
送を行い、0の状態の期間では転送を行わない。
この場合、入力側にあるF/F22の状態を順次
変化する行先の出力端子側に知らせるには、シフ
タ12と同じ1ビツト分のシフタを追加するか、
またはシフタ12の1ビツト分を一時的に使用す
ればよい。次に、ポリゴンプロセツサの処理が滞
つてF/F23が0にリセツトされた場合は、
F/F22を0にリセツトしてその系統の転送を
停止するとともに、一致回路21の作動を抑制す
る。ポリゴンプロセツサの処理内容を考えると、
このような処理の停滞はポリゴンのセグメントデ
ータ系列を発生する前の初期化処理において、及
び第6図における頂点A2,A3,A5のようなエツ
ジの変更点において生ずる可能性があり、後者に
よる処理の停滞時間は小さいのでFIFO19によ
つて吸収されると考えられるが、前者による処理
の停滞時間は長く、FIFO19によつて吸収し得
ない場合もあると考えられるので、以上述べたよ
うに系統別の転送制御を行うのが妥当である。こ
れに対して、セグメントプロセツサの処理が滞つ
てM個の出力端子側に設けられたF/F24が1
つ以上0にリセツトされた場合には、m系統すべ
ての転送を一時中断し、出力側全体の回復を待つ
て転送再開するように制御するのが妥当である。
その理由は、M系統のセグメントプロセツサ系に
は多数のセグメントデータが偏ることなく分配さ
れ、セグメントブロツクに対する処理も簡単なの
で、処理が停滞するとしてもM系統について一様
に起こる可能性が高いからである。以上述べたよ
うな第1のデストリビユータの構成法と転送制御
法を採ることによつてセグメントデータが効率的
に転送される。
次にセグメントプロセツサ、第2のデストリビ
ユータ、ピクセルプロセルプロセツサについて詳
細に説明する。第10図は第1図におけるセグメ
ントプロセツサ4−1−1、デストリビユータ5
−1の一部、ピクセルプロセツサ6−1−1、及
びその周辺回路を示したものである。セグメント
プロセツサ4−1−1はセグメントの両端点から
内部を補間して画素列を求めるが、具体的には以
下のような処理を行う。第11図はセグメントの
1例を拡大して描いたもので、三角形A1A2A3
2本の水平線y=y1、y=y1+1とで囲まれた台
形P1Q1Q2P2の内部がセグメントを表わしている。
セグメントは正方形状の画素の系列に分解される
が、このセグメントの場合はさらに、左エツジ
P1Q1と交差する左エツジ画素の系列、左右両エ
ツジと交差しない内部画素の系列、右エツジ
P2Q2と交差する右エツジ画素の系列に分解され
る。第12図にセグメントプロセツサの入力デー
タaと出力データbを示し、第13図に演算内容
を示す。これらの図表において、yはセグメント
のy座標を、r、g、bはセグメントの色を、
xl、zl、Ilはそれぞれ点P1におけるx座標、z座
標、輝度Iを、Δz、ΔIはx方向に1画素進んだ
ときのz座標と輝度Iの増分を、xrは右エツジ
P2Q2の左端点Q2のx座標を、hlは左エツジP1Q1
の水平距離を、hrは右エツジP2Q2の水平距離を、
nsはセグメントを構成する画素の個数を示してい
る。これらの数値を使つてセグメントの左端から
右端に向かつて画素毎にx座標、z座標、輝度
I、画素専有率αを第13図のように算出する。
xはxlの整数部分〔xl〕を初期値として順次1を
加えることによつて、zはzlを初期値として順次
Δzを加えることによつて、IはIlを初期値として
順次ΔIを加えることによつて求められる。αは
0α1の値であり、ジヤグの除去のために使
用される。第11図からわかるようにαは左エツ
ジ画素では0から1に向かつて増加し、内部画素
ではα=1を保ち、右エツジ画素では1から0に
向かつて減少する。αの値は幾何学的計算によつ
ても求められるが、セグメントプロセツサでの乗
除算を避けるため、加減算と表演算によつて求め
る方法を以下に示す。左エツジP1Q1においてP1
Q1のx座標をそれぞれxl、xl+hlとし、hl0と
する。ここでxlの小数部分をp=x−〔x〕とし、
p+hl=qとすれば、0p<1、qpが成立
し、左エツジ画素の個数は〔q〕+1となる。p
とqの値からαの系列αl0、αl1、…、αl〔q〕が求
められるが、αの値に最大1/8の誤差を許すとし
て、第14図のように4つの場合に分けて考え
る。0q<1の場合は第14図aのようにαl0
=1−p+q/2を計算すればよい。1q<3の 場合は第14図bのように、p及びq−1を1/8
精度で近似し、図の黒丸で示した最も近くの点に
近似する。このpとq−1とから数表によつて
αl0、αl1、αl2、αl3が求められる。3q<7の
場合は第14図cのようにp及びq−3を1/4精
度で近似し、同様に数表によつてαl0、αl1、…、
αl6を求める。q7の場合は第14図dのよう
にp、qをそれぞれ1/2、〔q〕+1/2で近似し、hl
=q−pとしてαl0=0、αl1=1/hl、αl2=2/hl
、 …、αl〔q〕=1とする。これは0を初期値とし
て順次1/hlを加えて1に達するまで続ければよい。
1/hlは数表で求める。
左エツジP1Q1において点Q1が点P1の左方にあ
る場合にはQ1,P1のx座標をそれぞれxl、xl+hl
とすれば以上に述べた方法によつてαの系列が求
められる。また、右エツジ画素のαの系列を求め
るには、第11図の右エツジP2Q2の左端点と右
端点のx座標をそれぞれxr、xr+hrとし、以上に
述べたと同じ方法によりαの系列を求めた後、α
の各項において1−αを算出することにより求め
られる。
以上のように求められた画素データは第12図
bに示すような形式でセグメントプロセツサ4−
1−1の出力端子34から出力され、FIFO26
に順次書き込まれる。1画素分のデータはx座標
値の下位log2Nビツトによつて決まるピクセルプ
ロセツサに転送されるが、1つのセグメントはx
座標の連続した画素の系列に分解されるから、第
1のデストリビユータ3と同様の構成をもつ第2
のデストリビユータ5−1を通じてN個のピクセ
ルプロセツサ6−1−1,6−1−2,…,6−
1−nに順次分配される。すなわち第2のデスト
リビユータ5−1は第8図のシフタと同様のNビ
ツト幅の巡回桁移動器(シフタ)を例えば8個
(1バイト分)並列に並べたものであり、出力端
子番号をカウントするシフトカウンタ27によつ
て桁移動数を指示され、バイトカウンタ28によ
つて1バイト単位の転送制御が行われる。その動
作と制御方法は第1のデストリビユータと同様で
ある。第2のデストリビユータ5−1の出力端子
36から出力された1画素分のデータはピクセル
プロセツサ6−1−1の内部にあるバツフアレジ
スタ29に書き込まれる。バツフアレジスタ29
のxi、yiは前述した方法によりZバツフアメモリ
32のアドレスを指示し、zi、ri、gi、bi、IiはZ
バツフアメモリ32に書き込まれるべきデータで
あり、αiは色と輝度の混合比として使われる。ピ
クセルプロセツサではαi=1の内部画素について
はziとzMを比較器30で比較し、zi<zMであれば
Zバツフアメモリの更新を行う。0<α1<1のエ
ツジ画素についてはジヤグの除去を行う必要があ
る。その方法を第15図に示す表示例を用いて説
明する。第15図はエツジA2A3を共有する2つ
の三角形A1A2A3とB1A2A3及びその背後に四角
形C1C2C3C4があるものとしてこれを表示した図
である。三角形A1A2A3の覆う画素のうち画素の
一部のみを占めるエツジ画素を正方形で描いてあ
る。エツジ画素は複数のポリゴンまたは背景(こ
れらを面と総称する)によつて共有されているか
ら、複数個の面の色と輝度とを適当な比率で混合
する必要がある。このジヤグの除去処理を正しく
行うには多くの計算を必要とするので、ここでは
簡単のため2つの可視の面に共有される画素に限
定し、その面積比による比率で混合してジヤグの
除去処理を行うものとする。いま画像生成処理の
過程において三角形B1A2A3と四角形C1C2C3C4
すでに処理されているものとし、三角形A1A2A3
の背後にある面の色と輝度及びz座標がZバツフ
アメモリ32のrM、gM、bM、IM、zMとしてすでに
記憶されているものとする。三角形A1A2A3のエ
ツジ画素のうち、エツジA2A3上の画素は三角形
B1A2A3の色で、エツジA1D1及びA1D2上の画素
は四角形C1C2C3C4の色で、エツジA2D1及びA3D2
上の画素は背景色で塗られている。その後に三角
形A1A2A3を処理する場合、内部画素は三角形
A1A2A3の色で塗りつぶすことになるが、エツジ
画素については、画素専有率αi(0<αi<1)の
面積をもつ部分(斜線部分)が三角形A1A2A3
内部にあるから、その色と輝度ri、gi、bi、Iiのそ
れぞれに対して、 αiri+(1−αi)rM αigi+(1−αi)gM αibi+(1−αi)bM αiIi+(1−αi)IM なる混合計算を混合器31において行い、これら
の値でrM、gM、bM、IMを更新すれば正しく表示さ
れる。次に第11図において三角形A1A2A3が三
角形B1A2A3及び四角形C1C2C3C4より以前に処理
される場合は、混合すべき相手の面の色と輝度が
Zバツフアメモリに記憶されていないので混合計
算は不可能である。この問題を解決するには、最
初は内部画素に対する処理のみを行い、エツジ画
素に対する混合計算をすべて後処理として行えば
よい。この場合、2つのポリゴンの共有エツジ上
の画素については、一方のポリゴンに属するエツ
ジ画素を内部画素として取り扱う必要がある。例
えば共有エツジA2A3上の画素は、三角形B1A2A3
に対しては内部画素とみなしてこれを塗りつぶ
し、三角形A1A2A3に対してはエツジ画素とみな
して後処理の段階で混合計算を行えばよい。
最後にビデオ発生器7の構成と動作を説明す
る。ビデオ発生器7は第16図のように画面アド
レスを発生するカウンタ40、r、g、b入力と
I入力との積を求めるROM41−1,41−
2,41−3、及びDA変換器42−1,42−
2,42−3から構成されている。カウンタ40
はN進カウンタnc′、Q進カウンタxc′、M進カウ
ンタmc′、P進カウンタyc′から成つておりNxc
+nc′が画面のx座標を、Myc′+mc′がy座標を
表わしている。nc′及びmc′はM×N個のピクセ
ルプロセツサのいずれか1つを選択し、xc′及び
yc′はZバツフアメモリのアドレスとして使われ、
第10図のアドレス入力端子38を通じてZバツ
フアメモリをアクセスする。第10図のデータ出
力端子39からZバツフアメモリの内容IM、rM
gM、bMが読み出され第16図のI、r、g、b
入力端子に転送される。ビデオ発生器ではR=r
×I、G=g×I、B=b×Iの乗算をROM4
1−1,41−2,41−3において行いその結
果をDA変換してそれぞれR、G、B出力端子に
出力する。
(発明の効果) この発明はZバツフア法による隠面消去アルゴ
リズムを並列処理するマルチプロセツサであつて
以下の利点を有する。まず、Zバツフア法の特徴
として、多数のポリゴンの優先関係を調べるソー
テイング処理が不要でポリゴン単位の並列処理が
可能であるから、ポリゴン数の多い複雑な三次元
場面の表示処理において、スキヤンライン法にお
けるように処理量が非線形に増大することがな
い。ポリゴンを分解したセグメントやピクセルの
レベルでも高度の並列処理が可能で、本マルチプ
ロセツサシステムはこれらの並列性を十分に利用
して効率よく実行する構成法を採つている。二次
元的に配置されたセグメントプロセツサ及びピク
セルプロセツサは処理内容が単純なため比較的単
純に構成でき、ハードウエア化、LSI化に適して
おり、これらを多数配置することができる。これ
らのプロセツサには画面上の走査線及び画素の飛
び越しパタンを割り当てるので、特別な制御を行
わなくても、処理量が偏ることなく均等な負荷分
散が達成され、画像メモリへのアクセス競合を起
こすことなく高い嫁動率で作動する。ポリゴンプ
ロセツサとセグメントプロセツサは必要に応じて
その個数を増減することができ、その個数を増大
することにより、極めて高性能な画像生成用マル
チプロセツサを実現できる。
【図面の簡単な説明】
第1図は本発明の実施例を示すブロツク図、第
2図は世界座標系内の視野を示す図、第3図は三
次元画面座標系を示す図、第4図は従来のスキヤ
ンライン法の説明図、第5図はポリゴンの頂点上
の輝度を求める方法を示す図、第6図はポリゴン
の周囲を求める方法を示す図、第7図は画素の飛
び越しパタンを示す図、第8図は第1のデストリ
ビユータの構成図、第9図は第1のデイストリビ
ユータの詳細な構成図、第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個の
セグメントプロセツサ、5−1,5−2,…,5
−Mは第2のデストリビユータ、6−1−1,6
−1−2,…,6−1−N,…,6−M−1,6
−M−2,…,6−M−Nは計M×N個のピクセ
ルプロセツサ、7はビデオ発生器、8はCRT表
示器、9,10−1,10−2,…,10−M,
11はデータバスである。第8図;12はシフ
タ、13はシフトカウンタ、14はビツトカウン
タ、15−1,15−2,…,15−mはデータ
入力端子、16−1,16−2,…,16−Mは
出力端子、17はカウント入力端子である。第9
図;18はバイトカウンタ、19,20はFIFO、
21は一致検出回路、22,23,24はフリツ
プフロツプ、25はシフタ入力端子である。第1
0図;26はFIFO、27はシフトカウンタ、2
8はバイトカウンタ、29はバツフアレジスタ、
30は比較器、31は混合器、32はZバツフア
メモリ、33はセグメントプロセツサ入力端子、
34はセグメントプロセツサ出力端子、35は第
2のデストリビユータ入力端子、36は第2のデ
ストリビユータ出力端子、37はカウント入力端
子、38はZバツフアメモリアドレス入力端子、
39はZバツフアメモリ出力端子である。第14
図;40は画面アドレスカウンタ、41−1,4
1−2,41−3はROM、42−1,42−
2,42−3はDA変換器である。

Claims (1)

    【特許請求の範囲】
  1. 1 ラスタースキヤン型表示面に三次元図形を表
    示する図形表示用マルチプロセツサにおいて、順
    次入力される多角形のポリゴンデータに少なく共
    座標変換処理及びポリゴンの周囲画素を求める処
    理を行なうm個(mは自然数)のポリゴンプロセ
    ツサと、ポリゴンプロセツサの出力に対しセグメ
    ントの両端点から内部画素を求めるM×n個(M
    ≧m、nは自然数)のセグメントプロセツサと、
    セグメントプロセツサの出力に対し画像メモリの
    飛び越しパターンに位置する画素を分割して保有
    しセグメントプロセツサで求められた画素をZバ
    ツフア法による隠面消去を行ないながら画像メモ
    リに書込むM×N個(N≧n)のピクセルプロセ
    ツサと、ポリゴンプロセツサからセグメントプロ
    セツサにデータ分配を行う第1のデストリビユー
    タと、セグメントプロセツサからピクセルプロセ
    ツサにデータ分配を行うM個の第2のデストリビ
    ユータとを有し、前記画像メモリの内容を表示す
    ることを特徴とする図形表示用マルチプロセツ
    サ。
JP25495984A 1984-12-04 1984-12-04 図形表示用マルチプロセツサ Granted JPS61133482A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25495984A JPS61133482A (ja) 1984-12-04 1984-12-04 図形表示用マルチプロセツサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25495984A JPS61133482A (ja) 1984-12-04 1984-12-04 図形表示用マルチプロセツサ

Publications (2)

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

Family

ID=17272239

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25495984A Granted JPS61133482A (ja) 1984-12-04 1984-12-04 図形表示用マルチプロセツサ

Country Status (1)

Country Link
JP (1) JPS61133482A (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0814853B2 (ja) * 1986-09-09 1996-02-14 富士通株式会社 並列レイトレーシングの負荷分散処理方法
JPS63197280A (ja) * 1987-02-12 1988-08-16 Matsushita Electric Ind Co Ltd 画像認識装置
JP2614223B2 (ja) * 1987-02-28 1997-05-28 株式会社東芝 デプスマツプ作成装置
JPS63310091A (ja) * 1987-06-12 1988-12-19 Agency Of Ind Science & Technol 並列画像表示方式
JP2751171B2 (ja) * 1987-12-29 1998-05-18 ソニー株式会社 画像のシェーディング装置
JP2988936B2 (ja) * 1988-02-05 1999-12-13 日本無線株式会社 三次元図形の処理装置
JPH02219184A (ja) * 1989-02-21 1990-08-31 Graphics Commun Technol:Kk 画像処理装置

Also Published As

Publication number Publication date
JPS61133482A (ja) 1986-06-20

Similar Documents

Publication Publication Date Title
US8698808B2 (en) Conversion of dashed strokes into quadratic Bèzier segment sequences
Potmesil et al. The pixel machine: a parallel image computer
KR970004118B1 (ko) 실시간 컴퓨터 화상 발생시스템의 심부 버퍼 우선순위 처리방법
CN103810742B (zh) 图像渲染方法和系统
US9508181B2 (en) Ordering and rendering buffers for complex scenes with cyclic dependency
JP3313221B2 (ja) 画像生成方法及び画像生成装置
CN111210498B (zh) 降低多边形网格的细节水平以减少被渲染几何的复杂度
US4967392A (en) Drawing processor for computer graphic system using a plurality of parallel processors which each handle a group of display screen scanlines
KR100278565B1 (ko) 그래픽 데이터 계산 수행 방법 및 그에 이용되는 데이터 프로세서
KR101349171B1 (ko) 3차원 그래픽 가속기 및 그것의 픽셀 분배 방법
US6476816B1 (en) Multi-processor graphics accelerator
US20090303245A1 (en) Technique for performing load balancing for parallel rendering
CN105321143A (zh) 来自片段着色程序的采样掩膜的控制
WO2007132746A1 (ja) 処理装置
JPH08255262A (ja) コンピュータの3dレンダリングシステムに関する改良
CN103886538A (zh) 用于存储共享顶点的技术
DE102017109472A1 (de) Stereo-mehrfach-projektion implementiert unter verwendung einer graphikverarbeitungs-pipeline
DE102020108526A1 (de) Adaptive pixelabtastreihenfolge für zeitlich dichtes rendern
CN111445003A (zh) 神经网络生成器
US4951230A (en) Method and apparatus for tiling an image
EP0377639B1 (en) Quadratic interpolation for shaded image generation
EP1410337A2 (en) Method, apparatus and article of manufacture for determining visible parts of surfaces of three-dimensional objects and their parameters of shading while accounting for light and shadow volumes
JP2006235839A (ja) 画像処理装置および画像処理方法
JPH0146914B2 (ja)
JP2957511B2 (ja) グラフィック処理装置

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term