JPH0714029A - 線描画装置及び方法 - Google Patents
線描画装置及び方法Info
- Publication number
- JPH0714029A JPH0714029A JP3231085A JP23108591A JPH0714029A JP H0714029 A JPH0714029 A JP H0714029A JP 3231085 A JP3231085 A JP 3231085A JP 23108591 A JP23108591 A JP 23108591A JP H0714029 A JPH0714029 A JP H0714029A
- Authority
- JP
- Japan
- Prior art keywords
- line
- data
- processor
- circuit
- bitblt
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/80—Shading
- G06T15/87—Gouraud shading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/80—Shading
- G06T15/83—Phong shading
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
(57)【要約】
【目的】本発明は、線描画を高速に行うことを目的とす
る。 【構成】bitbltおよび線描画シーケンサ360の
ためのアドレス情報を前処理するためのbitbltお
よび線描画パラメータ計算回路320を有する。このシ
ーケンサ360は、個々の画素アドレスを計算し、色内
挿速度を制御し、メモリハイパーバイザ380と通信を
行う。メモリアドレス決めを二つのタスクに区切ること
によって、第2の線あるいはbitbltについての処
理が開始するのに先行して、最初の線あるいはbitb
ltは、部分的に処理されることのみが必要とされる。
る。 【構成】bitbltおよび線描画シーケンサ360の
ためのアドレス情報を前処理するためのbitbltお
よび線描画パラメータ計算回路320を有する。このシ
ーケンサ360は、個々の画素アドレスを計算し、色内
挿速度を制御し、メモリハイパーバイザ380と通信を
行う。メモリアドレス決めを二つのタスクに区切ること
によって、第2の線あるいはbitbltについての処
理が開始するのに先行して、最初の線あるいはbitb
ltは、部分的に処理されることのみが必要とされる。
Description
【0001】
【産業上の利用分野】この発明は、一般的には、コンピ
ュータグラフィックスカード、より具体的には、高性能
のラスター化するプロセッサに関する。
ュータグラフィックスカード、より具体的には、高性能
のラスター化するプロセッサに関する。
【0002】
【従来の技術】図1は、典型的なスカラーコンピュータ
100のブロック図である。コンピュータは、メモリ1
20と結合された主プロセッサ、入力装置130および
出力装置140を含む。入力装置130は、キーボー
ド、マウス、タブレットあるいは他の種類の入力装置を
含む。出力装置140は、テキストモニタ、プロッタあ
るいは他の種類の出力装置を含む。また、主プロセッサ
は、グラフィックスカード200を通じてグラフィック
ディスプレイのような出力装置150と結合される。グ
ラフィックスカード200は、主プロセッサ110から
グラフィックスに関する命令を受信する。そして、この
グラフィックスカードは、その命令を実行し、グラフィ
ックディスプレイ150へのRGB信号を生成し、それ
によって、ワークステーションプロセッサからの所望の
グラフィックス出力を描画する。
100のブロック図である。コンピュータは、メモリ1
20と結合された主プロセッサ、入力装置130および
出力装置140を含む。入力装置130は、キーボー
ド、マウス、タブレットあるいは他の種類の入力装置を
含む。出力装置140は、テキストモニタ、プロッタあ
るいは他の種類の出力装置を含む。また、主プロセッサ
は、グラフィックスカード200を通じてグラフィック
ディスプレイのような出力装置150と結合される。グ
ラフィックスカード200は、主プロセッサ110から
グラフィックスに関する命令を受信する。そして、この
グラフィックスカードは、その命令を実行し、グラフィ
ックディスプレイ150へのRGB信号を生成し、それ
によって、ワークステーションプロセッサからの所望の
グラフィックス出力を描画する。
【0003】
【発明が解決しようとする課題】本発明は、線描画を高
速に行うことを目的とする。
速に行うことを目的とする。
【0004】
【課題を解決するための手段】この発明は、直列に結合
された複数のプロセッサを有し、各プロセッサが一連の
ブレゼンハム線描画アルゴリズムの一部分を行う、線描
画のための装置および方法を提供する。bitbltお
よび線描画パラメータ計算回路がbitbltおよび線
描画シーケンサのためのアドレス決め情報を処理する。
このシーケンサは、個々の画素アドレスを計算し、色内
挿の速度を制御し、メモリハイパーバイザとの通信を行
う。メモリアドレス決めを二つのタスク(アドレス処理
タスクおよび画素のアドレス決めタスク、各タスクが分
離したサブシステムによってなされる)に区切ることに
よって、第2の線あるいはbitbltについての処理
が開始するのに先行して、最初の線あるいはbitbl
tは、部分的に処理されることのみが必要とされる。こ
のことは、ブレゼンハムおよびDDA線計算の両者にも
適用する。これは、特に、三角形の基本要素(プリミテ
ィブ)を描画する時に有用である。
された複数のプロセッサを有し、各プロセッサが一連の
ブレゼンハム線描画アルゴリズムの一部分を行う、線描
画のための装置および方法を提供する。bitbltお
よび線描画パラメータ計算回路がbitbltおよび線
描画シーケンサのためのアドレス決め情報を処理する。
このシーケンサは、個々の画素アドレスを計算し、色内
挿の速度を制御し、メモリハイパーバイザとの通信を行
う。メモリアドレス決めを二つのタスク(アドレス処理
タスクおよび画素のアドレス決めタスク、各タスクが分
離したサブシステムによってなされる)に区切ることに
よって、第2の線あるいはbitbltについての処理
が開始するのに先行して、最初の線あるいはbitbl
tは、部分的に処理されることのみが必要とされる。こ
のことは、ブレゼンハムおよびDDA線計算の両者にも
適用する。これは、特に、三角形の基本要素(プリミテ
ィブ)を描画する時に有用である。
【0005】
【実施例】この発明の好適なる実施例では、グラフィッ
クスカード200は、前置グラフィックスプロセッサ2
10、ラスター化プロセッサおよび表示コントローラ2
20(ラスター化回路あるいはラスター化エンジンとし
ても知られている)、フレームバッファ230、Zバッ
ファ240、属性バッファ250、およびRAMDAC
を有している。フレームバッファおよび属性バッファ
は、通常、VRAMであり、Zバッファは、通常、DR
AMである。前置グラフィックスプロセッサ210は、
世界座標系で図形構成あるいはイメージに関する命令を
主プロセッサから受信し、三角形、bitblt(ビッ
ト・ブロック転送)、線等を含む基本要素(プリミティ
ブ)と称されるものによって一般的に記述する。また、
前置グラフィックスプロセッサは、ワークステーション
プロセッサからの画素命令を扱うことができる。そし
て、前置グラフィックスプロセッサは、種々の変換、ク
リッピングおよびライティングの命令を実行し、それに
よって図形構成あるいはイメージを略スクリーン座標系
で記述する。この情報は、ラスター化回路220へ渡さ
れる。
クスカード200は、前置グラフィックスプロセッサ2
10、ラスター化プロセッサおよび表示コントローラ2
20(ラスター化回路あるいはラスター化エンジンとし
ても知られている)、フレームバッファ230、Zバッ
ファ240、属性バッファ250、およびRAMDAC
を有している。フレームバッファおよび属性バッファ
は、通常、VRAMであり、Zバッファは、通常、DR
AMである。前置グラフィックスプロセッサ210は、
世界座標系で図形構成あるいはイメージに関する命令を
主プロセッサから受信し、三角形、bitblt(ビッ
ト・ブロック転送)、線等を含む基本要素(プリミティ
ブ)と称されるものによって一般的に記述する。また、
前置グラフィックスプロセッサは、ワークステーション
プロセッサからの画素命令を扱うことができる。そし
て、前置グラフィックスプロセッサは、種々の変換、ク
リッピングおよびライティングの命令を実行し、それに
よって図形構成あるいはイメージを略スクリーン座標系
で記述する。この情報は、ラスター化回路220へ渡さ
れる。
【0006】ラスター化回路220は、図形構成あるい
はイメージの処理の内部ループを実行する。ラスター化
回路は、典型的には、線基本要素に沿った画素、ディス
プレイ上の二つの領域間の論理的なあるいは算術的な機
能(bitbltの排他的な論理和のような)を行うデ
ィスプレイ上のある領域から他の領域へのコピー、デプ
ス比較試験を行った後に、シェーディングされた画素で
もって三角形状領域(Zバッファのグーロー(Gour
aud)シェーディングされた三角形)の塗りつぶし、
さらに、他の典型的なグラフィックス機能を生成する。
全体的に、ラスター化回路は、前置グラフィックスプロ
セッサからの情報とバッファ中に以前に蓄えられた情報
に基づいてスクリーン座標系において、フレームバッフ
ァ、Zバッファおよび属性バッファを更新する。
はイメージの処理の内部ループを実行する。ラスター化
回路は、典型的には、線基本要素に沿った画素、ディス
プレイ上の二つの領域間の論理的なあるいは算術的な機
能(bitbltの排他的な論理和のような)を行うデ
ィスプレイ上のある領域から他の領域へのコピー、デプ
ス比較試験を行った後に、シェーディングされた画素で
もって三角形状領域(Zバッファのグーロー(Gour
aud)シェーディングされた三角形)の塗りつぶし、
さらに、他の典型的なグラフィックス機能を生成する。
全体的に、ラスター化回路は、前置グラフィックスプロ
セッサからの情報とバッファ中に以前に蓄えられた情報
に基づいてスクリーン座標系において、フレームバッフ
ァ、Zバッファおよび属性バッファを更新する。
【0007】ダブルバッファとされうるフレームバッフ
ァ230は、グラフィックディスプレイの各画素に関す
る赤、緑および青の記述を含む。Zバッファは、フレー
ムバッファ中に蓄えられた画素のデプスあるいはZ値の
記述を含む。この情報は、提示された画素を論理試験に
基づき、表示すべきかどうかを決定するうえで、ラスタ
ー化回路にとって有用である。若し、論理試験が偽なら
ば、フレームおよびZバッファが更新されず、提示画素
よりむしろ現画素が表示される。若し、論理試験が真な
らば、フレームおよびZバッファが更新され、提示画素
が表示される。この実施例では、フレームバッファは、
1280×1024画素について24プレーン(赤、緑
および青のそれぞれで8プレーン)を有し、Zバッファ
は、同一の画素数に関して24ビット/画素を有してい
る。属性バッファ250もダブルバッファとされうるも
ので、フレームバッファ中の画素について、それらがウ
インドウ、オーバーレーおよびマイクロコードプレーン
のどれに属するか、それらが書き込み保護されているか
どうか、などのような制御情報を含む。
ァ230は、グラフィックディスプレイの各画素に関す
る赤、緑および青の記述を含む。Zバッファは、フレー
ムバッファ中に蓄えられた画素のデプスあるいはZ値の
記述を含む。この情報は、提示された画素を論理試験に
基づき、表示すべきかどうかを決定するうえで、ラスタ
ー化回路にとって有用である。若し、論理試験が偽なら
ば、フレームおよびZバッファが更新されず、提示画素
よりむしろ現画素が表示される。若し、論理試験が真な
らば、フレームおよびZバッファが更新され、提示画素
が表示される。この実施例では、フレームバッファは、
1280×1024画素について24プレーン(赤、緑
および青のそれぞれで8プレーン)を有し、Zバッファ
は、同一の画素数に関して24ビット/画素を有してい
る。属性バッファ250もダブルバッファとされうるも
ので、フレームバッファ中の画素について、それらがウ
インドウ、オーバーレーおよびマイクロコードプレーン
のどれに属するか、それらが書き込み保護されているか
どうか、などのような制御情報を含む。
【0008】そして、RAMDAC260は、フレーム
バッファ中の画素の記述と属性バッファからの制御プレ
ーンを使用してアナログRGB信号ストリームを生成す
る。そして、グラフィックディスプレイ150は、この
RGB信号ストリームを用いて図形イメージを表示す
る。
バッファ中の画素の記述と属性バッファからの制御プレ
ーンを使用してアナログRGB信号ストリームを生成す
る。そして、グラフィックディスプレイ150は、この
RGB信号ストリームを用いて図形イメージを表示す
る。
【0009】図2は、ラスター化プロセッサ220のブ
ロック図である。入力インターフェイス300が所定の
プロトコルで、前置グラフィックスプロセッサとの通信
を行う。この通信に基づいて、入力インターフェイス
は、アドレスを復号し、データを適切な内部レジスタに
向け、ラスター化フロントエンド305の要求に合致し
たインターフェイスタイミングを生成する。例えば、入
力インターフェイスが三角形内挿回路310に対して三
角形基本要素と関係する情報を送る。さらに、入力イン
ターフェイスは、bitbltおよび線描画パラメータ
計算回路320に対して、bitbltおよび線基本要
素のアドレス情報を送り、また、対応するデータを幅お
よびフォーマット変換回路330へ送る。この実施例で
は、入力インターフェイスは、内部レジスタがデータ受
信可能かどうかを決定する。若し、内部レジスタが使用
可能でないならば、入力インターフェイスが内部レジス
タの書き込み保護を行うとともに、適当な内部レジスタ
がデータ受信可能となるまで、そのデータを遅らせる。
さらに、入力インターフェイスは、妥当なデータを持た
ない内部レジスタの読み出し保護を行う。この入力イン
ターフェイスは、状態情報を含む双方向の通信をコマン
ド翻訳およびスーパーバイザと行う。また、入力インタ
ーフェイスは、CRTコントローラ350に対してある
種のCRT制御コードを渡す。
ロック図である。入力インターフェイス300が所定の
プロトコルで、前置グラフィックスプロセッサとの通信
を行う。この通信に基づいて、入力インターフェイス
は、アドレスを復号し、データを適切な内部レジスタに
向け、ラスター化フロントエンド305の要求に合致し
たインターフェイスタイミングを生成する。例えば、入
力インターフェイスが三角形内挿回路310に対して三
角形基本要素と関係する情報を送る。さらに、入力イン
ターフェイスは、bitbltおよび線描画パラメータ
計算回路320に対して、bitbltおよび線基本要
素のアドレス情報を送り、また、対応するデータを幅お
よびフォーマット変換回路330へ送る。この実施例で
は、入力インターフェイスは、内部レジスタがデータ受
信可能かどうかを決定する。若し、内部レジスタが使用
可能でないならば、入力インターフェイスが内部レジス
タの書き込み保護を行うとともに、適当な内部レジスタ
がデータ受信可能となるまで、そのデータを遅らせる。
さらに、入力インターフェイスは、妥当なデータを持た
ない内部レジスタの読み出し保護を行う。この入力イン
ターフェイスは、状態情報を含む双方向の通信をコマン
ド翻訳およびスーパーバイザと行う。また、入力インタ
ーフェイスは、CRTコントローラ350に対してある
種のCRT制御コードを渡す。
【0010】三角形内挿回路310は、アドレスおよび
データスプリッタとして捉えることができる。三角形基
本要素と関係する情報は、三角形内挿回路310へ送ら
れ、そして、三角形内挿回路は、この情報を線基本要素
の系列へ分離する。そして、三角形内挿回路は、線基本
要素のために、データからアドレス情報を分離し、この
アドレス情報をbitbltおよび線描画パラメータ計
算回路へ渡す。
データスプリッタとして捉えることができる。三角形基
本要素と関係する情報は、三角形内挿回路310へ送ら
れ、そして、三角形内挿回路は、この情報を線基本要素
の系列へ分離する。そして、三角形内挿回路は、線基本
要素のために、データからアドレス情報を分離し、この
アドレス情報をbitbltおよび線描画パラメータ計
算回路へ渡す。
【0011】bitbltおよび線描画パラメータ計算
回路320は、三角形内挿回路310から水平線基本要
素のアドレス情報を受信し、また、入力インターフェイ
ス300を介してグラフィックスプロセッサからオリエ
ンテーション中のbitbltのアドレス情報と線基本
要素とを受信する。そして、このbitbltおよび線
描画パラメータ計算回路は、bitbltおよび線基本
要素に関する種々のパラメータを計算し、その情報をb
itbltおよび線描画シーケンサ360へ渡す。そし
て、bitbltおよび線描画シーケンサは、bitb
ltあるいは線基本要素により作用された各画素のため
の増分画素アドレスを生成する。これとともに、シーケ
ンサは、データ経路370に対して制御情報を提供す
る。それから、この情報は、フレームバッファおよびZ
バッファを更新するために、階層メモリ制御回路380
(メモリハイパーバイザと称する)へ渡される。
回路320は、三角形内挿回路310から水平線基本要
素のアドレス情報を受信し、また、入力インターフェイ
ス300を介してグラフィックスプロセッサからオリエ
ンテーション中のbitbltのアドレス情報と線基本
要素とを受信する。そして、このbitbltおよび線
描画パラメータ計算回路は、bitbltおよび線基本
要素に関する種々のパラメータを計算し、その情報をb
itbltおよび線描画シーケンサ360へ渡す。そし
て、bitbltおよび線描画シーケンサは、bitb
ltあるいは線基本要素により作用された各画素のため
の増分画素アドレスを生成する。これとともに、シーケ
ンサは、データ経路370に対して制御情報を提供す
る。それから、この情報は、フレームバッファおよびZ
バッファを更新するために、階層メモリ制御回路380
(メモリハイパーバイザと称する)へ渡される。
【0012】幅およびフォーマット変換回路330は、
前置グラフィックスプロセッサあるいは主プロセッサか
らの入力データを目標バッファと互換性のあるフォーマ
ットへ翻訳する。この変換回路は、連続である画素のた
めにデータ文字列を扱う。このデータは、色およびZ情
報を含む。内挿色信号を有する線は、幅およびフォーマ
ット変換回路に渡されずに、直接的にbitbltおよ
び線描画パラメータ計算回路320へ渡される。この実
施例では、変換回路は、1ビット画素を24ビット画素
へ変換でき、フレームバッファ中の単色テキストを二つ
の色のいずれにも拡張させる。さらに、幅およびフォー
マット変換回路330は、32ビットワードを40ビッ
トワードあるいは他の幅へ変換できるとともに、ラスタ
ー化回路の利用にとって必要なフォーマット変換を行う
ことができる。入力データの幅およびフォーマットが変
換されると、データ経路370へデータが渡される。
前置グラフィックスプロセッサあるいは主プロセッサか
らの入力データを目標バッファと互換性のあるフォーマ
ットへ翻訳する。この変換回路は、連続である画素のた
めにデータ文字列を扱う。このデータは、色およびZ情
報を含む。内挿色信号を有する線は、幅およびフォーマ
ット変換回路に渡されずに、直接的にbitbltおよ
び線描画パラメータ計算回路320へ渡される。この実
施例では、変換回路は、1ビット画素を24ビット画素
へ変換でき、フレームバッファ中の単色テキストを二つ
の色のいずれにも拡張させる。さらに、幅およびフォー
マット変換回路330は、32ビットワードを40ビッ
トワードあるいは他の幅へ変換できるとともに、ラスタ
ー化回路の利用にとって必要なフォーマット変換を行う
ことができる。入力データの幅およびフォーマットが変
換されると、データ経路370へデータが渡される。
【0013】データ経路370は、ビットおよび線描画
シーケンサ360と協同して、三角形内挿回路310
と、幅およびフォーマット変換回路330とからのデー
タをメモリハイパーバイザ380へ渡す。この協同は、
コマンド翻訳およびスーパーバイザ340によって調整
される。また、データ経路は、源および送出先の混合ば
かりでなく、画素の回転および配置のような必要なデー
タ操作を行う。コマンド翻訳およびスーパーバイザ34
0は、種々の制御信号によって、ラスター化回路220
の作用を調整する。これとともに、このコマンド翻訳お
よびスーパーバイザは、入力インターフェイス300を
介してグラフィックスプロセッサとラスター化回路の状
態を通信する。
シーケンサ360と協同して、三角形内挿回路310
と、幅およびフォーマット変換回路330とからのデー
タをメモリハイパーバイザ380へ渡す。この協同は、
コマンド翻訳およびスーパーバイザ340によって調整
される。また、データ経路は、源および送出先の混合ば
かりでなく、画素の回転および配置のような必要なデー
タ操作を行う。コマンド翻訳およびスーパーバイザ34
0は、種々の制御信号によって、ラスター化回路220
の作用を調整する。これとともに、このコマンド翻訳お
よびスーパーバイザは、入力インターフェイス300を
介してグラフィックスプロセッサとラスター化回路の状
態を通信する。
【0014】CRTコントローラ350は、CRTある
いは表示装置のための種々の制御情報を扱う。これは、
水平および垂直同期信号の再生、フレームブランキン
グ、複合同期信号、および他の制御信号を含む。これら
の信号は、メモリハイパーバイザ380を通じてグラフ
ィックディスプレイ装置の活動を調整する。これととも
に、CRTコントローラは、フレームバッファの動作の
ためのアドレスおよびロード信号を生成する。
いは表示装置のための種々の制御情報を扱う。これは、
水平および垂直同期信号の再生、フレームブランキン
グ、複合同期信号、および他の制御信号を含む。これら
の信号は、メモリハイパーバイザ380を通じてグラフ
ィックディスプレイ装置の活動を調整する。これととも
に、CRTコントローラは、フレームバッファの動作の
ためのアドレスおよびロード信号を生成する。
【0015】メモリハイパーバイザ380は、フレーム
バッファ制御回路390、Zバッファ制御回路392お
よび属性バッファ制御回路394を介して、フレームバ
ッファ、Zバッファおよび属性バッファをそれぞれ更新
することを扱う。属性バッファ制御プレーンは、グラフ
ィックスプロセッサによって命令されるように、メモリ
ハイパーバイザにより更新される。フレームバッファ画
素は、Zアルゴリズムに従って更新される。すなわち、
論理試験がなされる。若し、論理試験が真であるなら
ば、メモリハイパーバイザ380によって、フレームバ
ッファおよびZバッファが新たな画素値でもって更新さ
れる。このZアルゴリズムは、画素というよりはむしろ
基本要素のZ値が比較されて、表示目的についてどの基
本要素が他の前面に存在するかを決定するペインターの
(Painter’s)アルゴリズムとは異なってい
る。
バッファ制御回路390、Zバッファ制御回路392お
よび属性バッファ制御回路394を介して、フレームバ
ッファ、Zバッファおよび属性バッファをそれぞれ更新
することを扱う。属性バッファ制御プレーンは、グラフ
ィックスプロセッサによって命令されるように、メモリ
ハイパーバイザにより更新される。フレームバッファ画
素は、Zアルゴリズムに従って更新される。すなわち、
論理試験がなされる。若し、論理試験が真であるなら
ば、メモリハイパーバイザ380によって、フレームバ
ッファおよびZバッファが新たな画素値でもって更新さ
れる。このZアルゴリズムは、画素というよりはむしろ
基本要素のZ値が比較されて、表示目的についてどの基
本要素が他の前面に存在するかを決定するペインターの
(Painter’s)アルゴリズムとは異なってい
る。
【0016】ビットおよび線描画パラメータ計算回路3
20とシーケンサ360とを分離することによって、パ
ラメータが計算され、シーケンサへ渡されると、パラメ
ータ計算回路は、それから、線描画シーケンサがその処
理を完了することを待たずに、次のbitbltあるい
は線基本要素を扱うことができる利点が得られる。この
ことは、特に、三角形および台形の基本要素を扱うため
に有用である。すなわち、三角形内挿回路310は、三
角形基本要素を水平線基本要素の系列に分離し、この水
平線基本要素がbitbltおよび線描画パラメータ計
算回路へ順次渡される。そして、bitbltおよび線
描画パラメータ計算回路と、bitbltおよび線描画
シーケンサとが種々の水平線を扱うためのそれらの処理
を完遂する間に、三角形内挿回路が次の三角形線に移る
ことができる。
20とシーケンサ360とを分離することによって、パ
ラメータが計算され、シーケンサへ渡されると、パラメ
ータ計算回路は、それから、線描画シーケンサがその処
理を完了することを待たずに、次のbitbltあるい
は線基本要素を扱うことができる利点が得られる。この
ことは、特に、三角形および台形の基本要素を扱うため
に有用である。すなわち、三角形内挿回路310は、三
角形基本要素を水平線基本要素の系列に分離し、この水
平線基本要素がbitbltおよび線描画パラメータ計
算回路へ順次渡される。そして、bitbltおよび線
描画パラメータ計算回路と、bitbltおよび線描画
シーケンサとが種々の水平線を扱うためのそれらの処理
を完遂する間に、三角形内挿回路が次の三角形線に移る
ことができる。
【0017】この実施例では、三角形内挿回路は、三角
形あるいは台形基本要素から分離された線基本要素毎に
10サイクルの速度で動作し、bitbltおよび線描
画パラメータ計算回路は、線基本要素毎に6サイクルの
速度で動作し、bitbltおよび線描画シーケンサ
は、画素毎に1サイクルの速度で動作する。その結果、
bitbltおよび線描画シーケンサにより引かれた線
基本要素の長さ(すなわち、画素数)は、どの程度の頻
度でシーケンサが線基本要素を引くことを開始できるか
に直接的に影響し、その結果、パラメータ計算回路ある
いはシーケンサは、一方が他方を遅らせるのである。三
角形基本要素を描画する時に、三角形基本要素の幅が結
果の線基本要素の長さを決定する。若し、なるべく小さ
い三角形基本要素を使用するならば、bitbltおよ
び線描画シーケンサは、パラメータ計算回路によって遅
れないことができる。このことは、グーローシェーディ
ングのような小さい三角形の計算に非常に有用である。
若し、一つの三角形基本要素を画素毎に細分化するなら
ば、それは、フォング(Phong)シェーディングに
略等価である。
形あるいは台形基本要素から分離された線基本要素毎に
10サイクルの速度で動作し、bitbltおよび線描
画パラメータ計算回路は、線基本要素毎に6サイクルの
速度で動作し、bitbltおよび線描画シーケンサ
は、画素毎に1サイクルの速度で動作する。その結果、
bitbltおよび線描画シーケンサにより引かれた線
基本要素の長さ(すなわち、画素数)は、どの程度の頻
度でシーケンサが線基本要素を引くことを開始できるか
に直接的に影響し、その結果、パラメータ計算回路ある
いはシーケンサは、一方が他方を遅らせるのである。三
角形基本要素を描画する時に、三角形基本要素の幅が結
果の線基本要素の長さを決定する。若し、なるべく小さ
い三角形基本要素を使用するならば、bitbltおよ
び線描画シーケンサは、パラメータ計算回路によって遅
れないことができる。このことは、グーローシェーディ
ングのような小さい三角形の計算に非常に有用である。
若し、一つの三角形基本要素を画素毎に細分化するなら
ば、それは、フォング(Phong)シェーディングに
略等価である。
【0018】ラスター化回路の個々のサブシステムは、
この発明をより十分に記述するために、以下に示され
る。引き続いて、これらのサブシステムの相互関係がど
のようなものかより十分に述べるために種々のタイミン
グ図が示される。
この発明をより十分に記述するために、以下に示され
る。引き続いて、これらのサブシステムの相互関係がど
のようなものかより十分に述べるために種々のタイミン
グ図が示される。
【0019】三角形内挿回路 三角形内挿回路は、アドレスおよびデータスプリッタと
して把握することができる。例えばグーローシェーディ
ングされた三角形は、三角形基本要素を水平線へスライ
スすることによって描画することができる。各線の始点
のXY値および色を計算するために、左エッジに沿って
内挿がされ、各線の端点を見出すために、右エッジに沿
って、内挿がされる。三角形内挿回路には、入力インタ
ーフェイスから以下の18個のパラメータが与えられ
る。 Ymin −三角形の上部のy値 Ymax −三角形の底部のy値 XL −三角形の左側の開始x値 XR −三角形の右側の開始x値 δXL −三角形の左側のx値のy毎の変化 δXR −三角形の右側のx値のy毎の変化 R0,G0,B0,Z0 −〔Ymin ,Xleft〕で規定される初期の色およびデプス値 δRS,GS,δBs,δZS, −左の傾斜およびx軸にそれぞれ沿った色およびデ δRX,δGX,δBX,δZX, プスデルタ
して把握することができる。例えばグーローシェーディ
ングされた三角形は、三角形基本要素を水平線へスライ
スすることによって描画することができる。各線の始点
のXY値および色を計算するために、左エッジに沿って
内挿がされ、各線の端点を見出すために、右エッジに沿
って、内挿がされる。三角形内挿回路には、入力インタ
ーフェイスから以下の18個のパラメータが与えられ
る。 Ymin −三角形の上部のy値 Ymax −三角形の底部のy値 XL −三角形の左側の開始x値 XR −三角形の右側の開始x値 δXL −三角形の左側のx値のy毎の変化 δXR −三角形の右側のx値のy毎の変化 R0,G0,B0,Z0 −〔Ymin ,Xleft〕で規定される初期の色およびデプス値 δRS,GS,δBs,δZS, −左の傾斜およびx軸にそれぞれ沿った色およびデ δRX,δGX,δBX,δZX, プスデルタ
【0020】これらの18個のパラメータから、三角形
内挿回路は、描画される三角形のための以下の11個の
出力パラメータを生成する。それらの7個は、引くべき
各水平線のために渡される。 Y −水平線に関する垂直アドレス XL −その線の左端点の開始x値 XR −その線の右端点の開始x値 R −線の初期赤色 G −線の初期緑色 B −線の初期青色 δR−デルタ赤色 δG−デルタ緑色 δB−デルタ青色 Z −初期Z δZ−デルタZ
内挿回路は、描画される三角形のための以下の11個の
出力パラメータを生成する。それらの7個は、引くべき
各水平線のために渡される。 Y −水平線に関する垂直アドレス XL −その線の左端点の開始x値 XR −その線の右端点の開始x値 R −線の初期赤色 G −線の初期緑色 B −線の初期青色 δR−デルタ赤色 δG−デルタ緑色 δB−デルタ青色 Z −初期Z δZ−デルタZ
【0021】図3は、三角形データ構造入力パラメータ
中のパラメータと描画される三角形基本要素の間の関係
を示す(δが大文字のデルタに換えられている)。一例
として、三角形基本要素の上部の左側の画素(XL およ
びYmin における)は、R0,G0,B0およびZ0の
初期の色およびデプス値を有する。Ymin の下の水平線
上の左側の画素は、XL +δXL のX値と、R0 +δR
S ,G0 +δGS ,B0 +δBS ,Z0 +δZS の色お
よびデプス値とを有している。
中のパラメータと描画される三角形基本要素の間の関係
を示す(δが大文字のデルタに換えられている)。一例
として、三角形基本要素の上部の左側の画素(XL およ
びYmin における)は、R0,G0,B0およびZ0の
初期の色およびデプス値を有する。Ymin の下の水平線
上の左側の画素は、XL +δXL のX値と、R0 +δR
S ,G0 +δGS ,B0 +δBS ,Z0 +δZS の色お
よびデプス値とを有している。
【0022】三角形は、内挿された3−D線の色の系列
として描画される。三角形内挿回路は、11個の出力パ
ラメータを計算し、それらを線描画およびパラメータ計
算回路に渡す。新たな三角形が描画されようとする時
に、内挿の必要が要求されない故に、その最初の線のた
めのパラメータが線描画およびパラメータ計算回路に直
ちに送られる。次の三角形内挿ループでは、各パスにお
いて7個の新たなアドレスおよび色パラメータが生成さ
れる。
として描画される。三角形内挿回路は、11個の出力パ
ラメータを計算し、それらを線描画およびパラメータ計
算回路に渡す。新たな三角形が描画されようとする時
に、内挿の必要が要求されない故に、その最初の線のた
めのパラメータが線描画およびパラメータ計算回路に直
ちに送られる。次の三角形内挿ループでは、各パスにお
いて7個の新たなアドレスおよび色パラメータが生成さ
れる。
【0023】以下の全体的な順序制御が三角形内挿回路
によってなされる。第1に、三角形内挿回路は、入力イ
ンターフェイスから三角形基本要素の18個のパラメー
タを受信する。第2に、最初の線基本要素にための出力
パラメータが生成され、三角形の一つの水平間隔が塗り
つぶされる。Y1,Y2,XL ,XR (Yに等しいY1
およびY2を有する)がbitbltおよび線描画パラ
メータ計算回路320へ渡され、R、G、B、δR、δ
G、δB、Z、δZがデータ経路370へ渡される。第
3に、新たなパラメータXL 、XR 、Y、R、G、B、
Zが計算され、計算される次の線基本要素のために蓄え
られる。そして、Ymax が検出され、それによって、最
後の生成すべき線基本要素が指示されるまで、第2およ
び第3のステップが反復される。
によってなされる。第1に、三角形内挿回路は、入力イ
ンターフェイスから三角形基本要素の18個のパラメー
タを受信する。第2に、最初の線基本要素にための出力
パラメータが生成され、三角形の一つの水平間隔が塗り
つぶされる。Y1,Y2,XL ,XR (Yに等しいY1
およびY2を有する)がbitbltおよび線描画パラ
メータ計算回路320へ渡され、R、G、B、δR、δ
G、δB、Z、δZがデータ経路370へ渡される。第
3に、新たなパラメータXL 、XR 、Y、R、G、B、
Zが計算され、計算される次の線基本要素のために蓄え
られる。そして、Ymax が検出され、それによって、最
後の生成すべき線基本要素が指示されるまで、第2およ
び第3のステップが反復される。
【0024】図4は、この実施例による三角形内挿サブ
システムのブロック図であり、この回路は、入力パラメ
ータから出力パラメータを計算するために使用される。
三角形内挿回路310は、バッファ(レジスタファイ
ル)管理制御回路(TBF FSM)400、三角形内
挿およびパラメータ受け渡し管理回路(TRI FS
M)401、アドレスマップ回路402、比較回路40
3、レジスタファイルの36個の32ビットワードの記
憶装置404、内挿用のキャリールックアヘッド加算回
路405およびその累算レジスタ406、並びに線生成
サブシステム(アドレス決め、色およびZ内挿)へのデ
ータバス407を含む。アドレスマップ回路は、ルック
アップテーブルであり、バッファ管理制御回路400、
受け渡し制御回路401および入力インターフェイス3
00からの入力を復号することによって、物理レジスタ
ファイルアドレスを作成する。比較回路403は、三角
形終了の状態を検出する。キャリールックアヘッド加算
回路405が内挿用に使用される。
システムのブロック図であり、この回路は、入力パラメ
ータから出力パラメータを計算するために使用される。
三角形内挿回路310は、バッファ(レジスタファイ
ル)管理制御回路(TBF FSM)400、三角形内
挿およびパラメータ受け渡し管理回路(TRI FS
M)401、アドレスマップ回路402、比較回路40
3、レジスタファイルの36個の32ビットワードの記
憶装置404、内挿用のキャリールックアヘッド加算回
路405およびその累算レジスタ406、並びに線生成
サブシステム(アドレス決め、色およびZ内挿)へのデ
ータバス407を含む。アドレスマップ回路は、ルック
アップテーブルであり、バッファ管理制御回路400、
受け渡し制御回路401および入力インターフェイス3
00からの入力を復号することによって、物理レジスタ
ファイルアドレスを作成する。比較回路403は、三角
形終了の状態を検出する。キャリールックアヘッド加算
回路405が内挿用に使用される。
【0025】レジスタファイル404は、二つの三角形
基本要素のためのパラメータを保持するのに十分な記憶
容量を有している。これによって、三角形の動作がダブ
ルバッファとされる。すなわち、内挿制御回路401が
バッファの他の半分を利用している間に、新たな三角形
用のデータがバッファのアイドル部分にロードされるバ
ッファ管理制御回路400は、二つのバッファの分離状
態を保証する。レジスタファイルが二つの書き込みポー
トと三つの読み出しポートとを有する。レジスタファイ
ルの一つの書き込みポート(W1)が新たなデータをロ
ード用に割り当てられる。他の書き込みポート(W0)
が計算結果を蓄えるために、内挿制御回路によって使用
される。アイドルバッファのアイドル半分が一杯になる
まで、三角形内挿作業と並列に、新たなデータがアイド
ルバッファ内へロードされることができる。3個の読み
出しポートは、パラメータを渡し、計算するために使用
される。
基本要素のためのパラメータを保持するのに十分な記憶
容量を有している。これによって、三角形の動作がダブ
ルバッファとされる。すなわち、内挿制御回路401が
バッファの他の半分を利用している間に、新たな三角形
用のデータがバッファのアイドル部分にロードされるバ
ッファ管理制御回路400は、二つのバッファの分離状
態を保証する。レジスタファイルが二つの書き込みポー
トと三つの読み出しポートとを有する。レジスタファイ
ルの一つの書き込みポート(W1)が新たなデータをロ
ード用に割り当てられる。他の書き込みポート(W0)
が計算結果を蓄えるために、内挿制御回路によって使用
される。アイドルバッファのアイドル半分が一杯になる
まで、三角形内挿作業と並列に、新たなデータがアイド
ルバッファ内へロードされることができる。3個の読み
出しポートは、パラメータを渡し、計算するために使用
される。
【0026】内挿制御回路401で用いられるTRM
FSMアルゴリズムは、よりスループットを上げるよう
に、調整されている。線生成の初期サイクルは、その三
角形パスによって作成されたアドレス情報だけを必要と
する。実際に線を引くことを開始するまで、色パラメー
タが不要である。このことを利用するために、三角形計
算動作は、最初に線アドレス決めパラメータが生成され
てから、次に色およびデプスパラメータが生成されるよ
うに、順序制御される。内挿パスの最初では、線生成回
路が使用可能か検査される。若し、この検査が肯定的で
あれば、上述のものと異なったパラメータ受け渡し順序
制御が使用される。アドレスパラメータは、累算回路か
らそのまま一度に手放され、色およびデプスパラメータ
の生成が継続している間に、線順序制御が開始する。そ
して、色およびデプスパラメータが遅れて渡される。そ
れから、パラメータ計算回路320は、三角形内挿回路
が色およびデプス情報の処理を継続している間に、線ア
ドレスを処理する。三角形制御回路は、直ちに次のパス
を開始でき、若し、現三角形が完了し、そのアイドルバ
ッファが一杯であれば、新たな三角形でさえも開始する
ことができる。
FSMアルゴリズムは、よりスループットを上げるよう
に、調整されている。線生成の初期サイクルは、その三
角形パスによって作成されたアドレス情報だけを必要と
する。実際に線を引くことを開始するまで、色パラメー
タが不要である。このことを利用するために、三角形計
算動作は、最初に線アドレス決めパラメータが生成され
てから、次に色およびデプスパラメータが生成されるよ
うに、順序制御される。内挿パスの最初では、線生成回
路が使用可能か検査される。若し、この検査が肯定的で
あれば、上述のものと異なったパラメータ受け渡し順序
制御が使用される。アドレスパラメータは、累算回路か
らそのまま一度に手放され、色およびデプスパラメータ
の生成が継続している間に、線順序制御が開始する。そ
して、色およびデプスパラメータが遅れて渡される。そ
れから、パラメータ計算回路320は、三角形内挿回路
が色およびデプス情報の処理を継続している間に、線ア
ドレスを処理する。三角形制御回路は、直ちに次のパス
を開始でき、若し、現三角形が完了し、そのアイドルバ
ッファが一杯であれば、新たな三角形でさえも開始する
ことができる。
【0027】図5は、三角形内挿回路によって達成され
る並列を示すタイミング図である。明瞭とするために、
TRI FSMの状態図が含まれている。水平軸が時間
経過を示す。垂直軸が各サイクルでなされるタスクを示
す。例えば時点T0からT1では、3個の線アドレス決
めパラメータ(Y0、XL 0、XR 0)がレジスタファ
イルから線描画パラメータ計算回路へ転送され、一方、
3個の新たなレジスタファイルアドレスが時点T2への
ジャンプに備えて、ラッチへクロックで取り込まれる。
時点T4からT5では、3個のデルタ色値が転送されて
おり、一方、Yをインクリメントするために必要な読み
出しアドレスが用意される。T8からT9では、XR が
蓄えられており、Ziが計算されており、Riを計算す
るためのアドレスが準備されている。
る並列を示すタイミング図である。明瞭とするために、
TRI FSMの状態図が含まれている。水平軸が時間
経過を示す。垂直軸が各サイクルでなされるタスクを示
す。例えば時点T0からT1では、3個の線アドレス決
めパラメータ(Y0、XL 0、XR 0)がレジスタファ
イルから線描画パラメータ計算回路へ転送され、一方、
3個の新たなレジスタファイルアドレスが時点T2への
ジャンプに備えて、ラッチへクロックで取り込まれる。
時点T4からT5では、3個のデルタ色値が転送されて
おり、一方、Yをインクリメントするために必要な読み
出しアドレスが用意される。T8からT9では、XR が
蓄えられており、Ziが計算されており、Riを計算す
るためのアドレスが準備されている。
【0028】bitbltおよび線描画パラメータ計算
回路 bitbltおよび線描画パラメータ計算回路320
は、bitbltおよび線描画シーケンサ340のため
のアドレス決め情報を前処理する。シーケンサ360
は、各画素アドレスを計算し、色内挿の速度を制御し、
また、メモリハイパーバイザとの通信を行う。メモリア
ドレス決めを二つのタスク(アドレス処理タスクおよび
画素アドレス決めタスク、各タスクが別のサブシステム
によってなされる)へ区切ることによって、2番目の線
あるいはbitbltの処理を開始するのに先行して、
最初の線あるいはbitbltが部分的に処理されるこ
とのみが必要とされる。これは、ブレゼンハム(Bre
senham)(FUNDAMENTALSOF INTERACTIVE COMPUTER
GRAPHICS" 第2版、J.D.Foley,A.Van Dam 著、74〜81
頁参照) およびDDA("FUNDAMENTALS OF INTERACTIVE
COMPUTER GRAPHICS"第2版、J.D.Foley,A.Van Dam 著、
73〜74頁参照) の両者の線計算に対しても適用する。こ
のことは、三角形基本要素を描画する時に、特に有用で
ある。
回路 bitbltおよび線描画パラメータ計算回路320
は、bitbltおよび線描画シーケンサ340のため
のアドレス決め情報を前処理する。シーケンサ360
は、各画素アドレスを計算し、色内挿の速度を制御し、
また、メモリハイパーバイザとの通信を行う。メモリア
ドレス決めを二つのタスク(アドレス処理タスクおよび
画素アドレス決めタスク、各タスクが別のサブシステム
によってなされる)へ区切ることによって、2番目の線
あるいはbitbltの処理を開始するのに先行して、
最初の線あるいはbitbltが部分的に処理されるこ
とのみが必要とされる。これは、ブレゼンハム(Bre
senham)(FUNDAMENTALSOF INTERACTIVE COMPUTER
GRAPHICS" 第2版、J.D.Foley,A.Van Dam 著、74〜81
頁参照) およびDDA("FUNDAMENTALS OF INTERACTIVE
COMPUTER GRAPHICS"第2版、J.D.Foley,A.Van Dam 著、
73〜74頁参照) の両者の線計算に対しても適用する。こ
のことは、三角形基本要素を描画する時に、特に有用で
ある。
【0029】4個の線入力アドレスパラメータが処理さ
れ、ブレゼンハムアルゴリズムパラメータと同様に、線
方向および象限情報が作成される。bitblt入力
は、コピーされる前に画素が重ね書きされないように、
XおよびYにおけるどの方向に、その画素の読み出しお
よび書き込みが進行されねばならないかを決定するため
に、処理される必要がある。線基本要素の入力および出
力パラメータは以下のものである。
れ、ブレゼンハムアルゴリズムパラメータと同様に、線
方向および象限情報が作成される。bitblt入力
は、コピーされる前に画素が重ね書きされないように、
XおよびYにおけるどの方向に、その画素の読み出しお
よび書き込みが進行されねばならないかを決定するため
に、処理される必要がある。線基本要素の入力および出
力パラメータは以下のものである。
【0030】線入力: Y1−第1の端点のy値 Y2−第2の端点のy値 X1−第1の端点のx値 X2−第2の端点のx値 線出力: Ystart −Y1 Yend −Y2 Xstart quot −X1/5 Xend quot −X2/5 Xstart rem −X1/5の割算の余り Xend rem −X2/5の割算余り D term,I1,I2−ブレゼンハムアルゴリズムパラ
メータ Slope GT 1 −>1の線の傾き Slope pos −正の傾き X1 GT X2 −X1>X2
メータ Slope GT 1 −>1の線の傾き Slope pos −正の傾き X1 GT X2 −X1>X2
【0031】bitbltの入力および出力パラメータ
は以下のものである。 BitBlt入力 Xsource −コピーされるブロックの最下位Xアド
レス Ysource −コピーされるブロックの最下位Yアド
レス Xdestination −ブロック宛先の左上隅のXアドレス Ydestination −ブロック宛先の左上隅のYアドレス Width −幅の画素数 Height −高さの画素数 BitBlt出力 Xsrc start d5−源ブロックに関する開始Xアド
レス Xsrc end d5 −源ブロックに関する終止Xアド
レス Ysrc start −源ブロックに関する開始Yアド
レス Ysrc end −源ブロックに関する終止Yアド
レス Xdest start d5−送出先ブロックに関する開始X
アドレス Xdest end d5 −送出先ブロックに関する終止X
アドレス Ydest start −送出先ブロックに関する開始Y
アドレス Ydest end −送出先ブロックに関する終止Y
アドレス Xmasks (4) −5画素グループ中でどのブロッ
クがブロック境界で操作されるかを指示する5ビットマ
スク
は以下のものである。 BitBlt入力 Xsource −コピーされるブロックの最下位Xアド
レス Ysource −コピーされるブロックの最下位Yアド
レス Xdestination −ブロック宛先の左上隅のXアドレス Ydestination −ブロック宛先の左上隅のYアドレス Width −幅の画素数 Height −高さの画素数 BitBlt出力 Xsrc start d5−源ブロックに関する開始Xアド
レス Xsrc end d5 −源ブロックに関する終止Xアド
レス Ysrc start −源ブロックに関する開始Yアド
レス Ysrc end −源ブロックに関する終止Yアド
レス Xdest start d5−送出先ブロックに関する開始X
アドレス Xdest end d5 −送出先ブロックに関する終止X
アドレス Ydest start −送出先ブロックに関する開始Y
アドレス Ydest end −送出先ブロックに関する終止Y
アドレス Xmasks (4) −5画素グループ中でどのブロッ
クがブロック境界で操作されるかを指示する5ビットマ
スク
【0032】いずれの順序制御においても、パラメータ
計算回路は、図形基本要素の混合が可能である。例えば
bitbltは、DDA線を先に置くことができ、そし
て、折れ線セグメントの順序制御、三角形間隔の系列等
を先に行うことができる。パラメータ計算回路のアイド
ル状態によって、初期化が起こり、それによってどのサ
イクルも無駄にならない。さらに、そこにおいて出力パ
ラメータがシーケンサへ渡されるパラメータ計算回路の
最終状態は、最終的なパラメータ計算を行う。その結果
として、最後の出力値がパラメータ計算回路内のレジス
タよりむしろ、シーケンサへ直接的に渡される。然も、
このサブシステムは、ある処理ステップの期間で、5個
までの計算動作〔(a+b)、(a−b)、(b−
a)、(a−b)×2、a−b×2、a×2、a<b、
a>b、a=b、a/5を含む〕を同時に行うことがで
き、高いスループットが維持される。
計算回路は、図形基本要素の混合が可能である。例えば
bitbltは、DDA線を先に置くことができ、そし
て、折れ線セグメントの順序制御、三角形間隔の系列等
を先に行うことができる。パラメータ計算回路のアイド
ル状態によって、初期化が起こり、それによってどのサ
イクルも無駄にならない。さらに、そこにおいて出力パ
ラメータがシーケンサへ渡されるパラメータ計算回路の
最終状態は、最終的なパラメータ計算を行う。その結果
として、最後の出力値がパラメータ計算回路内のレジス
タよりむしろ、シーケンサへ直接的に渡される。然も、
このサブシステムは、ある処理ステップの期間で、5個
までの計算動作〔(a+b)、(a−b)、(b−
a)、(a−b)×2、a−b×2、a×2、a<b、
a>b、a=b、a/5を含む〕を同時に行うことがで
き、高いスループットが維持される。
【0033】図6は、bitbltおよび線描画パラメ
ータ計算回路データ流れのブロック図である。入力イン
ターフェイス300および三角形内挿回路310から入
力パラメータが受信される。そして、出力パラメータが
マルチプレクサ510、インバータ520、キャリール
ックアヘッド加算回路530、割算回路540およびレ
ジスタ550によって、入力パラメータから計算され
る。
ータ計算回路データ流れのブロック図である。入力イン
ターフェイス300および三角形内挿回路310から入
力パラメータが受信される。そして、出力パラメータが
マルチプレクサ510、インバータ520、キャリール
ックアヘッド加算回路530、割算回路540およびレ
ジスタ550によって、入力パラメータから計算され
る。
【0034】図7は、ブレゼンハム線順序制御について
の細部および強調を有するパラメータ計算回路320に
関する状態流れ図である。この制御回路は、図6に示さ
れるマルチプレクサおよびレジスタを切り替え、パラメ
ータ計算順序制御を遂行する。一例として、ステップs
lp gt1では、変数dxがdyと比較される。若
し、dyがdxより大きいならば、引かれる線の傾きが
45°より大きい角度とされ、slp gt1 one
フラグがセットされる。ステップd termでは、s
lp gt1 oneフラグが試験され、図と付随する
コメントに示されるように、どのように、dterm変
数が計算されるかが決定される。
の細部および強調を有するパラメータ計算回路320に
関する状態流れ図である。この制御回路は、図6に示さ
れるマルチプレクサおよびレジスタを切り替え、パラメ
ータ計算順序制御を遂行する。一例として、ステップs
lp gt1では、変数dxがdyと比較される。若
し、dyがdxより大きいならば、引かれる線の傾きが
45°より大きい角度とされ、slp gt1 one
フラグがセットされる。ステップd termでは、s
lp gt1 oneフラグが試験され、図と付随する
コメントに示されるように、どのように、dterm変
数が計算されるかが決定される。
【0035】Bitbltおよび線描画シーケンサ bitbltおよび線描画シーケンサは、フレームバッ
ファアドレスを計算し、色内挿の速度を制御し、メモリ
ハイパーバイザとの通信を行う。シーケンサは、データ
経路370と共に働いて、シーケンサからのアドレス情
報およびデータ経路からの対応データを座標方式で渡
す。
ファアドレスを計算し、色内挿の速度を制御し、メモリ
ハイパーバイザとの通信を行う。シーケンサは、データ
経路370と共に働いて、シーケンサからのアドレス情
報およびデータ経路からの対応データを座標方式で渡
す。
【0036】線に関してのブレゼンハムおよびDDAア
ルゴリズムのいずれかが使用されて、入力アドレスパラ
メータが処理され、画素アドレスおよびライトイネーブ
ルが生成される。bitblt入力は、コピーされる前
に画素が重ね書きされないように、その画素をXおよび
Yにおけるどの方向に書き込みおよび読み出しを進めね
ばならないかを決定する。シーケンサ用の入力および出
力パラメータは、下記のものである。
ルゴリズムのいずれかが使用されて、入力アドレスパラ
メータが処理され、画素アドレスおよびライトイネーブ
ルが生成される。bitblt入力は、コピーされる前
に画素が重ね書きされないように、その画素をXおよび
Yにおけるどの方向に書き込みおよび読み出しを進めね
ばならないかを決定する。シーケンサ用の入力および出
力パラメータは、下記のものである。
【0037】線入力 Ystart −Y1 Yend −Y2 Xstart quot −X1/5 Xend quot −X2/5 Xstart rem −X1/5の割算の余り Xend rem −X2/5の割算余り D term,I1,I2−ブレゼンハムアルゴリズムパラ
メータ Slope GT 1 −>1の線の傾き Slope pos −正の傾き X1 GT X2 −X1>X2
メータ Slope GT 1 −>1の線の傾き Slope pos −正の傾き X1 GT X2 −X1>X2
【0038】BitBlt入力 Xsrc start d5−源ブロックに関する開始Xアド
レス Xsrc end d5 −源ブロックに関する終止Xアド
レス Ysrc start −源ブロックに関する開始Yアド
レス Ysrc end −源ブロックに関する終止Yアド
レス Xdest start d5−送出先ブロックに関する開始X
アドレス Xdest end d5 −送出先ブロックに関する終止X
アドレス Ydest start −送出先ブロックに関する開始Y
アドレス Ydest end −送出先ブロックに関する終止Y
アドレス Xmasks (4) −5画素グループ中でどのブロッ
クがブロック境界で操作されるかを指示する5ビットマ
スク
レス Xsrc end d5 −源ブロックに関する終止Xアド
レス Ysrc start −源ブロックに関する開始Yアド
レス Ysrc end −源ブロックに関する終止Yアド
レス Xdest start d5−送出先ブロックに関する開始X
アドレス Xdest end d5 −送出先ブロックに関する終止X
アドレス Ydest start −送出先ブロックに関する開始Y
アドレス Ydest end −送出先ブロックに関する終止Y
アドレス Xmasks (4) −5画素グループ中でどのブロッ
クがブロック境界で操作されるかを指示する5ビットマ
スク
【0039】出力: PixXaddr −8ビットフレームバッファアドレス PixYaddr −10ビットYフレームバッファアドレ
ス WeMask −5ビット画素ライトイネーブルマスク MemReadReg −フレームバッファ読み出し要求 MemWriteReg −フレームバッファ書き込み要求 DestNotSource −動作が送出先あるいは源かを指示する
フラグ
ス WeMask −5ビット画素ライトイネーブルマスク MemReadReg −フレームバッファ読み出し要求 MemWriteReg −フレームバッファ書き込み要求 DestNotSource −動作が送出先あるいは源かを指示する
フラグ
【0040】図8は、bitbltおよび線描画シーケ
ンサのデータ流れのブロック図である。bitbltお
よび線パラメータ計算回路320は、bitbltおよ
び線描画シーケンサ360に対するデータを提供するも
のと示される。シーケンサ360は、アドレス決め制御
610、論理演算ユニット(演算ユニットとしても知ら
れている)620、630、640、メモリ要求制御6
50、およびメモリインターフェイス660を含んでい
る。演算ユニットは、パラメータ計算回路によって提供
されたデータから基本要素を描画するうえで必要な計算
を行う。演算ユニット620および630がY変数を扱
い、演算ユニット640がX変数を扱う。アドレス決め
制御610は、演算ユニットの動作と、メモリインター
フェイスへ渡されるそれらの動作の結果とを制御する。
メモリ要求制御650は、メモリインターフェイスの動
作を制御する。メモリインターフェイスは、メモリハイ
パーバイザへ渡すために、データを蓄え、フォーマット
化する。さらに、メモリ要求制御およびメモリインター
フェイスの動作によって、アドレス決め制御および演算
ユニットが並列で高速で機能される。
ンサのデータ流れのブロック図である。bitbltお
よび線パラメータ計算回路320は、bitbltおよ
び線描画シーケンサ360に対するデータを提供するも
のと示される。シーケンサ360は、アドレス決め制御
610、論理演算ユニット(演算ユニットとしても知ら
れている)620、630、640、メモリ要求制御6
50、およびメモリインターフェイス660を含んでい
る。演算ユニットは、パラメータ計算回路によって提供
されたデータから基本要素を描画するうえで必要な計算
を行う。演算ユニット620および630がY変数を扱
い、演算ユニット640がX変数を扱う。アドレス決め
制御610は、演算ユニットの動作と、メモリインター
フェイスへ渡されるそれらの動作の結果とを制御する。
メモリ要求制御650は、メモリインターフェイスの動
作を制御する。メモリインターフェイスは、メモリハイ
パーバイザへ渡すために、データを蓄え、フォーマット
化する。さらに、メモリ要求制御およびメモリインター
フェイスの動作によって、アドレス決め制御および演算
ユニットが並列で高速で機能される。
【0041】入力インターフェイス 図9は、図2中に示される入力インターフェイス300
のより詳細なブロック図である。アドレスデコーダ70
0は、レジスタ702およびデコーダ704を有する。
デコーダは、どの種類の要求が保留されているかを決定
し、この要求を全体要求、三角形要求等のような異なる
種類へ分類する。また、保護されることがない雑要求も
ある。つまり、割り込みレジスタは、読み出しあるいは
書き込みが常に可能である。前置プロセッサ210から
の要求、読み出し/書き込みおよびストローブライン、
およびラスター化プロセッサ機能ブロックからのビジー
信号がレジスタ保護検査回路710へ入力される。この
レジスタ保護検査回路は、インターフェイス712およ
びインターフェイス制御回路状態マシーン714を有す
る。検査回路は、要求の種類をビジーラインの現状態と
比較し、レジスタ動作を進めるかどうかを決定する。動
作が進めることができる時に、前置プロセッサに対して
レディラインが明示され、書き込みストローブラインが
正しい機能ブロックに対して明示される(レジスタ動作
が書き込みの場合)。
のより詳細なブロック図である。アドレスデコーダ70
0は、レジスタ702およびデコーダ704を有する。
デコーダは、どの種類の要求が保留されているかを決定
し、この要求を全体要求、三角形要求等のような異なる
種類へ分類する。また、保護されることがない雑要求も
ある。つまり、割り込みレジスタは、読み出しあるいは
書き込みが常に可能である。前置プロセッサ210から
の要求、読み出し/書き込みおよびストローブライン、
およびラスター化プロセッサ機能ブロックからのビジー
信号がレジスタ保護検査回路710へ入力される。この
レジスタ保護検査回路は、インターフェイス712およ
びインターフェイス制御回路状態マシーン714を有す
る。検査回路は、要求の種類をビジーラインの現状態と
比較し、レジスタ動作を進めるかどうかを決定する。動
作が進めることができる時に、前置プロセッサに対して
レディラインが明示され、書き込みストローブラインが
正しい機能ブロックに対して明示される(レジスタ動作
が書き込みの場合)。
【0042】図10は、動作中の入力インターフェイス
の状態図である。コマンド翻訳およびスーパーバイザ3
40、三角形内挿回路310、bitbltおよび線描
画パラメータ計算回路320、およびデータ経路370
は、入力インターフェイスに対して、それらの内部レジ
スタの書き込み(または読み出し)が可能な時を指示す
る各ビジー信号を提供する。内部レジスタが前置プロセ
ッサによって書き込まれる(または読み出される)時
に、入力インターフェイスは、関連する機能ブロックか
らのビジー信号を試験することによって動作を進めても
良いかどうかを決定する。若し、レジスタ動作が進めて
も良いならば、入力インターフェイスがレディ信号を前
置プロセッサに対して戻す。若し、レジスタ動作が読み
出しならば、データが前置プロセッサへ送られる。若
し、レディ動作が書き込みならば、内部レジスタがスト
ローブされ、そこへ新たなデータがロードされる。若
し、レジスタ動作が進められないならば、機能ブロック
が動作を許可するまで、入力インターフェイスがレディ
を与えない。各ブロックのビジー信号の状態は、単なる
ビジー指示子以上のものでも可能である。若し、ブロッ
クが入力FIFOを有しているならば、ビジーは、FI
FO一杯信号と対応することができる。
の状態図である。コマンド翻訳およびスーパーバイザ3
40、三角形内挿回路310、bitbltおよび線描
画パラメータ計算回路320、およびデータ経路370
は、入力インターフェイスに対して、それらの内部レジ
スタの書き込み(または読み出し)が可能な時を指示す
る各ビジー信号を提供する。内部レジスタが前置プロセ
ッサによって書き込まれる(または読み出される)時
に、入力インターフェイスは、関連する機能ブロックか
らのビジー信号を試験することによって動作を進めても
良いかどうかを決定する。若し、レジスタ動作が進めて
も良いならば、入力インターフェイスがレディ信号を前
置プロセッサに対して戻す。若し、レジスタ動作が読み
出しならば、データが前置プロセッサへ送られる。若
し、レディ動作が書き込みならば、内部レジスタがスト
ローブされ、そこへ新たなデータがロードされる。若
し、レジスタ動作が進められないならば、機能ブロック
が動作を許可するまで、入力インターフェイスがレディ
を与えない。各ブロックのビジー信号の状態は、単なる
ビジー指示子以上のものでも可能である。若し、ブロッ
クが入力FIFOを有しているならば、ビジーは、FI
FO一杯信号と対応することができる。
【0043】レジスタ保護構成は、状態レジスタの試験
を除去することにより、全体的な性能を改善する。次の
レジスタロードに進むことができる時には、状態レジス
タを試験し、レジスタがロードされうることを決定する
のに費やされる時間は、常に無駄である。動作のため
に、二三のロードされるパラメータのみが必要で、動作
が迅速(短い線のように)な時には、この性能の向上が
著しい。これらの場合では、ビジーでないことを指示す
る状態レジスタを読むのに必要な時間は、パラメータを
ロードするための時間よりも、相対的に長い。
を除去することにより、全体的な性能を改善する。次の
レジスタロードに進むことができる時には、状態レジス
タを試験し、レジスタがロードされうることを決定する
のに費やされる時間は、常に無駄である。動作のため
に、二三のロードされるパラメータのみが必要で、動作
が迅速(短い線のように)な時には、この性能の向上が
著しい。これらの場合では、ビジーでないことを指示す
る状態レジスタを読むのに必要な時間は、パラメータを
ロードするための時間よりも、相対的に長い。
【0044】また、レジスタ保護構成は、動作のオーバ
ラップを容易とする。一例として、bitbltおよび
線描画パラメータ計算回路320が線を補間している間
に、パラメータが三角形内挿回路へロードされることが
できる。これによって、なされる動作の混合が存在する
時に、性能が向上する。動作の開始時に、コマンド翻訳
およびスーパーバイザ340が別々のビジー信号を有
し、それによって、以前の動作が完了するまでは、開始
動作レジスタの更新が阻止される。
ラップを容易とする。一例として、bitbltおよび
線描画パラメータ計算回路320が線を補間している間
に、パラメータが三角形内挿回路へロードされることが
できる。これによって、なされる動作の混合が存在する
時に、性能が向上する。動作の開始時に、コマンド翻訳
およびスーパーバイザ340が別々のビジー信号を有
し、それによって、以前の動作が完了するまでは、開始
動作レジスタの更新が阻止される。
【0045】いくつかのレジスタは、1種類の動作に特
定されるが、他のものは、1以上のものに共通である。
入力インターフェイスによって、各内部レジスタが1ま
たは複数のビジー信号によって保護される。このことに
より、一例として、送出先バッファ選択(フレームバッ
ファ、Zバッファあるいは属性バッファ)が動作中のバ
ッファ選択の変更を阻止するために、非活動状態の全て
のビジー信号を要求するにもかかわらず、線のXYアド
レスが線描画回路ビジー信号によって単独で保護され
る。この区別を行うことによって、簡単なDMAコント
ローラがラスター化プロセッサ中のいずれのレジスタを
いかなる順序でもロードすることができる。入力インタ
ーフェイスは、不適切な時点でレジスタがロードされる
ことを防止する。DMAコントローラは、メモリ中の表
示リストからラスター化プロセッサへのコピーをセット
されうる。ラスター化プロセッサが動作を完了する時
に、パラメータの次のセットがロードされうる。全体的
なレジスタ制御(例えばバッファ選択)への変更ばかり
でなく、異なる動作が混合されることが可能である。
定されるが、他のものは、1以上のものに共通である。
入力インターフェイスによって、各内部レジスタが1ま
たは複数のビジー信号によって保護される。このことに
より、一例として、送出先バッファ選択(フレームバッ
ファ、Zバッファあるいは属性バッファ)が動作中のバ
ッファ選択の変更を阻止するために、非活動状態の全て
のビジー信号を要求するにもかかわらず、線のXYアド
レスが線描画回路ビジー信号によって単独で保護され
る。この区別を行うことによって、簡単なDMAコント
ローラがラスター化プロセッサ中のいずれのレジスタを
いかなる順序でもロードすることができる。入力インタ
ーフェイスは、不適切な時点でレジスタがロードされる
ことを防止する。DMAコントローラは、メモリ中の表
示リストからラスター化プロセッサへのコピーをセット
されうる。ラスター化プロセッサが動作を完了する時
に、パラメータの次のセットがロードされうる。全体的
なレジスタ制御(例えばバッファ選択)への変更ばかり
でなく、異なる動作が混合されることが可能である。
【0046】bitbltおよび線描画パラメータ計算
回路300からのビジー、およびデータ経路370から
のビジーのようなデータビジー信号とアドレスとを分離
することによって、簡単なDMAインターフェイスによ
る処理が可能である。この場合には、保護機構によっ
て、以前の文字bitbltが遂行される間に、各連続
文字のアドレス情報(送出先X、Y)の入力がなされ
る。そして、この保護機構が新たな文字イメージを扱う
ことが可能なレートでデータ経路を与える
回路300からのビジー、およびデータ経路370から
のビジーのようなデータビジー信号とアドレスとを分離
することによって、簡単なDMAインターフェイスによ
る処理が可能である。この場合には、保護機構によっ
て、以前の文字bitbltが遂行される間に、各連続
文字のアドレス情報(送出先X、Y)の入力がなされ
る。そして、この保護機構が新たな文字イメージを扱う
ことが可能なレートでデータ経路を与える
【0047】メモリハイパーバイザ ハードウエアでZおよび属性比較を実現するには、いく
つかの方法がある。その一つは、フレーム、属性および
Zバッファ用の単一のメモリ制御回路を持つことであ
る。ラスター化フロントエンドがアドレス、色およびZ
デプス情報を生成し、現にアクセスが必要とされるバッ
ファを決定し、適切なバッファをアクセスするために、
メモリ制御回路に対して要求を送る。メモリ制御回路が
動作を終了した時に、ラスター化回路が処理されるべき
次の要求を送る。Zおよび/または属性比較が活動状態
である間では、いくつかのメモリ要求がひとつの画素を
書き込むために、ラスター化フロントエンドによって、
送出先に送られねばならない。
つかの方法がある。その一つは、フレーム、属性および
Zバッファ用の単一のメモリ制御回路を持つことであ
る。ラスター化フロントエンドがアドレス、色およびZ
デプス情報を生成し、現にアクセスが必要とされるバッ
ファを決定し、適切なバッファをアクセスするために、
メモリ制御回路に対して要求を送る。メモリ制御回路が
動作を終了した時に、ラスター化回路が処理されるべき
次の要求を送る。Zおよび/または属性比較が活動状態
である間では、いくつかのメモリ要求がひとつの画素を
書き込むために、ラスター化フロントエンドによって、
送出先に送られねばならない。
【0048】この実現の効率は、主として3つの理由で
制限される。第1に、唯一のメモリ制御回路の存在のた
めに、全てのバッファアクセスが順序制御でなされねば
ならない。第2の理由は、Zおよび/または属性バッフ
ァを読み出す処理、ラスター化フロントエンドへデータ
を送る処理、比較を行う処理、どのバッファを次にアク
セスするかを決定する処理、並びにメモリ制御回路に対
する適切な要求を送る処理は、多数のパイプライン段を
必要とすることである。この動作の系列あるいはループ
は、画素毎にされねばならない。このループを通り抜け
るのに必要な時間は、最大のメモリの帯域幅での動作に
とって、殆ど常に、長すぎる。第3の理由は、それがZ
および/または属性比較を終了し、現画素を送出先バッ
ファに対して書き込むまでは、ラスター化フロントエン
ドがラスター化(すなわち、アドレス、色およびZデプ
スの生成)を開始できないことである。言い換えると、
若し、画素がラスター化されてないならば、Zおよび/
または属性比較を行うことが不可能である。画素のラス
ター化およびバッファをアクセスするのに必要な時間が
変化するので、メモリバンクがラスター化される画素を
待っていたり、またはラスター化がメモリアクセスが完
了するのを待っているインスタンスが多く存在する。こ
の待ち状態によって、全体の性能が低下する。
制限される。第1に、唯一のメモリ制御回路の存在のた
めに、全てのバッファアクセスが順序制御でなされねば
ならない。第2の理由は、Zおよび/または属性バッフ
ァを読み出す処理、ラスター化フロントエンドへデータ
を送る処理、比較を行う処理、どのバッファを次にアク
セスするかを決定する処理、並びにメモリ制御回路に対
する適切な要求を送る処理は、多数のパイプライン段を
必要とすることである。この動作の系列あるいはループ
は、画素毎にされねばならない。このループを通り抜け
るのに必要な時間は、最大のメモリの帯域幅での動作に
とって、殆ど常に、長すぎる。第3の理由は、それがZ
および/または属性比較を終了し、現画素を送出先バッ
ファに対して書き込むまでは、ラスター化フロントエン
ドがラスター化(すなわち、アドレス、色およびZデプ
スの生成)を開始できないことである。言い換えると、
若し、画素がラスター化されてないならば、Zおよび/
または属性比較を行うことが不可能である。画素のラス
ター化およびバッファをアクセスするのに必要な時間が
変化するので、メモリバンクがラスター化される画素を
待っていたり、またはラスター化がメモリアクセスが完
了するのを待っているインスタンスが多く存在する。こ
の待ち状態によって、全体の性能が低下する。
【0049】図11は、図2中のメモリハイパーバイザ
のより詳細なブロック図である。並列的な独立のメモリ
制御回路800、801および820がZ、および属性
バッファのためにそれぞれ用いられる。これによって、
フレームバッファを書き込んでいる間に、属性バッファ
を読み出すような複数のメモリ要求を同時に実行するこ
とが可能となる。バッファがバスを共有するために、た
とえ二つのメモリ要求を同時に実行することができない
としても、共有バスが最大速度で走るように、メモリ制
御回路をオーバラップさせることができる。
のより詳細なブロック図である。並列的な独立のメモリ
制御回路800、801および820がZ、および属性
バッファのためにそれぞれ用いられる。これによって、
フレームバッファを書き込んでいる間に、属性バッファ
を読み出すような複数のメモリ要求を同時に実行するこ
とが可能となる。バッファがバスを共有するために、た
とえ二つのメモリ要求を同時に実行することができない
としても、共有バスが最大速度で走るように、メモリ制
御回路をオーバラップさせることができる。
【0050】ハイパーバイザ830が比較動作およびメ
モリ制御回路を起動し、制御するのに使用される。それ
は、メモリ制御回路に近く(すなわち、少数のパイプラ
イン段)、それによって、比較結果が迅速に利用され
る。これによりデータバスをより効率的に利用できる。
モリ制御回路を起動し、制御するのに使用される。それ
は、メモリ制御回路に近く(すなわち、少数のパイプラ
イン段)、それによって、比較結果が迅速に利用され
る。これによりデータバスをより効率的に利用できる。
【0051】ラスター化フロントエンド要求がハイパー
バイザの前段で、パイプラインあるいはバッファ840
へ挿入される。これは、ラスター化フロントエンドおよ
びメモリバンク間の性能における違いを緩和させ、それ
によって、それぞれがより多くの機会に最大速度で動作
される。このことにより、メモリバンクがラスター化さ
れる画素を待ったり、あるいはラスター化フロントエン
ドがメモリアクセスが完了するのを待つインスタンスを
大幅に低減できる。さらに、ハイパーバイザが現動作を
実行している間に、次のメモリ動作の実行を開始するこ
とがてきる。
バイザの前段で、パイプラインあるいはバッファ840
へ挿入される。これは、ラスター化フロントエンドおよ
びメモリバンク間の性能における違いを緩和させ、それ
によって、それぞれがより多くの機会に最大速度で動作
される。このことにより、メモリバンクがラスター化さ
れる画素を待ったり、あるいはラスター化フロントエン
ドがメモリアクセスが完了するのを待つインスタンスを
大幅に低減できる。さらに、ハイパーバイザが現動作を
実行している間に、次のメモリ動作の実行を開始するこ
とがてきる。
【0052】読み出しおよび書き込み要求がラスター化
フロントエンドによって、ハイパーバイザへ送られる。
ハイパーバイザが要求を受信可能な時に、これがラスタ
ー化フロントエンドに対して許諾を送り、要求と関連す
る必要な全てのデータをラッチする。許諾を受信する時
に、たとえハイパーバイザが最初の要求を完了していな
くとも、ラスター化フロントエンドは、要求が完了した
として、次の要求の生成を開始する。
フロントエンドによって、ハイパーバイザへ送られる。
ハイパーバイザが要求を受信可能な時に、これがラスタ
ー化フロントエンドに対して許諾を送り、要求と関連す
る必要な全てのデータをラッチする。許諾を受信する時
に、たとえハイパーバイザが最初の要求を完了していな
くとも、ラスター化フロントエンドは、要求が完了した
として、次の要求の生成を開始する。
【0053】読み出しおよび書き込み動作に加えて、メ
モリデータの保全を確実とするために、リフレッシュ動
作がVRAMおよびDRAMの両者についてされねばな
らない。また、グラフィックディスプレイ上にメモリ内
容を表示するために、VRAMについて、シリアルレジ
スタロードがされねばならない。これらの動作のいずれ
かあるいは両者がなされる必要がある時に、割り込みが
ハイパーバイザに送られる。ハイパーバイザがフロント
エンド読み出しまたは書き込み要求を完了し、必要なリ
フレッシュ/シリアルロード動作が完了するまで、動作
を休止し、そして、ラスター化要求の処理を再開する。
モリデータの保全を確実とするために、リフレッシュ動
作がVRAMおよびDRAMの両者についてされねばな
らない。また、グラフィックディスプレイ上にメモリ内
容を表示するために、VRAMについて、シリアルレジ
スタロードがされねばならない。これらの動作のいずれ
かあるいは両者がなされる必要がある時に、割り込みが
ハイパーバイザに送られる。ハイパーバイザがフロント
エンド読み出しまたは書き込み要求を完了し、必要なリ
フレッシュ/シリアルロード動作が完了するまで、動作
を休止し、そして、ラスター化要求の処理を再開する。
【0054】メモリ要求のパイプライン化、同期化およ
び順序制御は、いくつかの例によって、より容易に理解
される。図12は、図2の装置がフレームバッファへの
書き込み、Zおよび属性比較を行う系列をどのように処
理するかを示す。まず、ラスター化フロントエンド(図
2)がパイプラインへ書き込み要求を入れる。ハイパー
バイザが直ちにどの比較オプション(この例では、属性
およびZ)を行わねばならないかを決定する。次のサイ
クルでは、読み出し要求が属性メモリ制御回路へ送られ
る。この制御回路が非活動状態であるので、それが直ち
に許諾をハイパーバイザへ送り、アドレスをラッチす
る。その次のサイクルで、許諾を受信する時になされる
動作をハイパーバイザが考え、Zメモリ制御回路に対し
て読み出し要求を送る。この例では、Zおよびフレーム
バッファが共通データバスを共有するので、フレームバ
ッファメモリ制御回路がデータバスを完了するまでは、
Zメモリ制御回路が待たねばならない。この待ち期間
は、全てののメモリ制御回路間の種々のビジー信号の授
受により決定される。適切な待ち期間の後に、Zメモリ
制御回路がハイパーバイザへ許諾を送る。次に、書き込
み要求がZメモリ制御回路へ送られる。若し、Zおよび
/または属性比較が偽であるならば、Zメモリ制御回路
が許諾を送った後に書き込み動作を中断する。最後に、
書き込み要求がフレームバッファ制御回路へ送られる。
また、比較が偽の場合に、フレームバッファ制御回路が
許諾を送った後に書き込み動作を中断する。
び順序制御は、いくつかの例によって、より容易に理解
される。図12は、図2の装置がフレームバッファへの
書き込み、Zおよび属性比較を行う系列をどのように処
理するかを示す。まず、ラスター化フロントエンド(図
2)がパイプラインへ書き込み要求を入れる。ハイパー
バイザが直ちにどの比較オプション(この例では、属性
およびZ)を行わねばならないかを決定する。次のサイ
クルでは、読み出し要求が属性メモリ制御回路へ送られ
る。この制御回路が非活動状態であるので、それが直ち
に許諾をハイパーバイザへ送り、アドレスをラッチす
る。その次のサイクルで、許諾を受信する時になされる
動作をハイパーバイザが考え、Zメモリ制御回路に対し
て読み出し要求を送る。この例では、Zおよびフレーム
バッファが共通データバスを共有するので、フレームバ
ッファメモリ制御回路がデータバスを完了するまでは、
Zメモリ制御回路が待たねばならない。この待ち期間
は、全てののメモリ制御回路間の種々のビジー信号の授
受により決定される。適切な待ち期間の後に、Zメモリ
制御回路がハイパーバイザへ許諾を送る。次に、書き込
み要求がZメモリ制御回路へ送られる。若し、Zおよび
/または属性比較が偽であるならば、Zメモリ制御回路
が許諾を送った後に書き込み動作を中断する。最後に、
書き込み要求がフレームバッファ制御回路へ送られる。
また、比較が偽の場合に、フレームバッファ制御回路が
許諾を送った後に書き込み動作を中断する。
【0055】図13は、ラスター化回路が属性比較だけ
を有するフレームバッファへの書き込みの系列をどのよ
うに処理するかを示す。まず、ラスター化フロントエン
ド(図2)がパイプラインへ書き込み要求を入れる。ハ
イパーバイザが直ちにどの比較オプション(この例で
は、属性比較のみ)を行わねばならないかを決定する。
次のサイクルでは、読み出し要求が属性メモリ制御回路
へ送られる。この制御回路が非活動状態であるので、そ
れが直ちに許諾をハイパーバイザへ送り、アドレスをラ
ッチする。この許諾を受信する時に、ハイパーバイザが
フレームバッファ制御回路に対して書き込み要求を送
り、同時に、属性フレームバッファに対して読み出し要
求を送る(この属性読み出し要求は、パイプライン中の
要求N+1のためのもので、定期的なプロセッサ要求の
前に一つのパイプライン段階が獲得される)。若し、属
性比較が偽であるならば、フレームバッファ制御回路が
許諾を送った後に書き込み動作を中断する。
を有するフレームバッファへの書き込みの系列をどのよ
うに処理するかを示す。まず、ラスター化フロントエン
ド(図2)がパイプラインへ書き込み要求を入れる。ハ
イパーバイザが直ちにどの比較オプション(この例で
は、属性比較のみ)を行わねばならないかを決定する。
次のサイクルでは、読み出し要求が属性メモリ制御回路
へ送られる。この制御回路が非活動状態であるので、そ
れが直ちに許諾をハイパーバイザへ送り、アドレスをラ
ッチする。この許諾を受信する時に、ハイパーバイザが
フレームバッファ制御回路に対して書き込み要求を送
り、同時に、属性フレームバッファに対して読み出し要
求を送る(この属性読み出し要求は、パイプライン中の
要求N+1のためのもので、定期的なプロセッサ要求の
前に一つのパイプライン段階が獲得される)。若し、属
性比較が偽であるならば、フレームバッファ制御回路が
許諾を送った後に書き込み動作を中断する。
【0056】タイミング図 パイプラインおよびインタロックの動作は、いくつかの
例によって一層理解される。図14は、図2のラスター
化回路220がbitbltの系列がその後に続く、線
の系列をどのように処理するかを示す。箱が各サブシス
テムがいつビジーであるかを示す。隣接するコマンド間
の区別の手助けのために、斜線が付されている。線に関
する順序制御は、以下の通りである。線の端点が入力イ
ンターフェイス300を通じてロードされ、最終値がコ
マンド翻訳回路340に対する開始信号であり、若し、
それがビジーあるいは使用される計算されたパラメータ
のその最後のセットを待っているかのいずれでもないと
きには、コマンド翻訳回路がパラメータ計算回路320
を始動させ、パラメータ計算回路が描画シーケンサ36
0のための必要な値を作成し、描画シーケンサがメモリ
ハイパーバイザ380に対して、メモリ要求を作成す
る。一つのサブシステムが最初の線を完了すると、直ち
に次の線について作業することが可能となる。このよう
に、パラメータ計算回路は、描画シーケンサが線1につ
いて作業している間に、線2について作業する。最初の
線が開始すると、メモリハイパーバイザがビジーに維持
される。若し、線3の後にbitbltが続くと、描画
シーケンサが線を終了する前でも、コマンド翻訳回路が
bitbltについてのパラメータ計算回路を始動させ
る。従って、コマンドの二つの異なる型がオーバラップ
方式で処理され、また、メモリハイパーバイザが最大の
利用率を維持する。
例によって一層理解される。図14は、図2のラスター
化回路220がbitbltの系列がその後に続く、線
の系列をどのように処理するかを示す。箱が各サブシス
テムがいつビジーであるかを示す。隣接するコマンド間
の区別の手助けのために、斜線が付されている。線に関
する順序制御は、以下の通りである。線の端点が入力イ
ンターフェイス300を通じてロードされ、最終値がコ
マンド翻訳回路340に対する開始信号であり、若し、
それがビジーあるいは使用される計算されたパラメータ
のその最後のセットを待っているかのいずれでもないと
きには、コマンド翻訳回路がパラメータ計算回路320
を始動させ、パラメータ計算回路が描画シーケンサ36
0のための必要な値を作成し、描画シーケンサがメモリ
ハイパーバイザ380に対して、メモリ要求を作成す
る。一つのサブシステムが最初の線を完了すると、直ち
に次の線について作業することが可能となる。このよう
に、パラメータ計算回路は、描画シーケンサが線1につ
いて作業している間に、線2について作業する。最初の
線が開始すると、メモリハイパーバイザがビジーに維持
される。若し、線3の後にbitbltが続くと、描画
シーケンサが線を終了する前でも、コマンド翻訳回路が
bitbltについてのパラメータ計算回路を始動させ
る。従って、コマンドの二つの異なる型がオーバラップ
方式で処理され、また、メモリハイパーバイザが最大の
利用率を維持する。
【0057】図15は、図2の装置が三角形の系列をど
のように処理するかを示す。隣接する三角形に関連する
動作間の区別の手助けのために、斜線が付されている。
順序制御は、以下の通りである。三角形のパラメータが
入力インターフェイスを通じてロードされ、最終値がコ
マンド翻訳回路に対する開始信号であり、若し、それが
ビジーでなければ、コマンド翻訳回路が三角形内挿回路
220を始動させ、三角形内挿回路が線(あるいは間
隔)の系列をそれが受け付け可能ならば、パラメータ計
算回路に与え、パラメータ計算回路が描画シーケンサの
ための必要な値を作成し、描画シーケンサがメモリハイ
パーバイザ380に対して、メモリ要求を作成する。2
個の三角形パラメータバッファがあり、一つの三角形が
ロードされると、直ちに第2のものもロードされるよう
になされる。第3の三角形は、最初のものが完全に内挿
されるまでは、ロードされることができない。三角形の
最初の間隔が始動されると、メモリハイパーバイザがビ
ジーに維持される。三角形内挿回路は、パラメータの2
個のセットのための内部記憶装置を有しており、その結
果、次の三角形の新たなパラメータを受信するのに、入
力インターフェイスがビジーである間に、一つの三角形
が完了した後の使用されない時間区間が存在しない。
のように処理するかを示す。隣接する三角形に関連する
動作間の区別の手助けのために、斜線が付されている。
順序制御は、以下の通りである。三角形のパラメータが
入力インターフェイスを通じてロードされ、最終値がコ
マンド翻訳回路に対する開始信号であり、若し、それが
ビジーでなければ、コマンド翻訳回路が三角形内挿回路
220を始動させ、三角形内挿回路が線(あるいは間
隔)の系列をそれが受け付け可能ならば、パラメータ計
算回路に与え、パラメータ計算回路が描画シーケンサの
ための必要な値を作成し、描画シーケンサがメモリハイ
パーバイザ380に対して、メモリ要求を作成する。2
個の三角形パラメータバッファがあり、一つの三角形が
ロードされると、直ちに第2のものもロードされるよう
になされる。第3の三角形は、最初のものが完全に内挿
されるまでは、ロードされることができない。三角形の
最初の間隔が始動されると、メモリハイパーバイザがビ
ジーに維持される。三角形内挿回路は、パラメータの2
個のセットのための内部記憶装置を有しており、その結
果、次の三角形の新たなパラメータを受信するのに、入
力インターフェイスがビジーである間に、一つの三角形
が完了した後の使用されない時間区間が存在しない。
【0058】図16は、図2の装置が入力データのフォ
ーマット変換を要求する外部bitblt(文字拡張の
ような)の系列をどのように処理するかを示す。隣接す
るbitbltに関する動作間の区別の手助けのため
に、斜線が付されている。順序制御は、以下の通りであ
る。bitbltのパラメータが入力インターフェイス
を通じてロードされ、最終値がコマンド翻訳回路に対す
る開始信号であり、若し、それが受け付け可能であれ
ば、コマンド翻訳回路がパラメータ計算回路を始動さ
せ、パラメータ計算回路が描画シーケンサおよびフォー
マット変換回路330のための必要な値を作成し、それ
をフォーマット変換回路に渡す入力インターフェイスを
介してbitbltデータが到来し始めることが可能と
なり、データ経路370がフォーマット変換回路からの
データを持つと、描画シーケンサがメモリハイパーバイ
ザに対して、メモリ要求を作成する。フォーマット変換
回路は、内部FIFOを有し、その結果、それが描画シ
ーケンサを追い越すことができ、それによって、入力イ
ンターフェイスが早く終了する。そして、bitblt
2に関するパラメータがロードされ、全体の順序制御が
再開される。若し、フォーマット変換回路のFIFOが
十分に大きく、且つ入力インターフェイスロードがメモ
リハイパーバイザよりも速く画素を書き込むことできる
ならば、メモリが利用可能に維持される。入力データの
各ビットに関して、一般的に3バイト(24ビット画
素)である出力データの画素が生成されるので、このこ
とは、文字に関しては、間違いなく真実である。
ーマット変換を要求する外部bitblt(文字拡張の
ような)の系列をどのように処理するかを示す。隣接す
るbitbltに関する動作間の区別の手助けのため
に、斜線が付されている。順序制御は、以下の通りであ
る。bitbltのパラメータが入力インターフェイス
を通じてロードされ、最終値がコマンド翻訳回路に対す
る開始信号であり、若し、それが受け付け可能であれ
ば、コマンド翻訳回路がパラメータ計算回路を始動さ
せ、パラメータ計算回路が描画シーケンサおよびフォー
マット変換回路330のための必要な値を作成し、それ
をフォーマット変換回路に渡す入力インターフェイスを
介してbitbltデータが到来し始めることが可能と
なり、データ経路370がフォーマット変換回路からの
データを持つと、描画シーケンサがメモリハイパーバイ
ザに対して、メモリ要求を作成する。フォーマット変換
回路は、内部FIFOを有し、その結果、それが描画シ
ーケンサを追い越すことができ、それによって、入力イ
ンターフェイスが早く終了する。そして、bitblt
2に関するパラメータがロードされ、全体の順序制御が
再開される。若し、フォーマット変換回路のFIFOが
十分に大きく、且つ入力インターフェイスロードがメモ
リハイパーバイザよりも速く画素を書き込むことできる
ならば、メモリが利用可能に維持される。入力データの
各ビットに関して、一般的に3バイト(24ビット画
素)である出力データの画素が生成されるので、このこ
とは、文字に関しては、間違いなく真実である。
【0059】オーバラップ動作は、可能ないつでも、現
動作が完了する前に次の動作を始めさせる、種々の状態
マシーン間のインタロックを有することによって支援さ
れる。入力インターフェイスによって、現に使用されて
ないか、もはや安定状態であることが要求されない、レ
ジスタに新たな値がロードされることができる。このコ
マンド翻訳回路は、どのサブシステムが以前のコマンド
に含まれるかを決定し、若し、新たなコマンドのための
最初の活動状態のブロックが以前のコマンドを処理する
のにビジーでなければ、新たなコマンドを開始させる。
一例として、図17に示すように、若し、新たなコマン
ドが三角形であって、以前のコマンドが線であったなら
ば(bitbltも同様)、コマンド翻訳回路が三角形
内挿回路に三角形始動信号を送る。それから、三角形内
挿回路が三角形の最初の水平間隔を作成を進めるが、b
itbltおよび線描画パラメータ計算回路が受け付け
可能であるまでは、その間隔のためのパラメータ計算が
遅らされる。若し、線が十分に長い(あるいはbitb
ltが十分に大きい)ならば、メモリハイパーバイザが
以前の動作を完了する前に、入力インターフェイスが三
角形をロードする。三角形の最初の線も、メモリを利用
可能としたままで、以前の線が描画される間に計算され
る。しかしながら、bitbltが三角形の後に続く時
には、入力インターフェイスは、三角形の最後の線が完
了する後までは、そのbitbltパラメータがロード
されることを防止する。これによって、最後の線の長さ
に依存するメモリ利用中のギャップがなくなる。図17
では、小さいギャップが示されているが、殆どの線は、
ギャップが存在しないようにするのに十分に長い。
動作が完了する前に次の動作を始めさせる、種々の状態
マシーン間のインタロックを有することによって支援さ
れる。入力インターフェイスによって、現に使用されて
ないか、もはや安定状態であることが要求されない、レ
ジスタに新たな値がロードされることができる。このコ
マンド翻訳回路は、どのサブシステムが以前のコマンド
に含まれるかを決定し、若し、新たなコマンドのための
最初の活動状態のブロックが以前のコマンドを処理する
のにビジーでなければ、新たなコマンドを開始させる。
一例として、図17に示すように、若し、新たなコマン
ドが三角形であって、以前のコマンドが線であったなら
ば(bitbltも同様)、コマンド翻訳回路が三角形
内挿回路に三角形始動信号を送る。それから、三角形内
挿回路が三角形の最初の水平間隔を作成を進めるが、b
itbltおよび線描画パラメータ計算回路が受け付け
可能であるまでは、その間隔のためのパラメータ計算が
遅らされる。若し、線が十分に長い(あるいはbitb
ltが十分に大きい)ならば、メモリハイパーバイザが
以前の動作を完了する前に、入力インターフェイスが三
角形をロードする。三角形の最初の線も、メモリを利用
可能としたままで、以前の線が描画される間に計算され
る。しかしながら、bitbltが三角形の後に続く時
には、入力インターフェイスは、三角形の最後の線が完
了する後までは、そのbitbltパラメータがロード
されることを防止する。これによって、最後の線の長さ
に依存するメモリ利用中のギャップがなくなる。図17
では、小さいギャップが示されているが、殆どの線は、
ギャップが存在しないようにするのに十分に長い。
【0060】この発明は、特定の実施例を参照して十分
に述べられているが、他に変わりうる実施例は、当業者
にとって明らかであろう。例えば線描画のためのブレゼ
ンハムアルゴリズムは、2つのサブシステムより多いも
のによってなされる、2つの順序タスクより多いものへ
分けることができる。
に述べられているが、他に変わりうる実施例は、当業者
にとって明らかであろう。例えば線描画のためのブレゼ
ンハムアルゴリズムは、2つのサブシステムより多いも
のによってなされる、2つの順序タスクより多いものへ
分けることができる。
【0061】
【発明の効果】本発明によれば、線描画を高速に行え
る。
る。
【図1】典型的なスカラーコンピュータのブロック図で
ある。
ある。
【図2】好適なラスター化プロセッサおよび表示コント
ローラのブロック図である。
ローラのブロック図である。
【図3】三角形データ構造中のパラメータおよび描画さ
れる三角形基本要素間の関係を示す図である。
れる三角形基本要素間の関係を示す図である。
【図4】三角形内挿サブシステムの好適な実施例の図で
ある。
ある。
【図5】三角形内挿回路により達成される並列を示すタ
イミング図である。
イミング図である。
【図6】bitbltおよび線描画パラメータ計算回路
のデータの流れのブロック図である。
のデータの流れのブロック図である。
【図7】bitbltおよび線描画パラメータ計算回路
の状態流れ図である。
の状態流れ図である。
【図8】bitbltおよび線描画シーケンサのデータ
流れのブロック図である。
流れのブロック図である。
【図9】図2に示される入力インターフェイスのより詳
細なブロック図である。
細なブロック図である。
【図10】図6Aに示される入力インターフェイスの状
態図である。
態図である。
【図11】図2に示されるメモリハイパーバイザより詳
細なブロック図である。
細なブロック図である。
【図12】図2のメモリハイパーバイザがフレームバッ
ファへの書き込みの系列をどのように処理するかを示す
図である。
ファへの書き込みの系列をどのように処理するかを示す
図である。
【図13】図2のメモリハイパーバイザがフレームバッ
ファへの書き込みの系列をどのように処理するかを示す
図である。
ファへの書き込みの系列をどのように処理するかを示す
図である。
【図14】図2のラスター化プロセッサおよび表示コン
トローラがイメージ基本要素の種々の種類をどのように
処理するかを示すタイミング図である。
トローラがイメージ基本要素の種々の種類をどのように
処理するかを示すタイミング図である。
【図15】図2のラスター化プロセッサおよび表示コン
トローラがイメージ基本要素の種々の種類をどのように
処理するかを示すタイミング図である。
トローラがイメージ基本要素の種々の種類をどのように
処理するかを示すタイミング図である。
【図16】図2のラスター化プロセッサおよび表示コン
トローラがイメージ基本要素の種々の種類をどのように
処理するかを示すタイミング図である。
トローラがイメージ基本要素の種々の種類をどのように
処理するかを示すタイミング図である。
【図17】図2のラスター化プロセッサおよび表示コン
トローラがイメージ基本要素の種々の種類をどのように
処理するかを示すタイミング図である。
トローラがイメージ基本要素の種々の種類をどのように
処理するかを示すタイミング図である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ダリル・ジョン・ココスツカ アメリカ合衆国、テキサス州、オウスティ ン、ロンサム バレー トレイル 5910
Claims (11)
- 【請求項1】 直列に結合された複数のプロセッサから
なり、各プロセッサが一連のブレゼンハム線描画アルゴ
リズムの一部分を行うことを特徴とする線描画のための
装置。 - 【請求項2】 a)ホストコンピュータと、 b)上記ホストコンピュータと結合されたグラフィック
スプロセッサであって、上記グラフィックスプロセッサ
は、それぞれが一連のブレゼンハム線描画アルゴリズム
の一部分を行う、直列に結合された複数のプロセッサを
有することを特徴とする線描画装置。 - 【請求項3】 a)第1のプロセッサにおいて、アドレ
ス変換データを順次計算するステップと、 b)上記アドレス変換データを受信する時に、第2のプ
ロセッサにおいて、上記アドレス変換データから画素ロ
ケーションデータを計算するステップとからなる線描画
方法。 - 【請求項4】 a)線基本要素を提供するための手段
と、 b)上記提供手段から線基本要素を受信するとともに、
それよりアドレス変換データを計算するための第1の処
理手段と、 c)上記第1の処理手段と結合され、上記アドレス変換
データから画素ロケーションデータを計算するための第
2の処理手段とからなるグラフィックスプロセッサ。 - 【請求項5】 a)図形イメージを表す線基本要素を提
供するステップと、 b)上記線基本要素を受信するとともに、第1のプロセ
ッサにおいて、それよりアドレス変換データを計算する
ステップと、 c)上記アドレス変換データを受信する時に、第2のプ
ロセッサにおいて、上記アドレス変換データから画素ロ
ケーションデータを計算するステップとからなるグラフ
ィックスデータ処理方法。 - 【請求項6】 請求項4記載のグラフィックスプロセッ
サであって、 上記第2の処理手段が色内挿を制御するための手段を有
することを特徴とする装置。 - 【請求項7】 請求項4記載のグラフィックスプロセッ
サであって、 上記第2の処理手段が先に計算されたアドレス変換デー
タから画素ロケーションデータを計算する間に、アドレ
ス変換データを計算するための手段を上記第1の処理手
段が有することを特徴とする装置。 - 【請求項8】 請求項7記載のグラフィックスプロセッ
サであって、 上記第2の処理手段と結合され、上記画素ロケーション
データによってアドレス決めされた画素を表示するため
の手段をさらに有することを特徴とする装置。 - 【請求項9】 請求項5記載のグラフィックスデータ処
理方法であって、 画素ロケーションデータを計算する間に、色内挿を制御
するステップを含むことを特徴とする方法。 - 【請求項10】 請求項5記載のグラフィックスデータ
処理方法であって、 第2のプロセッサにおける先に計算されたアドレス変換
データから画素ロケーションデータを計算する間に、第
1のプロセッサにおける上記線基本要素の受信およびア
ドレス変換データの計算のステップが生じることを特徴
とする方法。 - 【請求項11】 請求項10記載のグラフィックスデー
タ処理方法であって、 上記画素ロケーションデータによってアドレス決めされ
た画素を表示するステップをさらに有することを特徴と
する方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/614,357 US5420972A (en) | 1990-11-15 | 1990-11-15 | Method and apparatus for rendering lines |
US614357 | 1990-11-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0714029A true JPH0714029A (ja) | 1995-01-17 |
Family
ID=24460909
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3231085A Pending JPH0714029A (ja) | 1990-11-15 | 1991-08-20 | 線描画装置及び方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5420972A (ja) |
EP (1) | EP0486195A3 (ja) |
JP (1) | JPH0714029A (ja) |
CA (1) | CA2055783A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002535759A (ja) * | 1999-01-15 | 2002-10-22 | インテル・コーポレーション | 3dパイプラインを使用したストレッチ・ブリッティングのための方法および装置 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5634093A (en) * | 1991-01-30 | 1997-05-27 | Kabushiki Kaisha Toshiba | Method and CAD system for designing wiring patterns using predetermined rules |
WO1993014468A1 (en) * | 1992-01-21 | 1993-07-22 | Compaq Computer Corporation | Video graphics controller with improved calculation capabilities |
US5613053A (en) | 1992-01-21 | 1997-03-18 | Compaq Computer Corporation | Video graphics controller with automatic starting for line draws |
US5621866A (en) * | 1992-07-24 | 1997-04-15 | Fujitsu Limited | Image processing apparatus having improved frame buffer with Z buffer and SAM port |
US5666520A (en) * | 1993-03-29 | 1997-09-09 | Hitachi, Ltd. | Graphics display system including graphics processor having a register storing a series of vertex data relating to a polygonal line |
US5625768A (en) * | 1994-05-23 | 1997-04-29 | Cirrus Logic, Inc. | Method and apparatus for correcting errors in pixel characteristics when interpolating polygons into a pixel grid |
AU699532B2 (en) * | 1994-09-16 | 1998-12-03 | Canon Kabushiki Kaisha | Object based rendering system |
AU727990B2 (en) * | 1997-04-30 | 2001-01-04 | Canon Kabushiki Kaisha | Graphics processing system |
US6891541B1 (en) * | 1999-03-31 | 2005-05-10 | Texas Instruments Incorporated | Graphing calculator with manual line drawing |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6394378A (ja) * | 1986-10-08 | 1988-04-25 | Seiko Instr & Electronics Ltd | 直線発生回路 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57119390A (en) * | 1981-01-16 | 1982-07-24 | Tokyo Shibaura Electric Co | Shading method |
JPS5971093A (ja) * | 1982-10-18 | 1984-04-21 | 株式会社日立製作所 | 塗潰し図形発生装置 |
US4609917A (en) * | 1983-01-17 | 1986-09-02 | Lexidata Corporation | Three-dimensional display system |
US4586038A (en) * | 1983-12-12 | 1986-04-29 | General Electric Company | True-perspective texture/shading processor |
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 |
US4648049A (en) * | 1984-05-07 | 1987-03-03 | Advanced Micro Devices, Inc. | Rapid graphics bit mapping circuit and method |
US4677573A (en) * | 1984-05-15 | 1987-06-30 | International Business Machines Corporation | Hardware generation of styled vectors in a graphics system |
US4697178A (en) * | 1984-06-29 | 1987-09-29 | Megatek Corporation | Computer graphics system for real-time calculation and display of the perspective view of three-dimensional scenes |
US4658247A (en) * | 1984-07-30 | 1987-04-14 | Cornell Research Foundation, Inc. | Pipelined, line buffered real-time color graphics display system |
US4679041A (en) * | 1985-06-13 | 1987-07-07 | Sun Microsystems, Inc. | High speed Z-buffer with dynamic random access memory |
US4758965A (en) * | 1985-10-09 | 1988-07-19 | International Business Machines Corporation | Polygon fill processor |
US4805116A (en) * | 1986-04-23 | 1989-02-14 | International Business Machines Corporation | Interpolated display characteristic value generator |
JPH0812705B2 (ja) * | 1986-09-29 | 1996-02-07 | 株式会社東芝 | 画像処理装置 |
US5001651A (en) * | 1986-11-10 | 1991-03-19 | Auto-Trol Technology Corporation | Method and apparatus for interpolating groups of pixels on a scan line |
US5113494A (en) * | 1987-02-27 | 1992-05-12 | Eastman Kodak Company | High speed raster image processor particularly suited for use in an image management system |
US5010515A (en) * | 1987-07-28 | 1991-04-23 | Raster Technologies, Inc. | Parallel graphics processor with workload distributing and dependency mechanisms and method for distributing workload |
DE3854707T2 (de) * | 1987-07-30 | 1996-07-25 | Tektronix Inc | Verfahren und Gerät zur inkrementalen Berechnung einer linearen Funktion. |
US5185599A (en) * | 1987-10-26 | 1993-02-09 | Tektronix, Inc. | Local display bus architecture and communications method for Raster display |
JP2618951B2 (ja) * | 1988-02-16 | 1997-06-11 | 株式会社東芝 | 三次元図形処理装置 |
US4958303A (en) * | 1988-05-12 | 1990-09-18 | Digital Equipment Corporation | Apparatus for exchanging pixel data among pixel processors |
US4951229A (en) * | 1988-07-22 | 1990-08-21 | International Business Machines Corporation | Apparatus and method for managing multiple images in a graphic display system |
-
1990
- 1990-11-15 US US07/614,357 patent/US5420972A/en not_active Expired - Fee Related
-
1991
- 1991-08-20 JP JP3231085A patent/JPH0714029A/ja active Pending
- 1991-10-22 CA CA002055783A patent/CA2055783A1/en not_active Abandoned
- 1991-11-04 EP EP19910310161 patent/EP0486195A3/en not_active Withdrawn
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6394378A (ja) * | 1986-10-08 | 1988-04-25 | Seiko Instr & Electronics Ltd | 直線発生回路 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002535759A (ja) * | 1999-01-15 | 2002-10-22 | インテル・コーポレーション | 3dパイプラインを使用したストレッチ・ブリッティングのための方法および装置 |
Also Published As
Publication number | Publication date |
---|---|
CA2055783A1 (en) | 1992-05-16 |
EP0486195A3 (en) | 1993-11-10 |
EP0486195A2 (en) | 1992-05-20 |
US5420972A (en) | 1995-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2725915B2 (ja) | 三角形描画装置及び方法 | |
JPH0683969A (ja) | グラフィックス・プロセッサ及びグラフィックス・データ処理方法 | |
KR960003041B1 (ko) | 그래픽 시스템용의 확장 가능한 다영상 버퍼 | |
US5790134A (en) | Hardware architecture for image generation and manipulation | |
US5909219A (en) | Embedding a transparency enable bit as part of a resizing bit block transfer operation | |
KR100274919B1 (ko) | 압축된프레임버퍼로그래픽이미지데이터를이중버퍼링하기위한시스템및방법 | |
US20130127858A1 (en) | Interception of Graphics API Calls for Optimization of Rendering | |
JP2001357410A (ja) | 別々に生成された3次元イメージを合成するグラフィックス・システム | |
US6864892B2 (en) | Graphics data synchronization with multiple data paths in a graphics accelerator | |
JPH1097635A (ja) | ディスプレイリストを生成する方法、ディスプレイリストを受け取りグラフィックスプロセッサに格納する方法、プリミティブをレンダリングする方法およびディスプレイリストを用いてプリミティブをレンダリングするシステム | |
JPH0714029A (ja) | 線描画装置及び方法 | |
US5463723A (en) | Method and apparatus for filling polygons | |
US7439979B1 (en) | Shader with cache memory | |
JPH0652051A (ja) | 階層メモリ制御 | |
JPH0651937A (ja) | データ処理システム及びデータ制御方法 | |
US6885375B2 (en) | Stalling pipelines in large designs | |
JP2836617B2 (ja) | レンダリングプロセッサ | |
EP1306811A1 (en) | Triangle identification buffer |