JPH07504052A - 改善された計算性能を有するビデオグラフィック制御器 - Google Patents

改善された計算性能を有するビデオグラフィック制御器

Info

Publication number
JPH07504052A
JPH07504052A JP5512734A JP51273493A JPH07504052A JP H07504052 A JPH07504052 A JP H07504052A JP 5512734 A JP5512734 A JP 5512734A JP 51273493 A JP51273493 A JP 51273493A JP H07504052 A JPH07504052 A JP H07504052A
Authority
JP
Japan
Prior art keywords
line
circuit
register
parameters
bit
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
JP5512734A
Other languages
English (en)
Inventor
アルバース,トマス・エム
エバースト,ジョン・ヴィ
フォンテノート,ダーウィン
パイラ,リチャード・エル
ウェルカー,マーク・ダブリュ
ウッド,ポール・ビー
ブレセンハム,ジャック・イー
Original Assignee
コンパック・コンピュータ・コーポレイション
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 コンパック・コンピュータ・コーポレイション filed Critical コンパック・コンピュータ・コーポレイション
Publication of JPH07504052A publication Critical patent/JPH07504052A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Image Processing (AREA)

Abstract

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

Description

【発明の詳細な説明】 改善された計算性能を有するビデオグラフィック制御器技術分野 本発明は、一般にコンピュータに関し、特に改善された計算性能を有するグラフ ィックプロセッサに関する。
背景技術 ユーザと通信するために、コンピュータは、ディスプレイに情報を出力すること ができなければならない。グラフィックシステムではディスプレイがビクセルの 配列によって定義される。
例えば、標準モードVGA (Video Graphics Adapter )システムにおいては、スクリーンが640x480ビクセルの配列としてアド レスされる。ディスプレイ上の各ビクセルは、定義されたパレットから所望の色 にセットされてもよい。代表的に16又は256色のパレットがサポートされる 。表示され得るビクセル数は、グラフィックサブシステムによって定義される。
代表的VGAモードは、640x480.800x600及び1024x768 解像度をサポートする。640x480より大きい解像度を有するVGAモード は、「スーパVGAJとして参照される。
今日のアプリケーション即ち用途プログラムの多くは、グラフィック指向である 。例えば、カリフォルニア州すウセレトのAutoDesk社によるAUTOC ADのようなコンピュータ利用の設計プログラムがスクリーンに図形を描くのに かなりの時間量を費やしている。幾つかのケースにおいては、図形における僅か な変更も再線画された全体の図形を必要とする。従って、複数のラインを迅速に 走査するグラフィックプロセッサの能力が臨界的に重要になる。
線画に関連する問題がここ数年間に文書化されている。これらの問題の多くは、 ジャック・イー・プレゼンハム(Jack E。
Bresenham)氏のIEEE CG&A1987年5月の文献名rAmb iguity in Incremental 1ine Rastering Jによって言及され、これを参考文献として協働する。プレゼンハム氏の文献は 、2つの離散ビクセル間に本当の値を持つ複数のラインが1つ又は他のビクセル を用いて近似しなければならないので、ビクセルの配列を用いたラインを描く問 題を記述する。ラインの近似に固有の不正確さの故に、ラインの再追従性に関す る問題及び線分列φolyl 1ne)の形成された対称図形の取り扱いが重要 になる。従って、グラフィックプロセッサの柔軟性、即ち線画パラメータの修正 を容易にするグラフィックプロセッサの能力は大いに望ましい。
それゆえに、ライン及び線分列の高速及び柔軟的処理を形成するグラフィックプ ロセッサのための必要性が産業界に起こっている。
発明の開示 本発明によれば、グラフィックプロセッサにおける線画の速度及び柔軟性を増加 させる方法及び装置は、先行技術に関する相当な問題を排除して形成される。
回路はラインの第1及び第2最終点を定義するパラメータを受信するために形成 される。ラインパラメータが第1及び第2最終点に基づいて計算される。ホスト プログラムの制御下のCPUは、計算されたパラメータを修正してもよい。その 後、ラインが計算に基づいて描かれる。
本発明は、先行技術より重要な有利な立場を形成する。ラインが線画エンジンに よって描かれる前に、CPUがパラメータを修正するかもしれないので、重要な 柔軟性は、グラフィックプロセッサによって形成される。たとえばCPUは、要 望されたパターンを生成し、ラインの長さを変え、又は傾斜関連問題を治癒させ るために、パラメータを調節してもよい。
本発明の利点及びいっそう完全な理解のために、添付図面を参照して以下の説明 がなされる。
図面の簡単な説明 図1は、代表的コンピュータシステムのブロック図を例示する。
図2は、本発明のグラフィックサブシステムのブロック図を例示する。
図3は、ライン処理に伴うグラフィックプロセッサの部分のブロック図を例示す る。
図4a−dは、離散ビクセルを用いた異なるラインの可能性の例を例示する。
図5は、線画エンジンで使われたレジスタの図を例示する。
図6は、8進行号コードの図を例示する。
図7は線画エンジンの操作のフローチャート図を例示する。
図8は、多重ライン区分を用いた曲線の表現(レンダリング)を例示する。
図9は、座標バッファを記述するフローチャート図を例示する。 。
図10は、ラインパターン特徴を記述するフローチャート図を例示する。
発明を実施するための最良の形態 本発明の好ましい実施例及びその利点は、図面の図1〜10を参照することによ って最良に理解され、同じ符号が種々の図面の同様及び対応する部分のために使 われてる。
図1は代表的コンピュータシステムの汎用アーキテクチャのブロック図を例示す る。コンピュータシステム10は、CPU12と、メモリ14と、通信インタフ ェース16と、入出力(Ilo)インタフェース18と、グラフィック回路20 とを備える。種々のサブシステム12〜20は、バス22上で通信する。グラフ ィックサブシステム20は、データをディスプレイ23に出力し、I10サブシ ステム18は、キーボード24と、ハードディスク26と、フロッピ・ディスク 28と、プリンタ30と通信する。通信サブシステム16は、電話ラインでデー タを転送し、受信する。図1のコンピュータシステムが代表的コンピュータシス テムの多くの部品を例示するが、CD−ROMのような他の部品、音声処理カー ド等がコンピュータシステム10に用いられてもよい。
図2は、グラフィックサブシステム20のブロック図を例示する。グラフィック サブシステム20は、バスインタフェース回路34、フレームバッファメモリサ ブシステム36及びデジタル/アナログ(DAC)サブシステム38に結合され たグラフィックプロセッサ32を備える。バスインタフェース回路34は、バス 制御インタフェース(I/F)40と、ブート/制御ROM42と、アドレスI /F44と、データI/F46とを備える。バス制御I/F40は、グラフィッ クプロセッサ32に直接に結合される。グラフィックプロセッサにはバス48を 経て、ブート/制御ROM42と、アドレスインタフェース44と、データイン タフェース46とが結合される。ブート/制御ROM42は、グラフィックプロ セッサ32を経てイネーブルされる。バス48は、DAC38にクロック信号を 供給するクロック発生器50にも結合される。DAC38は、グラフィックプロ セッサ32及びフレームバッファ36の直列シフトレジスタにも結合される。ま た、フレームバッファ36の直列シフトレジスタは、マルチプレクサ52を経て グラフィックプロセッサ32に結合される。フレームバッファ36は、それぞれ アドレス・バス54、データ・バス56及び制御バス58上でグラフィックプロ セッサ36からのアドレス、データ及び制御信号を受信する。好ましい実施例に おいて、フレームバッファ36は、各バンクが4つのプレーンを備えた2つバン クA及びBに配列される複数のビデオRAM (VRAM)を備える。
各プレーンは、8ビツトビクセルを形成し、従って、各バンクが32ビット語で データを出力する。
フレームバッファ36は、スクリーン上の各アドレスできる位置のためにピクセ ルデータを記憶する。フレームバッファメモリシステム36の直列シフトレジス タは、モニタによる表示のために各ピクセルのデジタルの値を適当な信号に変換 するDAC38にピクセルを直列的に出力する。
グラフィックプロセッサ32の重要な面は線画エンジンである。ライン処理に伴 うグラフィックプロセッサの部分のブロック図は図3と関連して例示される。線 画エンジン6oは、メモリ制御器62、メモリアドレス発生器64、データバス 回路66及びバスインタフェース34に結合される。メモリ制御器62は、線画 エンジン60. Bit Block Transfer (B LT又はビッ トブロック転送)エンジン(図示路)及びバスインタフェース34からメモリサ イクル要求を受信し、これに応答してフレームバッファ36に制御信号(RAS 、CAS、OE及びWE)を供給する。また、メモリ制御器62が要求された部 品にアクノリッジ信号を供給する。
メモリアドレス発生器64は、線画エンジン60.BLTエンジン及びバスイン タフェース34がらの制御入力に基づいて適当なアドレスを形成し、これらアド レスをフレームバッファ36に出力する。
データバス回路66は、CPU12の往復データ要求を通すバスインタフェース 34、BLTエンジン及び線画エンジン60からの要求間で仲介するメモリ制御 器62の制御下でフレームバッファとの通信をイネーブルする。データバス回路 66は、線画エンジン60からマスク及び制御信号を受信し、フレームバッファ 36にデータを転送し受信する。CPUは、バスインタフェースを経て線画エン ジン60中のレジスタから読出し、同レジスタに書き込む。
グラフィックプロセッサ32は、ピクセル毎に複数のビット。
システムクロック信号及びリセット信号を含む線画エンジン60に制御信号を供 給する。
線画エンジン60は、CPU12からの無負荷計算によってラインを描き、線画 エンジン60においてラインを構成する個々のピクセルアドレスを計算しながら 、グラフィックプロセッサの性能を増強する。好ましい実施例において線画エン ジン60は、1965年1月IBMシステムジャーナル25〜30頁のプレゼン ハム氏のrAlgorithm for Computer Control  of aDigital PlotterJに詳述されているプレゼンハム氏の 線画アルゴリズムに基づいている。以下のC言語プログラムは、プレゼンハム氏 のパラメータの計算を記述する。このプログラムにおいてXO及びyOはライン の開始点の座標である。Xl及びylはラインの終了点の座標である。Con5 t 1 、 Con5t 2及び「エラー」はプレゼンハム氏アルゴリズムの部 分として計算されたラインパラメータである。
表1 線画アルゴリズム void 1ine−functionQint xO,yO,xi、 yl int dx、 dy、 Con5tl、 Con5t2. error、 x 、 y、length;int x is major、 inc x、 in c y;dx = abs (xi −xo) ; /*変数の計算*/dy  = absω1−yO); Constl = dy << 1; /* ’<ぐは左にシフトで、*2と同 じ。*/Con5t2 = Con5tl −ωx<<1);Length =  dx + 1; error = Con5tl −dy;lse Con5tl = dx << 1; Con5t2 = Con5tl −(dy << 1);length =  dy + 1; error = Con5tl −dy;蚤 x=xO;y=yo; 5etPixel(x、 y、 Co1or); /*第1ピクセルをオンにす る*/while (−1ength > 0)X++; 1se X″−一 1se if(incJ) yH; 1se y−−; if (error < 0) error += Con5tl; lse 番 y++; 1se y−−; 1se if (inc x) X++; 1se Xoo; error+= Con5t2; SetPixel(x、 y、 Co1or); /*ビクセルをオンにする* /プレゼンハム氏のアルゴリズムは、4つのパラメータ即ち、上記定義されたC プログラムのxo、yO,xi及びylに対応するXo、Yo、xi及びYlに よって各ラインを定義する。
Xo及びyoは開始点(Po)を定義し、Xl及びYlは終了点(Pl)を定義 する。線画エンジン60は、プレゼンハム氏のパラメータ、ラインエラー語(C プログラムからの「エラー」)、Kl(CプログラムからのCon5tl)及び に2 (CプログラムからのCon5t2)を計算する。
好ましい実施例において、線画エンジン60は、スクリーンの左上の角が(0, 0)であるXY座標システムを用いている。
線画エンジン60は、所望のビクセルに対応するフレームバッファメモリサブシ ステム36のアドレスに最適な色コードを記憶することによってラインのビクセ ルを描く。線画エンジン60は、ラインのビクセルを描く時に、常にメジャー( 多数)方向にビクセルアドレスをインクリメントする。多数方向はIXI−xo  l≧1Y1−YOIならばX方向であり、もし1Yl−YOl>1xi−xo  +ならば、Y方向である。多数方向でない方向は、マイナー(少数)方向とし て参照される。ラインを形成するビクセルアドレスは、常に(多数方向にインク リメントされる)軸であり、或いは(多数及び少数方向にインクリメントされる )対角線である。線画エンジン60は、1つの線画操作内で少数方向に隣接のビ クセルに決して書き込まない。従って、(0,0)から(10,O)への線画は 、 (0,0)から(lO95)に走る第2のラインが1.414の要因によっ て幾何学的により長いけれども、同ラインと同じビクセル数を持っている。両方 のラインが多数方向に等しいマグニチュードを持っているので、各ライン毎のビ クセルステップの数は同一である。
このファッションにおいて(0,O)から(4,2)に描かれた異なるラインの 例は図4a−dに例示される。
図4aにおいて、rDJは対角線ステップを定義し、rAJは軸ステップを定義 するビクセルステップは、DAADである。
図4bではステップがDADAであり、図40ではステップがADDAであり、 図4dではステップがADADである。多くの例においてラインを実行する特定 のビクセルは重要でない。
しかしながら、平行ラインが描かれるかのような幾つかの例において、平行ライ ンの各々のためにアドレスされた同じ関連しているビクセルを持つことは、望ま しい。他の例でラインの「可逆性」は重要である。ラインを備えたビクセルがp oからPlに描かれたラインと、Plからpoに描かれたラインとにとって同じ であるならば、ラインは可逆できる。例えば、PlからPOに描かれたラインの ビクセルアドレスに背景色を書き込むことによってラインが消される限り、ライ ンの可逆性は重要かもしれない。ラインが可逆できないならば、残されたビクセ ルは、抹消の後に残る。可逆性を必要とする他の例は、多角形が1つの方向に横 切り、反対側の方向に横切る場合である。
図5は、線画エンジン60で使われたレジスタの図を例示する。線画エンジン6 0は、po座標のレジスタ(XolYo)と、Pl座標のレジスタ(XI、 Y l)と、パターンレジスタ(ラインパターン、パターンポインタ、パターン終了 ポインタ)と、ラインパラメータレジスタ(ラインエラー語、ラインビクセルカ ウント、入道、符号コード、K1及びに2)と、制御レジスタ(ラインコマンド ビット)とを含む。ラインコマンドビットレジスタの各ビットは、開始、計算の み、最後画素ヌル、保持Xo/yo、保留パターンポインタ、可逆可能ライン、 0時の軸及びラインリセットの制御コードに対応する。レジスタは、VGAグラ フィックサブシステムと関連して使われるアドレスを有して、以下に定義される 。アドレス及びレジスタサイズはグラフィックサブシステムの履行時に変化して もよい。
表2 ラインコマンド 3CF、60h 8ビツト(R/W)ビット 記述 7、ラインリセット。 このビットをトルク(1にセットし、その後Oにセット する)することは、線画エンジン60を既知の状態に置く。1つが実行中ならば 、それが線画操作を割り込む。このビットは、線画エンジン60を使う前、およ びレジスタで他のいかなる制御ビットもセットする前にプロセス制御することに よってクリア(0にセット)されなければならない。特に以下の状態はセットさ れる。
*パターンポインタレジスタは、31にセットされた。
*パターン終了ポインタレジスタは、0にセットされた。
*定数レジスタ1 (Kl)と定数レジスタ2 (K2)両方はOにセットされ た。
*ラインエラー語レジスタは、0にセットされた。
*ビクセルカウントレジスタは、0にセットされた。
*符号コードレジスタは、0にセットされた。
*エンジン60は、用意状態に置かれた。
データバス状態は、このビットをセットすることによって影響されない。
6、0時の軸。 このビットは、次のビクセル用に描かれる計算されたエラー語 が0に等しい時に、少数軸の方向に移動する制御を形成する。このビットは、■ にセットされた時に、次のビクセル用のエラー語がOに等しい時に線画エンジン 60が多数軸の方向にのみステップさせる。0にセットされた時には、次ピクセ ルのためのエラー語が0に等しい時に、線画エンジン60が多数及び少数軸両方 向にステップする。
5、可逆可能ライン。 このビットが0である時には、0時の軸ビットは、エラ ー語がOに等しい時のケース毎に線画エンジン60を制御する。このビットが1 である時に、0時の軸セツティングが無視される。その代わりに、符号コードレ ジスタ(3CF、63h)中のデルタXビットの符号は、エラー語が0に等しい 時のケース毎に線画エンジン60の作用を制御する。デルタXビットの符号が0 である時には、線画エンジン60はエラー語がOに等しい時に少数軸の方向に移 動する。デルタXビットの符号が1である時には、線画エンジン60はエラー語 が0に等しい時に多数軸の方向にのみ移動する。
4、保留パターンポインタ。 このビットは、パターンポインタレジスタの値が 次の線画操作の終りで31にリセットされないことを特定する。通常、パターン ポインタレジスタは、各線画操作の終りに31にリセットされる。
3、保持Xo/Yoo lにセットされる時には、このビットは、Xo、Yoレ ジスタが線画の最後のビクセルの座標に更新しないことを特定する。ラインビク セルカウントレジスタが線画を実行する前に修正されるので、ラインの最後のビ クセルが異なる座標を持ち、その後X1及びYルジスタに記憶される。
2、最後画素ヌル。 このビットは、1にセットされる時に、ラインの最後のビ クセルがフレームノくツファに書き込まれないことを特定する。パターンポイン タレジスタ及びラインエラー語レジスタの値がビクセルが描かれたようにセット される。
l、 計算のみ。このビットは、線画ノ(ラメータだけ力(計算され、線画エン ジン60が停止するモードに線画エンジン60を位置させる。線画はこのモード で自動的に進行しない。線画機能が開始ビットと手動で始まらなければならない 。このモードは、線画パラメータエラー語、ビクセルカウント及び多数/少数軸 符号コードがアクセスしなければならない時に使われる。X及びY座標のレジス タのセツティングに基づくパラメータの計算は、このビットがセットされた後に Ylが書き込まれた時のみに影響する。
0、開始。 1にセットされる時には、線画エンジン60が現行の線画パラメー タによって定義されるように、ラインを描くことを開始する。このビ・ノドは、 現行の線画操作の状態をも示す。線画エンジン60が現行のラインを描くことを 終えた時、0にセットされる。開始時には、線画エンジン60がラインリセット ビットをトルクすることを除いてアボートすることができない。
表3 パターンポインタ 3CF、61h 5ビツト (R/W)ビット 記述 7〜5 予約(0) 4〜0 パターンポインタ 表3で示されたパターンポインタレジスタは、その内容が次ピクセルを生成する ために使われるラインパターンレジスタにおけるビット位置を示すために、5ビ ツト値(十進法の1〜31)を使う。ラインリセットを含むリセット及び各線画 操作の終りで、31にリセットされる。ビクセル発生の間にそれは各ビクセルカ ウントのために1デクリメントされる。各線画操作の終りで31の値にリセット することは、ラインコマンドレジスタにおける保留パターンポインタビットによ って禁止することができる。このレジスタ中の値は、次の線画操作を始める時に 使用するためにラインパターンレジスタにビット位置を示すために、ラインを描 く前でセットされてもよい。
表4 パターン終了ポインタ 3CF、62h 5ビツト(R/W)ビット 記述 7〜5 予約(0) 4〜0 パターン終了ポインタ 表4で記述されたパターン終了ポインタレジスタは、ラインパターンレジスタの より低いビット位置を示すことによってラインパターンの有効長を特定する。そ れで、パターン終了ポインタレジスタがkであるならば、31からkへのパター ンビットが、ライン表現の間に使われる。電力増強又はリセットの後のその初め の値は0である。
表5 人道符号コード 3CF、63h 8ビツト(読出/書込)ビット 記述 7〜3 予約 (0を書込及び読出) 2 デルタXの符号 (0=正、1=負)1 デルタYの符号 (0=正、l= 負)0 多数軸 (IデルタX1−1デルタY1の符号)表5で記述された人造 符号コードレジスタが、ラインの傾斜を記述する多数/少数軸符号コードを含む 。このレジスタは、Ylレジスタが書き込まれる時に、線画エンジン60によっ てセットされる。図6は、8進マツピングへの符号コードを示す。
表6 ラインピクセルカウント 3CF、64,65h16ビツト(続出/書込) 描かれるピクセル数 ピクセルカウント LPN=OLPN=1ビツト 記述 15〜10 未定義 9〜0 ピクセルカウント (符号なし)表6で記述されたラインピクセルカウ ントレジスタが、線画エンジン60のためにピクセルカウントを含む。このレジ スタ中の記憶された値は、「描かれるピクセル数」1として解釈される10ビッ ト符号なし整数である。これは多数軸座標のためのラインの座標の最終点の差で ある。表6は、このレジスタの値及び最後画素ヌル(LPN)ビットセツティン グに基づいて描かれるビクセルの数を指示する。Ylレジスタが書き込まれる時 に、このレジスタは、線画エンジン60によってセットされる。
ラインエラー語 3CF、66.67h 16ビツト (R/W)ビット 記述 15〜12 ピッ)11の符号拡張を読み戻す11〜0 エラー語(符号付き) 表7で定義されたラインエラー語レジスタが、線画アルゴリズムの内部ループに よって使われるために、初期エラー語を特定する。値は、範囲[−2048,, 2047]の値のために2の補数量の12ビツトである。負の値は、読出操作で ビット[15,,12] まで拡張された符号である。この値は、d少数が少数 軸の寸法であり、d多数が多数軸の寸法である限り、(2*d少数−d多数)か ら計算される。ラインを描くこのレジスタのプログラミングはオプショナルであ る。供給されないならば、ハードウェアは、ラインの発生毎に必要とされたエラ ー語を生成する。このレジスタをセットすることは、ライン発生の少数軸方向に おけるビクセル運動のホストソフトウェアの初期制御を許容する。使用において 、ソフトウェアは、計算のみビットがラインコマンドレジスタにセットされた時 に、X、Y座標のレジスタを書き込んだ後にこのレジスタの値をセットする。こ のレジスタは、Ylレジスタが書き込まれる時に線画エンジン60によってセッ トされる。線画操作の終りで、このレジスタは、描かれた最後のビクセルのため にエラー語の値へのセラに1定数 3CF、68,69h (R/W)ビット  記述 15〜11 予約 (0を書込及び読出)10〜OK1 (符号なし) 表8で記述されたKlレジスタが、線画パラメータ定数Klを特定する。値に1 は、d少数が少数軸の寸法である限り、2*d少数として計算される。これは1 1ビツト符号なし量である。
このレジスタは、Yl座標のレジスタが書き込まれる時に線画エンジン60によ ってセットされる。
表9 に2定数 3CF、6A、6Bh (R/W)ビット 記述 15〜12 ピッ)11の符号拡張を読み戻す。
11〜OK2 (符号付き) 表9で記述されたに2レジスタが、線画パラメータ定数に2を特定する。値に2 は、d少数が少数軸の寸法であり、d多数が多数軸の寸法である限り、 (2* d少数−2*d多数)として計算される。これは、12ビット符号付き2の補数 量である。負の値は、読出操作でビット[15,,12]まで拡張された符号で ある。読戻しく読出)において、ビット11は、ビット15〜12まで拡張され た符号である。このレジスタは、Y1座標レジスタが書き込まれる時に線画エン ジン60によってセットxo 63CO,116ビツト(R/W)ビット 記述 15〜10 未定義 9〜0 開始X点(0>=Xo>= 1023)表1Oで記述されたXoレジス タが、ライン開始点のX座標を特定する。適法値は0から1023の範囲である 。このレジスタは、電力増強又はリセットで0にセットされる。このレジスタ中 の値は、ラインリセットによって影響されない。
表11 yo 63CX2,3 16ビツト(R/W)ビット 記述 ]5〜10 未定義 9〜0 開始Y点 (0>=YO>= 1023)表11で記述されたYoレジ スタが、ライン開始点のY座標を特定する。適法値は0から1023の範囲であ る。このレジスタは、電力増強又はリセットで0にセットされる。このレジスタ 中の値は、ラインリセットによって影響されない。
表12 ラインパターン 83CO,1,2,332ビツト(R/W) ビット 記述 31〜0 ラインパターン 表12で記述されたラインパターンレジスタが、フレームバッファに描かれたラ インのパターンを示す。このレジスタ中の[1」ビットは、1のビット値がデー タバスに書き込まれて、ピクセルに拡張されたことを特定する。ラインパターン レジスタ中の[1」ビットが通常前景色ピクセルを代表する。このレジスタ中の 10」ビットは、0のビット値がデータバスに書き込まれることを特定する。通 常rOJビットは、背景色ピクセルを代表する。このレジスタが、電力増強及び リセットで1に初期化される。
表13 Xルジスタ 83CC,D 16ビツト R/Wビット 記述 15〜10 未定義 9〜0 終了X点(0>=X1>=1023)表13で記述されたXiレジスタ が、ライン終了点のX座標を特定する。適法値はOから1023の範囲である。
このレジスタは、電力増強又はリセットでOにセットされる。このレジスタ中の 値は、ラインリセットによって影響されない。
表14 Yルジスタ 83CE、F 16ビツト(R/W)ビット 記述 15〜10 未定義 9〜0 終了Y点(0>=Yt>= 1023)表14で記述されたYルジスタ が、ライン終了点のY座標を特定する。適法値はOから1023の範囲である。
このレジスタは、電力増強又はリセットでOにセットされる。このレジスタ中の 値は、ラインリセットによって影響されない。
このレジスタアドレスへの書込は、線画エンジン60を自動的に始動させる。計 算のみビットが線画コマンドレジスタにセットされるならば、このアドレスへの 書込は、線画エンジン6゜を線画パラメータを計算させて、その後待機させる。
このレジスタへのバイトアクセスのために、両方のバイトは、線画エンジン60 を自動的に始動させるために書き込まれなければならない。
線画エンジン60は、速度を増加し、線画の柔軟性を増強する多くの特徴を形成 している。図7は、線画エンジン60用の操作の自動開始、計算のみ及び線分列 モードを記述するフローチャート図を例示している。決定ブロック70において はラインコマンドレジスタの開始ビットが検討される。開始ビットが[1」にセ ットされるならば、線画エンジン60は、図5のレジスタで記憶された現行の線 画パラメータによって定義されるようにラインを描くことを始める。開始ビット が「0」にセットされるならば、線画エンジン60は、Y1座標が決定ブロック 72でYルジスタに書き込まれるまで待機する。従って、線画エンジン60は、 開始ビットが[1」 (決定ブロック70)にセットされ、或はYlがYルジス タ(決定ブロック72)に書き込まれるまで、待機する。決定ブロック72にお いてY1座標がYルジスタに書き込まれるならば、上述のラインパラメータがブ ロック74で計算される。ラインパラメータが計算されて、(図5で示された適 当なレジスタに記憶され)た後に、線画エンジン60は、決定ブロック76にお いて計算のみビットが「0」にセットされるか否かを決定する。ラインコマンド レジスタの計算のみビットが「0」にセットされるならば、ラインは、ブロック 78で描かれる。線画エンジン60は、計算のみビットが決定ブロック76でr lJにセットされるならば、ブロック78においてラインを描く前に、ラインコ マンドレジスタの開始ビットが決定ブロック80で「1」にセットされるまで待 機する。ラインを描いた後には線画エンジン60が決定ブロック82で保持XO /YOビットを検査する。保持X o/Y Oビットが[0」にセットされるな らば、ブロック84においてPL座標(Xo、 Yo)が現行のピクセル座標即 ちラインの最後のピクセルにセットされる。計算のみモードに関して下に記述さ れるように、ラインの最後のピクセルは、Xl及びYルジスタによって定義され たピクセルより異なってもよい。この特徴1 は、ピクセルが第1のラインの最 後のピクセル及び第2のラインの第1のピクセルの間で共有される限り、線分列 の線画を容易にする。
図7で記述されるように、線画エンジン60は、重要な速度及び柔軟性強化を形 成する。速度増加は、一連の接続されたライン86として描かれたカーブを例示 する図8と関連して多分最良に理解される。各ライン86は、終了点88によっ て区切られる。先行技術においては、各ライン86の走査が、各ラインを描く前 に少くとも3つのバスサイクル、即ちXo及びyoが同時に書き込まれると仮定 すると、po座標を書き込むための1つのバスサイクルと、P1座標を書き込む ための1つのバスサイクルと、グラフィックプロセッサに線画操作を始めるよう に命令するための1つのバスサイクルとを必要とする。多くのラインを描かなけ ればならない時には、グラフィックプロセッサに線画操作を始めるように命令す るための追加のクロックサイクルが、重要なオーバーヘッドを提供する。高解像 度のグラフィックプログラムにおいては、カーブを描くために用いたライン数が 図8で示されたものより極めて多いことが注目されるべきである。それで、自動 開始特徴に起因する時間の節減は重要かもしれない。
更に、図8からは、ラインの間の終了点88が共有され、即ち1つのラインの最 後のビクセルが次ラインのための第1のビクセルになることが注目されるべきで ある。最後のビクセル座標(Pl)が自動的にXo及びyoレジスタに書き込ま れる線分列特徴は、線画の速度を更に増加させる。自動開始モードと関連するこ のモードにおいては、ホストプログラムが、次ライン区分を描き始めるために、 Xl及びYlレジスタにのみ書き込む必要がある。Ylレジスタが例示された実 施例で選択されて、線画プロセスを初期化するが、xl又はYlレジスタがこの 目的に用い得ることが注目されるべきである。
計算のみモードは、線画エンジン60を用いて重要な柔軟性を形成する。図7で 示されるように計算のみビットが「1」にセットされる時には、線画エンジン6 0はブロック74でラインパラメータを計算するが、開始ビットが[1」にセッ トされるまで、ブロック78においてラインを描くことを進行しない。
これは、ラインを描く前にパラメータを修正するホストプログラムを許容する。
線画エンジン60の好ましい実施例は、ラインが即ちラインコマンドレジスタの 0時の軸及び可逆可能ライン制御ビットを通して描かれる方法の幾つかの調整を 形成するが、線画パラメータの更なる制御が所望される例であってもよい。計算 のみモードで修正されてもよいパラメータは、ラインエラー語、Kl及びに2定 数、人道符号コード及びラインビクセルカウントである。これらのパラメータは 図5で示されたレジスタに保持されて上述されている。好ましい実施例における 線画エンジン60は、ラインを描くために、これらの5つのパラメータを使う。
終了点座標(Xl、 Yt)がラインを描くために必要とされないが、中間のパ ラメータを計算するために使われることは注目されるべきである。ラインパター ン、パターンポインタ及びパターン終了ポインタレジスタは、ラインにおける各 ビクセルのためにフレームバッファ36にどの値を書き込むかを決定するために 使われる。線画エンジン60のパターン機能がより詳細に後述される。
計算のみモードは、様々な操作で使われてもよい。例えば、(0,O)から(2 0,18)へのラインの傾斜を用いて、これら2つ座標間のラインの全長を測ら ないが、予め決定された長さのラインを描くために望ましいかもしれない。本発 明の線画エンジン60においては、計算のみビットが「1」にセットすることが でき、po及びPl用の座標が(0,0)及び(20゜18)として適当なレジ スタに書込むことができる。その後線画エンジン60は、Yl座標を受信する時 にラインパラメータを計算する。その後ラインビクセルカウントレジスタの値が 、所望の長さにラインをセットするために修正することができる。
計算のみモードの他の使用は、(人道符号コードレジスタに記憶された)8進数 に基づいて、ラインエラー語をバイアスさせて、どのビクセルが所定のラインの 実行に使用されるかを変更する。種々のアルゴリズムは可逆できるラインを実行 するために存在し、ラインエラー語レジスタは、ラインビクセルカウントをrl Jにセットすることによって、各ビクセルが描かれた後に修正することができる 。計算のみモードは、パラメータを計算し、ラインエラー語を所望の値に修正す るために使用できる。また、計算のみモードは、CPU生成されたパターンを形 成するために使用できる。例えば、各最終点で終端する中実部分を有する2点間 の点線が要望されてもよい。点線への一定の傾斜を形成するためには、各点線の ためのパラメータが全部のラインの最終点の間のラインのためのパラメータを使 って、計算することができる。CPUは各区分のビクセルの数を計算して、それ ゆえにラインビクセルカウントレジスタを調節する。
保持XO/Y、ビットを[0」にセットすることによって、X。
及びYoレジスタはそれが描かれた後に区分の終りにセットされる。その後パタ ーンレジスタ中のパターンは、前景色区分のためのrill、、、IIIJから 背景色区分のためのro o o。
、、000Jに変わることができ、ラインビクセルカウントレジスタは、ブラン ク区分の所望の長さにセットされてもよい。
ブランクの区分は開始ビットが[1」にセットされる時に描かれる。これらのス テップは、点線の各区分毎にくり返されてもよい。コード化を容易にするために 、最後画素ヌルビットが「1」にセットすることができ、ラインビクセルカウン トレジスタが所望のビクセル数より大きい値にセットすることができる。
追加の柔軟性を形成する本発明の第3面は、Plレジスタを除いて全パラメータ をセットし、適当なレジスタにパラメータを書き込むホスト用途の能力である。
ブロック70で開始ビットをセットすることによって、ラインは、ブロック74 でのラインパラメータの中間計算なしで、パラメータレジスタに記憶された値を 用いてブロック78で描かれる。
図9は、線画エンジン60のバッファしている特徴を例示しているフローチャー ト図を例示する。決定ブロック90においてホスト応用プログラムは、線分列が 描かれるべきであるか否かを決定する。描くべきならば、ラインコマンドレジス タの保持Xo/Yoビットがブロック92で「0」にセットされ、線分列を書き 込むべきでないならば、保持Xo/Yoビットの状態が重要でない。ブロック9 6において、po及びP1座標はXo。
yo、Xl及びYlレジスタに書込まれる。その後線画操作は、図7と関連して 記述されるように続行する。しかしながら、線画操作の終了に先立って、ホスト 応用は、線画操作の終了に先立って次の組の座標をXo、Yo、x、及びYlレ ジスタに書き込んでもよい。従って、決定ブロック98においては、ホスト用途 は、バッファがビジーか否かを決定するために、データバス回路66で利用可能 なバッファビジービットを検査する。線画エンジン60がラインを描いている時 には、バッファビジーピットが「1」にセットされ、座標が次ラインのために線 画エンジン60によって受信された。このバッファビジーピットが「0」にセッ トされるならば、次ラインのための座標が、ブロック100のp(、、PLレジ スタに書き込まれてもよい。もし操作が線分側操作であるならば、ホスト用途は 、一般の最終点線画ケースより少数の処理しか必要としないで、Xl及びYルジ スタへのみの書込を必要とする。さもなければ、ホスト用途は、バッファが決定 ブロック98で忙しいならば、バッファビジービットが「0」にセットされるま で、待つ。バッファしている時には、線画エンジン60が手動で始めることがで きず、計算のみモードが初期化できるが、線画エンジン60が自由になるまで、 レジスタの内容が有効でない。
通常の使用において、パラメータレジスタは、線画エンジン60がパラメータ書 込及び線画操作の序列化を強要してその現行の操作を完了するまで、新しい値で プログラムされていない。
線画エンジン60がその操作を完了した時には、開始ビットが「0」にセットさ れる。この状態ビットは、線画エンジン60がプログラムされてもよい時を特定 する。しかしながら、バッファの使用は、ソフトウェアは、バッファビジービッ トのみをチェックする必要があり、それゆえに線画操作の完了前に、パラメータ 書込及び線画操作の重複を形成する座標のレジスタをセットしてもよい。
線画エンジン60は、パターンラインとして全てのラインを扱う。ラインの各ビ クセル毎に、ラインパターンレジスタは、前景又は背景ビクセルがフレームバッ ファ36に書き込まれるか否かを決定する。パターン中のビットがrlJである ならば、前景色レジスタ(図示路)に記憶された値がフレームバッファ36に書 き込まれ、同ビットがrOJであるならば、背景色レジスタ(図示路)に記憶さ れた値がフレームバッファ36に書き込まれる。前景及び背景色レジスタはデー タバス回路66に配置されている。
パターンラインに関する線画エンジン60の操作が、図10と関連して例示され る。ブロック102において、ビクセル色は、パターンポインタレジスタによっ て指示された位置で、ラインパターンレジスタのビットによって指示された値に セットされる。32ビツトラインパターンレジスタにとっては、パターンポイン タが通常操作下で31で始まり、Oまでにデクリメントする。決定ブロック10 4において、線画エンジン60は、ラインコマンドレジラスタの最後画素ヌルビ ットがセットされるか否かを決定し、現行のビクセルがラインの最後のビクセル であるか否かを決定する。現行のビクセルがラインの最後のビクセルでないなら ば、或いは最後画素ヌルビットが「0」にセットされているならば、ブロック1 02で決定されたビクセル色はブロック106においてフレームバッファ36に 書き込まれる。後述されるように、メモリへの書込がラスタ操作を伴ってもよい 。もし最後画素ヌルビットがrlJにセットされ、現行のビクセルが最後のビク セルであるならば、線画エンジン60は、フレームバッファ36に書き込まない 。決定ブロック108で線画エンジン60は現行のビクセルがラインの最後のビ クセルであるか否かを決定する。現行のビクセルが最後のビクセルであるならば 、線画エンジン60は、ラインコマンドレジラスタの保留パターンビットがrO Jにセットされるか否かをみるために検査する。もしそうならば、ブロック11 2でパターンポインタレジスタは、32ビツトパターンポインタレジスタ用に「 31」にリセットされる。保留パターンビットが決定ブロック110で「1」に セットされるならば、或いは現行のビクセルが決定ブロック108で最後のビク セルでないならば、線画エンジン60は、パターンポインタレジスタに記憶され た値が決定ブロック114でパターン終了ポインタレジスタに記憶された値より 大きいか否かをみるためにチェックする。もしそうでなければ、パターンポイン タレジスタはブロック112で[31」にリセットされる。もしパターンポイン タレジスタに記憶された値が決定ブロック114でパターン終了ポインタレジス タに記憶した値より大きく、現行のビクセルがブロック115で「1」にセット された最後画素ヌルビットを有するラインの最後のビクセルでないならば、パタ ーンポインタレジスタは、ブロック116でデクリメントされる。プログラム制 御は、パターンポインタレジスタの新規値によって指示されたラインパターンレ ジスタ中のビットによって指示された値に、ラインの次ビクセルがセットされた ブロック102に戻る。もし現行のビクセルがラインの最後のビクセルであり、 最後画素ヌルビットが[1」にセットされるならば、パターンポインタレジスタ はデクリメントされない。
パターン終了レジスジスタは、ラインパターンレジスタの全部又は部分を備えた ビットの周期化を形成する。例えば所望のパターンは、7つの前景ビクセル及び 7つの背景ピクセルを交互にしてもよい。この場合、ラインパターンレジスタの ビット25〜31がrlJにセットされ、ラインパターンレジスタのビット18 〜24が「0」にセットされる。パターン終了ポインタレジスタは、 「18」 にセットされる。
保留パターンビットは、パターンが2又はそれ以上のラインを続行するか否かを 特定する。換言すれば、保留パターンビットが「1」にセットされるならば、ラ インパターンレジスタ及びパターン終了ポインタによって定義されたパターンは 各ライン区分の終りで[31」にパターンポインタレジスタをリセットしないで 線分列に亙って続行する。
最後画素ヌルビットは、ラインの最後のビクセルがフレームバッファ36に書き 込まれるか否かを特定する。この制御ビットの使用は、第1のラインの最後のビ クセルが次のラインの第1のビクセルであるラスタ操作の線分列に主に適する。
フレームバッファ36への書込が、ラスタ操作コードレジスタによって制御され る。ラスタ操作コードレジスタに記憶された値は、ソースビクセル(ブロック1 02で決定されたビクセル値)で実行された論理的操作及びフレームバッファに 既に記憶された対応のビクセルを定義する。ラスタ操作が特定されるならば、デ ータバス回路は、目標ビクセルがメモリから回復され、ソースビクセルを有する 論理的操作及び結果がフレームバッファに記憶される読出修飾書込操作を実行す る。
表15 ラスク操作コード レジスタ値 ラスク操作 oooo 。
0001 ! (D+5) 0010 D&(!5) 0011 !5 0100 (!D)&5 0101 !D 0110 D XOR5 0111!(D&5) 1000 D&5 1001 D XNOR5 1010D 1011 D+(!5) 1101 (!D)+S 定義 D=行き先 &−輪理積 +=論理和 論理的操作がフレームバッファメモリで実行される限り、同じピクセル位置への 2重書込が、意に反した影響を起こすかもしれない。それ故、最後画素ヌル状態 ビットは、ラスク操作が線分列の頂点での単一ピクセルで二度実行されることを 防止している。
本発明は、先行技術より重要な有利な立場を形成する。自動開始、パラメータバ ッファリング及び線分列モードはラインを描く速度を非常に増加させる。計算の み及びパターンピクセル操作は、ラインを描くことの増加した柔軟性及び制御を 形成する。
本発明及びその利点が詳細に記述されたが、追加された請求の範囲によって定義 されるように、種々の変更、代用及び変形が発明の精神及び範囲がら逸脱しない でここになされ得ることが理解されるべきである。
FIG、5 FIC;、6 FIG、9 フロントページの続き (81)指定国 EP(AT、BE、CH,DE。
DK、ES、FR,GB、GR,IE、IT、LU、MC,NL、PT、SE) 、0A(BF、BJ、CF、CG、CI、CM、GA、GN、ML、MR,SN 、TD。
TG)、 AT、 AU、 BG、 BR,CA、 CH,DE。
DK、ES、FI、GB、HU、JP、KR,NL、NO,PL、 RO,RU 、5E (72)発明者 フォンテノート、ダーウィンアメリカ合衆国テキサス州770 90ヒユーストン・ロメーヌ・レイン1014 (72)発明者 バイラ、リチャード・エルアメリカ合衆国テキサス用7707 0ヒユーストン・ブルドン・リッジ13555アパートメント# 1623 (72)発明者 ウェルカー、マーク・ダブリュアメリカ合衆国テキサス州77 389スプリング・上ヨリ・フレスト6314 (72)発明者 ウッド、ポール・ビーアメリカ合衆国テキサス用77389ス プリング・デモクラシー・コート8034 (72)発明者 プレセンハム、ジャック・イーアメリカ合衆国サウス・カロラ イナ州 297320ツク・ヒル・リッチモンド・ドライブ1131

Claims (1)

  1. 【特許請求の範囲】 1、ラインの第1及び第2最終点を定義するパラメータを受信する回路と、 前記第1及び第2最終点に基づいてラインパラメータを計算する回路と、 前記計算されたラインパラメータを記憶する回路と、前記記憶回路の内容を修正 する回路と、前記記憶されたパラメータに基づいてラインを描く線画回路とを備 えた複数のラインを描く回路。 2、前記記憶回路がアドレスできるメモリを備える請求の範囲第1項記載の回路 。 3、前記修正回路は、前記メモリを処理ユニットに結合させるインタフェース回 路を備える請求の範囲第2項記載の回路。 4、前記受信回路は、第1及び第2最終点座標を受信する回路を備える請求の範 囲第1項記載の回路。 5、前記第1及び第2最終点座標は各々X及びY座標を備える請求の範囲第4項 記載の回路。 6、前記線画回路は、ラインを備えたピクセル座標又はアドレスを生成する回路 を備える請求の範囲第1項記載の回路。 7、前記ラインパラメータは、エラー語及び傾斜語を備え、前記修正回路は、前 記傾斜語に基づいて新しいエラー語を計算する回路を備える請求の範囲第1項記 載の回路。 8、前記計算回路は、前記記憶回路と通信する処理のユニットを備える請求の範 囲第7項記載の回路。 9、前記ラインパラメータは、描かれるべきピクセルの数を定義するピクセルカ ウント語を備え、前記修正回路はパターンパラメータを計算し、前記ピクセルカ ウント語を修正する回路を備える請求の範囲第1項記載の回路。 10、前記修正回路は、前記記憶回路の内容を修正した後に前記線画回路をイネ ーブルする回路を含む請求の範囲第1項記載の回路。 11、ラインの第1及び第2最終点を定義するパラメータを受信し、 前記第1及び第2最終点に基づいてラインを定義するラインパラメータを計算し 、 ホストプログラムの制御下で処理ユニットによつて前記計算されたラインパラメ ータを修正し、 前記計算され、修正されたパラメータに基づいてラインを描くステップを備えた コンピュータにおけるラインを描く方法。 12、メモリに前記計算されたラインパラメータを記憶するステップを更に備え る請求の範囲第11項記載の方法。 13、前記修正ステップは、処理ユニットが前記メモリ位置の内容を修正できる ステップを備える請求の範囲第12項記載の方法。 14、前記受信ステップは、第1及び第2最終点座標を受信するステップを備え る請求の範囲第11項記載の方法。 15、第1及び第2最終点座標を受信する前記ステップは、各々がX及びY座標 を備えた第1及び第2最終点座標を受信するステップを備える請求の範囲第14 項記載の方法。 16、前記線画ステップは、ラインを備えたピクセル座標のアドレスを生成する ステップを備える請求の範囲第11項記載の方法。 17、前記計算ステップはエラー語及び傾斜語を計算するステップを備え、前記 修正ステップは、前記傾斜語に応答して前記エラー語を修正するステップを備え る請求の範囲第11項記載の方法。 18、前記計算ステップは、書き込まれるべきピクセルの数を定義するピクセル カウント語を計算するステップを備え、前記修正ステップは、パターンパラメー タを計算し、これに応答して前記ピクセルカウント語を修正するステップを備え る請求の範囲第11項記載の方法。 19、中央処理装置と、 ディスプレイと、 前記中央処理装置及びディスプレイに結合されたグラフィックプロセッサとを備 え、 前記グラフィックプロセッサは、 ラインの第1及び第2最終点を定義するパラメータを受信する回路と、 前記第1及び第2最終点に基づいてラインパラメータを計算する回路と、 前記計算されたラインパラメータを記憶する回路と、前記記憶回路の内容を修正 する回路と、前記記憶されたパラメータに基づいてラインを描く回路とを備えた コンピュータシステム。 20、前記記憶回路がアドレスできるメモリを備える請求の範囲第19項記載の 回路。 21、前記修正回路は、前記メモリを処理ユニットに結合させるインタフェース 回路を備える請求の範囲第20項記載の回路。 22、前記線画回路は、ラインを含んでいるピクセル座標のアドレスを生成する 回路を備える請求の範囲第1項記載の回路。
JP5512734A 1992-01-21 1993-01-13 改善された計算性能を有するビデオグラフィック制御器 Pending JPH07504052A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US82299292A 1992-01-21 1992-01-21
US822,992 1992-01-21
PCT/US1993/000622 WO1993014468A1 (en) 1992-01-21 1993-01-13 Video graphics controller with improved calculation capabilities

Publications (1)

Publication Number Publication Date
JPH07504052A true JPH07504052A (ja) 1995-04-27

Family

ID=25237507

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5512734A Pending JPH07504052A (ja) 1992-01-21 1993-01-13 改善された計算性能を有するビデオグラフィック制御器

Country Status (8)

Country Link
US (2) US5613054A (ja)
EP (1) EP0623232B1 (ja)
JP (1) JPH07504052A (ja)
AT (1) ATE137040T1 (ja)
AU (1) AU3590593A (ja)
CA (1) CA2127370C (ja)
DE (1) DE69302263T2 (ja)
WO (1) WO1993014468A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100225061B1 (ko) * 1996-10-10 1999-10-15 윤종용 고속 그래픽 드로잉 방법
US5613053A (en) * 1992-01-21 1997-03-18 Compaq Computer Corporation Video graphics controller with automatic starting for line draws
JP2637920B2 (ja) * 1994-08-11 1997-08-06 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータ・グラフィック・システム及びフレーム・バッファ使用方法
US6570562B1 (en) * 2000-05-03 2003-05-27 Hewlett-Packard Development Company, L.P. Method for drawing patterned lines in a system supporting off-screen graphics
US6995770B2 (en) * 2002-08-22 2006-02-07 International Business Machines Corporation Command list controller for controlling hardware based on an instruction received from a central processing unit

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US31200A (en) * 1861-01-22 I H S White Newspaper-file
USRE31200F1 (en) 1976-01-19 1990-05-29 Raster scan display apparatus for dynamically viewing image elements stored in a random access memory array
US4193122A (en) * 1977-11-28 1980-03-11 Gould Inc. Connecting line generator
JPS566294A (en) * 1979-06-29 1981-01-22 Hitachi Ltd Graphic display device
US4454593A (en) * 1981-05-19 1984-06-12 Bell Telephone Laboratories, Incorporated Pictorial information processing technique
JPS5999487A (ja) * 1982-11-29 1984-06-08 株式会社東芝 直線発生方法
DE3275669D1 (en) * 1982-12-30 1987-04-16 Ibm Graphics display system and method
JPS59144973A (ja) * 1983-02-07 1984-08-20 Dainippon Screen Mfg Co Ltd 線分座標の高速処理方法
JPH0640259B2 (ja) * 1984-02-14 1994-05-25 株式会社リコー デ−タ処理装置
US4779210A (en) * 1984-05-02 1988-10-18 Hitachi Engineering, Co. Ltd. Graphic processing apparatus
US4677573A (en) * 1984-05-15 1987-06-30 International Business Machines Corporation Hardware generation of styled vectors in a graphics system
US4660029A (en) * 1984-07-06 1987-04-21 Tektronix, Inc. Method of providing raster information for a graphics display employing linked lists
US5109520A (en) * 1985-02-19 1992-04-28 Tektronix, Inc. Image frame buffer access speedup by providing multiple buffer controllers each containing command FIFO buffers
US4755810A (en) * 1985-04-05 1988-07-05 Tektronix, Inc. Frame buffer memory
JPS62231380A (ja) * 1986-03-31 1987-10-09 Namuko:Kk 画像合成装置
JPS62231379A (ja) * 1986-03-31 1987-10-09 Namuko:Kk 画像合成装置
US4837847A (en) * 1987-02-03 1989-06-06 Canon Kabushiki Kaisha Image processing apparatus
US4808986A (en) * 1987-02-12 1989-02-28 International Business Machines Corporation Graphics display system with memory array access
US4916301A (en) * 1987-02-12 1990-04-10 International Business Machines Corporation Graphics function controller for a high performance video display system
US4823286A (en) * 1987-02-12 1989-04-18 International Business Machines Corporation Pixel data path for high performance raster displays with all-point-addressable frame buffers
US4903217A (en) * 1987-02-12 1990-02-20 International Business Machines Corp. Frame buffer architecture capable of accessing a pixel aligned M by N array of pixels on the screen of an attached monitor
US4837563A (en) * 1987-02-12 1989-06-06 International Business Machine Corporation Graphics display system function circuit
US4870406A (en) * 1987-02-12 1989-09-26 International Business Machines Corporation High resolution graphics display adapter
US4816814A (en) * 1987-02-12 1989-03-28 International Business Machines Corporation Vector generator with direction independent drawing speed for all-point-addressable raster displays
US4882683B1 (en) * 1987-03-16 1995-11-07 Fairchild Semiconductor Cellular addrssing permutation bit map raster graphics architecture
US4855935A (en) * 1987-05-08 1989-08-08 Sun Microsystems, Inc. Method and apparatus for rendering vectors using bresenham parameters
GB2207839B (en) * 1987-07-30 1991-07-10 Ibm Line generation in a display system
DE3854707T2 (de) * 1987-07-30 1996-07-25 Tektronix Inc Verfahren und Gerät zur inkrementalen Berechnung einer linearen Funktion.
JP2689433B2 (ja) * 1987-07-30 1997-12-10 株式会社日立製作所 図形描画方法および図形描画システム
US4965751A (en) * 1987-08-18 1990-10-23 Hewlett-Packard Company Graphics system with programmable tile size and multiplexed pixel data and partial pixel addresses based on tile size
US5185599A (en) * 1987-10-26 1993-02-09 Tektronix, Inc. Local display bus architecture and communications method for Raster display
US4937761A (en) * 1987-11-04 1990-06-26 Blueprint Technologies Incorporated Method and apparatus for enhanced speed graphic image processing
US4975853A (en) * 1987-11-20 1990-12-04 Hitachi Software Engineering Co., Ltd. Image processing system having polygonal line processing of pixel line data
US5202960A (en) * 1988-11-02 1993-04-13 Digital Equipment Corp Method and apparatus for plotting polygon edges on a pixelized grid
JP2828643B2 (ja) * 1989-01-09 1998-11-25 株式会社リコー 直線描画装置
US5283561A (en) * 1989-02-24 1994-02-01 International Business Machines Corporation Color television window for a video display unit
US5073960A (en) * 1989-05-18 1991-12-17 Sharp Kabushiki Kaisha Image processing method using improved Bresenham algorithm in creating an outline of a figure to be painted and apparatus adopting the method
US5159665A (en) * 1989-11-27 1992-10-27 Sun Microsystems, Inc. Graphics accelerator system
US5095520A (en) * 1990-06-07 1992-03-10 Ricoh Company, Ltd. Method and apparatus for drawing wide lines in a raster graphics system
US5309553A (en) * 1990-06-15 1994-05-03 Mitsubishi Denki Kabushiki Kaisha Apparatus for and method of generating a straight line of pixels in a discrete coordinate system
US5420972A (en) * 1990-11-15 1995-05-30 International Business Machines Corporation Method and apparatus for rendering lines
JPH0683969A (ja) * 1990-11-15 1994-03-25 Internatl Business Mach Corp <Ibm> グラフィックス・プロセッサ及びグラフィックス・データ処理方法
US5613053A (en) * 1992-01-21 1997-03-18 Compaq Computer Corporation Video graphics controller with automatic starting for line draws
AU3483393A (en) * 1992-01-21 1993-08-03 Compaq Computer Corporation Video graphics controller with improved pattern capabilities
US5579462A (en) * 1994-11-03 1996-11-26 Bio-Rad Laboratories User interface for spectrometer

Also Published As

Publication number Publication date
ATE137040T1 (de) 1996-05-15
DE69302263D1 (de) 1996-05-23
US5613054A (en) 1997-03-18
CA2127370C (en) 1999-02-23
US6037951A (en) 2000-03-14
EP0623232A1 (en) 1994-11-09
DE69302263T2 (de) 1996-10-31
AU3590593A (en) 1993-08-03
EP0623232B1 (en) 1996-04-17
WO1993014468A1 (en) 1993-07-22
CA2127370A1 (en) 1993-07-22

Similar Documents

Publication Publication Date Title
US6734867B1 (en) Cache invalidation method and apparatus for a graphics processing system
US7456835B2 (en) Register based queuing for texture requests
GB2226479A (en) Method and apparatus for fractional double buffering
US7898549B1 (en) Faster clears for three-dimensional modeling applications
JP2006221650A (ja) 幾何プリミティブのインデックスを外す方法、ラスタ化装置、コンピュータ可読媒体
US6847369B2 (en) Optimized packing of loose data in a graphics queue
US6812928B2 (en) Performance texture mapping by combining requests for image data
JPH07503087A (ja) 改善されたパターン性能を有するビデオグラフィック制御器
EP0149188A2 (en) Display control system
US6525733B1 (en) Video graphics controller with high speed line draw processor
JPH07504052A (ja) 改善された計算性能を有するビデオグラフィック制御器
US6614443B1 (en) Method and system for addressing graphics data for efficient data access
US7508397B1 (en) Rendering of disjoint and overlapping blits
JPH10105154A (ja) グラフィックス表示装置およびグラフィックスプロセッサ
JPH08194826A (ja) グラフィックスコントローラ
JP2899838B2 (ja) 記憶装置
US11756258B2 (en) Techniques for ray cone tracing and texture filtering
JP2810609B2 (ja) 図形表示方法及びその装置
JP2980079B2 (ja) 三次元画像処理装置及び方法
JP4419480B2 (ja) 画像処理装置およびその方法
JP2001249657A (ja) テキスト・フォント・キャッシュを備えたワークステーション
JPH06214749A (ja) 描画制御装置
JPH06118933A (ja) 文字パターン生成装置
JPH0438582A (ja) 画像処理装置
JPH02136890A (ja) 高品質文字パターン発生方式