JPH04246790A - ベクトル/円錐曲線/エリアフィルプリミティブジェネレータ - Google Patents

ベクトル/円錐曲線/エリアフィルプリミティブジェネレータ

Info

Publication number
JPH04246790A
JPH04246790A JP3234975A JP23497591A JPH04246790A JP H04246790 A JPH04246790 A JP H04246790A JP 3234975 A JP3234975 A JP 3234975A JP 23497591 A JP23497591 A JP 23497591A JP H04246790 A JPH04246790 A JP H04246790A
Authority
JP
Japan
Prior art keywords
vector
generator
primitive
conic
data
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
JP3234975A
Other languages
English (en)
Inventor
John M Peaslee
ジョン・エム・ピースリー
Jeffrey C Malacarne
ジェフリー・シー・マラカーン
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.)
Raytheon Co
Original Assignee
Hughes Aircraft Co
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 Hughes Aircraft Co filed Critical Hughes Aircraft Co
Publication of JPH04246790A publication Critical patent/JPH04246790A/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/40Filling a planar surface by adding surface attributes, e.g. colour or texture

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】
【0001】
【関連出願のクロスリファレンス】この出願は、同時係
属特許出願に関する。1990,      に提出さ
れたNo.      、の“Multifuncti
on High Performance Graph
ics RenderingProcessor,”と
、1990,      に提出されたNo.    
  、の“Dual Hardware Channe
ls and Context Switching 
in a Graphics Processor, 
”と、1990,に提出されたNo.      、の
“Concurrent General Purpo
se and DMA Processing in 
a Graphics Rendering Proc
essor,”と、1990,      に提出され
たNo.      、の“Block Textur
e and Complex Chip Mask P
rocessor,”と、1990,      に提
出されたNo.      、の“Hardware 
Symbology and Text Genera
tor in a Graphics Process
or,”と、1990,      に提出されたNo
.      、の“Multiprocess Sc
heduler in aGraphies Proc
essor, ”(発明者は全てjohn M.Pea
slee及びjeffrey C.Malacarne
 )の開示内容は、この明細書において引用される。
