JPH0643853A - 表示属性を制御する方法及び装置 - Google Patents

表示属性を制御する方法及び装置

Info

Publication number
JPH0643853A
JPH0643853A JP5025559A JP2555993A JPH0643853A JP H0643853 A JPH0643853 A JP H0643853A JP 5025559 A JP5025559 A JP 5025559A JP 2555993 A JP2555993 A JP 2555993A JP H0643853 A JPH0643853 A JP H0643853A
Authority
JP
Japan
Prior art keywords
class
class name
counter
flag
counters
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
JP5025559A
Other languages
English (en)
Inventor
Daniel G Gibbons
ダニエル・ジェラルド・ギボンス
James A Harstad
ジェームズ・アラン・ハースタッド
David C Tannenbaum
デビッド・コンラッド・タンネンバウム
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH0643853A publication Critical patent/JPH0643853A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

(57)【要約】 (修正有) 【目的】 グラフィックス・プリミティブの検出可能
性、強調表示及び不可視性を制御するためのハードウェ
ア・フィルタを提供する。 【構成】 3つの表示属性の各々は合計6つの包含及び
排他カウンタ502〜512の両方に関連付けられてい
る。各クラス名には、現在活動しているセットのメンバ
かどうかを示すフラグ、及び6つのフィルタに対するク
ラスの効果を示す6ビットのストリングが関連付けられ
ている。構造体階層の横断時に、クラス名の追加命令が
ありフラグが未セットの場合、フラグがセットされ、対
応するフィルタ・カウンタが6ビットのストリングを使
用して増分信号をゲートする。クラス名の除去命令があ
り、フラグがリセットされていない場合、フラグがリセ
ットされ、対応するフィルタ・カウンタが6ビットのス
トリングを使用して減分信号をゲートする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はコンピュータ・グラフィ
ックス用の属性フィルタ、詳細にいえば、検出可能性、
強調表示及び不可視性などのPHIGS属性をフィルタ
する方法及び装置に関する。
【0002】
【従来の技術】プログラマ階層対話グラフィックス・シ
ステム(PHIGS)はコンピュータ・グラフィックス
用に広く使用されているアプリケーション・プログラミ
ング・インタフェース(API)である。PHIGSプ
リミティブは検出可能性(ないしピック可能性)、強調
表示、及び可視性を始めとする各種の属性を有してい
る。強調表示は構造横断中に遭遇する以降の出力プリミ
ティブのイメージを、ワークステーション独自の態様で
区別すべきかどうかを示す。可視性は出力プリミティブ
を表示のためにラスタ化するかどうかを示す。検出可能
性(ないしピック可能性)はプリミティブがピッキング
といわれるユーザ選択操作に利用できるかどうかを示
す。
【0003】PHIGS標準に合わせて作成されたグラ
フィックス・アプリケーションはフィルタ操作を使用し
て、線、面、テキスト及びマーカなどのプリミティブの
検出可能性、強調表示及び不可視性を制御する。PHI
GSフィルタについては、IBMの刊行物「The graPHI
GSTM Programming Interface: Understanding Concept
s」、SC33-8102-2、pp. 6-9ないし6-10 (3d ed. 1988)
ならびに米国特許第4870599号明細書を参照され
たい。(IBM及びgraPHIGSはIBMコーポレ
ーションの商標である。)大型のアプリケーションはフ
ィルタ操作処理時間がグラフィックス・プロセッサの全
体的なパフォーマンスに対して重大な要因となるような
頻度で、フィルタ操作を呼び出すことができる。
【0004】
【発明が解決しようとする課題】一般的にいって、本発
明はグラフィックス・プリミティブの検出可能性、強調
表示及び不可視性を制御するためのハードウェア・フィ
ルタを目的とする。制御される3つの表示属性(検出可
能性、強調表示及び不可視性)の各々は、包含カウンタ
及び排他カウンタの両方に関連付けられており、合計6
個のカウンタがある。各クラス名には、クラス名が現在
活動状態のセットのメンバであるかどうかを示すフラ
グ、ならびに6つのフィルタの各々に対するクラスの影
響を示す6ビットのストリングが関連付けられている。
【0005】構造体階層の横断時に、セットに対してク
ラス名を追加する命令があった場合、ならびにクラス名
に対応するフラグがまだセットされていなかった場合、
フラグがセットされ、対応するフィルタ・カウンタが6
ビット・ストリングによって増分信号をゲートすること
によって並列に増加させられる。同様に、セットに対し
てクラス名を除去する命令があり、クラス名に対応する
フラグがまだリセットされていなかった場合、フラグが
リセットされ、対応するフィルタ・カウンタが6ビット
・ストリングによって減分信号をゲートすることによっ
て減少させられる。対応する包含フィルタ・カウンタが
ゼロよりも大きく、プリミティブが少なくとも1つの包
含されているクラスに属していることを示しており、か
つ対応する排他フィルタ・カウンタがゼロであって、プ
リミティブがどの排他クラスにも属していないことを示
している場合には、以降に遭遇するプリミティブは検出
可能、強調表示済み、あるいは不可視であるとみなされ
る。
【0006】
【課題を解決するための手段】本発明はフィルタリング
・タスクをハードウェアで解決するものである。これま
でソフトウェアのみで行われていた操作の大多数がハー
ドウェアに組み込まれる。その結果、フィルタ操作の全
体的なパフォーマンスが大幅に改善され、汎用性あるい
は機能の損失は生じなかった。さらに、この解決策に必
要な資源はわずかなものであり、したがって、実施する
のに費用がかからず、全製品範囲にわたって魅力的なも
のとなる。
【0007】
【実施例】本明細書で使用する各種の用語の内、「グラ
フィックス命令」とは以下で説明するように、グラフィ
ックス・プロセッサに送られるコマンドの一般用語であ
る。「構造体要素」とは以下で説明するように、PHI
GS階層の構造体要素に対応するグラフィックス命令で
ある。「プリミティブ」とは、属性(たとえば、ポリラ
イン・カラー、マーカ・タイプなど)を定義する非プリ
ミティブ構造体要素とは区別される、描画される実際の
エンティティ(たとえば、ポリライン、ポリマーカ、テ
キストなど)である構造体要素である。
【0008】図1を参照すると、本発明を組み込んだコ
ンピュータ・グラフィックス・システム100は、シス
テム・バス108を介して、メイン・メモリ104及び
メイン・プロセッサ106に結合されたグラフィックス
・サブシステム102を含んでいる。メイン・メモリ1
04及びメイン・プロセッサ106は必ずしもグラフィ
ックス・サブシステム102に関連しているとは限らな
いシステム100の一般的なタスクを処理する。メイン
・メモリ104はラスタ走査装置による表示のため、グ
ラフィックス・サブシステム102によってイメージに
変換されたグラフィックス・プリミティブを記憶する。
これらのプリミティブは以下で詳述するように、階層状
に編成されている。図1には示されていないが、システ
ム・バス108には、二次記憶装置、キーボードなどの
各種の周辺入出力(I/O)装置及びマウスなどのその
他のオプション装置も結合されている。システム100
はIBM6095グラフィックス・システムやIBM
RISCシステム/6000ワークステーションなどの
各種のグラフィックス・システムのいずれであってもよ
い。(RISCシステム/6000はIBMコーポレー
ションの商標である。)
【0009】グラフィックス・サブシステム102はバ
ス・インタフェース110を介してシステム・バス10
8に接続されている。バス108に接続されたグラフィ
ックス制御プロセッサ(GCP)112は、メイン・メ
モリ104からプリミティブを読み取り、プリフォーマ
ッタ118を介して、グラフィックス・パイプラインに
つながっている変形プロセッサ120に渡す。制御プロ
セッサ112はローカル・メモリ116にもアクセスす
るが、このメモリはランダム・アクセス・メモリ(RA
M)であってもかまわない。パイプラインの最下部にあ
るポストフォーマッタ122は変形プロセッサ120の
出力を、ライン124を介してレンダリング論理134
に供給する。レンダリング論理134はまだ終点座標の
形態をしている変形されたプリミティブを、属性情報
(線の太さ、スタイル、カラーなど)とともに受け取
り、これをオブジェクトを表すピクセル強度のパターン
によって形成されたピクセル・イメージに変換すること
によってラスタ化する。このピクセル・イメージはフレ
ーム・バッファ136に格納され、陰極線管(CRT)
モニタなどの表示装置138へ定期的にスキャンアウト
される。
【0010】本発明のフィルタ論理はVRAM制御モジ
ュール(VCM)132に格納されており、これはデー
タ・ライン128及び制御ライン130を介してビデオ
RAM(VRAM)属性スタック126に結合されてい
る。VRAM制御モジュール132は以下で説明する各
種のフィルタ・カウンタ、ならびにこれらのカウンタの
インデクシングを制御し、カウンタ出力を分離するため
の論理回路を含んでいる。VRAM属性スタック126
は特定のクラス名が現行のセットのメンバであるかどう
かを示すクラス名フラグを格納する。VRAM制御モジ
ュール132は制御プロセッサ112から入力ライン1
42を受け取り、制御プロセッサに結合されたマッピン
グRAM114に接続された出力ライン140を有して
いる。マッピングRAM114は周知の態様で機能し
て、VRAM制御モジュール132から受け取ったop
コードを、opコードによって示されているローカル・
メモリ116内のブランチ・アドレスに変換する。
【0011】図2はシステム100が処理できる典型的
な階層グラフィックス・データ構造体を示す。この図に
示すように、構造体階層200はさまざまなレベルの多
数の構造体、本例においては、構造体A(210)、構
造体B(220)及び構造体C(230)からなってい
る。各構造体は次いで、構造体要素からなっている。そ
れ故、図2に示す例では、構造体Aは構造体要素211
−215からなっており、構造体Bは構造体要素221
−225からなっており、構造体Cは構造体要素231
−235からなっている。
【0012】構造体階層200を階層の最上位構造体で
ある構造体A(210)の構造体要素211から横切
り、構造体要素を順次処理する。これらの構造体要素は
下位構造体を呼び出す構造体実行コマンド(213及び
222)、ならびに呼出し構造体に制御を戻す構造体か
らの条件付き復帰要素(235及び225)を含んでい
ることもある。それ故、構造体要素213(実行構造体
B)に達すると、制御は構造体A(210)から構造体
B(220)へ渡され、構造体Aでの場合と同様に、構
造体Bに沿って右へ進む。同様に、構造体要素222
(実行構造体C)に達すると、制御は構造体B(22
0)から構造体C(230)に渡され、構造体Bでの場
合と同様に、構造体Cに沿って右へ進む。構造体要素2
35(構造体Bへの復帰)に達すると、制御は構造体C
(230)から構造体B(220)へ渡され、構造体要
素225(構造体Aへの復帰)に達するまで、構造体B
に沿って右へ進み、構造体要素225に達した時点で、
制御は構造体Aの構造体要素214に戻る。
【0013】下位構造体すなわち高位構造体への復帰の
実行を要求するほかに、構造体要素はグラフィックス・
プリミティブを定義したり、現行(ないし活動)セット
に対するクラス名の追加または除去を行うことができ
る。グラフィックス・サブシステム102において、レ
ンダリングは構造体階層200を横断するにしたがって
動的に変化するクラス名のセットの影響を受ける。各ク
ラス名を構成して(以下で説明するように、適切なクラ
ス名ビットをセットすることによって)、強調表示、検
出可能性及び可視性という1つまたは複数のPHIGS
属性を含めたり、排除したりすることができる。クラス
名を使用し、以下で説明する態様で個々のクラス名の各
々の包含及び排他操作を論理的に組み合わせることによ
って、強調表示、検出可能性及び可視性を制御する。し
たがって、図3を参照すると、構造体240は以下の構
造体要素を含んでいる。
【0014】241:クラス1をセットに追加する
【0015】242:ポリライン1
【0016】243:クラス2をセットに追加する
【0017】244:ポリマーカ1
【0018】245:クラス2をセットから除去する
【0019】246:クラス3をセットに追加する
【0020】247:ポリマーカ2
【0021】248:クラス3をセットから除去する
【0022】249:クラス1をセットから除去する
【0023】クラス名のセットのメンバシップは以下の
ように構造体240の横断中に動的に変化する。
【0024】 構造体要素 クラス名セット 241 1 242 1 243 1、2 244 1、2 245 1 246 1、3 247 1、3 248 1 249 空
【0025】構造体階層は参照することによって本明細
書の一部を構成する前述の米国特許第4870599号
明細書、ならびに米国特許願第07/425781号明
細書及び同第07/425764号明細書に記載されて
いる。
【0026】本発明に関連するトラバーサル・タイプを
簡単に定義する。ドロー・トラバーサルを行って、表示
のためフレーム・バッファ136に書き込むピクセル・
データを生成する。一方、ピック・トラバーサルを行っ
て、描画した場合に、通常カーソルによって表示装置上
に指定され、かつマウス(図示せず)などのポインティ
ング・デバイスを操作することによって画面上に配置さ
れる定義済みピック開口と交差するプリミティブを識別
する。
【0027】標準ピック・トラバーサルは他のプリミテ
ィブによって覆われているため、プリミティブがピック
開口で見えない場合であっても、ピック開口を幾何学的
に交差するプリミティブを識別する。一方、可視ピック
・トラバーサルはピック開口で見えるプリミティブだけ
を識別する。図9はこれら2つのピック・トラバーサル
のタイプの相違を示す。図には、第1のプリミティブ8
04が第2のプリミティブ806に重なり、ピック開口
808の領域で第2のプリミティブをかくしている表示
装置802が示されている。標準ピック・トラバーサル
はプリミティブ804及び806の両方を検出可能なも
のと想定して、識別するが、これは両方のプリミティブ
が単独で描かれた場合に、ピック開口808に交差する
からである。しかしながら、可視ピック・トラバーサル
はプリミティブ804を識別するが、プリミティブ80
6を識別しないが、これはプリミティブ804だけがピ
ック開口808内で可視のプリミティブだからである。
可視ピック・トラバーサルは参照することによって本明
細書の一部となる米国特許願第07/701255号明
細書に詳述されている。
【0028】クラス名情報はローカル・メモリ116の
領域300(図4)に格納される。図示の実施例におい
て、1バイト(8ビット)のメモリ・ロケーション30
2が最大1024のクラス名の各々に設けられている。
各ロケーション302は図5に示すフォーマットで個々
のクラス名のフィルタ情報を格納し、次のものを含むよ
うになっている。
【0029】強調表示排他(HE)ビット402
【0030】強調表示包含(HI)ビット404
【0031】不可視性排他(IE)ビット406
【0032】不可視性包含(II)ビット408
【0033】検出可能性排他(DE)ビット410
【0034】検出可能性包含(DI)ビット412
【0035】左端部の2つのビット414及び416
(図5でxが付けられている)は本実施例では使用され
ない。
【0036】特定の構造体階層200を横断した場合、
クラス名がセットに対して付加または除去される。横断
の途中で遭遇するプリミティブは、セット内に現在存在
しているクラスに属しているものとみなされる。セット
内の各クラス名に対して定義されている包含及び排他ビ
ット402−412はプリミティブの強調表示、不可視
性及び検出可能性を決定する。プリミティブが強調表示
されているとみなされるのは、(1)現行セット内の少
なくとも1つのクラス名が1にセットされた強調表示包
含ビット404を有しており、かつ(2)現行セット内
のどのクラス名も1にセットされた強調表示排他ビット
402を有していない場合である。ビット406−41
2を使用した同様なテストを使用して、プリミティブが
不可視なのか、あるいは検出可能なのかを決定する。
【0037】図6を参照すると、VRAM制御モジュー
ル132はクラス名の現行セットに対する各種の包含及
び排他属性を追跡する6つの内部カウンタを含んでい
る。これらのカウンタは強調表示排他カウンタ502、
強調表示包含カウンタ504、不可視性排他カウンタ5
06、不可視性包含カウンタ508、検出可能性排他カ
ウンタ510及び検出可能性包含カウンタ512を含ん
でいる。カウンタ502−512の各々を図示していな
い適当な手段によってゼロにリセットし、ライン514
からのクロック(CLK)入力及びANDゲートからの
増分(INCR)または減分(DECR)入力の一致に
応じて増分または減分される。
【0038】したがって、強調表示排他カウンタ502
はその増分入力をANDゲート516から、またその減
分入力をANDゲート518から受け取る。ANDゲー
ト516及び518の各々は一方の入力を強調表示排他
(HE)ライン544から受け取り、このラインにはカ
ウンタ502−512が特定のクラス名について更新さ
れた場合に、ローカル・メモリ116の対応するクラス
名ロケーション302から適切なHEビット402が与
えられる。ANDゲート516はもう一方の入力をAD
Dライン540から受け取るが、このラインはクラス名
がセットに加えられる場合に活動化される。一方、AN
Dゲート518はもう一方の入力をREMOVEライン
542から受け取るが、このラインはクラス名がセット
から除去される場合に活動化される。
【0039】同様にして、強調表示包含カウンタ504
はその増分入力をANDゲート520から、また減分入
力をANDゲート522から受け取る。ANDゲート5
20及び522の各々は一方の入力を強調表示包含(H
I)ライン546から受け取り、このラインにはカウン
タ502−512が特定のクラス名について更新された
場合に、ローカル・メモリ116の対応するクラス名ロ
ケーション302から適切なHIビット404が与えら
れる。ANDゲート520及び522はそのもう一方の
入力をADDライン540及びREMOVEライン54
2のそれぞれから受け取る。
【0040】同様に、不可視性排他カウンタ506はそ
の増分入力をANDゲート524から、また減分入力を
ANDゲート526から受け取る。ANDゲート524
及び526の各々は一方の入力を不可視性排他(IE)
ライン548から受け取り、このラインにはカウンタ5
02−512が特定のクラス名について更新された場合
に、ローカル・メモリ116の対応するクラス名ロケー
ション302から適切なIEビット406が与えられ
る。ANDゲート524及び526はそのもう一方の入
力をADDライン540及びREMOVEライン542
のそれぞれから受け取る。
【0041】同様に、不可視性包含カウンタ508はそ
の増分入力をANDゲート528から、また減分入力を
ANDゲート530から受け取る。ANDゲート528
及び530の各々は一方の入力を不可視性包含(II)
ライン550から受け取り、このラインにはカウンタ5
02−512が特定のクラス名について更新された場合
に、ローカル・メモリ116の対応するクラス名ロケー
ション302から適切なIIビット408が与えられ
る。ANDゲート528及び530はそのもう一方の入
力をADDライン540及びREMOVEライン542
のそれぞれから受け取る。
【0042】検出可能性排他カウンタ510はその増分
入力をANDゲート532から、また減分入力をAND
ゲート534から受け取る。ANDゲート532及び5
34の各々は一方の入力を検出可能性包含(DE)ライ
ン552から受け取り、このラインにはカウンタ502
−512が特定のクラス名について更新された場合に、
ローカル・メモリ116の対応するクラス名ロケーショ
ン302から適切なDEビット410が与えられる。A
NDゲート532及び534はそのもう一方の入力をA
NDライン540及びREMOVEライン542のそれ
ぞれから受け取る。
【0043】最後に、検出可能性包含カウンタ512は
その増分入力をANDゲート536から、また減分入力
をANDゲート538から受け取る。ANDゲート53
6及び538の各々は一方の入力を検出可能性包含(D
I)ライン554から受け取り、このラインにはカウン
タ502−512が特定のクラス名について更新された
場合に、ローカル・メモリ116の対応するクラス名ロ
ケーション302から適切なDIビット412が与えら
れる。ANDゲート536及び538はそのもう一方の
入力をANDライン540及びREMOVEライン54
2のそれぞれから受け取る。
【0044】以下で説明するように、VRAM制御モジ
ュール132はクラス名追加命令を受け取ってからライ
ン540を作動させ、クラス名がまだ現行セットのメン
バでない場合に、クラス名ビット544−554によっ
て指定された該当するカウンタ502−512を増加さ
せる。同様に、VRAM制御モジュール132はクラス
名除去命令を受け取ってからライン542を作動させ、
クラス名が現行セットのメンバである場合に、クラス名
ビット544−554によって指定された該当するカウ
ンタ502−512を減少させる。クラス名ビット54
4−554は制御プロセッサ112によってローカル・
メモリ116から読み取られ、ライン142上を並列に
VRAM制御モジュール132に供給される。
【0045】カウンタ502−512の各々はこのカウ
ンタの出力がゼロよりも大きいのかどうかを示す出力を
もたらす。これらの出力はVRAM制御モジュール13
2内の組合せ論理であるフィルタ分解論理556に供給
され、この論理回路は強調表示、不可視性及び検出可能
性によってカウンタの分解を示すマッピングRAM11
4(及び制御プロセッサ112)への出力をライン14
0に発生する。
【0046】本発明によれば、ライン544−554上
の包含及び排他信号は並列に、ライン514上のクロッ
ク(CLK)信号及びライン540または542上のA
DDまたはREMOVE信号と同時に与えられ、クラス
名に関するカウンタ502−512の同時更新を可能と
する。これは同等なカウントを格納するレジスタまたは
その他のロケーションが順次、異なるメモリ・サイクル
で更新される従来技術とは対照的なものである。これは
全体的なシステム・パフォーマンスを相当程度改善する
が、これはクラス名が現行セットに対して追加、あるい
は除去された場合に、総処理時間の大部分を包含及び排
他カウンタの更新にだけ使用されるからである。
【0047】好ましい実施例において、合計1024の
ビットを使用して、クラス名セットの現在の構成を示
し、各ビットは対応するクラス名がセットの一部である
かどうかを示すフラグとして働く。これらのビットは他
の構造体状態情報とともに、属性スタック126(図
1)に格納される。属性スタック126がビデオRAM
(VRAM)600(図7)に収められていることが好
ましい。VRAM600を各々が1024バイトの記憶
域を含んでいる256の列602に編成されているとみ
なすことができる。この編成は各種の方法で実現でき
る。本明細書に開示した実施例において、VRAM60
0は8つのモジュール(個別には示されていない)で構
成されており、各モジュールは256のアドレス可能の
行及び列を含んでおり、4ビットの深さである。しかし
ながら、VRAM600の特定の物理的実現形態はそれ
自体では本発明には重要ではない。
【0048】1024のビットを含んでいる各行602
の一部604を使用して、構造体状態情報の内クラス名
セットの現在の構成を表す部分を格納する。部分604
は図7において行602の最後の部分として示されてい
るが、行602内のクラス名部分604の特定のロケー
ションは本発明には重要ではない。図8を参照すると、
クラス名部分604は1024のビット702を含んで
おり、その各々は特定のクラス名に対応しており、クラ
ス名が現行セットに含まれている場合には、特定の論理
レベル(たとえば、1)にセットされる。
【0049】属性スタック126の各行602を使用し
て、構造体階層200(図2)の特定の構造体レベルに
関する構造体状態情報を格納する。属性スタック126
の最初の行602に初期設定されている行ポインタ60
6は現在行をポイントする。トラバーサルが構造体実行
コマンドに応じて低位の構造体に進むと、行ポインタ6
06が増加し、VRAM600の他の行602が構造体
状態情報を格納するために使用され、各行602は構造
体の特定のレベルに関する情報を格納する。トラバーサ
ルが高位構造体に戻ると、行ポインタ606はこれに応
じて減少する。
【0050】フィルタ・プロセスの操作は次の通りであ
る。制御プロセッサ112がまずローカル・メモリ11
6の領域300にクラス名のリストを作成する。ローカ
ル・メモリ116内の各クラス名ロケーション302は
ビットのストリング402−412(図5)を含んでお
り、これらはクラス名が各種のフィルタの包含及び排他
カウンタ501−512(図6)にどのように影響を及
ぼすかを指定する。制御プロセッサ112はフィルタV
RAM600の行602をクリアし(図7)、VCM1
32は6つのカウンタ502−512(図6)をゼロに
クリアする。
【0051】PHIGS構造体のトラバーサル中に、2
つのタイプのフィルタ更新、すなわちセットへのクラス
名の追加及びセットからのクラス名の除去が発生する。
セットへのクラス名の追加は、命令で指定されたクラス
名をこれが包含済みでない限り、包含されているクラス
名のセットに追加する。クラス名追加命令を受け取った
場合、フィルタ論理132はVRAM126に対して読
取り修正書込み(RMW)命令を実行して、選択したク
ラス名が包含済みであるかどうかを決定する。詳細にい
えば、フィルタ論理は行ポインタ606によって示され
た場合に、現在行602の部分604内の対応するクラ
ス名ビットを検証する。
【0052】行部分604の対応するクラス名ビットが
すでに1にセットされており、クラス名がすでにセット
のメンバになっていることを示している場合には、他の
動作は行われない。そうでない場合には、行部分604
内の対応するクラス名ビット702がセットされ、クラ
ス名をセットに追加する。クラス名が追加された場合、
対応するフィルタ・カウンタ502−512が増加す
る。これは上述のように、ライン540上のADD信号
をゲーティングすることによって、6つのカウンタ50
2−512の全部に対して同時に行われ、したがってカ
ウンタが増加し、ライン544−554上に6ビットの
クラス名ストリングをもたらす。このビット・ストリン
グはこれをローカル・メモリ116から読み取る制御プ
ロセッサ112によってVRAM制御モジュール132
に与えられる。(本実施例においては、これはローカル
・メモリ116の一部であるが、必要に応じ、クラス名
メモリ302をVRAM制御モジュール132自体にお
くこともできる。)
【0053】セットからのクラス名の除去は同様な態様
で作動する。クラス名がそれまでにセットに追加されて
いなかった(すなわち、行部分604に対応するクラス
名ビット702がセットされていない)場合には、要求
は無視され、ノー・オペーレーションとして扱われ、ク
ラス名を除去できるのは、これがそれまでに追加されて
いた場合だけである。除去の際に、ビット702はクリ
アされ、該当するフィルタ・カウンタ502−512が
ライン542上のREMOVE信号を使用して、上記と
同様な態様で、減少させられる。
【0054】各クラス名追加または除去命令の後、フィ
ルタ分解論理556がフィルタ・カウンタ502−51
2の状態を分解する。プリミティブは包含されており、
排除されていない場合、すなわち対応する包含フィルタ
・カウンタ504、508または512がゼロよりも大
きく、対応する排他フィルタ502、506または51
0がゼロである場合に、検出可能、強調表示または不可
視であるとみなされる。これらの複合したフィルタの結
果はライン140を介してシステムの他の部分で利用可
能とされる(図1)。
【0055】構造体実行コマンドがトラバーサル中に生
じた場合(図2)、属性スタック126の現行行602
が1行下へコピーされ、現行行ポインタ606が増加さ
せられる。構造体からの復帰時に、行ポインタ606は
減少させられる。それ故、VRAM126はクラス名に
対するビット・ストリング・スタックとして挙動する。
【0056】また、構造体実行中に、6つのフィルタ・
カウンタ502−512が読み取られ、その値がビデオ
RAMスタック128に保管されるので、構造体からの
復帰時にこれらを復元することができる。
【0057】フィルタ分解論理556は不可視性、強調
表示及び検出可能性に関する出力をライン140にもた
らす。強調表示に関するフィルタ分解論理出力は、上述
のように、強調表示排他及び包含カウンタ502及び5
04の出力によって決定される。同様に、検出可能性に
関するフィルタ分解論理出力は、検出可能性排他及び包
含カウンタ510及び512の出力によって決定され
る。
【0058】不可視性に関するフィルタ分解論理出力
は、不可視性排他及び包含フィルタ・カウンタ506及
び508ならびに2つの付加的な外部から与えられる入
力、すなわち、上述のような(ライン560)トラバー
サルのタイプ(ドローまたはピックの相関)(ライン5
58)、及び、ピック・トラバーサルの場合には、ピッ
クのタイプ(可視または標準)に応じるものである。こ
れらの付加的な入力は全体的なシステム・パフォーマン
スを改善する。標準ピック・トラバーサル中に、フィル
タ・カウンタ510及び512が非検出可能となった場
合、プリミティブは不可視として扱われる。不可視プリ
ミティブは描画ないしピック相関されず、したがって、
処理全体の量が減少する。
【0059】この処理ショートカットを可視ピック・ト
ラバーサルの処理中に行うことができないが、これは非
検出可能プリミティブが検出可能プリミティブの最終的
な可視性に潜在的に寄与するからである。それ故、図9
を参照すると、プリミティブ804が非検出可能であっ
ても、これがピック開口808の領域でプリミティブ8
06を隠蔽するため、依然としてプリミティブ806の
可視性に影響を及ぼす。したがって、ライン558がピ
ック・トラバーサルを指定し、ライン560が可視ピッ
ク・トラバーサルを指定している場合、可視性に関する
フィルタ分解論理出力は可視性カウンタ506及び50
8の出力のみによって決定され、検出可能性カウンタ5
10及び512には依存しない。
【0060】構造体実行コマンド(図2)が生じるたび
に、フィルタ・カウンタ502−512の内容は、クラ
ス名包含ビット・ストリングと同じ態様でスタック12
6に保管される。構造体から復帰すると、フィルタ・カ
ウンタがスタックから消滅する。パッケージの集積度が
上がった場合、RAMをVRAM制御モジュール132
の内部におき、構造体実行中に6つのカウンタを保管す
ることが可能となる。それ故、ハードウェアはフィルタ
処理タスクに完全な解決策を提供する。
【0061】VRAM制御モジュール132は最大階層
深さがモジュールによって(行ポインタ606を介し
て)アドレス可能なVRAM600の行数によって決定
されるように設計される。深さを深くするには、既存の
行をアドレスするためにモジュール内でVRAM行を追
加するか、あるいはレジスタの幅を広くする必要がある
が、その他の設計変更は必要ない。また、サポートされ
るクラス名の数はVRAMの行の幅によってのみ制限さ
れ、複数のVRAMを並列に編成することによって簡単
に増加させることができる。設計の変更は必要ではな
い。
【図面の簡単な説明】
【図1】本発明を組み込んだコンピュータ・グラフィッ
クス・システムの略ブロック図である。
【図2】図1に示すシステムによって処理されるタイプ
の階層データ構造体の略ブロック図である。
【図3】クラス名命令を含んでいる構造体の略ブロック
図である。
【図4】クラス名情報を記憶するために使用される、図
1に示したローカル・メモリの部分の略ブロック図であ
る。
【図5】図4に示したローカル・メモリ部分にクラス名
情報が記憶されるフォーマットの図面である。
【図6】図1に示したVRAM制御モジュールのフィル
タ・カウンタ及び関連するインデクシング論理の略ブロ
ック図である。
【図7】図1に示すVRAM属性スタックの略ブロック
図である。
【図8】どのクラス名が現行のセットの一部となってい
るかを示すフラグの略ブロック図である。
【図9】ピック・ウィンドウに重なっているプリミティ
ブを含んでいる表示画面の図である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジェームズ・アラン・ハースタッド アメリカ合衆国02030、マサチューセッツ 州ドーヴァー、クレイブルック・ロード 106 (72)発明者 デビッド・コンラッド・タンネンバウム アメリカ合衆国12433、ニューヨーク州ハ ーレイ、オールド・ルート209、369

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】グラフィックス命令によって表され、クラ
    ス名のセットを関連付けらたプリミティブが該クラス名
    に関連付けられた1つまたは複数の表示属性によって表
    示されるグラフィックス・システムであって、該システ
    ムはクラス名の各々に対するフラグを格納するための手
    段及び前記表示属性の各々に関連付けられた少なくとも
    1つのカウンタと前記クラス名の各々に対するビット・
    ストリングを格納するための手段とを含んでおり、該ス
    トリングの各ビットは前記カウンタの1つに関連付けら
    れているグラフィックス・システムにおいて、 セットへのクラス名の追加のための命令に応答して該ク
    ラス名に対応するフラグがセットされているかどうかを
    決定し、該フラグがセットされていない場合には、該フ
    ラグをセットし、前記ビット・ストリングを使用して増
    分信号をゲートすることによって対応するカウンタを並
    列に増加させ、 セットからのクラス名の除去のための命令に応答して該
    クラス名に対応するフラグがリセットされているかどう
    かを決定し、該フラグがリセットされていない場合に
    は、フラグをリセットし、前記ビット・ストリングを使
    用して減分信号をゲートすることによって対応するカウ
    ンタを並列に減少させ、 前記カウンタの状態にしたがって前記表示属性を制御す
    るステップを含んでいる前記表示属性を制御する方法。
  2. 【請求項2】前記属性の各々に関連付けられた包含カウ
    ンタと排他カウンタを有しており、各属性が対応する排
    他カウンタからのゼロ出力及び対応する包含カウンタか
    らの非ゼロ出力に応答して所定の態様で制御される請求
    項1記載の方法。
  3. 【請求項3】グラフィックス命令によって表され、クラ
    ス名のセットを関連付けられたプリミティブが該クラス
    名に関連付けられた1つまたは複数の表示属性によって
    表示されるグラフィックス・システムであって、該クラ
    ス名の各々に対するフラグを格納するための手段を含ん
    でいるグラフィックス・システムにおいて、 少なくとも1つが前記属性の各々に関連付けられている
    複数個のカウンタと、 前記クラス名の各々に対するビット・ストリングを格納
    するための手段であって、該ビット・ストリングの各ビ
    ットが前記カウンタの1つに関連付けられているもの
    と、 前記セット内のクラス名の包含に影響を及ぼすグラフィ
    ックス命令に応答して、前記カウンタに対するインデク
    シング信号を発生するための手段と、 前記セット内のクラス名の包含に影響を及ぼす前記グラ
    フィックス命令に応答して、前記クラス名に対応するビ
    ット・ストリングを並列に発生するための手段と、 前記ビット・ストリングと並列に前記インデクシング信
    号をゲートし、それぞれのゲートされたインデクシング
    信号を前記カウンタに対して発生する手段とからなる前
    記表示属性を制御するための装置。
JP5025559A 1992-03-12 1993-02-15 表示属性を制御する方法及び装置 Pending JPH0643853A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US849920 1992-03-12
US07/849,920 US5289576A (en) 1992-03-12 1992-03-12 Attribute filter for computer graphics applications

Publications (1)

Publication Number Publication Date
JPH0643853A true JPH0643853A (ja) 1994-02-18

Family

ID=25306839

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5025559A Pending JPH0643853A (ja) 1992-03-12 1993-02-15 表示属性を制御する方法及び装置

Country Status (2)

Country Link
US (1) US5289576A (ja)
JP (1) JPH0643853A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7348997B1 (en) * 2004-07-21 2008-03-25 United States Of America As Represented By The Secretary Of The Navy Object selection in a computer-generated 3D environment
GB201116438D0 (en) 2011-09-22 2011-11-02 Advanced Risc Mach Ltd Occlusion queries in graphics processing

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4601021A (en) * 1982-04-12 1986-07-15 Tektronix, Inc. Highlighting and classifying segments on a CRT display
US4870599A (en) * 1986-09-26 1989-09-26 International Business Machines Corporation Traversal method for a graphics display system
US5182797A (en) * 1989-10-23 1993-01-26 International Business Machines Corporation Multi-processor graphics display system for displaying hierarchical data structures

