JPH02190897A - コンピュータシステムに表示され且つ操作される線分の位置を決定する回路 - Google Patents

コンピュータシステムに表示され且つ操作される線分の位置を決定する回路

Info

Publication number
JPH02190897A
JPH02190897A JP1288089A JP28808989A JPH02190897A JP H02190897 A JPH02190897 A JP H02190897A JP 1288089 A JP1288089 A JP 1288089A JP 28808989 A JP28808989 A JP 28808989A JP H02190897 A JPH02190897 A JP H02190897A
Authority
JP
Japan
Prior art keywords
value
line segment
term
change
circuit
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
JP1288089A
Other languages
English (en)
Other versions
JP2787487B2 (ja
Inventor
Chris Malachowsky
クリス・マラコフスキイ
Curtis Priem
カーチス・プリーム
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH02190897A publication Critical patent/JPH02190897A/ja
Application granted granted Critical
Publication of JP2787487B2 publication Critical patent/JP2787487B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Generation (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はコンピュータシステムに関し、特に、コンピュ
ータシステムの出力表示装置に表示されるべき走査線の
個々の点の位置を確定する回路に関する。
〔従来の技術及び発明が解決しようとする問題点〕
図形表示を実行するためにコンピュータを利用する場合
の主な問題点は、陰極線管(CRT )に提示すべき図
形材料の1フレームごとに、陰極線管の各位置(画素)
について表示すべき情報を表示するものを記憶すること
が通常必要であるという点にある。大型で高解像度の表
示装置では、陰極線管の画素数は水平方向、垂直方向の
いずれにも約千個以上になると考えられ、合わせて約百
万個以上の画素に関する情報を記憶しなければならない
。陰極線管にいくつかの異なる色を現わすことができる
好ましいシステムにおいては、各画素は特定の色出力を
指定する8ビツトのデジタル情報を含む。従って、出力
装置に提示すべきフレームごとに、約へ百万ビットの情
報を記憶しなければならない。
表示装置のフレームごとに、各画素についてカラー情報
を提供しなければならないばかりでなく、図形表示を生
成する場合、図形の形状を確定する通常の方法に工れば
、図形の形状を規定する九めに、様々なアルゴリズムを
適用することも必要でアル。この情報をシステムのソフ
トウェアで処理すると、表示すべきそれぞれの点の位置
を計算し、その点に表示すべきデータを確定しなければ
ならなくなるため、システムの動作は、アニメーション
などの機能が実質的に不可能になるほど遅くなってしま
う。たとえば、出力表示装置に多角形を提示するために
は、情報が水平走査線によって表示装置に供給されるこ
とから、多角形を構成する各走査線の両端部を確定する
必要がある。従来のシステムにおいては、出力表示装置
へ走査されるべきそれぞれの線の端部の確定には、中央
処理装置(CPU)により実行されるソフトウェアを使
用して提示すべき各図形形状のそれぞれの走査線につい
て終端値を評価することが必要であった。このような構
成では、図形を提示するのに要する時間は、顕著な表示
の遅れを招くまでに長くなる。
このため、動作をスピードアンプできるようにハードウ
ェアを利用する様々なシステムが示唆されている。動作
を速くする1つの方法では、2つの出力フレームバッフ
ァを使用し、一方のバッファの内容が表示装置へ走査さ
れている間に他方のバッファをロードする。このような
システムは動作を著しく速くはするが、記憶装置を実現
するためにほぼ2倍の記憶容量を必要とする。
従って、本発明の目的は、コンピュータシステムの動作
速度を増すことである。
本発明の目的は、通常の場合には、これまで、コンピュ
ータシステムのソフトウェアにより処理されていた図形
材料の操作をハードウェアで処理fるための回W!を提
供することである。
本発明の付加的な目的は、出力表示装置へ走査されるべ
き線の端部のX座標とY座標を確定する回路を提供する
ことである。
〔問題点を解決するための手段〕
本発明の上記の目的及びその他の目的は、単一の出力表
示用バンファのみを使用して高速図形表示を実行できる
ようにした独自の図形提示の考えを利用する新規な出力
表示システムにおいて実現される。
図形提示を実現するためにハードウェアを使用すること
ができるようにする友めに、ハードウェアに提供される
情報は、それが表示装置に描出されるべき形状の種類に
かかわらず本質的に同じ性質のものであるならば、Xt
)迅速に処理されることがわかっている。システムは、
形状を、それぞれが四辺形である複数の下位部分から構
成されると考える図形形状の定義を基礎としている。四
辺形の4つの頂点に関する情報のみを処理することによ
り四辺影画像を高速で表示する回路が提供される。この
ような四辺形は、全て、図形提示用ハードウェアにより
同様に処理され、表示装置において再び組合されて、所
望の形状を構成する。
システムは、四辺形を、出力表示装置に提示されるべき
走査線から成る1つの台形領域を境界限定する複数対の
線分から構成される複数の下位部分に分割する。それぞ
れの台形の中の各走査線の両端部のX座標とY座標をそ
の後に確定する。本発明は、出力表示装置に表示される
べき四辺形図形に含まれる走査線それぞれの両端部を同
時に確定する回路に関する。
本発明のシステム及び回路は、動作が最も速く進行する
ように形状を分解する最適の方法を選択するために考案
された。たとえば、分解すべき形状の一部のみがクリッ
プウィンドウの中にあシ、別の部分はクリップウィンド
ウの上方又は下方に位置している場合、クリップウィン
ドウの外にある部分を処理する必要がなければ、動作は
一層迅速に進行するであろう。これは、分解を上から下
へ又は下から上へ進めれば可能になると考えられる。さ
らに、コンピュータシステムで使用されるランダムアク
セスメモリは、一般に、ページと呼ばれる複数のグルー
プに分割されるが、1つのページの第1のアドレスから
別のページの第2のアドレスへ進む(ページ境界を越え
る)よL  1つのページの中でメモリをアクセスする
ほうが、時間は短くてすむ。動作を下から上へ進める場
合、所定の走査線の処理が通常のように左から右へ進行
するのではなく、右から左へ進行するならば、メモリ中
で越えなければならないページ境界の数は少なくなる。
ページ境界を越える回数が減っても、動作をスピードア
ンプすることができる。
本発明のシステム及びその動作により実行される分解と
走査線処理は左から右又は右から左のいずれかの方向で
、また、上から下又は下から上のいずれかの方向で進行
する。さらに、回路は、図形が互いに交わる線分から構
成されている場合でも、各走査線の始夛と終りの線を確
定することができる。本発明の回路はそのような直線座
標を提供する能力を備えているので、図形情報を出力表
示装置へ迅速に転送することができる。
本発明の上述の、そしてその他の目的と特徴は、図面中
のいくつかの図と共に以下の詳細な説明を参照すること
により、当業者には明白になるであろう。尚、図面中、
いくつ力)の図を通して、同じ図中符号は同様の部分を
示す。
〔表記法及び用語〕
以下の詳細な説明は、一部で、コンピュータメモリ内に
おけるデータビットの操作を、アルゴリズム及び記号表
示で表わしている。このアルゴリズムによる説明や表示
は、データ処理技術の分野を熟知した人がその分野の他
の人に作業の実体を最も有効に伝達する友めに利用する
手段である。
−船釣にもそうであるが、この明細書では、アルゴリズ
ムは、所望の結果に至る首尾一貫した一連のステップで
あると考えられている。それらのステップは、物理量の
物理的操作を必要とするステップである。通常、物理#
Fi記憶、転送2組合せ、比較及びその他の方法による
操作が可能である電気的信号又は磁気信号の形態をとる
が、必ずそうである必要はない。一般に共通して使用す
る用語という点を主に考慮して、そのような信号をピン
ト、値、要素、記号1文字1項、数などと呼ぶと好都合
なときがある。しかしながら、それらの用語及びそれに
類する用語は、全て、適切な物理囮と関連するものであ
り、単に、そのような刀に便宜上付されたラベルである
にすぎないということに留意すべきである。
さらに、実行される操作は、一般には人間のオペレータ
が実行するメンタルな操作と関連している加算又は比較
などの用語で呼ばれることが多い。
本発明の一部を成す、ここで説明する動作においては、
オペレータのそのような能力は、多くの場合、不要であ
るか又は望ましくなく、動作は機械動作である。本発明
の動作を実行するのに有用な機械には、汎用デジタルコ
ンピュータ及びその他のP1様なHeがある。いずれに
しても、コンピュータを操作するときの方法動作と、演
算方法それ自体との区別を心に留めておかねばならない
。本発明は、電気的信号又はその他の(念とえば、機械
的、化学的)物理的信号を処理して、別の所望の物理的
信号を発生する際にコンピュータを動作させるための方
法過程に関する。
本発明は、このような動作を実行する装置にも関する。
この装置は必要な目的のために特別に構成されても良い
が、汎用コンピュータを、コンピュータに記憶されたコ
ンピュータプログラムに↓ジ選択的に動作させるか又は
再構成しても良い。
ここに提示するアルゴリズムは、本来、特定のコンピュ
ータ又は他の装置に関連するものではない。
詳細にいえば、ここに示す教示に従ってプログラムを書
込んだ上で様々な汎用機械を使用できる。
あるいは、必要な方法過程を実行するためには、ニジ専
門化させた装Rを設計するほうが好都合であると判明す
るかもしれない。このような多様な機械について要求さ
れる構造は、以下の説明から明白になるであろう。
〔実施例〕
以下、添付の図面を参照して本発明の詳細な説BAする
コンピュータシステムの設計にあたっては、図形画像の
表示によジ大半の機械の動作が相補に遅くなることがわ
かっている。このようかスピードダウンは、コンピュー
タが出力表示装置に提示すべきフレームごとに扱わなけ
ればならない情報の量が厖大であることと、図形画像提
示のために大量の情報を操作するときに中央処理装置(
CPU)の無理な使い力)たが必要になることによって
起こる。
このことは、出力表示装置に複数の「ウィンドウ」を含
むインタフェースを利用するシステムに特に当てはまる
。そのようなシステムにおいては、メモリの、瞬時呼出
しのために利用可能な部分に、−度に、2つ以上のプロ
グラムが記憶される。その工うな各プログラムのテキス
ト出力と図形出力は、出力表示装置に、ウィンドウ又は
クリップウィンドウと呼ばれる特定の1組の規定境界に
囲まれる形で現われることになっている。それぞれのウ
ィンドウは他のウィンドウと重なっていても良く、「前
面のウィンドウJが現在作業中のファイルを構成する。
通常、コンピュータのオペレータは一度に1つのウィン
ドウでのみプログラムを操作するが、別のウィンドウの
プログラムへすげやく切換えて、そのプログラムで作業
を進めることは可能である。一般に、ウィンドウは、ウ
ィンドウを使用しない操作と比べて、かなり大きな記憶
容量と時間を必要とする。
本発明がその一部を成すシステムは、情報を瞬時に利用
できるように大半の動作をハードウェアで処理すること
により、コンピュータグラフィックスの表示をスピード
アップする。図形の提示を実現するのにハードウェアを
使用することができる工う罠する九めに、システムは、
表示装置に提示すべき図形画像を、全て八−ドウエアに
ょフ同じように処理しうる四辺形に分割する。システム
はそれらの四辺形を増上げ、出力表示装置に提示すべき
圏じ走査線を範囲規定する線分にさらに細分する。走査
線は、実際には、1つの台形を形成している。次に、各
走査線の両端部のX座標とY座標を本発明の回路により
確定する。システムはその直線座標を取上げ、連続走査
線に変換する。
それらの連続走査線はフレームバッファに記憶され、出
力表示装置に表示されれば良い。
第1図は、コンピュータの出力装置に個々に表示される
ときには完成した元の形状を示す2つの四辺形8及び9
に分割され次色形形状を表わす図である。第1図に示す
形状は単純であるが、実質的に@シなく複雑な形状でも
、十分に多数の小さな独立した四辺形を設定するならば
表示できることは当業者には明白であろう。実際問題と
して、本発明のシステムは、非常に複雑な三次元の動く
形状を表示するために利用されている。
第3図は、本発明に従って構成された、汎用コンピュー
タシステムと組合せて使用可能な図形出力システム10
を示すブロック線図である。このシステム10は、コン
ピュータシステムの中央処理装置(図示せず)から、所
望の図形形状に関する情報を受信するバスインタフェー
ス論理12を含ム。バスインタフェース論理12は、入
力が転送されるべきシステム10の特定の部分を指定す
る情報を、アドレス線を介して受信する。バスインクフ
ェース論理12は、色記述データなどの実際のデータを
入力データ線を介して受信する。バスインタフェース論
理12は、情報を処理すべき方式を指定する制御信号を
制御線を介してさらに受信する。
本発明に従って四辺形から図形表示を構成する場合、入
力情報は、表示される情報が現われるべき特定のウィン
ドウを規定する矩形領域の座標と、四辺形の座標(頂点
)と、それぞれの四辺形に関する色データとを含む。四
辺形を表示するときに提示されるべき色のデータは、デ
ータ経路/メモリインタフェース段22に記憶される。
四辺形の頂点と、クリップウィンドウ情報は、座標ステ
ージング回路14に記憶される。この回路14は、レジ
スタやゲーティング回路などの従来から良く知られてい
る手段によって入力情報の比較全実行するハードウェア
を含む。
実行される比較は、各頂点の各X値とその他の頂点それ
ぞれのX値との比較、各頂点の各Y値とその他の頂点そ
れぞれのY値との比較、及び頂点のX値とY値それぞれ
と、情報が提示されるべきクリップウィンドウの縁部の
X値及びY値との比較である。これはハードウェアによ
ジ実行されるので、情報はシステム10に対して直ちに
利用可能な状態に′tりす、システムのクロック時間が
失なわれることはガい。
座標ステージング回路14で利用できる四辺形の頂点と
、クリップウィンドウに関する情報は、座標順序付は回
路16に提供され、この回路16において、四辺形は、
それぞれが元の四辺形の2つの線分を含む一連の下位部
分に分解される。それらの下位部分り、それぞれ、線分
が四辺形の一連の平行な水平走査線により描出可能であ
るような1つの領域を規定するように選択される。尚、
各走査線は線分の一方に位置するX始り値と、他方の線
分にあるX終り値とを有する。本質においてけ、2つの
線分は、四辺形の形状を考えてできる限p多くの数のY
(水平)走査線を含む台形を規定する。全ての下位部分
のあらゆる走査線が表示袋fRK描出されると、四辺形
は全体として規定されることになる。
第2図(Il)から第2図(d)は、本発明に従って下
位部分に分割され次1つの四辺形を示す。第2図(a)
には分解前の四辺形を示し、その下位部分を第2図(b
)から第2図(d)に示す。第2図かられかるように、
それぞれの下位部分は、出力表示装置に提示されるとき
、四辺形を規定する一方の線分から始−!す、他方の線
分で終わる一連の水平走Xiを含む。四辺形の各下位部
分の走査線は、元の四辺形の台形の一部分を表わす。全
ての台形下位部分のそれらの水平走査線が、出力表示装
置への提示のために、フレームバッファへ走査されたと
き、四辺形の形状全体が表示装置において再構成される
再び第3図に戻って説明すると、四辺形が下位部分に分
解された後、個々のY走査線は、機能アドレッシイグ段
18で確定された始りX値と、終vX値とを有する。本
発明の好ましい実施例によれば、これは、四辺形の分解
された下位部分の中にある各走査線の始りと終りのX値
を構成する特定の画素を確定する回路を使用す・ること
によジ実行される。この機能アドレッシング段18は、
特定の四辺形をクリップウィンドウに当てはめるために
必要なりリッピングの一部をさらに実行し、信号をマス
ク発生段20へ転送する。マスク発生段20は、情報を
、各走査線の始りと終りを指定して、データ経路/メモ
リインタフェース段22をアドレスするために使用され
る16画素部分に配列する。
マスク発生信号は直線アドレス発生器24にも供給され
る。このアドレス発生器24は、マスク発生段20によ
シ提供された直線アドレスを、出力表示装置のフレーム
ノくツファを直線的にアト・レスするための信号に変換
する。この時点で、データ経路/メモワインタフエース
段22においてメモリに保持され−Cいた、表示すべき
四辺形に関する色データは、出力表示装置の(フレーム
)ノ(ツファへ転送される。
この明細書で考慮する発明は、最終的には出力表示装置
に1本の走査線として提供される、四辺形の各下位部分
の中のそれぞれの水平線の両端部を確定する装置及び方
法に関する。本発明は第3図に示す図形システムとの関
連で説明されるが、コンピュータシステムに図形表示出
力を供給するそれ以外のシステムにも本発明を広く適用
できることは、当業者には了承されるであろう。
本発明の回路は、各四辺形を複数の下位部分に分解する
回路から、この図形システムが関連しているコンピュー
タシステムの出力表示装置に表示されるべき一連の共通
水平線を規定する複数対の線分を表わす入力信号を受信
する。それらの入力信号は、共通のY値を有する特定の
台形領域の境界を限定する線分の頂点の直線座標として
、回路に供給される。このような入力信号を発生する回
路は、これも本出願と同じ日に出願されている同時係属
特許出願−出願番号     名称r Method 
and Apparatus for Decompo
singGraphics Images for D
isplay and Manipulationby
 a Computer System J 、発明者
C,Malachowaky−に記載されている。
本発明の回路に供給される線位置情報は四辺形の特定の
下位部分を規定する線分の頂点しか含んでいないのに対
し、出力表示装置は情報を走査線ごとに処理するので、
関心ある四辺形を完成するために出力表示装置に走査線
を提供できるように、線分により両端を限定される水平
Y走査線のそれぞれの終端点を確定することが必要であ
る。
陰極線管などの出力表示装置に1本の直線を描くとき、
その線は隣接する走査線上にある一連の画素により規定
される。描出すべき線が水平である場合、始りの画素と
終りの画素のアドレスが供給されれば、その線を描くの
に、表示装置の走査線は1本で十分である。線が垂直で
ある場合には、多数の隣接する走査線からそれぞれ1つ
ずつ画素をとって、表示装置に書込まなければならない
水平と垂直との間の線の画素の数は、走査線ごとに、線
の傾きに工って異なる。線の傾きが小さければ、多数の
隣接する走査線のそれぞれに多数の隣接する画素を描い
てゆき、線が完成するまでそれを続ける。各走査線にあ
るそれぞれの隣接画素列の始りと終りのX値がわかれば
、表示装置側で間に入るべき画素を埋めて、線を完成で
きるであろう。
表示装置へ走査されるべき台形を描出するためには、そ
れらの台形の辺を規定する線分それぞれに関連する各走
査線上の位置を知らなければならない。このことは、各
走査線を始めるときと終わらせるとき、また、走査線を
クリップウィンドウに当てはめるためにクリップすると
きに重要である。線分を横切ってクリッピングが起こる
場合には、各線分のうち、描出すべき部分を確定する方
法を考案しなければならない。本発明の回路の考えは、
各走査線上のそのような始りと終りの点を確定するもの
である。
本発明の回路は、1つの下位部分を規定する2つの線分
をそれぞれ同時に処理できるように、2つの同様の回路
部分を含む。各回路部分は、まず、1つの線分の一方の
頂点から動作を始め、その線分の傾きを計算し、その計
算結果から、線分のX値とY値のうち、大きな割合で増
加しているほうを確定し、傾きに基づいて減分すべき初
期誤差値を確定して記憶し、第1の頂点から値をプロッ
トし始める。誤差値は、線分の正確な経路と、実際に発
生された画素との、最大の動きの軸に対し垂直な離間距
離を測定するために選択される。Xの値がYより速く変
化している場合には、ステップごとにXは1画素ずつ増
分(又は減分)され、−方、Yの変化は、誤差値がゼロ
以下に達するまで、誤差値から減じられる。このように
して、Y値を増分(又は減分)すべきXの値を確定する
。このX値は特定の線分に関する#!シのX値として記
憶され、そこで、Y値が増分(又は減分)される。
新たなY値で最初に現われたX値は、新たなY値と関連
する新たな走査線の始りのX値として記憶される。この
ようにして、Y値ごとに最初と最後に現われるX値を記
憶しながら、線分の終端頂点に達するまで、動作は続け
られる。
2つの回路部分は1つの四辺形の各下位部分の2つの線
分を同時に処理する九めに同じように動作しているので
、Yレベルを変化させても良い状態になっている第1の
線分を処理している回路の部分は、変化を実行できるの
であっても、他方の線分を処理している回路部分がその
Y値の変化点に到達するまで待機する。他方の回路部分
がY値を変化させることができるようになったとき、完
成した走査線のX値は規定されており、それらを処理す
れば良い。すなわち、双方の回路は同時に次のY値へ進
む。それぞれの走査線について識別された2つの始りX
値と、2つの終りX値の処理は、第3図のマスク発生段
20に供給されるべき最も左側(最小)の記憶X値と、
最も右側(最大)の記憶X値とを確定すること〃・ら成
る。
各四辺形を迅速に処理するために、1つの下位部分の1
つの線分の終端に達したとき、回路は次に処理すべき線
分をロードする。一方の線分が他方の線分より先に終わ
ってし1うことはしばしばあるが、゛そのような場合に
は、終わっていない線分の情報を再度ロードする必要は
なく、かなり時間を節約できる。
回路は、図形が完成するまで、四辺形の線分の処理を続
ける。ステップごとに、発生された値は、本発明の回路
の動作方向及びクリップウィンドウ情報の用途を考慮し
て、走査線の実際の始りの値と終りの値を確定する之め
にそれらの値を分類する回路に供給される。この分類動
作は、先に指摘したように、本発明のシステムと回路が
最も速く動作を進行できるように形状を分解する最適の
方法を選択することを目的として考案されているという
理由によV実行されるのである。分解すべき形状の一部
のみがクリップウィンドウの中に入っており、他の部分
はクリップウィンドウの上又は下に位置している場合を
例にとると、クリップウィンドウの外にある部分を処理
する必要がなければ、動作はさらに速く進行する。この
スピードアンプは、分解を上から下へ又は下から上へ進
めれば可能になるであろう。さらに、動作が下から上へ
進行する場合、動作が通常の場合のように左から右では
なく、右から左へ進行すれば、メモリ内で境を越えるペ
ージ境界の数が少なくてすむ。ページ境界を越える回数
が少なくなると、動作は一層迅速になる。
次に、本発明の動作を実現するための、Cプログラミン
グ言語に似た擬似コードによるアルゴリズムを示す。こ
のアルゴリズムは周知のBresenhamアルゴリズ
ムを変形したものであるが、その他にも数多くの走介変
換アルゴリズムが存在しており、本発明の実施に際して
それらのアルゴリズムを容易に実現できることを認識す
べきであろう。
このアルゴリズムにおいて、 Delta Xは、1つの頂点と別の頂点との間のXの
変化を表わし; DeltaYは、1つの頂点と別のm点との間のYの変
化を表わし; Xは、当初、始りの頂点の値に設定され;Yは、当初、
始りの頂点の値に設定され;X termは、終りの頂
点のX値であり;Ytermは、終りの頂点のY値であ
り;abs()は、その引数の絶対値含炭し;majo
r axigは、DellXがDeltaY  より大
きいか否かによって、X又はYを指す。
初期設定: Delta X = abs(X−X term)De
lta Y = abs(Y−Y term)majo
r axIs m ((Delta Y −Delta
 X)> −0)?Y:X 5lope = ((X −X tsrm)>−0) 
?Y :Xup = ((Y −Y term)>−0
)?  O: IE −: (Delta(major
 axis):> 1 )cb−Delta(majo
r axis)(0)/’最下位ビット″/X主ループ
: 5tart−pixel  (X、Y)whll、a(
Xj−X term)(E=E−Delta Y if(test X(E+eb+up)) (stop
−pixel (X、Y) Y=Y+(up? 1 >1 ) 1 X=X+(s3ope?1 ニー1)istart−p
ixel(X、Y) E−E+De1ta  X i ) 61se X=X+(slope ? I : −1);stop
−pixel(X、Y) X主ループ試験: test X(E、eb、up)−(e<0ll(up
&&(cb−−0)&&(1!−−0) ) ; Y主ループ: s tart−ptxe l (X、Y)while(
Yl−Ytarm)( E=E−Delta Y if(testY(E、cb、5lope) ) (s
top−pixel(X、Y) X−X+(slope?1ニー1 ):Y−Y+(up
?1ニー1)i s tar t−p i xe 1 (X、Y)E−E
+DeltaY )else Y−Y+(up?1 >1); stop−pixel(X、Y) Y主ループ試験: testY(e、cb、51ope)−(e<O]1(
++1ope&&(cb−−0))第4図は、先に説明
した本発明の回路の一部が1つの線分を処理するときの
動作を示す。第4図には、頂点(0,5)で始ジ、頂点
(4,6)で終る線分が示されている。本発明を実現す
るとき、回路は、まず、線分の2つの頂点の間のXの変
化と、頂点間のYの変化とを求め、それに基づいて線分
の傾きを計算し、長軸(最大の変化を伴なう値)を決定
し、誤差項をXの変化の値の二分の−と等しくなるよう
に設定する。この二分の一層は、より一層対称的な見か
けが得られるように線分について回路により規定される
画素の均衡を保っために選択されている。これらの値が
与えられると、線分の走査線上の最初のXの値としてX
の頂点値が記憶され次状態でプロットが始まる。次に、
回路はYの変化の値だけ誤差項を減分し、2つの試験条
件、すなわち、誤差項はゼロより小さくなったか、又は
描出方向は上向きであり且つ誤差はゼロに等しいかを適
用する。
これらの条件にいずれも適合しない場合は、試験条件が
真の状態、すなわち、ゼロ以下を示すところまで誤差項
の値が達するまで、動作は続く。
ゼロ以下になった時点で、X項のFi#:1′その線分
についてその走査線(Y値)に関する最終X値として記
憶される。動作は次のY値に進んで続き、増分後の最初
のX値を走査線の始りX値として記憶し、Xの変化の値
を誤差項に加えてゆく。動作は走査線に沿って続き、誤
差項がゼロ以下になるまで、X値を増加し、誤差項を減
らす。再び、ゼロ以下になった時点のX値が走査線の最
終X値として記憶され、Xの変化が誤差項に加えられ、
動作は次のY値に移る。
動作は、X値が線分のX終り値と等しいと確定されるま
で続く。との確定の時点で、線分全体が規定され、次の
新たな線分に対して回路を初期設定することができる。
回路のそれぞれの部分は互いに独立して2つの線分の一
方を処理するように動作するが、1つの線分を処理して
いる各回路部分は、1本の走査線の処理を終了したとき
に、他方の線分がその走査線に関して完全に規定され終
わっているか否かを試験する。規定が完了していなけれ
ば、2つの回路部分が共に先へ進むことができ、それぞ
れの走査線が完全に規定された形で一度に後続する回路
へ転送されるように、回路は、他方の線分がその走査線
を終了するまで待機する。
第5図は、本発明を実現するための好ましい実施例であ
る1つの回路30を示す。回路30は1対のほぼ同じよ
うな回路部分32及び34を含み、各回路部分は2つの
線分の一方を処理する。2つの部分はこのように同じも
のであるので、以下、回路部分32のみを説明する。走
査線の終端値を確定するとき、回路は、まず、線分ごと
に初期設定される。これを実行する之め、第1のりaツ
クサイクルで、回路部分32は、第1の線分(線分A)
の始りと終りのY値を表わす入力値を受信する。それら
の値はレジスタ36及び38にそれぞれ記憶され、マル
チプレクサ40及び42へ転送される。Y値はマルチプ
レクサ40及び42から排他的0R(XOR)ゲート4
4及び46に供給される。
XORゲート44及び46け、Y値が加算器48により
加算又は減算されるようにY値をそのま寸又は補数にし
て供給させる入力(ゼロ又は1)をさらに受信する。九
とえば、排他的ORゲート44にゼロが供給されると、
他方の入力端子の値はそのまま加算器4Bに供給される
が、XORゲート44に1が供給された場合には、入力
値は補数化されるので、(2進数として)都合良く減算
される。始りから終りまでのY値の変化を確定するため
に、X項の差が計算されて、マルチプレクサ50からX
変化レジスタ52に供給され、記憶される。
次のクロックサイクルで、線分Aの始りと終すのY値が
マルチプレクサ40及び42に供給され、同様にして、
加算器48により確定されたYの変化はX変化レジスタ
54と、誤差レジスタ56の双方に記憶される。
Y値の変化を誤差レジスタ56に記憶することにより、
回路を追加する必要なく、長袖を確定できる。これは、
デルタXと、デルタYのうち大きい方が求められるよう
に、X変化レジスタ52及び誤差レジスタ56に保持さ
れている値の一方を補む化しながら、それらの値を加算
器48に供給することにより行われる。この大きい方の
値は、続いて、その値を加算器48において右へ1ピン
トだけシフトすることにより二分割され、マルチプレク
サ50を経て誤差レジスタに記憶される。
これで、回路部分32の初期設定は完了する。
同時に、回路部分34は、処理すべき2つの線分のうち
他方のもの、すなわち、線分Bについて、始りと終りの
Y値及びY値を受信して、初期設定を完了している。初
期設定完了後、それぞれの回路部分32及び34は、扱
っている線分に関する線分情報の処理を開始する。回路
部分32のみを考えると、線分Aに関する現在X値はレ
ジスタ36に保持されている。レジスタ36の値は、レ
ジスタ38に記憶されているXの終り値に対して、比較
器58により試験される。それらの値が等しく彦い場合
、マルチプレクサ40及び42は誤差値及びY変化値を
排他的ORゲート44及び46を介して加算器48へ転
送し、そこで、Y変化値は誤差値から減じられる。小さ
くなつ友誤差値は誤差レジスタ56に記憶され、このプ
ロセスは、誤差値がゼロ以下になるまで続く、誤差色と
ゼロ値との関係は状態機械60により試験される。試験
条件が満たされると、状態機械60は現在X値をこのY
走査線の終り値として供給し、Y値を増分(又は減分)
させ、さらに、Xの変化の値に等しい値を現在誤差値に
加えることにより、誤差レジスタをリセットする。
先に概要を述べたが、線分の傾きの値に従ってY値が変
化すべき点に回路部分32又は回路部分34が到達した
とき、回路部分32又は34は先に変化値信号を状態機
械60に到達させ、2つの回路32.34の他方が同様
にY値を変化させることができる状態になるまで、その
回路部分を待つている。共にY値を変化させる状態にな
ると、状態機械は、2つの回路部分32及び34を次の
Y走査線へそれぞれ進ませるための信号を発生する。こ
のようにして、各回路部分32及び34け同じY走査線
を開時に処理し、1本の走査線の両端の値は同時に後続
する回路に供給されることになる。
第5図の回路30が水平走査線の両端のX個を確定する
ために線分を処理しており、その線分が1以上の傾き、
すなわち、45度以上の傾きをもつ線分であるとき、回
路はfユぼ同じように動作する。まず、各線分の始りと
終りのX値はそれぞれの回路部分32及び34により処
理されて、各線分についてXの変化が確定する。次に、
各線分のY値の変化を確定するために、各線分の始りと
終りのY値がそれぞれの回路部分により処理される。
続いて、2つの線分のそれぞれについて、X値の変化と
Y値の変化とが比較され、1より大きい傾きを有する線
分ごとに、Y値の変化の部分の−の値に一1差が設定さ
れる。その後、処理は前述の場合と同様に進行するが、
最初にY値から始まり、Xに変化が起こるまで処理が続
けられることになる。
その間に、回路64はY値を処理している。回路64は
、最初にY値を受取って保持するレジスタ66と、各線
分のY終り値、Yクリップ最小値及びYクリップ最大値
を含むいくつかの信号を受信スルマルチプレクサ68と
、Y終り値レジスタTOとを含む。レジスタ66の値と
、レジスタ70の値とは、一方の値が他方より太きいか
、小さいか又はそれと等しいかを判定することができる
比較器72により比較される。この構成は、線分がその
終端点に達した時点を判定するときや、図形がクリップ
ウィンドウの中にあるのを判定するときにも使用されて
良い。
回路64にさらに含まれるYクリップレジスタ74は、
最大又は最小Yクリップ値を示す入力値を受取る。それ
らの値は、四辺形が書込まれるべきクリップウィンドウ
の上下の境界の位置を指示する。クリップレジスタ74
は、それらの値の一方を、情報がフレームバッファに書
込まれている方向に従ってクリップウィンドウの最小Y
値又は最大Y値のいずれかを供給するマルチプレクサ7
6から受取る。
描出すべき特定の形状が上級部と下縁部の双方でクリッ
プされるような場合もある。形状の始りの縁部でのクリ
ッピングは、レジスタ66のY初期値と、マルチプレク
サ76によジクリップレジスタT4に供給された始りク
リップ値とを比較することにより判定される。情報がス
クリーンに上から下へ書込まれている場合を例にとると
、供給される値は最小クリンプY値である。反対方向に
進んでいる場合には、最大クリップY値がレジスタに供
給される。マルチプレクサγ8はクリップ値を比較器T
2に供給する。そこで、大きさ比較器T2は、Y値がク
リップウィンドウの中に入るまで描出を禁止する信号を
発生する。
レジスタ70に記憶されているYの値は、形状がクリッ
プウィンドウの中に入った後に図形全体を終わらせるべ
き値に従って、台形内に描くべき最後の走査線のY値で
あるか、又は適切なYクリッピング境界である。この値
(レジスタ70)は、Yの現在値(レジスタ66)をY
のこの終り値と比較する回路(マルチプレクサ7B)に
より供給される。
形状がクリップウィンドウの外まで出ている場合には、
終ジYクリップ値がレジスタ70に記憶され、比較器T
2において実際のY値と比較される。このようにして、
描出すべき形状部分の終り値が確定される。これは、情
報を上昇方向又は下降方向(すなわち、増分Y方向又は
減分Y方向)のいずれかでフレームバッファに書込むこ
とが可能になるという点で、本発明において有用である
これにエフ、まず第1に可視(クリップされない)情報
が動作中に処理され、その後にクリップされる情報が続
くように走査線の走査変換を進行させることができる。
クリップされる情報は無視できるため、動作は相当にス
ピードアンプする。
本発明を好ましい一実施例に関して説明したが、当業者
が本発明の趣旨から逸脱せずに様々な変形及び変更を実
行しうることは明白であろう。従って、本発明は特許請
求の範囲との関連でのみ評価されるべきである。
【図面の簡単な説明】
第1図は、コンピュータ出力装置に個々に表示されたと
きに完成した元の形状を構成する2つの四辺形に分割さ
れた図形形状を示す図、第2図(a)から第2図(a)
は、複数の線分に分解された1つの四辺形影状を示す図
、 第3図は、本発明に従って構成されたコンピュータの図
形出力システムを示すブロック線図、第4図は、本発明
の回路の一部の動作を示す図、第5図は、本発明を実現
する1つの方法を示す回路図である。 10・・・・図形出力システム、12・・・・バスイン
タフェース論理、14・・・・座標ステージング回路、
16・・・・座標順序付は回路、18・・・ ・機能ア
ドレンシン゛グ段、20・・・・マスク発生段、22・
・・・データ経路/メモリインタフェース段、24・・
・・直線アドレス発生器、32.34・・・・回路部分
、36゜38・・・・レジスタ、40.42・・・・マ
ルチプレクサ、44.46・・・・排他的ORゲート、
48・・・・加算器、50・・・・マルチプレクサ、5
2・・・・X変化レジスタ、54・・・・X変化レジス
タ、56・・・・誤差レジスタ、60・・・・状態機械
、66・・・・レジスタ、68・・・・マルチプレクサ
、70・・・・Y終り値レジスタ、72・・・・比較器
、74・・・・Yクリップレジスタ、76・・・・マル
チプレクサ、78・・・・マルチプレクサ。 特許出願人  サン・マイクロシステムズ・インコーボ
レーテンド

Claims (3)

    【特許請求の範囲】
  1. (1)それぞれが1対の頂点により規定されている1対
    の線分を結合する一連の水平線があり、それらの水平線
    により規定される領域をコンピュータシステムの出力装
    置に提示すべきであるとき、それら一連の水平線のそれ
    ぞれの端部のX値を確定する回路において、第1の線分
    の頂点間のX値の変化を確定する手段と、第2の線分の
    頂点間のX値の変化を確定する手段と、第1の線分の頂
    点間のY値の変化を確定する手段と、第2の線分の頂点
    間のY値の変化を確定する手段と、第1の線分の傾きが
    1より大きいか否かを判定する手段と、第2の線分の傾
    きが1より大きいか否かを判定する手段と、第1の線分
    に関する誤差の値を頂点間のXの変化と、Yの変化のう
    ち大きいほうと等しくなるように設定する手段と、第2
    の線分に関する誤差の値を頂点間のXの変化と、Yの変
    化のうち大きいほうと等しくなるように設定する手段と
    、頂点間で最大の変化を示すX項又はY項の値を、第1
    の線分に関するその項の初期位置から始めて増分する手
    段と、頂点間で最大の変化を示すX項又はY項の値を、
    第2の線分に関するその項の初期位置から始めて増分し
    、各線分の初期位置が同じY値を有して成る手段と、第
    1の線分に関する誤差がゼロに達するまで、頂点間で最
    大の変化を示すX項又はY項をその都度増分しながら、
    その誤差から、X項又はY項の最小である変化を減じて
    ゆく手段と、第2の線分に関する誤差がゼロに達するま
    で、頂点間で最大の変化を示すX項又はY項をその都度
    増分しながら、その誤差から、X項又はY項の最小であ
    る変化を減じてゆく手段と、第1の線分に関する誤差の
    項がゼロになるのに応答して、第1の線分の頂点間で最
    小の変化を示すX項又はY項を増分する手段と、第2の
    線分に関する誤差の項がゼロになるのに応答して、第2
    の線分の頂点間で最小の変化を示すX項又はY項を増分
    する手段と、増分により到達したX値とY値がその線分
    の終りの頂点のX値及びY値と等しくなるまで、動作を
    継続する手段とを具備する1対の線分を結合する一連の
    水平線のそれぞれの端部のX値を確定する回路。
  2. (2)誤差項がゼロに達した線分に関して、頂点間で最
    大の変化を示すX項又はY項の値を増分する第1の手段
    の動作を、他方の線分の誤差項がゼロに達するまで停止
    する手段をさらに具備する請求項1記載の1対の線分を
    結合する一連の水平線のそれぞれの端部のX値を確定す
    る回路。
  3. (3)それぞれが1対の頂点により規定されている1対
    の線分を結合する一連の水平走査線があり、それらの水
    平走査線がコンピュータ出力装置に描出されるべき領域
    を規定するとき、それら一連の水平走査線のそれぞれの
    端部のX値を確定する回路において、第1の回路部分と
    、第2の回路部分とを具備し、それぞれの回路部分は、
    1つの線分の傾きを求める手段と、その傾きに従つて、
    描出すべき領域内の走査線ごとに各線分の始りと終りの
    X値を確定する手段と、2つの回路部分に同じ走査線で
    動作を開始させる手段と、回路部分ごとにY値を次の隣
    接する走査線のY値に同時に変化させる手段とを含む、
    1対の線分を結合する一連の水平走査線のそれぞれの端
    部のX値を確定する回路。
JP1288089A 1988-12-20 1989-11-07 コンピュータシステムに表示され且つ操作される線分の位置を決定する回路 Expired - Fee Related JP2787487B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US28699788A 1988-12-20 1988-12-20
US286,997 1988-12-20

Publications (2)

Publication Number Publication Date
JPH02190897A true JPH02190897A (ja) 1990-07-26
JP2787487B2 JP2787487B2 (ja) 1998-08-20

Family

ID=23101036

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1288089A Expired - Fee Related JP2787487B2 (ja) 1988-12-20 1989-11-07 コンピュータシステムに表示され且つ操作される線分の位置を決定する回路

Country Status (5)

Country Link
JP (1) JP2787487B2 (ja)
CA (1) CA1324676C (ja)
FR (1) FR2640792B1 (ja)
GB (1) GB2226480B (ja)
HK (1) HK52594A (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4667306A (en) * 1983-07-20 1987-05-19 Ramtek Corporation Method and apparatus for generating surface-fill vectors
US4725831A (en) * 1984-04-27 1988-02-16 Xtar Corporation High-speed video graphics system and method for generating solid polygons on a raster display
US4758965A (en) * 1985-10-09 1988-07-19 International Business Machines Corporation Polygon fill processor

Also Published As

Publication number Publication date
CA1324676C (en) 1993-11-23
GB2226480A (en) 1990-06-27
JP2787487B2 (ja) 1998-08-20
HK52594A (en) 1994-06-03
FR2640792B1 (fr) 1995-03-03
FR2640792A1 (fr) 1990-06-22
GB2226480B (en) 1993-09-22
GB8921264D0 (en) 1989-11-08

Similar Documents

Publication Publication Date Title
EP0486144B1 (en) High performance triangle interpolator
US4648045A (en) High speed memory and processor system for raster display
EP0486239A2 (en) Rasterization processor for a computer graphics system
JP2618951B2 (ja) 三次元図形処理装置
US6275241B1 (en) High speed image drawing apparatus for displaying three dimensional images
US6088037A (en) Rendering processor
US5590249A (en) Three dimensional sprite rendering apparatus and method
US5128872A (en) Method and apparatus for determining line positions for display and manipulation by a computer system
US5420972A (en) Method and apparatus for rendering lines
US5339394A (en) I/O register protection circuit
CA2055784C (en) Hierarchical memory controller
JP3330030B2 (ja) データ処理装置
JPH02190897A (ja) コンピュータシステムに表示され且つ操作される線分の位置を決定する回路
US4945497A (en) Method and apparatus for translating rectilinear information into scan line information for display by a computer system
US5117485A (en) Method and apparatus for sorting line segments for display and manipulation by a computer system
JP3027777B2 (ja) コンピュータグラフィクスにおける描画装置および描画方法
JP2675169B2 (ja) 図形処理システム
JP3493745B2 (ja) 図形描画装置
AU618129B2 (en) Method and apparatus for sorting line segments for display and manipulation by a computer system
JPH0350686A (ja) 図形処理方式
JP2782904B2 (ja) 多角形塗りつぶし方式
US5274755A (en) Hardware implementation for providing raster offsets in a graphics subsystem with windowing
JPH0727572B2 (ja) 比較を行い信号を発生する装置およびその方法
JP2641790B2 (ja) ベクトルのラスタ変換装置
JPH02108180A (ja) 線分境界画定領域のクリツプ後の余分な辺の除去方法

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees