JPH05205026A - 同時ピック事象の処理方法及び装置 - Google Patents

同時ピック事象の処理方法及び装置

Info

Publication number
JPH05205026A
JPH05205026A JP4140197A JP14019792A JPH05205026A JP H05205026 A JPH05205026 A JP H05205026A JP 4140197 A JP4140197 A JP 4140197A JP 14019792 A JP14019792 A JP 14019792A JP H05205026 A JPH05205026 A JP H05205026A
Authority
JP
Japan
Prior art keywords
pick
processing
graphics
event
adapter
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
JP4140197A
Other languages
English (en)
Inventor
Wei Kuo
ウェイ・クオ
Gary L Wiseman
ゲーリー・リー・ワイズマン
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 JPH05205026A publication Critical patent/JPH05205026A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)
  • Digital Computer Display Output (AREA)
  • Closed-Circuit Television Systems (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

(57)【要約】 【目的】 同時に2つのピック事象を処理することが可
能なグラフィックス・ディスプレイ・システムを提供す
る。 【構成】 表示するための表示装置と、表示手段に結合
されて表示オブジェクトに関するピック事象を処理する
手段と、処理手段に結合されて処理手段に対し第1のピ
ック事象を処理するように要求する手段と、処理手段に
結合されて第1のピック事象の処理が要求された後、処
理の完了以前に、処理手段に対し第2のピック事象を処
理するように要求する手段とを含む。処理方法は、オブ
ジェクトを表示するステップと、共通の処理手段におい
て表示オブジェクトに関するピック事象を処理するステ
ップと、処理手段に対し第1のピック事象を処理するよ
うに要求するステップと、第1のピック事象の処理が要
求された後、処理の完了以前に、処理手段に対し第2の
ピック事象を処理するように要求するステップとを含
む。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は一般にグラフィックス・
データのピック事象の処理に関し、特に同時ピック事象
の処理に関する。
【0002】
【従来の技術】グラフィックス・アプリケーションは、
時折メモリ内に表現される複数のオブジェクトから抽出
されるイメージを表示する。これらのグラフィックス・
アプリケーションでは一般に、ユーザは様々な目的のた
めに表示されるオブジェクトを選択或いはピックする。
これらの目的にはオブジェクトの消去、オブジェクトの
色の変更などが含まれる。ユーザが単数或いは複数のオ
ブジェクトをピックする各試みはピック事象と呼ばれ
る。各ピック事象は、ユーザが別のピック事象を試みる
以前に、グラフィックス・アプリケーションにより処理
される。しかしながら、ユーザが複数のグラフィックス
・アダプタを有するホスト・コンピュータの上で、複数
のグラフィックス・アプリケーションを使用する場合、
ユーザは各アダプタ上において別々のピック事象を実行
する可能性があるが、各アダプタは同時には1つのピッ
ク事象しか扱うことができない。グラフィックス・アダ
プタは別々或いは共用のグラフィックス・ディスプレイ
を有する。
【0003】ピックを達成する様々な装置及び方法が以
下に示すように説明されている。
【0004】米国特許第4958147号はグラフィッ
ク・データ・バッファを使用し、ユーザにピック・アパ
ーチャ内において、パターンのピックを実行させるグラ
フィックス・ディスプレイ処理システムを教示してい
る。
【0005】米国特許第4941111号は、主メモリ
内に記憶される表示オブジェクトのリストを含むビデオ
・ピッキング及びクリッピング・システムを教示してお
り、このリストはオブジェクトがピックされたかどうか
を決定するために使用される。
【0006】米国特許第4885704号はドキュメン
トを走査し、走査されたドキュメントを表示するイメー
ジ処理システム、及び走査されるドキュメントをファイ
ルするための装置を教示している。
【0007】米国特許第4847605号はユーザがピ
ックを試みる際に、一時的にカーソル・トラッキング及
びピッキング機能を分離するグラフィックス・システム
を教示している。
【0008】米国特許第4698625号は選択された
グラフィックス・オブジェクトを強調表示し、そのオブ
ジェクトが選択されたことを示すシステムを教示してい
る。
【0009】米国特許第4189744号はユーザに存
在する画面の所望の部分を選択させ、これらの部分の記
憶される輪郭線を自動的に獲得するシステムを教示して
いる。
【0010】構成 本発明は表示オブジェクトを処理する装置を含み、この
装置は表示オブジェクトを表示するための表示装置と、
表示手段に結合されて表示オブジェクトに関するピック
事象を処理するための手段と、処理手段に結合されて処
理手段に対し第1のピック事象を処理するように要求す
るための手段と、処理手段に結合されて、第1のピック
事象の処理が要求された後、且つ第1のピック事象の処
理の完了以前に、処理手段に対し第2のピック事象を処
理するように要求する手段とを含む。
【0011】本発明はまた、表示オブジェクトの処理方
法を含み、この方法はオブジェクトを表示するステップ
と、共通の処理手段において表示オブジェクトに関する
ピック事象を処理するステップと、処理手段に対し第1
のピック事象を処理するように要求するステップと、第
1のピック事象の処理が要求された後、且つ第1のピッ
ク事象の処理の完了以前に、処理手段に対し第2のピッ
ク事象を処理するように要求するステップとを含む。
【0012】本発明の性質及び利点は、以下に示す実施
例及び図を参照することにより、更に理解されることで
あろう。
【0013】
【実施例】図1は典型的なデジタル・コンピュータのブ
ロック図である。コンピュータはメモリ120に結合さ
れる主プロセッサ110、入力装置130及び出力装置
140を含む。主プロセッサ110は単一のプロセッサ
或いは複数のプロセッサで構成される。入力装置130
はキーボード、マウス、タブレット或いは他の種類の入
力装置を含む。出力装置140はテキスト・モニタ、プ
ロッタ或いは他の種類の出力装置を含む。主プロセッサ
は、またグラフィックス・アダプタ200を介しグラフ
ィックス・ディスプレイなどのグラフィックス出力装置
150に結合される。
【0014】グラフィックス・アダプタ200はバス1
60上において、グラフィックスに関する命令を主プロ
セッサ110から受け取る。グラフィックス・アダプタ
は次に、グラフィックス・アダプタ・メモリ230に結
合されるグラフィックス・アダプタ・プロセッサ220
によりこれらの命令を実行する。グラフィックス・アダ
プタ内のグラフィックス・プロセッサはこれらの命令を
実行し、命令に基づきフレーム・バッファ240を更新
する。フレーム・バッファ240はグラフィックス出力
装置上に表示される全ての画素のデータを含む。RAM
DAC(ランダム・アクセス・メモリ・デジタル・アナ
ログ変換器)250はフレーム・バッファに記憶される
デジタル・データをRGB信号に変換し、この信号がグ
ラフィックス・ディスプレイ150に提供されて、主プ
ロセッサからの目的のグラフィックス出力が表示され
る。
【0015】図2はグラフィックス機能を達成するため
に、ホスト・コンピュータ及びグラフィックス・アダプ
タにより典型的に使用されるコード層を表すブロック図
である。オペレーティング・システム300にはUNI
Xなどが相当し、ホスト・コンピュータの主な制御を提
供する。オペレーティング・システムにはオペレーティ
ング・システム・カーネル310が結合され、これはオ
ペレーティング・システムのためのハードウェア集中的
なタスクを提供する。オペレーティング・システム・カ
ーネルは直接ホスト・コンピュータ・マイクロコード3
20と通信する。ホスト・コンピュータ・マイクロコー
ドはホスト・コンピュータ・プロセッサにより実行され
る主要命令セットである。オペレーティング・システム
300にはグラフィックス・アプリケーション330及
び332が結合される。グラフィックス・アプリケーシ
ョン・ソフトウェアには、Silicon Graphic のGL、I
BMのgraPHIGS、MITのPEXなどのソフトウェア・
パッケージが含まれる。これらのソフトウェアは2次元
或いは3次元グラフィックスの主要機能を提供する。グ
ラフィックス・アプリケーション330及び332は、
グラフィックス・アプリケーションAPI(アプリケー
ション・プログラム・インタフェース)340及び34
2にそれぞれ結合される。APIはグラフィックス・ア
プリケーションのための多くの計算集中型のタスクを提
供し、アプリケーション・ソフトウェアとグラフィック
・アダプタ用のデバイス・ドライバなどのグラフィック
ス・ハードウェアに密接に関連するソフトウェアとの間
のインタフェースを提供する。例えば、API340及
び342はそれぞれGAI(グラフィックス・アプリケ
ーション・インタフェース)350及び352と通信す
る。GAIはアプリケーションAPIとグラフィックス
・アダプタ・デバイス・ドライバ370との間のインタ
フェースを提供する。いくつかのグラフィックス・シス
テムでは、APIはGAIの機能も達成する。
【0016】グラフィックス・アプリケーション、AP
I及びGAIはオペレーティング・システム及びデバイ
ス・ドライバにより、単一のプロセスとして見なされ
る。すなわち、グラフィックス・アプリケーション33
0及び332、API340及び342、及びGAI3
50及び352は、オペレーティング・システム及びデ
バイス・ドライバにより、それぞれプロセス360及び
362として見なされる。これらのプロセスはオペレー
ティング・システム及びデバイス・ドライバによりプロ
セス識別子(PID)によって識別される。PIDはオ
ペレーティング・システム・カーネルによりプロセスに
割り当てられる。プロセス360及び362は同一のコ
ードを使用し、これは同時に2度実行される。例えば、
2つの異なるウィンドウにおいて、あるプログラムを両
方で実行する場合などがこれに相当する。PIDは同一
のコードに関する個別の実行を区別するために使用され
る。
【0017】デバイス・ドライバはグラフィックス・カ
ーネルであり、オペレーティング・システム・カーネル
310の拡張である。グラフィックス・カーネルは直接
グラフィックス・アダプタ380のマイクロコードと通
信する。多くのグラフィックス・システムでは、GAI
或いはGAI層が未使用の場合にはAPIは、デバイス
・ドライバに対し初期要求命令を送ることにより、GA
I或いはAPIからアダプタ・マイクロコードへの直接
アクセスを要求する。更に、多くのグラフィックス・シ
ステムではまた、アダプタ・マイクロコードからGAI
或いはGAIが未使用の場合にはAPIに対する直接ア
クセスの要求を許可している。これもまた、デバイス・
ドライバに対し初期要求命令を送ることにより実施され
る。以降では両方のプロセスは、直接メモリ・アクセス
(DMA)として参照される。DMAは典型的には大量
のブロック・データを転送するときに使用される。DM
Aはホスト・コンピュータとアダプタとの間において、
高速なデータ転送を提供する。これはデバイス・ドライ
バに対し、DMAをセットアップするための初期要求を
除けば、表示ドライバを介する必要性を除去することに
より達成される。いくつかのケースでは、アダプタ・マ
イクロコードがコンテキスト・スイッチングを使用し、
自身が使用する現行の属性を置換する。コンテキスト・
スイッチングは、アダプタ・マイクロコードが、それが
使用している属性と異なる属性を使用するグラフィック
ス・アプリケーションから命令を受け取る場合に使用さ
れる。コンテキスト・スイッチは典型的には属性の変更
を認識するデバイス・ドライバにより初期化される。
【0018】ブロック300−340はソフトウェア・
コード層を示し、典型的には使用されるグラフィックス
・アダプタのタイプには無関係である。これに対し、ブ
ロック350−380は典型的には使用されるグラフィ
ックス・アダプタのタイプに依存するソフトウェア・コ
ード層である。例えば、グラフィックス・アプリケーシ
ョン・ソフトウェアにより異なるグラフィックス・アダ
プタが使用されると、新たなGAI、グラフィックス・
カーネル及びアダプタ・マイクロコードが必要となる。
更に、ブロック300−370はホスト・コンピュータ
上に存在し、またそれにより実行される。しかしなが
ら、アダプタ・マイクロコード380はグラフィックス
・アダプタ上に存在し、それにより実行される。しか
し、いくつかのケースでは、アダプタ・マイクロコード
がグラフィックス・アダプタの初期化の際に、ホスト・
コンピュータによりグラフィクス・アダプタにロードさ
れる。
【0019】典型的なグラフィックス・システムでは、
ユーザがグラフィックス・アプリケーションに対し、2
次元或いは3次元モデルによりイメージを構成するよう
に指示する。ユーザは最初に光のロケーション及びタイ
プを選択する。ユーザは次にアプリケーション・ソフト
ウェアに対し、所定の或いはユーザが定義したオブジェ
クトのセットから目的のモデルを形成するように指示す
る。各オブジェクトはオブジェクトを表現するための1
個或いは複数の描画要素を含む。例えば、多くの三角形
などの描画要素のセットが、オブジェクトの表面を定義
するために使用される。ユーザはそのモデルを見るため
にウィンドウに図形を提供し、目的のイメージを定義す
る。アプリケーション・ソフトウェアは次にオブジェク
トを表現する描画要素をAPI、GAI及びDMAが使
用されない場合にはデバイス・ドライバを介してアダプ
タ・マイクロコードに送り、モデルからのイメージの伝
達を開始する。アダプタ・マイクロコードは次にウィン
ドウでは見ることのできない描画要素をクリッピングす
る(すなわち未使用)ことにより、グラフィックス・デ
ィスプレイ上にイメージを描写する。アダプタ・マイク
ロコードは次に、ユーザにより提供された図形から各残
りの描画要素を可視画素に分解する。画素は次にフレー
ム・バッファにロードされ、3次元モデルの場合には時
折、深さバッファも使用される。このステップは関連す
る描画要素、変数及び画素の数が多いために、非常に計
算が集中する。その結果、フレーム・バッファに記憶さ
れ、グラフィックス・ディスプレイ上に表示されるイメ
ージは、典型的には、画素が抽出された描画要素或いは
オブジェクトなどの元の情報を表現しない。それにより
ウィンドウ、ユーザの図形、モデル、明るさなどが変更
されると、イメージは部分的或いは全体的に再描写され
る必要がある。これはまた、ウィンドウに表示されるオ
ブジェクトをピックしようと試みる場合に困難を伴う。
典型的な3次元モデルでは、ユーザがウィンドウに表示
されるオブジェクトをピックする際、複雑且つ時折時間
を費やす処理を伴う。
【0020】図3は典型的な3次元グラフィックス・シ
ステムがピック事象を実行する様子を示すフロー図であ
る。ブロック400、410、420、430及び44
0のステップは、それぞれグラフィックス・アプリケー
ション、アプリケーションAPI、GAI、デバイス・
ドライバ及びアダプタ・マイクロコードにより達成され
る。最初のステップ500で、グラフィックス・アプリ
ケーション・ソフトウェアはユーザからマウスのクリッ
クなどのピック要求を受ける。グラフィックス・アプリ
ケーション・ソフトウェアは次にピック・データ・バッ
ファを割り当て、ピックされる描画要素の名前或いは他
の識別子及びピック・データ・バッファ長を受信する準
備をする。アプリケーション・ソフトウェアは次にピッ
ク・データ・バッファ及びピック・データ・バッファ長
(Pick [Buffer、Bufferlen])を参照して、ピック・サ
ブルーチンを呼び出す。ステップ505でグラフィック
ス・アプリケーションAPIは、アダプタ・マイクロコ
ードとの間でデータ転送を行うために、ピック・データ
構造を配置する。ピック・データ構造はピック・データ
・バッファ及びピック・データ・バッファ長を含む。更
に、ピック・データ構造は、ピック・データ構造がピッ
ク事象のために使用されていることを識別するピック・
レポートを含む。更に、ピック・データ構造はカーソル
のX座標及びY座標及びアプリケーション特有の変数を
含み、後者は使用されるグラフィックス・アダプタのタ
イプを表すデバイス番号、及びマウス或いは使用される
他のタイプの入出力デバイスを表すピック・デバイス番
号などが相当する。グラフィックス・アプリケーション
APIは次にGAIに対し、割り当てられるピック・デ
ータ構造に対するポインタと共にピック・モード命令を
渡す。ステップ510で、GAIはAPIからのピック
・モード命令に応じ、デバイス・ドライバにピック・モ
ード・コマンドを発行する。ピック・コマンドはピック
・データ構造ポインタを含み、これはピック・レポート
及びピック・バッファに対するポインタを含む。デバイ
ス・ドライバはまた、ピック・コマンドを発行するプロ
セス(グラフィックス・アプリケーション、API及び
GAI)のプロセス識別子(PID)を受信する。ステ
ップ515で、デバイス・ドライバは、ピック・コマン
ドに応じてグラフィックス・アダプタとホスト・コンピ
ュータとの間でデータを転送するために、DMAをセッ
トアップする。デバイス・ドライバは次に、グラフィッ
クス・アダプタ・マイクロコードに対し、ピック・デー
タ構造ポインタを含むピック・モード・コマンドを発行
する。ステップ520でマイクロコードはピック・デー
タ構造に対するポインタをアダプタ・メモリに記憶し、
ピック・モードに入力する。ピック・モードでは、アダ
プタは受信される要素を表示しない。アダプタは受信さ
れる要素がピックされるかどうかを決定する。更に、ピ
ック・モードでは、アダプタはピック事象が完了するま
で、デバイス・ドライバからのピック事象に関連するコ
マンドを除く他のコマンドを受け付けない。その結果、
このアプリケーション・ソフトウェア或いはグラフィッ
クス・アダプタに結合される他のアプリケーション・ソ
フトウェアは、ピック事象が完了するまでこのグラフィ
ックス・アダプタを使用することができない。
【0021】グラフィックス・アプリケーションがピッ
ク・サブルーチンを呼び出して間もなく、グラフィック
ス・アプリケーションはステップ525で、ピックされ
たイメージに関連する要素の生成を開始する。ステップ
530で、グラフィックス・アプリケーションAPIは
これらの描画要素に加え、描画要素を識別する名前或い
は他の識別子をGAIに送信する。ステップ535で、
GAIはこれらの描画要素及びそれらの名前を、DMA
によりグラフィックス・アダプタ・マイクロコードへ送
信する。ステップ540で、グラフィックス・アダプタ
・マイクロコードはDMAを介しこれらの要素を受信
し、どの要素がピックされたかを決定する処理を開始す
る(すなわち転送された要素はカーソルのX座標及びY
座標に配置される画素を含み、これらの座標はピック・
データ構造内に提供される)。
【0022】ステップ545では、ピックされた最初の
要素の決定の後に、マイクロコードは(アダプタ・マイ
クロコードからGAIに対し)DMAを開始し、最初に
ピックされた要素の名前をピック・バッファに戻し、グ
ラフィックス・アプリケーションに返却する。マイクロ
コードは次にデバイス・ドライバに対しピック完了割込
み信号を生成し、アダプタ・マイクロコードによりピッ
クされたと決定された最初の要素がDMAを介してGA
Iに送信されたことを伝える。ステップ550で、デバ
イス・ドライバはピック完了割込み信号を受信し、次に
GAIに対し、最初にピックされた要素がDMAを介し
てGAIに送られたことを通知する。従来技術では、い
くつかのアダプタがアダプタ内に存在するステータス・
レジスタを使用し、これがデバイス・ドライバにより読
み出される。アダプタ・マイクロコードはステータス・
レジスタに、どのタイプの割込み信号(ピック割込み、
エラー割込みなど)がアダプタからデバイス・ドライバ
に送信されたかを示すコードを挿入する。ステップ55
5では、GAIはAPIに対し、最初にピックされた要
素がピック・バッファ内に存在することを通知する。ス
テップ560では、グラフィックス・アダプタAPIは
グラフィックス・アプリケーションに対し、最初にピッ
クされた要素がピック・データ・バッファ内に存在する
ことを通知する。
【0023】この時点で、グラフィックス・アプリケー
ションは描画要素をマイクロコードへ送信することを継
続するか、或いは送信を停止する。これはこの特定のグ
ラフィックス・アプリケーションに対するピック事象
が、ピック・ファースト、ピック・ラスト、ピック・オ
ール、ピック可視であるかなどに依存する。ピック・フ
ァーストの場合、これ以上の描画要素がピックされる必
要はない。従って、グラフィックス・アプリケーション
はアダプタ・マイクロコードに対する描画要素の送信を
停止する。ピック・ラスト、ピック可視或いはピック・
オールの場合は、全ての描画要素がアダプタ・マイクロ
コードに送信されるまで、グラフィックス・アプリケー
ションはアダプタ・マイクロコードに対する描画要素の
送信を継続する。
【0024】ステップ562ではどちらのケースの場合
にも、描画要素の送信の完了に際し、グラフィックス・
アプリケーションはAPIに対し、ステップ564でG
AIにピック・モードを終了する要求を発行するように
指示する。ステップ566で、GAIはピック・モード
終了命令をデバイス・ドライバに発行する。ステップ5
70でデバイス・ドライバはピック・モード終了命令を
アダプタ・マイクロコードに送信する。
【0025】ステップ575では、グラフィックス・ア
ダプタ・マイクロコードはピックされた描画要素のDM
Aを終了する。要素がピックされなかった場合或いはピ
ックされた要素名のDMAの完了の後に、グラフィック
ス・アダプタはピック・モードを脱し、これによりアダ
プタはピック事象に関与しない新たなコマンドを受け付
け可能となり、デバイス・ドライバに対しピック完了割
込み信号を送信する。ステップ580では、デバイス・
ドライバはGAIにピックがアダプタ・マイクロコード
により完了されたことを通知する。ステップ585で
は、GAIはグラフィックス・アプリケーションAPI
に対し、ピック事象が完了し、ピックされた要素の名前
或いは識別子がピック・バッファに存在することを通知
する。ステップ590では、グラフィックス・アプリケ
ーションAPIはグラフィックス・アプリケーションに
対し、ピックされた要素がデータ・バッファに存在する
ことを通知する。ステップ595では、グラフィックス
・アプリケーションは割り当てられたピック・データ・
バッファを、このアプリケーションのピック要求に一致
する要素で満たされ、グラフィックス・アプリケーショ
ンはその要求に従い、この情報を利用できる。
【0026】上述の処理に伴う困難の1つとして、ユー
ザが任意のグラフィックス・アダプタに対するピック事
象を開始するとき、ユーザはそのピック事象が完了する
まで、同一の或いは別のウィンドウ或いは処理における
ピック事象などの別の事象を開始できない。これはユー
ザがピック事象を開始した後に、そのピック事象が完了
するまでに相当な時間を待たせるような複雑なモデルで
は特に顕著である。従って、ユーザにとって、ピック事
象を開始し、次に別のウィンドウにおけるピック事象の
ような別のタスクを、最初のピック事象が完了する以前
に継続して実行できることが望まれる。
【0027】図4は図3のフロー図に対する変更を表
し、本発明の実施例で使用される。ブロック600及び
650は図3のブロック515及び520に対応する。
ブロック600はデバイス・ドライバにより達成される
4ステップを含む。最初のステップ610では、デバイ
ス・ドライバはピック・コマンドに応じてグラフィック
ス・アダプタとホスト・コンピュータとの間でデータを
転送するために、DMAをセットアップする。ステップ
620では、デバイス・ドライバは次にピック事象識別
子を得るが、ここではこれを相関子コード或いは相関子
と称する。実施例ではホスト・コンピュータ・メモリは
相関子コード用のレジスタ或いはメモリ・ロケーション
を含む。相関子コードが別のピック事象のために使用さ
れる度に、相関子コードは次のピック事象に備え1イン
クリメントされる。別の実施例では、各グラフィックス
・アプリケーションが同時に1個のピック事象だけを送
信可能な場合に、プロセス識別子がピック事象識別子と
して使用される。デバイス・ドライバは次に、相関子コ
ードをプロセス識別子(PID)及びピック・データ構
造ポインタと共に、ホスト・コンピュータの主メモリ内
のピック事象バッファに記憶する。ステップ640で
は、デバイス・ドライバはピック・モード・コマンドを
グラフィックス・アダプタ・マイクロコードに発行す
る。このコマンドにはピック・データ構造ポインタ及び
相関子コードが含まれる。
【0028】ステップ650では、アダプタ・マイクロ
コードは3ステップを達成する。ステップ660及び6
70では、アダプタ・マイクロコードはピック・データ
構造に対するポインタ及び対応する相関子コードをアダ
プタ・メモリに記憶する。ステップ680では、アダプ
タ・マイクロコードはピック・モードに入力する。ピッ
ク・モードでは、アダプタは相関子コードに対応する受
信される要素を表示しない。アダプタはこれらの受信さ
れる要素がピックされたかどうかを判断する。従来のピ
ック・モードと異なり、アダプタはデバイス・ドライバ
からのピック事象に関するコマンド以外の他のコマンド
を受け付け、他のアプリケーション・ソフトウェアから
送られる要素を描写する。アダプタ・マイクロコードは
他のピック事象を含む他のコマンドを扱うことが可能で
あり、これはデバイス・ドライバ及びアダプタ・マイク
ロコードがピック・データ構造ポインタと共に、相関子
或いはピック事象識別子を有することによる。これはピ
ック・データ構造がどのピック事象に関係するかを識別
する。コンテキスト・スイッチングを使用するアダプタ
では、デバイス・ドライバはプロセス識別子及び相関子
を使用し、アダプタ・マイクロコードに対して、アダプ
タ・マイクロコードによる使用のために、コンテキスト
を変更する必要があることを伝える。
【0029】図5は図3のフロー図に対する変更を表
し、本発明の実施例で使用される。ブロック700及び
760は図3のブロック535及び540に対応する。
GAIはDMAによりグラフィックス・アダプタ・マイ
クロコードに対し、描画要素及びそれらの名前を送信す
る。ステップ720では、GAIはデバイス・ドライバ
に対し、アダプタ・マイクロコードに描画要素を送信し
たことを通知する。ステップ730では、デバイス・ド
ライバは最初にステップ740で、GAIが前回のGA
Iと異なるかどうかを、GAIに対するプロセス識別子
から判断する。もし異なれば、デバイス・ドライバはア
ダプタに対し、ステップ750でピック事象の変更を通
知する。同じであれば、デバイス・ドライバはアダプタ
・マイクロコードに現行状態において処理を継続するこ
とを許可する。アダプタ・マイクロコードはステップ7
60で3ステップまでを達成する。デバイス・ドライバ
がアダプタにピック事象の変更を伝えると、アダプタ・
マイクロコードはステップ770で、アダプタ・マイク
ロコードが使用するデータに対するポインタを変更す
る。データにはピック・データ構造が含まれる。コンテ
キスト・スイッチングを使用するアダプタでは、デバイ
ス・ドライバはプロセス識別子及び相関子を使用し、ア
ダプタ・マイクロコードに対し、アダプタ・マイクロコ
ードによる使用のために、コンテキストを変更する必要
があることを伝える。ステップ780では、アダプタ・
マイクロコードはDMAを介し、GAIから要素及び要
素名を読み出す。ステップ790では、アダプタ・マイ
クロコードはどの要素がピックされたかを判断する。
【0030】図6は図3のフロー図に対する変更を表
し、本発明の実施例で使用される。ブロック800及び
850は図3のブロック545及び550或いはブロッ
ク575及び580に対応する。アダプタ・マイクロコ
ードはステップ800において3ステップを達成する。
ステップ810では、アダプタ・マイクロコードはDM
A(アダプタ・マイクロコードからGAIへ)を開始
し、ピックされた要素の名前をピック・バッファに戻
し、グラフィックス・アプリケーションに返却する。ピ
ックされた要素名は適切なGAIに送られる。これは同
一のデータ構造ポインタが、ピック事象用にGAI及び
アダプタ・マイクロコードの両者により使用されること
による。ステップ820では、アダプタ・マイクロコー
ドはDMAにより転送される要素名に対応する相関子コ
ードを、アダプタ・メモリ内のステータス・レジスタに
配置する。このレジスタはデバイス・ドライバによりア
クセスされる。ステップ830では、アダプタ・マイク
ロコードはデバイス・ドライバに対しピック完了割込み
信号を発行し、ピックされた要素がアダプタ・マイクロ
コードにより決定され、ピックされた要素の名前がGA
IにDMAを介して送信されたことを伝える。
【0031】ステップ850では、デバイス・ドライバ
は3ステップを達成する。最初のステップ860では、
デバイス・ドライバはピック完了割込み信号を受信す
る。ステップ870では、デバイス・ドライバはアダプ
タ・メモリ内のステータス・レジスタを読み出し、相関
子コードを獲得する。相関子コードに基づき、デバイス
・ドライバはステップ880で、主メモリ内のピック事
象バッファを読み出し、相関子コードに対応するプロセ
ス識別子(PID)を獲得する。PIDに基づき、デバ
イス・ドライバはステップ890で、適切なGAIに対
し、ピックされた要素がDMAを介しGAIに送信され
たことを通知する。
【0032】図7はデバイス・ドライバによりホスト・
コンピュータの主メモリに記憶されるピック事象バッフ
ァ入力を表すブロック図である。ピック事象バッファ9
00への入力としては、ピック事象を開始したプロセス
のプロセス識別子(PID)910が含まれる。また、
そのプロセスにより割り当てられるピック・データ構造
に対するピック・データ構造ポインタ920も含まれ
る。その他に、ピック事象に対応する相関子930が含
まれる。
【0033】ピック事象識別子或いは相関子コードの使
用により、デバイス・ドライバ及びアダプタ・マイクロ
コードは複数の同時発生ピック事象を扱うことが可能と
なる。すなわち、相関子は各ピック事象を識別する手段
を提供し、それによりグラフィックス・システムは、ど
のピック事象が特定のデータ、命令或いはその他のピッ
ク事象特有の情報に対応するかを識別できるようにな
る。例えば、第1のグラフィックス・アプリケーション
からアダプタ・マイクロコードに対し、第1のピック事
象に対応する要素が送信されている際に、第2のグラフ
ィックス・アプリケーションはピック事象の開始を要求
でき、第1のピック事象の完了以前に、第2のピック事
象に関する要素の送信を開始できる。
【0034】本発明は特定の実施例を参照しながら述べ
られてきたが、他の実施例についても当業者には理解さ
れよう。例えば、オペレーティング・システムを使用し
て相関子コードを生成し、相関子コードをピック・デー
タ構造におけるピック事象識別子として使用することに
より、同一のグラフィックス・アプリケーションが2つ
の同時ピックを実行することが可能である。ピック事象
識別子はデバイス・ドライバ及びアダプタ・マイクロコ
ードに転送される。更に、ピック事象識別子は上述され
た以外の他のタイプのピック事象技法にも使用できる。
従って、上述の説明は本発明の特許請求の範囲で規定さ
れる範中を制限するものではない。
【0035】
【発明の効果】以上説明したように、本発明によれば、
同時に2つのピック事象を処理することが可能なグラフ
ィックス・ディスプレイ・システムを提供できる。
【図面の簡単な説明】
【図1】典型的なデジタル・コンピュータのブロック図
である。
【図2】グラフィックス機能を達成するためにホスト・
コンピュータ及びグラフィックス・アダプタで典型的に
使用されるコード層を表すブロック図である。
【図3】典型的な3次元グラフィックス・システムがピ
ック事象を実行する様子を示すフロー図である。
【図4】本発明の実施例のための図3のフロー図に対す
る変更を表すフロー図である。
【図5】本発明の実施例のための図3のフロー図に対す
る変更を表すフロー図である。
【図6】本発明の実施例のための図3のフロー図に対す
る変更を表すフロー図である。
【図7】デバイス・ドライバにより使用されるピック事
象バッファ入力を表すブロック図である。
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.5 識別記号 庁内整理番号 FI 技術表示箇所 H04N 7/18 M 7337−5C (72)発明者 ゲーリー・リー・ワイズマン アメリカ合衆国テキサス州、オースティ ン、ラバック・レーン 13104番地

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】表示されるオブジェクトの処理装置におい
    て、 a)オブジェクトを表示するための表示手段と、 b)表示手段に結合されて、表示オブジェクトに関する
    ピック事象を処理するための処理手段と、 c)処理手段に結合されて、処理手段に対し第1のピッ
    ク事象を処理するように要求するための手段と、 d)処理手段に結合されて、第1のピック事象の処理が
    要求された後、且つ第1のピック事象の処理の完了以前
    に、処理手段に対し第2のピック事象を処理するように
    要求する手段とを具備することを特徴とする装置。
  2. 【請求項2】第1のピック事象と第2のピック事象を判
    別する手段を具備することを特徴とする請求項1記載の
    装置。
  3. 【請求項3】判別手段が各ピック事象に対する識別子を
    生成する手段を含むことを特徴とする請求項2記載の装
    置。
  4. 【請求項4】第1のピック事象を要求する手段が第1の
    表示領域を使用する第1のアプリケーション手段を含む
    ことを特徴とする請求項3記載の装置。
  5. 【請求項5】第2のピック事象を要求する手段が第2の
    表示領域を使用する第2のアプリケーション手段を含む
    ことを特徴とする請求項4記載の装置。
  6. 【請求項6】表示されるオブジェクトの処理方法におい
    て、 a)オブジェクトを表示し、 b)共通処理手段において表示オブジェクトに関するピ
    ック事象を処理し、 c)処理手段に対し第1のピック事象を処理するように
    要求し、 d)第1のピック事象の処理が要求された後、且つ第1
    のピック事象の処理の完了以前に、処理手段に対し第2
    のピック事象を処理するように要求することを特徴とす
    る方法。
  7. 【請求項7】表示されるオブジェクトの処理装置におい
    て、 a)オブジェクトを表示するための表示手段と、 b)表示手段に結合されて、表示オブジェクトに関する
    ピック事象を処理するための処理手段と、 c)ホスト・コンピュータとを具備し、前記ホスト・コ
    ンピュータは、 i)処理手段に結合されて、処理手段に対し第1のピッ
    ク事象を処理するように要求するための手段と、 ii)処理手段に結合されて、第1のピック事象の処理
    が要求された後、且つ第1のピック事象の処理の完了以
    前に、処理手段に対し第2のピック事象を処理するよう
    に要求する手段とを含むことを特徴とする装置。
  8. 【請求項8】前記ホスト・コンピュータは第1のピック
    事象と第2のピック事象を判別する手段を含むことを特
    徴とする請求項7記載の装置。
  9. 【請求項9】判別手段が各ピック事象に対する識別子を
    生成する手段を含むことを特徴とする請求項8記載の装
    置。