【0002】
【産業上の利用分野及び従来の技術】この発明は一般に
、デジタルグラフィックディスプレイプロセッサに関し
、特に、グラフィックディスプレイプロセッサの構成要
素として使用されるグラフィックジェネレータの作業部
を構成する、プログラム可能な集積ハードウェアエリア
フィル(領域塗りつぶし)/円錐曲線/ベクトルジェネ
レータに関する。
【0003】リアルタイムデジタル電子ディスプレイは
、例えば指揮統制ワークステーション及び航空管制シス
テム等の多くの応用例に使用される。これらのディスプ
レイでは、表示された情報は概して、リアルタイムで処
理されたデータを有する。この処理データは、一つもし
くはそれ以上の、レーダー、通信システム及び又は他の
データプロセッサから基本リアルタイム情報を受信する
ように構成されたホストプロセッサにより生成される。 これらのデータは次に、円、楕円、多角形のような1つ
以上のグラフィック原始データ、並びに生成された英数
字、マスク領域及びテクスチャパターンと結合され、C
RTのような出力装置に、比較的容易に理解されるグラ
フィック表示が生成される。近年のシステムでは、グラ
フィックプリミティブ、マスクウィンドウ、フィルテク
スチャリング等のグラフィックディスプレイの種々の要
素が、汎用コンピュータをベースにしたグラフィックジ
ェネレータか、ハードウェアによる専用グラフィックジ
ェネレータによって供給される。これら装置のうち、汎
用グラフィックジェネレータは、システムに融通性があ
るが、通常プログラミングを容易にするためシステムの
性能をある程度犠牲にしなければならない。一方、コジ
ェネレータと呼ばれるハードウェアによる専用グラフィ
ックジェネレータは、優れたシステム性能を有する。
【0004】軍用指揮統制システム及び、軍用及び民間
の航空管制システム等の要求が高まるにつれ、融通がき
き、かつ容易にプログラム可能な高性能グラフィックコ
ジェネレータが必要となってきた。そのようなコジェネ
レータにおける重要な要素は、多数の塗りつぶしエリア
、円、楕円及び多角形の形状が生成可能なプロセッサで
ある。これらの形状は、ディスプレイスクリーン上に直
接表示され、カラー及びテクスチャ情報は、エリア及び
形状内に印加され、最終的な出力表示が成される。近年
のグラフィックコジェネレータでは、エリアフィルジェ
ネレータは一般的に速度が遅く、即ち単純な構成の単一
チャンネル装置である。このチャンネル装置では、遠隔
メモリから、情報を繰り返し検索する必要があり、従っ
てシステムサイクルのうち表示に割り当てられた時間に
出力表示可能な範囲が制限される。よって、システム全
体の動作速度を遅くすることなく、種々の塗りつぶしエ
リア、円、楕円及び多角形出力フォームを生成すること
ができるプログラム可能な集積ハードウェアグラフィッ
クジェネレータを提供することが望ましい。
【0005】
【作用】最も広い観点では、この発明は、グラフィック
コジェネレータ内で使用するための、プログラム可能な
集積ハードウェアで構成された2入力チャンネルのエリ
アフィル、ベクトル、円形、楕円形及び多角形ジェネレ
ータである。この動作は、1つ以上の内部サブファンク
ション群を印加し、グラフィックプリミティブデジタル
信号として、各幾何学的な形状を描画するための数学的
解を生成する。コジェネレータは、このデジタル信号と
、英数字及び他の記号を示す他のデジタル信号、及び又
はテクスチャパターンとクリップマスク信号とを結合し
、結合されたデジタル信号を多層ビットマップメモリに
送出し、CRT又は他の出力装置に最終的に表示する手
段を有する。
【0006】この発明の一実施例では、ジェネレータの
基本構成ブロックは、x/y座標データの分数成分(副
画素)を累算するように構成され、累算値が画素境界を
オーバーフローしたときそのことを知らせるように構成
された一つ以上のデジタル微分解析器で構成される。こ
の結果、ロード(描画)される画素アドレスを示すx/
y座標をインクリメント又はデクリメントすることがで
きる。各デジタル微分解析器は、独立したベクトル発生
器を構成し、1対の2入力差動マルチプレクサと、算術
論理演算装置と、レジスタファイルとを有する。ホスト
プロセッサからコマンドを受信すると、マルチプレクサ
は、描画されるプリミティブを特定するパラメータを受
信して、算術論理演算装置に入力する適切なパラメータ
を選択する。算術論理演算装置は、パラメータを累算し
、その結果をレジスタファイルに格納する。レジスタフ
ァイルの出力データは、次の動作の入力データとしてマ
ルチプレクサにフィードバックされる。そのような装置
は、種々の微分幾何学方程式の解を得ることのできる汎
用計算アーキテクチュアを供給する。
【0007】
【実施例】図1はこの発明のプリミティブジェネレータ
がその機能の一部を形成する多機能コジェネレータ(M
CG)10の機能上判明な部分を形成し、この多機能コ
ジェネレータ(MCG)10を包含するシステムブロッ
ク図である。多機能コジェネレータ10は2チャンネル
であり、種々のグラフィックシステムアプリケーション
に対応可能な高性能グラフィック描画プロセッサである
。このプロセッサは、指揮統制システムのような、一つ
以上の汎用データ処理システムとに結合して動作するハ
ードウェア装置である。前記指揮統制システムは更に、
リアルタイムで動作する一つ以上のホストプロセッサ1
4と、レーダースキャンコンバータ16又は追加のコジ
ェネレータ17のような他のリアルタイムデータ生成装
置とを有する。ホストプロセッサ14、レーダースキャ
ンコンバータ16及び他のコジェネレータ17は、多機
能バス18を介して多機能コジェネレータ10にデータ
を供給し、このデータは、多機能コジェネレータ10内
で生成されたグラフィックデータと結合される。結合さ
れたデータは、グラフィックディスプレイの生成のため
の信号群として、64ビットの双方向、マルチユーザ相
互接続のイメージバス(IBUS)20を介してビット
マップメモリ(BMM)22に出力され、更にビデオバ
ス23を介してディスプレイシステム24に出力される
【0008】図2に示す実施例より、多機能コジェネレ
ータ10は、3ポートのディスプレイメモリ26を含む
。このメモリ26は、この実施例では、1ワード32ビ
ットの4メガビットのメモリアドレス空間を有し、多機
能コジェネレータ10に必要な全てのコマンド及びパラ
メータを適切なバッファロジックに格納するのに使用さ
れる。ディスプレイメモリは、ディスプレイリストプロ
セッサ(DLP)32内部グラフィックジェネレータ3
4及びホストプロセッサ14によりアクセス可能である
。ホストプロセッサ14は、多機能コジェネレータ10
に対してリード/ライト動作を行ない、ディスプレイメ
モリ26のアドレス空間内のアドレスにランダムにリー
ド/ライト動作を実行する。多機能コジェネレータ10
は、ホストプロセッサ14からのデータの更新を多機能
コジェネレータ10からのグラフィック信号の出力と同
期するために、ホストプロセッサ14からディスプレイ
メモリ26に送られるデータの出力を監視する。ディス
プレイメモリインターフェイスユニット(DMIU)3
6は、ディスプレイメモリ26内の実際のメモリサイク
ルを実行する。従って、3ポートメモリコントローラが
必要である。
【0009】ホストプロセッサ14の命令のもと、多機
能コジェネレータ10は、作動中、ディスプレイメモリ
26からの命令をフェッチし、これらの命令を処理し、
図形を計算し、計算された図形を示す、処理信号をイメ
ージバス20を介してビットマップメモリ22に“描画
”する。描画は、バイナリ1及び0の信号群をビットマ
ップメモリ22のそれぞれ選択されたメモリ位置へ入力
することにより実行される。この発明では多機能コジェ
ネレータ10の機能の一部として、エリアフィル/円錐
曲線/ベクトルジェネレータ12は、ポリライン、長方
形、円、楕円及び多角形のようなグラフィックプリミテ
ィブと、これらの形のエリアフィルとを示す信号を生成
する。これらプリミティブ信号は、記号ジェネレータ2
8で生成された英数字及び他の記号を示す信号に結合さ
れ、ビットマップメモリ22内の画素アドレスに読込ま
れる最終的なグラフィック信号を作出すため、更に、ブ
ロックテクスチャリング及びコンプレックスクリッパ3
0により生成された第3の信号セットに結合される。 一般的に、ビットマップメモリ22は、各メモリ位置で
定義されたグラフィックディスプレイ画素の色及び輝度
がセットされた多重メモリ層を有する。
【0010】ディスプレイメモリ26には、2チャンネ
ル先入れ先出し方式(FIFO)メモリバッファ38,
40が格納され、一方のバッファは、他方のバッファよ
り高い優先順位が割り当てられ、2つの描画チャンネル
の各々に1つのバッファがある。アドレススタックが各
FIFOバッファ内に設けられサブルーチン呼出しの戻
り番地を格納する。属性スタックはまた、ハードウェア
コンテクストスイッチングのための全ての内部コジェネ
レータ属性と、グラフィック描画のためのサイン(si
n)/コサイン(cos)テーブルと、手書き及び又は
ドットマトリックスの記号及び文字を描画するための最
大128のフォントテーブルと、大ディスプレイリスト
領域とを格納する。コジェネレータ10に関するより詳
細な説明は、同時係属米国特許出願No.      
の“Muitifunction High Perf
ormance Graphics Renderin
g Processor,”に記載されている。
【0011】2チャンネルFIFOバッファ38,40
は、多機能コジェネレータ10とホストプロセッサ14
とをインターフェイスする。多機能バス18がデータ伝
送を行なっている時、即ちホストプロセッサ14がディ
スプレイメモリ26に対して読取りもしくは書込みをし
ている時、2チャンネルFIFOバッファ38,40は
、適切な“ハンドシェーキング”等の全てのインターフ
ェイスの制御を司る。ホストプロセッサ14のためにデ
ィスプレイメモリに読取り又は書込み作業を実行するの
が2チャンネルFIFOバッファ38,40である。 2チャンネルFIFOバッファ38,40はまた、多機
能コジェネレータ10に対するチャンネルの優先度の調
整を行なう。これら機能の詳細な説明は、同時係属米国
特許出願No.      の“Dual Hardw
are Channels and Context 
Sitching in a Graphic Pro
cessor, ”に記載されている。
【0012】ディスプレイリストプロセッサ32は、多
機能コジェネレータ10に対する全てのコマンド及びデ
ィスプレイリスト処理を実行する。通常、コマンドは、
ホストプロセッサ14から多機能コジェネレータ10へ
送られる。ディスプレイリストプロセッサ32は、種々
の方法により多機能コジェネレータ10にコマンドを送
る。ディスプレイリストプロセッサ32は、ディスプレ
イメモリインターフェイスユニット36を用いてディス
プレイメモリ26にインターフェイスし、他の機能動作
と同様に2チャンネルFIFOバッファ38,40から
コマンドを読取る。ディスプレイリストプロセッサ32
は、コマンドを受け取ると、コマンドを処理し、取り出
し動作を決定する。
【0013】コンテクストレジスタ(CREG)42は
、多機能コジェネレータ10の現在状態を定義するコジ
ェネレータ属性を格納する。これらは、コジェネレータ
動作モード、描画ポインタ位置、フォアグラウンドカラ
ー、バックグラウンドカラー、クリッピングウィンドウ
ディメンション等のパラメータを含む。これら属性は、
与えられたあらゆる時間で多機能コジェネレータ10の
“特徴”を定義するため重要であり、それらの全てはユ
ーザがプログラム可能である。この結果、ユーザはかな
り柔軟にディスプレイシステムを動作させることができ
る。
【0014】さらに、大データマルチプレクサであるリ
ードバックマルチプレクサ(RDMUX)44が供給さ
れる。前記リードバックマルチプレクサ44は、DMI
U36にデータを多重化して送り、このデータは、DM
IU36から、ディスプレイメモリ26に直接送られる
か又は多機能バス18を介してホストプロセッサ14に
送り返される。リードバックデータの多重化ソースは、
CREG42と、グラフィックジェネレータ34と、ブ
ロックテクスチャリング及びコンプレックスクリッパ3
0とを含む。データがホストプロセッサ14に送られる
際、DMIU36によりFIFOバッファを介して送ら
れる。グラフィックジェネレータ34は、様々のコジェ
ネレータ描画動作のためにリードバックマルチプレクサ
に接続される。ブロックテクスチャリング及びコンプレ
ックスクリッパ30はまた、リードバックマルチプレク
サ44にデータを送る。
【0015】プリミティブ及び記号の発生の生成は、多
機能コジェネレータ10の一部で、図2の点線ブロック
内に含まれ、即ちブロック34により識別される。これ
ら機能の実行のため、この発明のエリアフィル/円錐曲
線/ベクトルジェネレータ12と、多重処理スケジュー
ラ46と、コマンドジェネレータ48と、記号ジェネレ
ータ28と、ビットブロック転送ジェネレータ(BIT
BLT)50とが共にブロック34内に含まれる。
【0016】多重処理スケジューラ46は、ブロック3
4内の要素間の全てのデータ転送を制御し、コマンドジ
ェネレータ48は、イメージバス20に出力データを送
り、このデータをビットマップメモリ22に送出するこ
とを可能にし、記号ジェネレータ28は、英数字信号を
生成し、BITBLTジェネレータ50は、ビットマッ
プメモリ22内及びディスプレイメモリ26内と、それ
らの間で、イメージデータの長方形ブロックを移動する
多目的手段を供給する。ブロックテクスチャリング及び
コンプレックスクリッパ30は、エリアフィル/円錐曲
線/ベクトルジェネレータ12及び記号ジェネレータ2
8からのデジタル出力信号を受取り、これらを結合し、
さらに結合された信号を、ビデオディスプレイシステム
24を用いるためビットマップメモリ22内に読込まれ
る最終出力ディスプレイに変える処理を行なう。いかに
してこれがなされるかに関する詳細は、同時係属米国特
許出願No.      の“Dual Progra
mmable Block texturing an
d Complex clipping in a G
raphics Rendering Process
or. ”に記載されている。ブロック34で囲まれた
構成要素のほとんどは、同一発明者の米国特許出願No
.      の“Hardware Bit Blo
ck Transfer Processor,”と、
No.      の“Hardware Symbo
logy and Text Generator i
n a Graphics Generator , 
”及びNo.      の“Mualtiproce
ss Scheduler in a Graphic
s Processor,”の主題である。
【0017】図3には、この発明によるエリアフィル/
円錐曲線/ベクトルジェネレータ12がより詳細に示さ
れる。概要して、エリアフィル/円錐曲線/ベクトルジ
ェネレータ12は、ベクトル、円形、楕円形、多角形エ
リアフィルを生成する単一回路である。ジェネレータの
基本構成ブロックは、デジタル微分解析器(DDA)6
0で、これは、動作中、累算が一つ又は他の画素境界を
オーバーフローした場合、x/y座標データの分数(副
画素)構成要素及び信号を累算する。これにより、シス
テムは、ビットマップメモリ22内にロードされる(描
画される)画素アドレスを示すx及びy座標を増加又は
減少させる。最も汎用的なものでは、解析器60は、入
力手段61を有する汎用アーキテクチュアを具備し、入
力データ及び命令を少なくとも2つのデジタル差動マル
チプレクサ62と、算術論理演算装置(ALU)64と
、2つずつのレジスタ及びカウンタ66a,66bを有
するレジスタファイル66とに供給する。
【0018】動作中、コンパレータ62は、多機能コジ
ェネレータ10によりx及びyデータを得て、これらと
、レジスタ66に格納されたx及びy画素位置データを
比較する。レジスタ66及びカウンタ67に格納された
xデータもしくはyデータが画素境界が交差しているこ
とを示す場合には常に、DDA60は、次の画素アドレ
スのための移動方向制御を出力する。この処理は、プリ
ミティブ形状が完成するまで続けられる。この機能を促
進するため、エリアフィル/円錐曲線/ベクトルジェネ
レータ12は、構成部分として、パラメータカウンタ6
8と、sin/cosフェッチユニット70と、アドレ
スカウンタ72と、水平ラインジェネレータ74とをも
有する。機器構成を示した図3より、システムは、対象
とする汎用性のために、システム内に使用される様々な
幾何学方程式の計算に適用するサブファンクションのた
めの解決の準備を供給する。いかに計算が実行されるか
のグラフィック記述は、図4、図6及び図7に示される
【0019】パラメータカウンタ68は、与えられたプ
リミティブ又はセグメントを表示するために必要な反復
計算の回数を決定するために使用される。ベクトル及び
多角形の生成とエリアフィルとの動作に関して、x/y
座標又はΔx/Δyの値は、計算されるラインに関して
最大Δ値を決定するため、この機能によって比較される
。この値は、プリミティブ又はセグメントのそれぞれに
必要とされる合計反復回数を決定する。円形及び楕円形
(即ち、円錐曲線)を表示するため、合計計算回数を定
義する正規化入力パラメータは、直接ロードされる。
【0020】sin/cosフェッチユニット70は、
円錐曲線プリミティブの表示に使用され、ディスプレイ
メモリ26内に格納された複数のsin/cosテーブ
ルの一つよりsin及びcos制御信号をフェッチして
格納する。この発明による一実施例では、システムは、
8分割テーブルを取り入れている。これらのテーブルは
、sin(cos)が八分円に応じて0.707(0.
293)だけ変化する場合の単位円に対するsin(c
os)の0.707(0.293)の変化を近似する。 使用されるパラメータ円錐曲線アルゴリズムの精度はさ
らに反復を繰り返せば改善するが、さらに反復を繰り返
すと、円錐曲線を描画するために必要な処理の量が増加
する。ディスプレイメモリの各sin/cosテーブル
は、最大限可能な半径または軸の長さを有する。 半径又は軸を伴った円錐曲線の長さは、1024画素未
満であり、二律背反性が、所望の精度と描画時間との間
に存在する。従ってシステムは、ユーザが選択できるよ
うに構成される。この例では、1024画素より大きい
半径又は軸を有する円錐曲線の場合、最も大きなテーブ
ルだけが使用される。長短軸が異なった値を有する円錐
部を生成するように、x及びy成分を異なったレートで
累算するように設定することにより、解析器60内で、
累算処理が行なわれるように、sin/cosフェッチ
ユニット70を制御することができる。これは、通常直
線になるが、円形もしくは楕円形形状になるよう実際上
操作する。
【0021】アドレスカウンタ72は、x/y画素座標
アドレス出力を格納することに使用される。カウンタ7
2は、解析器60の累算処理により間接的に制御され、
ビットマップメモリ22内に描画されている現在の画素
アドレスを示す。水平ラインジェネレータ74は、塗り
つぶされる多角形もしくは円錐曲線エリアの左右エッジ
の間の水平ラインを描画するために使用される。エッジ
は解析器60からの出力信号により描かれ、新しい水平
ラインが出力可能な場合、停止される。この機能を実現
するために、左から右へのラインに沿ってある時刻で、
16ビット長のビットマップワードを1だけカウントア
ップするx座標カウンタを使用する。コンパレータ75
は、右エッジに到達した時を検出し、その時、さらに必
要であれば、装置は、他の線を描画するため増加する。 x及びyアドレスの最下位ビットと種々の制御信号が、
ブロックテクスチャリング及びコンプレックスクリッパ
30によって使用され、ビットマップライトマスクが形
成される。このマスクは、塗りつぶされたエリアの右及
び左エッジに、16ビットマップワードの適切なビット
だけを出力する。ベクトル及び円錐曲線のため、マスク
ジェネレータは、アドレスカウンタの出力を監視し、図
形を16ビットビットマップメモリワード内に描画する
際、適切なライトマスクを累算する。アドレスがワード
境界を越えた場合は、1ライトサイクルがビットマップ
メモリ22に対して実行される。
【0022】図3に示す実施例では、エリアフィル/円
錐曲線/ベクトルジェネレータ12は、少なくとも2つ
の同一かつ独立したDDAユニットを含み、このDDA
ユニットは、同時に一つ以上の方程式を解くことを可能
にする。動作中、図示された2つのDDAユニットは、
解を得る方程式が異なるので、異なった制御がなされる
。例えば、接続されたベクトルの連続として、ここで定
義されたポリラインを描画する場合、各ベクトルはそれ
ぞれ少なくとも1画素長である。ポリラインの始点(第
1ベクトルの第1画素)は、多機能コジェネレータ10
内で、現在の描画ポインタ(DP)値として定義される
。多機能コジェネレータ10がベクトルを描画する時、
描画ポインタ値は、終点のx/y位置と等しくセットさ
れる。終点に到達した時、描画は停止し、何等かの理由
で描画ポインタが変化しない限り、次のベクトルの描画
ポインタが前記ポイントに移動する、即ち次のベクトル
は、前ベクトルの終点を始点としそれぞれ描画が開始さ
れる。ポリラインは、オペレータが別の連続したベクト
ルを必要とするときに、描画ポインタ値を再ロードする
ことにより破断される。
【0023】多機能コジェネレータ10は、2つの動作
モード、ポイントツーポイント及びΔx/Δyの内の一
つにより各ポリラインを描画するようにプログラムする
。ポイントツーポイントモードでは、ビットマップメモ
リ22の特定された画素の絶対x/yアドレスである特
定された終点を多機能コジェネレータ10に送出するこ
とにより、各ベクトルが特定される。多機能コジェネレ
ータ10は、ベクトルを、現在のDP位置から、送られ
た値によって特定されたx/y位置まで描画する。多く
のディスプレイシステムは、x/yの絶対値でデータを
フォーマットするのでこの動作モードが設けられている
【0024】Δx/Δy動作では、相対的なx及びyの
値により、各ベクトルは特定される。送られた値は、通
常2の補数表示であるx及びyパラメータで、現在の描
画ポインタに(から)加算(減算)され、これらは、前
ベクトルの終点かもしくは新しい始点となる。この計算
は、新しいベクトルの終点を定義する。多機能コジェネ
レータ10は、新しいベクトルを現在の描画ポインタか
ら、計算された終点まで描画する。この動作モードによ
り、多機能コジェネレータ10は相対的フォーマットに
格納されたポリラインデータを処理することが可能にな
る。ベクトルがそれぞれ絶対的なx/y位置より相対的
に描画されるため、このフォーマットに格納されたデー
タは、2次元x/yスペースで最終的に描画されるベク
トルの位置に関してより柔軟に対応できる。
【0025】これらの計算を実行する場合、各DDA6
0は、標準ブレセンハム(Bresenham )決定
可変アルゴリズムを実現する独立したベクトルジェネレ
ータを形成する。DDAの一方だけがある時間データを
出力する間、少なくとも2つのDDAを使用することに
より、現在のベクトルが描画される間、計算される次の
ベクトルのためのパラメータの入力が実行可能である。 この発明では、ブレセンハム(Bresenham )
アルゴリズムは、2つのDDAの内の一つのDDAがこ
れから行なう動作間の決定すべきラインの拡大縮小され
たリニア方程式を解く。計算する時、パラメータ制御カ
ウンタ値に、最大Δx又はyがロードされ、独立(x)
軸にそって実行される反復回数を定義する。各反復では
、MOVE1又はMOVE2の内のいずれか一つの移動
が現在の画素から次の画素に行くことができる。MOV
E1は、独立(x)軸の方向の1ステップとして定義さ
れる。この場合、従属(y)軸が同時にインクリメント
されることは無い。 MOVE2は、x軸及びy軸との間の対角線方向の1ス
テップとして定義される。各DDAからのMOVE1及
びMOVE2信号は、ラインが描画される現在の八分円
によって解釈される。制御機能は、パラメータ制御機能
からの入力によって、この解釈を実行し、x/yアドレ
スカウンタを適切にインクリメント又はデクリメントす
る。
【0026】システムは、円錐と、閉じた凸面の多角形
エリアとを塗りつぶす機能を有する。具体的に説明する
ために、多角形は、0から4096画素までプログラム
可能な長さの最大1024の頂点及び又は辺を有すると
定義する。塗りつぶし領域の始点は、多機能コジェネレ
ータ10内の現在のDP値として定義される。多角形エ
リアフィルは、ブレセンハム(Bresenham )
アルゴリズムを使用することにより描画され、右及び左
の多角形エッジに沿って進む。多角形の頂点(ポイント
ツーポイントベクトル)又は辺(Δx/Δyベクトル)
は、多角形の最上部(y座標の最小値)から描画が開始
される。各DDA60は、個々のベクトルと同様な方法
で開始される。MOVE2(yのステップ)が各DDA
60内で与えられた場合、制御機能によって、水平ライ
ンジェネレータ74は、左右エッジの直前座標間にライ
ンを描画する。このラインが描画されている時も、各D
DA60は、他の水平ラインが描画される次のMOVE
2に至るまでエッジの解を出力し続ける。この処理は、
同じ点でエッジが閉じるまで続けられる。これを行なう
制御プログラムを、図4に示す。類似した方法は、円形
及び楕円形に対しても使用される。
【0027】エリアフィル/円錐曲線/ベクトルジェネ
レータ12は、円形及び楕円形を描画するためのハード
ウェアで実現されたパラメータ円錐曲線アルゴリズムを
さらに有する。これにより、回転楕円を描画することが
できる。このアルゴリズムは、表示される各画素のx及
びy座標のための、離散的な微分方程式を解くことによ
って、連続的な関数(円形及び楕円形)を近似する。新
しいx及びy画素値は、x及びyの微分値を同時に累算
することにより計算される。これらの累算は、ディスプ
レイメモリ26に格納されたsin/cos探索データ
テーブルを参照することにより行なわれる。これらのテ
ーブルは、描画されているオクタントに基づいて変化す
る増分値を含む。これらのデータを用いることにより、
アドレスの一つ、即ちxもしくはyを、他方より速いレ
ートで計算することができる、所望の曲線状の円形又は
楕円形の円錐曲線フォームが生成される。
【0028】エリアフィル/円錐曲線/ベクトルジェネ
レータは12は、楕円形及び円形のパラメータ解を近似
するため2つのDDAを利用する。円形を近似した方程
式は、 x(t)=x(t−1)+R・cos(t)と、y(t
)=y(t−1)+R・sin(t)とで、但しR=円
形の半径と、 0≦t≦2・πである。 楕円形に近似した方程式は、 x(t)=x(t−1)+J・cos(t)+K・si
n(t)と、 y(t)=y(t−1)+L・cos(t)+M・si
n(t)とで、但し J,K,L及びMは、正規化された円錐曲線射影であり
、下記の方程式、 J=(x1 −x0 )・Nfactorと、K=(x
2 −x0 )・Nfactorと、L=(y1 −y
0 )・Nfactorと、M=(y2 −y0 )・
Nfactorとによって決定される。
【0029】但し、(x0 ,y0 )は、楕円の中心
のx及びy座標であり、(x1 ,y1 )は、楕円の
中心から投影された楕円形の主軸の一端のx及びy座標
値であり、(x2 ,y2 )は、楕円の中心から投影
されたときの楕円形の副軸の一端を示すx及びy座標値
であり、但し、tは前記したように定義され、N−正規
化要因値は、下記に示すように定義される。 N−正規化要因 0000000−Nfactor=1 1000000−Nfactor=2 1100000−Nfactor=4 1110000−Nfactor=8 1111000−Nfactor=161111100
−Nfactor=321111110−Nfacto
r=641111111−Nfactor=128
【0
030】円形を描画するため、オペレータは、2つのパ
ラメータ、即ち半径及びN−正規化係数Nを特定するだ
けで良い。この計算では、半径は、11ビットの正規化
された値(Normrad)によって定義され、実際の
円形の半径は、方程式、半径=Normrad/Nfa
ctor
【0031】によって決定される。描画される
円形の第1画素として、現在の描画ポインタ位置を使用
すると、円周上の90度ポイントでそのような描画が開
始され、反時計方向に円周が閉じるまで処理される。描
画ポインタ値を変えることにより、円形は、異なったx
/yアドレスで容易に描画されることができる。
【0032】楕円形を描画する場合には、主軸及び副軸
をxy画面座標値に直交させる必要はないので、回転し
た楕円形を、容易に生成することができる。楕円形を描
画するためには、オペレータは、使用するsin/co
sテーブルを定義する正規化係数nと、J,K,L及び
Mの値とを定義するだけで良い。これは、図5に示され
、図中のP0 は、楕円形の中心であり、ライン(P0
 及びP1 )と(P0 及びP2 )は、楕円形の直
