JPH0331977A - 画像生成方式 - Google Patents

画像生成方式

Info

Publication number
JPH0331977A
JPH0331977A JP16783489A JP16783489A JPH0331977A JP H0331977 A JPH0331977 A JP H0331977A JP 16783489 A JP16783489 A JP 16783489A JP 16783489 A JP16783489 A JP 16783489A JP H0331977 A JPH0331977 A JP H0331977A
Authority
JP
Japan
Prior art keywords
data
display
span
processor
image
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
JP16783489A
Other languages
English (en)
Inventor
Hiroaki Ishihata
石畑 宏明
Hiroyuki Sato
弘幸 佐藤
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP16783489A priority Critical patent/JPH0331977A/ja
Publication of JPH0331977A publication Critical patent/JPH0331977A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [概要] 二次元又は三次元物体のモデルデータから実際の画像を
生成する画像生成方式に関し、汎用高速プロセッサによ
り高速の物体の描画表示を行なうことを目的とし、 同一の処理プログラムを格納した複数の汎用プロセッサ
を非同期の通信ネットワークを介して相互接続し、複数
プロセッサにモデルデータから画像データを生成までの
処理を分散して割り当て並列処理するように構成する。
[産業上の利用分野] 本発明は、二次元又は三次元物体のモデルデータから実
際の画像データを生成した表示させる画像生成方式に関
する。
CADやコンピュータアニメーション等において三次元
物体のモデルデータから実際の画像を高速に生成するこ
とが要求されているが、ハードウェア構成及びソフトウ
ェア開発を複雑化せず、また特定のハードウェアの性能
に制約されることなく高速処理を実現することが望まれ
る。
[従来の技術] 第9図はグラフィックス表示を行なう従来の画像生成方
式の処理フロー図である。
第9図において、まずFlでアプリケーションプログラ
ムは、通常、F2に示すライブラリなどの形で提供され
るグラフィックスライブラリを通じて画像の描画・表示
の処理を行なう。
即ち、グラフィックスプログラムは、アプリケーション
プログラムからの描画要求に従ってF3に示すディスプ
レイリストと呼ばれるデータ構造を作り出す。
F3で作成されたディスプレイリスト内のデータは、F
3において表示のためにモデリング変換、ビューイング
変換、透視変換などの座標変換を施される。通常、複雑
な三次元物体は、多数の単純な図形(部品)を組み合わ
せることにより構成する。種々の部品は、それぞれのそ
の部品固有の座標系で定義されているので、これらを拡
大縮小したり回転したりしてワールド座標系に配置し、
望みの物体を組み立てることが必要である。このための
座標変換が、モデリング変換である。
このようにして組み立てた物体をワールド座標系の任意
の位置・方向から見たように表示するためには、ワール
ド座標系で記述された物体の座標を視点座標系へ変換す
る必要がある。これが、ビューイング変換である。
即ち、ビューイング変換ではワールド座標系内に視点と
視線の方向を設定し、これを基準とした視点座標系へ全
ての物体を座標変換する。
透視変換は、与えられた視点と視線方向から適当な投影
面へ投影する変換である。このビューイング変換によっ
て三次元の図形が投影面上の二次元の図形に変換される
。投影面上の座標系を表示座標系と呼ぶ。
F4で表示座標系に変換された図形データは、次のF5
クリッピング処理が行なわれる。クリッピング処理は、
投影面に投影された図形データから、与えられた表示領
域の内部に含まれる図形のみを切り出す処理である。
F5のクリッピング処理後、F6で個々の図形はフレー
ムバッファに図形として書き込まれる。
次にF7でフレームバッファに書き込まれた三次元図形
の隠面処理とシェーディングを行なう。隠面処理は前に
ある物体で隠されて見えなくなった面を表示しないよう
にする処理である。シェーディングは、三次元図形の面
の向きと光線の方向で決まる明度で面の陰影ずけをする
ことである。シェーディングの方法には、1つの面を同
じ明るさで塗り潰すコンスタントシェーディングと、1
つの面内で明るさや色を補間して塗り潰すスムースシェ
ーディングがある。リアルな画像を作るためには、スム
ースシェーディングを行なうことが望ましい。
このようにして作られた画像データは、最終的にF8で
ディスプレイ上でちらつきなく表示するために、毎秒3
0枚から70枚程度の割合でフレームバッファから読み
出されてディスプレイに表示し続ける。
このようなグラフィックス処理による描画・表示は、通
常オペ−レータとの間の会話的な処理を通して行なわれ
、従ってオペレータの会話的な操作に追従できる程度の
応答速度が要求される。
また、あらゆる方向から見た三次元物体をディスプレイ
上に応答性良く表示するためには、全ての図形データを
ディスプレイリストから読出してから画像化するまでの
処理を一秒間に数十回行なわなければならない。
このため従来方式にあっては、座標変換やクリッピング
といった図形の処理や隠面処理、塗り潰し、シェーディ
ングといった画素の処理に専用プロセッサを使用して性
能向上を図っている。
第(0図は従来の専用プロセッサを使用した高機能グラ
フィックスハードウェアの構成図である。
第10図において、メインプロセッサ50は、ディスプ
レイリストの生成、編集、グラフィックプロセッサ70
へのデータ転送の他、外部との通信やシステム全体の制
御を行なう。このような処理を行なうメインプロセッサ
50は他の部分と比較して処理内容が複雑であるが、高
速性はさほど要求されないので、汎用のマイクロプロセ
ッサが使用される。第9図のF3に示したディスプレイ
リストは、メインプロセッサ50の主記憶60」二に作
ることもあるし、それ専用のメモリを持つこともある。
グラフィックプロセッサ70は、座標変換とクリッピン
グ、文字や図形の発生を行なう。
描画プロセッサ80は、隠面処理やシェーディングの計
算を行ない、その結果の画素データをフレームバッファ
90へ書き込む。
グラフィックプロセッサ70と描画プロセッサ80は、
比較的単純な処理を高速に実行する必要があるので、マ
イクロプログラム制御の専用プロセッサが使用される。
この場合メインプロセッサ50のバスに直接接続する密
結合型にして、プロセッサ間のデータ転送時間が処理の
ボトルネックとならないようにする。勿論、メインプロ
セッサ50とグラフィックプロセッサ60間や、グラフ
ィックプロセッサ70と描画プロセッサ80間を直接高
速バスで接続してデータ転送速度をさらに向上させてい
る。
ビデオコントローラ100は、デイスプレイエ8の表示
のためにフレームバッファ90から画像データを読出し
、アナログビデオ信号に変換した後、LUT (lin
e unit) 110を介してディスブレス18に供
給する。ディスブレス18による高解像度の表示には、
極めて高速なデータ転送速度が要求される。このために
、ビデオコントローラ100やフレームバッファ90に
は、種々の工夫がなされている。
[発明が解決しようとする課題] しかしながら、このような従来の画像生成方式にあって
は、幾つもの複雑なハードウェアを必要とするので、開
発期間が長く開発コストが高いうえ、各プロセッサの性
能バランスをとるのが難しい。また各プロセッサ間のデ
ータ転送が性能向上のうえでネックになりやすい。この
ため超高性能なものを狙うと全てのプロセッサで何らか
の並列処理を行なわなければならず、システムはさらに
複雑化する問題があった。
本発明は、このような従来の問題点に鑑みてなされたも
ので、汎用高速プロセッサの使用により高速の物体描画
表示を行なう画像生成方式を提供することを目的とする
[課題を解決するための手段] 第1図は本発明の原理説明図である。
第1図において、二次元又は三次元物体モデルデータか
ら実際の画像を生成する画像生成方式につき本発明にあ
っては、少なくとも画像メモリを備えた同一構成をもつ
複数のプロセッサエレメント10−1〜10−nと;こ
の複数のプロセッサエレメント10−t〜10−n相互
間でデータ通信を可能とする通信ネットワーク12と;
複数のプロセッサエレメント10−1〜10−nの画像
メモリの内容を順次選択してディスプレイ18等に出力
する表示出力手段14と;を備え、ホスト16からの指
令に基づきプロセッサエレメント10−1〜10−nの
並列処理によりモデルデータから画像データを生成する
ように構成する。
ここでプロセッサエレメント10−1〜1〇−nの各々
は、複数のプログラムを独立に実行するマルチタスク機
能を備え、具体的には、モデルデータから表示物体デー
タを算出する応用プログラムと、応用プログラムにより
得られた物体データの座標変換、微少多角形への分解、
クリッピング、スパン分解等の処理を行なうスパン分解
タスクと、スパン分解タスクから得られたスパンデータ
を所望のシェーディングモデルに基づいて画素データに
変換する塗り潰しタスクとの3つの処理プログラムを備
える。
更に、各プロセッサエレメント10−1〜10nの応用
プログラムは、算出された物体データがプロセッサエレ
メント全体に均等となるように通信ネットワーヘク12
を通して他のプロセッサエレメントのスパン分解タスク
に送る。
また通信ネットワーク12は、複数のプロセッサエレメ
ント10−1〜10−n間で非同期なデータ通信を行な
わせる。
[作用] このような構成を備えた本発明の画像生成方式によれば
、モデルデータを読込んでから実際の三次元物体の画像
データを生成するまで処理が多数の同一プロセッサエレ
メントの並列処理により高速で行なわれることとなり、
複数のプロセッサエレメントはハード的にもソフト的に
同一構成で良いことから、システム構成が容易であり、
簡単なシステム構成でより高速の描画。表示を行なうこ
とができる。
[実施例コ 第2図は本発明の一実施例を示した実施例構成図である
第1図において、10−1〜10−nはプロセッサエレ
メント(PE)、12は通信ネットワーク、14は表示
出力手段としてのデータマルチプレクサ、18はホスト
計算機、20はプロセッサエレメント10−1=10−
n毎に設けられた画像メモリである。
[並列計算機の構成コ ここで、並列計算機システムを構成するプロセッサエレ
メント10−1〜10−nとして、この実施例にあって
は、MIMD型(マルチ・インストラクションストリー
ム・マルチ・データストリーム型)の汎用並列計算機を
使用する。更にアーキテクチャを特定しなければ、第2
図の実施例の並列計算機システムは少なくとも次の条件
を満たすものであればよい。■通信ネットワーク12を
介して、任意のプロセッサエレメント間で非同期な通信
が行なえること;■各プロセッサエレメント1o−1〜
1〇−nで複数のプログラムが独立に実行できること(
マルチタスク処理);■各プロセッサエレメント10−
1〜10−nに画像メモリ20とその出力ポートを備え
ること;■ホスト計算機16からデータ転送や制御が行
なえること; さらに、各プロセッサエレメント10−1〜10−nの
出力ポートのデータをマルチプレクスして出力するハー
ドウェアとしてのデータマルチプレクサ14が必要であ
る。
[プロセッサエレメントの処理の分担]各プロセツサエ
レメント10−1〜10−nでは、第3図に示すように
、応用プログラム22、スパン分解タスク24.及び塗
り潰しタスク26が平行して動作する。
応用プログラム22は、表示しようとする三次元物体の
モデルデータに基づく適当な演算により表示したい物体
データを作り出す。この物体データが第9図のF3に示
したディスプレイリストに対応する。
スパン分解タスク24は、応用プログラム22が作り出
した物体データを適当な視点からのデータに座標変換し
、微小な三角形の集合に分解し、ディスプレイの表示範
囲でクリッピング処理を行ない、三角形をさらにスパン
に分解する。
塗り潰しタスク26は、スパンデータを適当なシェーデ
ィングモデルに基づいて画素に変換する。
更に詳細に説明すると次のようになる。
[応用プログラム22] 科学技術計算等の計算部分を並列処理し、計算結果から
三次元表示すべき物体データを生み出す。
これらの物体データは通信ネットワーク12を経由して
複数のプロセッサエレメント10−1〜10−nの全体
に均等になるように各プロセッサエレメント10−1〜
10−nのスパン分解タスク24へ送られる。例えば、
計算結果から全てのプロセッサエレメントがほぼ同じく
らいのデータを生成するならば、通信ネットワーク12
を使わないで自分のスパン分解タスク24のみにデータ
を送る。データ生成量に大きなばらつきが有りそうな場
合は、データの送り先をプロセッサニレメン)10−1
〜10−nまで順番に変えれば良い。
[スパン分解タスク24] 応用プログラム22が生成した物体データを表示の基本
要素である三角形板(四角形板でも良い)に分解する。
この分解処理は、応用プログラム22がどのようなデー
タを生み出すかで処理が異なる。基本要素(三角形、四
角形等)に分解された物体データは、視点の位置に従っ
て座標変換が行なわれる。
グラフィックス処理における座標変換は、二次元図形の
場合は第4図(a)に示す3×3マトリクス演算、三次
元図形の場合は同図(b)に示す4×4のマトリクスの
演算に帰着する。マトリクスAの部分は図形の回転を、
Bの部分は投影を、Cの部分は並行移動を、Dの部分は
全体のスケーリングを表すパラメータである。図形を構
成する全ての点の座標について、このマトリクスを掛け
て座標変換が行なわれる。
次に、座標変換後の図形がディスプレイの表示範囲内に
存在するかどうかをチエツクするクリッピング処理を行
なう。クリッピング処理は、第5図に示すように、表示
領域28からはみ出した線分や図形を切り取る処理であ
る。
次に個々の三角形を塗り潰しタスク26が必要とするス
パンデータに分解する。三角形の各頂点には、その点の
色や輝度が与えられているので、その値を補間して個々
のスパンデータを計算する。
スパンデータは、スパンの開始位置、スパンの長さ、開
始位置の色情報、スパン方向での色の変化率、奥行き方
向の変化率から構成される。
このようにして計算されたスパンデータは塗り潰しタス
ク26へ送られる。
[塗り潰しタスク26] 塗り潰しタスク26では、第6図のように1画面分の画
像データ30をライン分割して複数のプロセッサエレメ
ント10・−1〜10−nの各々が担当する領域に分け
る。この場合、表示のための読出しが横方向ならば、プ
ロセッサエレメント10−1〜10−nは図示のように
縦ラインによる分割領域を割付け、一方、表示読出しが
縦方向ならば、横ラインによる分割領域を割付ける。
尚、画像データ28の割付けは固定とする。
例えばn台のプロセッサエレメント10−1〜10−n
が画像を担当する場合は、プロセッサエレメント10−
1はtライン目、プロセッサエレメント10−2は2ラ
イン目、・・・プロセッサエレメント10−nはnライ
ン目を担当する。n十1ライン目は、再びプロセッサエ
レメント10−tが担当する。
従って、スパン分解タスク24は、この領域割付けから
自分の生成したスパンデータを送る先を容易に知ること
ができる。塗り潰しタスク26は、スパン分解タスク2
4からのスパンデータからシェーディングモデルに従っ
て画素の輝度値補間と画像メモリの塗り潰しを第8図に
示すように行なう。
第7図(a)は3つの図形データ32. 34゜36を
プロセッサエレメント10−1.10−2゜10−3の
各々に分配した状態を示し、各プロセッサエレメント1
0−1〜10−3は分配された図形32〜26をスパン
分解し、スパン分解により得られたスパンデータを画素
を担当するプロセッサエレメントに送る。
第7図(b)はプロセッサエレメント10−1の画像メ
モリ20の塗り潰しを示し、破線で示す割付は領域につ
き、図形32については自分のスパンデータを使用し、
画像34についてはプロセッサエレメント10−2から
送られたスパンデータを使用し、更に図形36について
はプロセッサエレメント10−3から送られたスパンデ
ータを使用する。
第8図(a)にグーロシエーディングによる補間方法を
示し、また同図(b)にフォンシェーディングによる補
間の方法を示す。
三次元図形の明度は、その面の向きと光源の方向、視点
の位置などから求められる。
第8図(a)のグーローシェーディングは、1つの図形
の内部の明度を、その図形の各頂点Pの明度Iの線型補
間で求める方法である。即ち、各頂点P。−P、の明度
I。−I3からスキャンラインとエツジの交点P。l+
  P(12I  P’o3の明度I。1゜I 02+
  103を求め、更に明度101と102の間、10
2と1゜3の間を線形に補間する。
一方、第8図(b)のフォンシェーディングでは、明度
を求めたい点Pの法線ベクトルNをその図形の各頂点の
法線ベクトルを線形補間することにより求め、その法線
ベクトルからその点の明度を計算する。即ち、各頂点P
O〜P3の法線ベクトルN0−N3からスキャンライン
とエツジの交点P O1+  P O’:’+  P 
03での法線ベクトルN O1+  N 02+NOI
を求め、更にベクトルN。1とN。2の間、No2とN
。3の間を線形に補間して求めた法線ベクトルN8をを
使用してその位置の明度!、を求める。
グーローシェーディングは、1つの面内で明度の変化率
は一定であり変化しないので、適当な初期値に変化率を
順次積算していくインクリメンタルな方法で明度を補間
していくことができる。
隠面処理は、2バツフアアルゴリズム等で行なう。Zバ
ッファアルゴリズムは、画像データの各画素に対応させ
て、その画素の視点からの距離を記憶するメモリ(2バ
ツフア)を使用して隠面処理を行なうものである。まず
、図形の描画を始める前に、Zバッファをクリヤ(無限
遠の値にセット)する。画素を書き込む場合には、書き
込む画素のZの値と2バツフア内のZの値を比較する。
その結果、書き込む画素が書かれていた画素よりも手前
にあれば、その画素は見えるものと判断して画像メモリ
に書き込む。そうでない場合は、その画素は見えないも
のとして無視する。
[画像の表示] 各プロセッサエレメント10−1〜10−nの各々に設
けられた画像メモリ20の内容は、順次出力ボートから
出力される。出力ポートからのデータは、データマルチ
プレクサ14でディスプレイ18のリフレッシュ速度に
見合うように多重化されて、ディスプレイ18に表示さ
れる。画像データの続出速度は固定であるため、容易に
多重化が行なえる。
[発明の効果〕 以上説明してきたように本発明によれば、特殊なハード
ウェアを用いる代わりに、高性能の並列計算機を用いて
高速な三次元図形描画、表示が可能となハードウェア及
びソフトウェアを複雑化することなく高速の描画・表示
ができる。
また計算自体のほかに、描画処理も並列化することによ
り並列接続された計算機の利用効率を向上できる。
更に画像データの表示も並列に読出しされるデータを多
重化するだけで高解像度ディスプレイに対応できるデー
タ転送速度を実現できる。
【図面の簡単な説明】
第1図は本発明の原理説明図; 第2図は本発明の実施例構成図; 第3図は本発明のプロセッサ処理プログラム構成図; 第4図は本発明のマトリクスによる座標変換説明図; 第5図は本発明のクリッピング処理説明図;第6図は本
発明のプロセッサエレメント画像データ割付図・ 第7図は本発明の塗潰し処理説明図; 第8図は本発明のスムースシェーディング処理説明図; 第9図は従来方式の処理フロー図; 第10図は従来方式の構成図である。 図中、 10−1〜10−n :プロセッサエレメント(PE)
】2:通信ネットワーク 14:表示出力手段(データマルチプレクサ)16:ホ
スト(ホスト計算機) 18:ディスプレイ 20:画像メモリ 22:応用プログラム 24・スパン分解タスク 26:塗り潰しタスク 28:表示領域 30:画像データ 32゜ 34゜ 36:図形

Claims (5)

    【特許請求の範囲】
  1. (1)二次元又は三次元物体のモデルデータから実際の
    画像を生成する画像生成方式に於いて、少なくとも画像
    メモリを備えた同一構成をもつ複数のプロセッサエレメ
    ント(10−1〜10−n)と;該複数のプロセッサエ
    レメント(10−1〜10−n)相互間でのデータ通信
    を可能とする通信ネットワー(12)と; 前記複数のプロセッサエレメント(10−1〜10−n
    )の画像メモリの内容を順次選択してディスプレイ(1
    8)等に出力する表示出力手段(14)と;を備え、ホ
    スト(16)からの指令に基づき前記プロセッサエレメ
    ント(10−1〜10−n)の並列処理によりモデルデ
    ータから画像データを生成することを特徴とする画像生
    成方式。
  2. (2)前記プロセッサエレメント(10−1〜10−n
    )の各々は、複数のプログラムを独立に実行するマルチ
    タスク機能を備えたことを特徴とする請求項1記載の画
    像生成方式。
  3. (3)前記プロセッサエレメント(10−1〜10−n
    )の各々は、モデルデータから表示物体データを算出す
    る応用プログラムと、該応用プログラムにより得られた
    物体データの座標変換、微少多角形への分解、クリッピ
    ング、スパン分解等の処理を行なうスパン分解タスクと
    、該スパン分解タスクから得られたスパンデータを所望
    のシェーディングモデルに基づいて画素データに変換す
    る塗り潰しタスクとの3つの処理プログラムを備えたこ
    とを特徴とする請求項1記載の画像生成方式。
  4. (4)前記プロセッサエレメント(10−1〜10−n
    )の各応用プログラムは、算出された物体データが全体
    に均等になるように前記通信ネットワーク(12)を介
    して他のプロセッサエレメントのスパン分解タスクに送
    ることを特徴とする請求項3記載の画像生成方式。
  5. (5)前記通信ネットワーク(12)は、前記複数のプ
    ロセッサエレメント(10−1〜10−n)間で非同期
    なデータ通信を行なうことを特徴とする請求項1記載の
    画像生成方式。
JP16783489A 1989-06-29 1989-06-29 画像生成方式 Pending JPH0331977A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16783489A JPH0331977A (ja) 1989-06-29 1989-06-29 画像生成方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16783489A JPH0331977A (ja) 1989-06-29 1989-06-29 画像生成方式

Publications (1)

Publication Number Publication Date
JPH0331977A true JPH0331977A (ja) 1991-02-12

Family

ID=15856950

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16783489A Pending JPH0331977A (ja) 1989-06-29 1989-06-29 画像生成方式

Country Status (1)

Country Link
JP (1) JPH0331977A (ja)

Similar Documents

Publication Publication Date Title
US5729672A (en) Ray tracing method and apparatus for projecting rays through an object represented by a set of infinite surfaces
US5856829A (en) Inverse Z-buffer and video display system having list-based control mechanism for time-deferred instructing of 3D rendering engine that also responds to supervisory immediate commands
Torborg et al. Talisman: Commodity realtime 3D graphics for the PC
Potmesil et al. The pixel machine: a parallel image computer
KR100887012B1 (ko) 그래픽 처리 서브시스템 및 픽셀 단편에 대해 적어도하나의 값을 결정하기 위한 방법
US5850224A (en) Three dimensional parallel drawing apparatus for synthesizing graphics data with image data using a pixel depth buffer and an image depth register
US5274760A (en) Extendable multiple image-buffer for graphics systems
US5307450A (en) Z-subdivision for improved texture mapping
US7924287B2 (en) Method and system for minimizing an amount of data needed to test data against subarea boundaries in spatially composited digital video
US5251322A (en) Method of operating a computer graphics system including asynchronously traversing its nodes
JPH08503563A (ja) 画像発生アーキテクチャおよび装置
WO1989001664A1 (en) High performance graphics workstation
US7616202B1 (en) Compaction of z-only samples
Ikedo A real-time video-image mapping using polygon rendering techniques
JPH09185593A (ja) マルチプロセッサ装置
JPH0714029A (ja) 線描画装置及び方法
US7372461B2 (en) Image processing apparatus and method of same
JPH0652051A (ja) 階層メモリ制御
US6563507B1 (en) Storage circuit control device and graphic computation device
JPH0331977A (ja) 画像生成方式
US6476818B1 (en) Storage circuit control device and graphic computation device
Ackland et al. Real time animation playback on a frame store display system
US8576219B2 (en) Linear interpolation of triangles using digital differential analysis
Krogh et al. Parallel sphere rendering
JPH06309471A (ja) 3次元グラフィックス描画装置