JP4140197A 1991-07-23 1992-06-01 同時ピック事象の処理方法及び装置 Pending JPH05205026A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US73626591A 1991-07-23 1991-07-23
US736265 1991-07-23

Publications (1)

Publication Number Publication Date
JPH05205026A true JPH05205026A (ja) 1993-08-13

Family

ID=24959205

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4140197A Pending JPH05205026A (ja) 1991-07-23 1992-06-01 同時ピック事象の処理方法及び装置

Country Status (7)

Country Link
EP (1) EP0595841A1 (ja)
JP (1) JPH05205026A (ja)
KR (1) KR930002934A (ja)
CN (1) CN1025385C (ja)
BR (1) BR9202486A (ja)
CA (1) CA2068016A1 (ja)
WO (1) WO1993002409A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69509420T2 (de) * 1994-01-28 1999-12-16 Sun Microsystems Inc Schnittstelle für eine flache Anzeige bei einem hochauflösenden graphischen Computersystem
DE69634219D1 (de) * 1995-03-21 2005-03-03 Sun Microsystems Inc Videoeinzelbildkennungserfassung
US8289333B2 (en) * 2008-03-04 2012-10-16 Apple Inc. Multi-context graphics processing

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0425173A2 (en) * 1989-10-23 1991-05-02 International Business Machines Corporation Graphics display system
JPH03139771A (ja) * 1989-10-23 1991-06-13 Internatl Business Mach Corp <Ibm> グラフイツク表示システムと方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0425173A2 (en) * 1989-10-23 1991-05-02 International Business Machines Corporation Graphics display system
JPH03139771A (ja) * 1989-10-23 1991-06-13 Internatl Business Mach Corp <Ibm> グラフイツク表示システムと方法