交した軸を定義する。特定のN,J,K,L及びM値か
ら一つの楕円が描画されるので、実際上、主副軸の宣言
は重要ではない。楕円形は、P1 (描画ポインタ値と
等しいところ)から描画が開始され、P2 に向かって
移動する。楕円形プリミティブが描画されるx/yアド
レス位置を定義する描画ポインタ値は、プログラム可能
であり、円形プリミティブと同様に、描画ポインタ値を
変化させることにより、容易にビットマップメモリ22
のx/yスペース内に移動することができる。上述した
円形及び楕円形の描画制御シーケンスは、図6及び図7
に示す。
【0033】以上、グラフィック表示プロセッサにおけ
る、エリアフィル、円錐曲線及びベクトルのための、新
しくそして進歩した集積ハードウェアジェネレータにつ
いて述べた。上述した実施例は、この発明の原理の応用
を示す、多くの特定された実施例のいくつかを例示した
に過ぎず、当業者にはこの発明の範囲を逸脱することな
く、種々変形実施可能である。
【図面の簡単な説明】
【図1】この発明により構成される2チャンネル多機能
コジェネレータを合せ持ったシステムのブロック図。
【図2】同図1における多機能コジェネレータの詳細な
ブロック図。
【図3】この発明による集積ハードウェアエリアフィル
/ベクトル/円/楕円/多角形ジェネレータの機能ブロ
ック図。
【図4】多角形エリアの形状の計算に使用される制御シ
ーケンスのブロック図。
【図5】楕円機能を定義する円錐曲線射影図。
【図6】円エリアを制御及び描画するために使用される
制御シーケンスのブロック図。
【図7】楕円エリアを制御及び描画するために使用され
る制御シーケンスのブロック図。

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】  ベクトルと、多角形と、円錐曲線のプ
    リミティブ及びエリアフィルを示す第1のデジタルプリ
    ミティブ信号群を生成するベクトル/円錐曲線/エリア
    フィルプリミティブジェネレータ(12)において、前
    記プリミティブ信号は、グラフィックディスプレイプロ
    セッサ(10)に使用され、前記グラフィックディスプ
    レイプロセッサ(10)は、前記プリミティブの生成に
    関するシステムコマンド及びサブファンクション命令を
    格納するためのディスプレイメモリ(26)と、システ
    ムコマンドを生成するためのホストプロセッサ(14)
    と、前記グラフィックプリミティブ信号を得、このグラ
    フィックプリミティブ信号と記号情報のための第2のデ
    ジタル信号群及びバックグランド及びテクスチャリング
    のための第3のデジタル信号群とを結合し、出力信号を
    含む第4デジタル信号を形成する結合手段(32)とを
    含み、前記出力信号は、グラフィックディスプレイ(2
    4)のビットマップメモリ(22)内の所定のアドレス
    に書込まれ、前記ビットマップメモリ(22)にプリミ
    ティブを描画するためのデータ及び命令を得る入力手段
    (61)と、前記入力手段(61)と結合され、前記ビ
    ットマップメモリ(22)内の第1の所定アドレスを対
    象として、前記プリミティブを計算及び描画するための
    反復手段(60)とを具備することを特徴とするベクト
    ル、円錐曲線、エリアフィルプリミティブジェネレータ
    (12)。
  2. 【請求項2】  前記曲線状ベクトルラインの描画に使
    用する、前記ディスプレイメモリからのサイン及びコサ
    インデータを得るフェッチ手段(70)と、ベクトルラ
    インが描画されるx及びy座標を格納するアドレスカウ
    ンタ(72)と、描画されたベクトルラインが前記第2
    の所定のアドレスに到達した時を示し、第2のベクトル
    ラインの計算及び描画のためにジェネレータをリセット
    する信号手段(67)と、描画されたプリミティブベク
    トルラインによって囲まれたスペース内に、ライン塗り
    つぶしデータを生成するラインジェネレータ手段(74
    )と、前記プリミティブベクトルラインを生成するため
    必要とされる反復数を決定する手段(68)と、曲線状
    ベクトルラインが描画されるようにx及びy座標データ
    入力のレートを調整する手段(68)とを具備すること
    を特徴とする請求項1記載のベクトル/円錐曲線/エリ
    アフィルプリミティブジェネレータ(12)。
  3. 【請求項3】  ベクトルを生成するパラメータカウン
    タ手段(68)を具備する請求項1記載のベクトル/円
    錐曲線/エリアフィルプリミティブジェネレータ(12
    )。
  4. 【請求項4】  円錐曲線を生成するためにサイン及び
    コサインデータを得るフェッチ手段(70)を具備する
    請求項1記載のベクトル/円錐曲線/エリアフィルプリ
    ミティブジェネレータ(12)。
  5. 【請求項5】  エリアフィルを生成する水平ラインジ
    ェネレータ手段(74)を具備する請求項1記載のベク
    トル/円錐曲線/エリアフィルプリミティブジェネレー
    タ(12)。
  6. 【請求項6】  前記反復手段(60)は、算術論理演
    算装置(64)に直列に接続されたxy入力デジタルマ
    ルチプレクサ(62)を有し、前記算術論理演算装置の
    出力が、レジスタファイルを構成する複数の、記憶レジ
    スタ(66a)とカウンタ(66b)とに接続されるこ
    とを特徴とする請求項1記載のベクトル/円錐曲線/エ
    リアフィルプリミティブジェネレータ(12)。
  7. 【請求項7】  ビットマップメモリ(22)に印加さ
    れるベクトル及び円錐曲線データをフォーマットする、
    複数のアドレスカウンタ(72)とマスクジェネレータ
    (32)とを具備する請求項1記載のベクトル/円錐曲
    線/エリアフィルプリミティブジェネレータ(12)。