Also Published As

Publication number Publication date
US5289576A (en) 1994-02-22

Similar Documents

Publication Publication Date Title
US4928247A (en) Method and apparatus for the continuous and asynchronous traversal and processing of graphics data structures
US5097411A (en) Graphics workstation for creating graphics data structure which are stored retrieved and displayed by a graphics subsystem for competing programs
US5363483A (en) Updating objects displayed in a computer system
US5371514A (en) Method and apparatus for determining the drawing primitives that are visible in a pick aperture of a graphics system
US5255359A (en) Picking function for a pipeline graphics system using hierarchical graphics structures
US5155822A (en) High performance graphics workstation
EP0480570A2 (en) Relating a point of selection to an object in a graphics display system
EP0607130B1 (en) Image position interpretation in a graphics system
US5986661A (en) Graphics output system with bounded updating
KR100233346B1 (ko) 그래픽 시스템에서 하나 이상의 가시 객체 식별 방법 및 장치
US5442736A (en) Correlation of cursor position to shapes displayed on a video display screen
JPH0643853A (ja) 表示属性を制御する方法及び装置
Slater et al. Liberation from rectangles: a tiling method for dynamic modification of objects on raster displays
CA1229439A (en) Data display system
JP2993666B2 (ja) 図形表示システムと図形表示方法
EP0744730A2 (en) Display device with character masking function
JPH0822555A (ja) 図形描画方法及びその装置
JP2787487B2 (ja) コンピュータシステムに表示され且つ操作される線分の位置を決定する回路
AU2003246033B2 (en) Relating a Point of Selection to One of a Hierarchy of Graphical Objects
Beaudouin-Lafon The Graph Widget–Implementation Manual
EP0163872A2 (en) Method of correlating on straight lines in an interactive display system
JPH02308375A (ja) 図形ピッキング方法およびその装置
JPS6139160A (ja) 図形要素検索処理装置
JPS6249577A (ja) マルチウインド優先制御方式
CA2064165A1 (en) Visible picking in a graphics system