Also Published As

Publication number Publication date
BR9202486A (pt) 1993-03-16
CN1025385C (zh) 1994-07-06
CA2068016A1 (en) 1993-01-24
KR930002934A (ko) 1993-02-23
CN1068906A (zh) 1993-02-10
EP0595841A1 (en) 1994-05-11
WO1993002409A1 (en) 1993-02-04

Similar Documents

Publication Publication Date Title
US6437788B1 (en) Synchronizing graphics texture management in a computer system using threads
US5388201A (en) Method and apparatus for providing multiple bit depth windows
US6317137B1 (en) Multi-threaded texture modulation for axis-aligned volume rendering
US4928247A (en) Method and apparatus for the continuous and asynchronous traversal and processing of graphics data structures
US5757385A (en) Method and apparatus for managing multiprocessor graphical workload distribution
EP0580302B1 (en) Method and apparatus for generating a color palette
US5734387A (en) Method and apparatus for creating and performing graphics operations on device-independent bitmaps
US5251322A (en) Method of operating a computer graphics system including asynchronously traversing its nodes
US5155822A (en) High performance graphics workstation
US5774126A (en) Method and apparatus for dynamically changing the color depth of objects displayed in a computer system
CN116821040B (zh) 基于gpu直接存储器访问的显示加速方法、装置及介质
EP0658859A2 (en) Method and apparatus for interlocking graphical objects
KR100233346B1 (ko) 그래픽 시스템에서 하나 이상의 가시 객체 식별 방법 및 장치
JPH10111858A (ja) グラフィクス・パイプラインを並列化する方法及び装置
US5819077A (en) Graphics drawing system and method based on a client server system having shared graphics resources
JPH05205026A (ja) 同時ピック事象の処理方法及び装置
JPH06149694A (ja) 分配データ受信選択方式
Uno et al. A general purpose graphic system for computer aided design
Ikedo High-speed techniques for a 3-D color graphics terminal
JPS6339947B2 (ja)
JP3102421B2 (ja) 画像処理装置及び方法
JP3136852B2 (ja) タッチパネル画面作成方法およびその装置
JPS61138329A (ja) デイスプレイコントロ−ラ
JPH02127786A (ja) 三次元物体の二次元表現方法
CN117671106A (zh) 遮挡查询方法、装置、电子设备及存储介质