JP3234975A 1990-09-14 1991-09-13 ベクトル/円錐曲線/エリアフィルプリミティブジェネレータ Pending JPH04246790A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US582728 1990-09-14
US07/582,728 US5303321A (en) 1990-09-14 1990-09-14 Integrated hardware generator for area fill, conics and vectors in a graphics rendering processor

Publications (1)

Publication Number Publication Date
JPH04246790A true JPH04246790A (ja) 1992-09-02

Family

ID=24330293

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3234975A Pending JPH04246790A (ja) 1990-09-14 1991-09-13 ベクトル/円錐曲線/エリアフィルプリミティブジェネレータ

Country Status (4)

Country Link
US (1) US5303321A (ja)
EP (1) EP0476532A3 (ja)
JP (1) JPH04246790A (ja)
CA (1) CA2050651C (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7398750B2 (en) 2003-08-22 2008-07-15 Yamaha Hatsudoki Kabushiki Kaisha Valve mechanism for internal combustion engine

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100225061B1 (ko) * 1996-10-10 1999-10-15 윤종용 고속 그래픽 드로잉 방법
CA2153160C (en) * 1992-12-30 1999-01-19 James E. Strickling, Iii Self-contained multifunctional lcd flight indicator
US5872553A (en) * 1994-10-28 1999-02-16 Advanced Displays Corporation High speed graphics fill of liquid crystal display
US5760792A (en) * 1995-05-01 1998-06-02 Intergraph Corporation Fifo logical addresses for control and error recovery
US5794037A (en) * 1995-05-01 1998-08-11 Intergraph Corporation Direct access to slave processing by unprotected application using context saving and restoration
US6137471A (en) 1995-07-24 2000-10-24 L-3 Communications Corporation High speed graphics fill of liquid crystal display
US5835160A (en) 1995-09-13 1998-11-10 Oak Technology, Inc. Sampling rate conversion using digital differential analyzers
TW316965B (ja) * 1995-10-31 1997-10-01 Cirrus Logic Inc
KR100312410B1 (ko) * 1998-12-09 2002-01-15 이계철 지리정보시스템에서벡터 데이터 압축 및 복원 방법
US6377265B1 (en) * 1999-02-12 2002-04-23 Creative Technology, Ltd. Digital differential analyzer
KR100425667B1 (ko) * 2001-12-03 2004-04-06 엘지전자 주식회사 데이터스트림의 속성정보 처리방법 및 장치
US6836239B2 (en) 2003-05-15 2004-12-28 Aviation Communication & Surveillance Systems, Llc Method and system for displaying text on a radial display
US7747981B2 (en) * 2005-09-23 2010-06-29 Wolfram Research, Inc. Method of dynamically linking objects operated on by a computational system
US8269788B2 (en) * 2005-11-15 2012-09-18 Advanced Micro Devices Inc. Vector graphics anti-aliasing
US20080121939A1 (en) * 2006-11-06 2008-05-29 Michael Murray Methods of automatically generating dummy fill having reduced storage size
US20080143746A1 (en) * 2006-12-19 2008-06-19 Texas Instruments Incorporated Display of an equation with graphical data
US9202308B2 (en) 2011-12-28 2015-12-01 Think Silicon Sa Methods of and apparatus for assigning vertex and fragment shading operations to a multi-threaded multi-format blending device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58191964A (ja) * 1982-04-30 1983-11-09 アンペツクス・コ−ポレ−シヨン テ−プ試験装置
JPS59211166A (ja) * 1983-05-17 1984-11-29 Fujitsu Ltd 円弧補正方式
JPS641075A (en) * 1987-02-27 1989-01-05 Nec Corp Picture processor
JPH01166275A (ja) * 1987-12-23 1989-06-30 Dainippon Screen Mfg Co Ltd 並行処理を利用した塗り潰し画像データ生成方法
JPH01241673A (ja) * 1988-03-23 1989-09-26 Daikin Ind Ltd 三角関数値算出装置およびその方法
JPH0285908A (ja) * 1988-07-07 1990-03-27 Matsushita Electric Ind Co Ltd 正弦関数発生方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4507656A (en) * 1982-09-13 1985-03-26 Rockwell International Corporation Character/vector controller for stroke written CRT displays
US4758965A (en) * 1985-10-09 1988-07-19 International Business Machines Corporation Polygon fill processor
US4807158A (en) * 1986-09-30 1989-02-21 Daleco/Ivex Partners, Ltd. Method and apparatus for sampling images to simulate movement within a multidimensional space
US5053759A (en) * 1988-01-30 1991-10-01 Kabushiki Kaisha Toshiba Method of and apparatus for generating high-quality pattern
US4894653A (en) * 1988-06-24 1990-01-16 Hughes Aircraft Company Method and apparatus for generating video signals

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58191964A (ja) * 1982-04-30 1983-11-09 アンペツクス・コ−ポレ−シヨン テ−プ試験装置
JPS59211166A (ja) * 1983-05-17 1984-11-29 Fujitsu Ltd 円弧補正方式
JPS641075A (en) * 1987-02-27 1989-01-05 Nec Corp Picture processor
JPH01166275A (ja) * 1987-12-23 1989-06-30 Dainippon Screen Mfg Co Ltd 並行処理を利用した塗り潰し画像データ生成方法
JPH01241673A (ja) * 1988-03-23 1989-09-26 Daikin Ind Ltd 三角関数値算出装置およびその方法
JPH0285908A (ja) * 1988-07-07 1990-03-27 Matsushita Electric Ind Co Ltd 正弦関数発生方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7398750B2 (en) 2003-08-22 2008-07-15 Yamaha Hatsudoki Kabushiki Kaisha Valve mechanism for internal combustion engine

Also Published As

Publication number Publication date
CA2050651C (en) 1996-06-18
EP0476532A2 (en) 1992-03-25
CA2050651A1 (en) 1992-03-15
US5303321A (en) 1994-04-12
EP0476532A3 (en) 1993-06-23

Similar Documents

Publication Publication Date Title
JPH04246790A (ja) ベクトル/円錐曲線/エリアフィルプリミティブジェネレータ
US9916674B2 (en) Baking path rendering objects into compact and efficient memory representations
US5218674A (en) Hardware bit block transfer operator in a graphics rendering processor
US5185599A (en) Local display bus architecture and communications method for Raster display
JP4234217B2 (ja) サイズ変更ビットブロック転送処理の一部として透過イネーブルビットの埋込みを行うシステム、装置および方法
US5274760A (en) Extendable multiple image-buffer for graphics systems
US5276798A (en) Multifunction high performance graphics rendering processor
JP3286331B2 (ja) ブロックテクスチャコンプレックスクリップマスクプロセッサ
JPH0727571B2 (ja) ラスタ走査表示装置及び図形データ転送方法
US5003497A (en) Method for three-dimensional clip checking for computer graphics
US20030142105A1 (en) Optimized packing of loose data in a graphics queue
US20030169277A1 (en) Pipelined 2D viewport clip circuit
US6784894B2 (en) Mapping time-sorted to direction-sorted triangle vertices
US6532009B1 (en) Programmable hardwired geometry pipeline
US6731303B1 (en) Hardware perspective correction of pixel coordinates and texture coordinates
US7145570B2 (en) Magnified texture-mapped pixel performance in a single-pixel pipeline
US5657436A (en) Preprocessing apparatus and method for line scan conversion in a computer graphics system
US6831660B1 (en) Method and apparatus for graphics window clipping management in a data processing system
EP0389890B1 (en) Method and apparatus for generating figures with three degrees of freedom
US20030169261A1 (en) Stalling pipelines in large designs
US20040174364A1 (en) Rendering patterned lines in a graphics system
US6847372B2 (en) Magnified texture-mapped pixel performance in a single-pixel pipeline
US11756258B2 (en) Techniques for ray cone tracing and texture filtering
US11443475B2 (en) Techniques for ray cone tracing and texture filtering
JP2787487B2 (ja) コンピュータシステムに表示され且つ操作される線分の位置を決定する回路