JPH0793568A - ウィンドウごとのグラフィックス・クリッピングを即座に行うためのシステムおよび方法 - Google Patents
ウィンドウごとのグラフィックス・クリッピングを即座に行うためのシステムおよび方法Info
- Publication number
- JPH0793568A JPH0793568A JP6165553A JP16555394A JPH0793568A JP H0793568 A JPH0793568 A JP H0793568A JP 6165553 A JP6165553 A JP 6165553A JP 16555394 A JP16555394 A JP 16555394A JP H0793568 A JPH0793568 A JP H0793568A
- Authority
- JP
- Japan
- Prior art keywords
- window
- buffer
- clipping
- windows
- visible
- 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
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/14—Display of multiple viewports
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Image Generation (AREA)
- Digital Computer Display Output (AREA)
- Controls And Circuits For Display Device (AREA)
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
Abstract
(57)【要約】 (修正有)
【目的】 可視ウィンドウへの効率的なクリッピングを
実行するための方法および手段を提供する。 【構成】 前フレーム・バッファに直接書き込まれるウ
ィンドウごとに、ウィンドウ・クリップ・バッファを確
立する。ウィンドウ・クリップ・バッファは、ウィンド
ウ自体と同一の寸法を有するように初期設定され、各画
素位置は、当初はFALSE(不可視)にセットされ
る。可視領域を判定し、可視領域に関してバッファをT
RUE(可視)に更新する。各画素をウィンドウに描く
際に、ウィンドウ・クリップ・バッファをテストする。
画素がフレーム・バッファに描かれるのは、ウィンドウ
・クリップ・バッファ画素がTRUE(可視)の位置に
限られる。画面上でのウィンドウ位置の変更が、可視領
域の更新を引き起こす。
実行するための方法および手段を提供する。 【構成】 前フレーム・バッファに直接書き込まれるウ
ィンドウごとに、ウィンドウ・クリップ・バッファを確
立する。ウィンドウ・クリップ・バッファは、ウィンド
ウ自体と同一の寸法を有するように初期設定され、各画
素位置は、当初はFALSE(不可視)にセットされ
る。可視領域を判定し、可視領域に関してバッファをT
RUE(可視)に更新する。各画素をウィンドウに描く
際に、ウィンドウ・クリップ・バッファをテストする。
画素がフレーム・バッファに描かれるのは、ウィンドウ
・クリップ・バッファ画素がTRUE(可視)の位置に
限られる。画面上でのウィンドウ位置の変更が、可視領
域の更新を引き起こす。
Description
【0001】
【産業上の利用分野】本発明は、グラフィックス・シス
テムに関し、具体的には、グラフィック・イメージをク
リッピングして表示ウィンドウに描画する際の速度を増
すための装置および方法に関する。さらに具体的に言う
と、本発明は、結果のイメージが表示フレーム・バッフ
ァに直接書き込まれる場合のクリッピングの処理速度を
増すためのシステムおよび方法に関する。
テムに関し、具体的には、グラフィック・イメージをク
リッピングして表示ウィンドウに描画する際の速度を増
すための装置および方法に関する。さらに具体的に言う
と、本発明は、結果のイメージが表示フレーム・バッフ
ァに直接書き込まれる場合のクリッピングの処理速度を
増すためのシステムおよび方法に関する。
【0002】
【従来の技術】ウィンドウ式グラフィックス・システム
では、CRT画面などの物理表示装置上に多数のオーバ
ーラップするウィンドウが表示される。各ウィンドウ
は、1つまたは複数のアプリケーションによって更新さ
れる。各アプリケーションは、そのアプリケーションに
割り当てられた1つまたは複数のウィンドウにテキスト
またはグラフィック・イメージを書き込む。複数のウィ
ンドウがオーバーラップするので、ウィンドウの一部が
可視でない場合がある。ウィンドウの不可視部分へテキ
ストまたはイメージを書き込むことは、処理能力の浪費
である。
では、CRT画面などの物理表示装置上に多数のオーバ
ーラップするウィンドウが表示される。各ウィンドウ
は、1つまたは複数のアプリケーションによって更新さ
れる。各アプリケーションは、そのアプリケーションに
割り当てられた1つまたは複数のウィンドウにテキスト
またはグラフィック・イメージを書き込む。複数のウィ
ンドウがオーバーラップするので、ウィンドウの一部が
可視でない場合がある。ウィンドウの不可視部分へテキ
ストまたはイメージを書き込むことは、処理能力の浪費
である。
【0003】従来技術のグラフィックス・システムに
は、フレーム・バッファの可視部分へのデータの書込み
を制御するためにクリッピング・バッファが実装されて
いる。クリッピング・バッファは、たとえば1024×
1278など、表示画面と同じ個数の水平位置および垂
直位置が含まれるように定義される。クリッピング・バ
ッファ位置のそれぞれには、その位置にウィンドウがあ
るならば、そのウィンドウが可視であるかどうかを示す
値が格納される。クリッピング・バッファの値は、特定
のウィンドウのそれぞれによってテストされ、クリッピ
ング・バッファの値と一致するウィンドウだけが、フレ
ーム・バッファに書き込まれる。ウィンドウ・クリッピ
ングは、通常は、ハードウェア・グラフィックス・アダ
プタに含まれるグラフィックス・パイプラインのハード
ウェアによって実行される。
は、フレーム・バッファの可視部分へのデータの書込み
を制御するためにクリッピング・バッファが実装されて
いる。クリッピング・バッファは、たとえば1024×
1278など、表示画面と同じ個数の水平位置および垂
直位置が含まれるように定義される。クリッピング・バ
ッファ位置のそれぞれには、その位置にウィンドウがあ
るならば、そのウィンドウが可視であるかどうかを示す
値が格納される。クリッピング・バッファの値は、特定
のウィンドウのそれぞれによってテストされ、クリッピ
ング・バッファの値と一致するウィンドウだけが、フレ
ーム・バッファに書き込まれる。ウィンドウ・クリッピ
ングは、通常は、ハードウェア・グラフィックス・アダ
プタに含まれるグラフィックス・パイプラインのハード
ウェアによって実行される。
【0004】技術用ワークステーション、特にRISC
アーキテクチャ設計に基づくワークステーションの処理
能力が向上したことで、高機能のグラフィックス処理
を、専用のグラフィックス・ハードウェアなしで実行で
きるようになった。システム・プロセッサを使用して、
変換、スケーリングおよびレンダリングを含むグラフィ
ックス機能を実行できる。専用のグラフィックス・ハー
ドウェアではなくシステム・プロセッサを使用する場
合、ウィンドウのクリッピングが問題になる。
アーキテクチャ設計に基づくワークステーションの処理
能力が向上したことで、高機能のグラフィックス処理
を、専用のグラフィックス・ハードウェアなしで実行で
きるようになった。システム・プロセッサを使用して、
変換、スケーリングおよびレンダリングを含むグラフィ
ックス機能を実行できる。専用のグラフィックス・ハー
ドウェアではなくシステム・プロセッサを使用する場
合、ウィンドウのクリッピングが問題になる。
【0005】二重バッファ式グラフィックス・システム
では、2つのフレーム・バッファ・イメージすなわち、
現表示のバッファ(前バッファ)とアプリケーションに
よって更新されるバッファ(後バッファ)が維持され
る。後バッファを周期的に前バッファにコピーし、これ
によって表示を更新する。ウィンドウ式システムでは、
前バッファへのコピーの間に可視部分だけにクリッピン
グされる後バッファが、ウィンドウごとに1つずつ実施
される場合が多い。このコピーは、ブロック転送動作と
して実行され、クリッピングは、ブロック・モードの動
作を使用して効率的に実行できる。
では、2つのフレーム・バッファ・イメージすなわち、
現表示のバッファ(前バッファ)とアプリケーションに
よって更新されるバッファ(後バッファ)が維持され
る。後バッファを周期的に前バッファにコピーし、これ
によって表示を更新する。ウィンドウ式システムでは、
前バッファへのコピーの間に可視部分だけにクリッピン
グされる後バッファが、ウィンドウごとに1つずつ実施
される場合が多い。このコピーは、ブロック転送動作と
して実行され、クリッピングは、ブロック・モードの動
作を使用して効率的に実行できる。
【0006】既存のシステム・プロセッサに基づくグラ
フィックス機能(通常は2次元グラフィックス)では、
通常、フレーム・バッファへの直接書込みが行われ、二
重バッファリングは使用されない。画素は、フレーム・
バッファに直接書き込まれる時に生成されるので、各画
素の生成時にクリッピングを実行しなければならない。
これは、非効率的で性能の低いグラフィックス・システ
ムをもたらす可能性がある。
フィックス機能(通常は2次元グラフィックス)では、
通常、フレーム・バッファへの直接書込みが行われ、二
重バッファリングは使用されない。画素は、フレーム・
バッファに直接書き込まれる時に生成されるので、各画
素の生成時にクリッピングを実行しなければならない。
これは、非効率的で性能の低いグラフィックス・システ
ムをもたらす可能性がある。
【0007】
【発明が解決しようとする課題】前バッファに直接レン
ダリングする時にウィンドウ・クリッピングを効率的に
実行するための処理が必要である。本発明が対処する技
術的問題は、この情況でウィンド・クリッピングを効率
的に実行するためのシステムおよび方法を提供すること
である。
ダリングする時にウィンドウ・クリッピングを効率的に
実行するための処理が必要である。本発明が対処する技
術的問題は、この情況でウィンド・クリッピングを効率
的に実行するためのシステムおよび方法を提供すること
である。
【0008】
【課題を解決するための手段】本発明は、前フレーム・
バッファへの直接書込みの間に効率的にウィンドウをク
リッピングするためのシステムおよび方法を提供する。
本発明は、ウィンドウの可視領域と不可視領域を2進値
として表現する、ウィンドウごとに1つのクリッピング
・バッファを提供する。ウィンドウ・クリッピング・バ
ッファを使用するクリッピングは、マスク技法を使用す
ることによって効率的に実行できる。
バッファへの直接書込みの間に効率的にウィンドウをク
リッピングするためのシステムおよび方法を提供する。
本発明は、ウィンドウの可視領域と不可視領域を2進値
として表現する、ウィンドウごとに1つのクリッピング
・バッファを提供する。ウィンドウ・クリッピング・バ
ッファを使用するクリッピングは、マスク技法を使用す
ることによって効率的に実行できる。
【0009】本発明は、メモリとプロセッサとを有する
コンピュータ・グラフィックス・システムで複数のウィ
ンドウのうちの1つに描かれる画素をクリッピングする
方法を提供する。この方法には、ウィンドウ・クリップ
・バッファにするためメモリの一部を割り振るステップ
と;他のウィンドウによって1ウィンドウが隠される複
数の不可視領域を判定するため複数のウィンドウのうち
の他のウィンドウをテストするステップと;各画素位置
での可視または遮りを示すためウィンドウ・クリップ・
バッファを変換するステップと;1ウィンドウに書き込
まれる画素ごとに、書き込まれる画素の画素位置に対応
するウィンドウ・クリップ・バッファ内の値をテストす
るステップおよび、そのテストによって可視位置が示さ
れる場合には画素を描き、その位置が不可視の場合には
描画を迂回するステップを繰り返すステップとが含まれ
る。
コンピュータ・グラフィックス・システムで複数のウィ
ンドウのうちの1つに描かれる画素をクリッピングする
方法を提供する。この方法には、ウィンドウ・クリップ
・バッファにするためメモリの一部を割り振るステップ
と;他のウィンドウによって1ウィンドウが隠される複
数の不可視領域を判定するため複数のウィンドウのうち
の他のウィンドウをテストするステップと;各画素位置
での可視または遮りを示すためウィンドウ・クリップ・
バッファを変換するステップと;1ウィンドウに書き込
まれる画素ごとに、書き込まれる画素の画素位置に対応
するウィンドウ・クリップ・バッファ内の値をテストす
るステップおよび、そのテストによって可視位置が示さ
れる場合には画素を描き、その位置が不可視の場合には
描画を迂回するステップを繰り返すステップとが含まれ
る。
【0010】したがって、本発明の目的は、前フレーム
・バッファに直接書き込まれるウィンドウの効率的なク
リッピングを可能にするシステムを提供することであ
る。
・バッファに直接書き込まれるウィンドウの効率的なク
リッピングを可能にするシステムを提供することであ
る。
【0011】本発明のもう1つの目的は、システム・ウ
ィンドウごとに1つのクリッピング・ウィンドウを管理
する処理を提供することである。
ィンドウごとに1つのクリッピング・ウィンドウを管理
する処理を提供することである。
【0012】本発明のもう1つの目的は、ウィンドウ・
クリッピングのペナルティを発生させずに前フレーム・
バッファにレンダリングする処理を提供することであ
る。
クリッピングのペナルティを発生させずに前フレーム・
バッファにレンダリングする処理を提供することであ
る。
【0013】本発明の前述およびその他の目的、特徴お
よび長所は、添付図面に示された本発明の好ましい実施
例の下記の具体的な説明から明らかになろう。添付図面
においては、同一の参照符号が同一の部分を表す。
よび長所は、添付図面に示された本発明の好ましい実施
例の下記の具体的な説明から明らかになろう。添付図面
においては、同一の参照符号が同一の部分を表す。
【0014】
【実施例】本発明は、図1に示されたものなどのコンピ
ュータ・システムで実施される。このコンピュータ・シ
ステムは、IBM Corp.社のIBM RISC
System/6000コンピュータであることが好ま
しい(IBMとRISCSystem/6000は、I
BM Corp.社の登録商標である)が、同様のワー
クステーション、パーソナル・コンピュータ、またはメ
インフレーム・コンピュータであれば、どれでも使用す
ることができる。
ュータ・システムで実施される。このコンピュータ・シ
ステムは、IBM Corp.社のIBM RISC
System/6000コンピュータであることが好ま
しい(IBMとRISCSystem/6000は、I
BM Corp.社の登録商標である)が、同様のワー
クステーション、パーソナル・コンピュータ、またはメ
インフレーム・コンピュータであれば、どれでも使用す
ることができる。
【0015】コンピュータ・システム100は、処理装
置102、ランダム・アクセス・メモリ104および永
続記憶装置122を有する。さらに、任意選択の通信ア
ダプタ106を用いて、他のコンピュータ・システムと
通信できる。入出力制御機構112が、ビデオ表示装置
114、キーボード116およびポインティング装置1
18との相互作用を制御する。フレーム・バッファまた
はグラフィックス・メモリ113は、ビデオ表示装置1
14に表示する画素データを格納するため、高機能グラ
フィックス・システムに設けられる。ディスク制御機構
120は、処理装置と永続記憶装置122の間の相互作
用を制御する。この図に示されたオプション類は、好ま
しい実施例に使用される典型的な構成要素である。同様
の機能を備えた他の構成要素と図示の構成要素を置換す
ることもでき、たとえば、永続記憶装置122について
は、磁気ディスクの代わりに取外し可能のディスケット
または光学ドライブを使用でき、処理装置102は、多
重プロセッサ・アーキテクチャまたは並列プロセッサ・
アーキテクチャの多数の処理エンジンから構成すること
もできる。
置102、ランダム・アクセス・メモリ104および永
続記憶装置122を有する。さらに、任意選択の通信ア
ダプタ106を用いて、他のコンピュータ・システムと
通信できる。入出力制御機構112が、ビデオ表示装置
114、キーボード116およびポインティング装置1
18との相互作用を制御する。フレーム・バッファまた
はグラフィックス・メモリ113は、ビデオ表示装置1
14に表示する画素データを格納するため、高機能グラ
フィックス・システムに設けられる。ディスク制御機構
120は、処理装置と永続記憶装置122の間の相互作
用を制御する。この図に示されたオプション類は、好ま
しい実施例に使用される典型的な構成要素である。同様
の機能を備えた他の構成要素と図示の構成要素を置換す
ることもでき、たとえば、永続記憶装置122について
は、磁気ディスクの代わりに取外し可能のディスケット
または光学ドライブを使用でき、処理装置102は、多
重プロセッサ・アーキテクチャまたは並列プロセッサ・
アーキテクチャの多数の処理エンジンから構成すること
もできる。
【0016】好ましい実施例のグラフィックス処理は、
一連の機能ステップとして発生する。図2に、関係のあ
るステップを示す。ジオメトリ・パイプライン202
が、グラフィック・イメージの座標変換、隠されたオブ
ジェクトの刈り込み、ビュー・ボリュームへのクリッピ
ング、ライティング計算およびレンダリングのためのプ
リミティブの組立てを行う。ラスタライズ・サブシステ
ム204は、このプリミティブ群を受け取り、各プリミ
ティブの要求に応じてフレーム・バッファへの画素を生
成する。生成された画素は、画面に書き込まれる(20
6)。
一連の機能ステップとして発生する。図2に、関係のあ
るステップを示す。ジオメトリ・パイプライン202
が、グラフィック・イメージの座標変換、隠されたオブ
ジェクトの刈り込み、ビュー・ボリュームへのクリッピ
ング、ライティング計算およびレンダリングのためのプ
リミティブの組立てを行う。ラスタライズ・サブシステ
ム204は、このプリミティブ群を受け取り、各プリミ
ティブの要求に応じてフレーム・バッファへの画素を生
成する。生成された画素は、画面に書き込まれる(20
6)。
【0017】ウィンドウのオーバーラップの問題を、図
3のaに示す。ウィンドウA302がウィンドウB30
4にオーバーラップし、ウィンドウBの一部を隠してい
る。ウィンドウBに書き込むアプリケーションは、この
オーバーラップを検出し、可視区域だけに書き込まなけ
ればならない。
3のaに示す。ウィンドウA302がウィンドウB30
4にオーバーラップし、ウィンドウBの一部を隠してい
る。ウィンドウBに書き込むアプリケーションは、この
オーバーラップを検出し、可視区域だけに書き込まなけ
ればならない。
【0018】本発明では、図3のbに示されるように、
クリッピング・ウィンドウ305を実施する。クリッピ
ング・ウィンドウ305は、ウィンドウBと同一の寸法
を有する。ウィンドウBの可視部分には、すべての画素
位置に2進数の1が含まれ(306)、隠される部分に
は、2進数の0が含まれる(308)。代替実施例で
は、予約された2進値(0=可視、1=不可視)または
非2進値を使用することができる。ランダム・アクセス
・メモリ104内で、ウィンドウごとにクリッピング・
ウィンドウを維持して、更新とアクセスに備える。
クリッピング・ウィンドウ305を実施する。クリッピ
ング・ウィンドウ305は、ウィンドウBと同一の寸法
を有する。ウィンドウBの可視部分には、すべての画素
位置に2進数の1が含まれ(306)、隠される部分に
は、2進数の0が含まれる(308)。代替実施例で
は、予約された2進値(0=可視、1=不可視)または
非2進値を使用することができる。ランダム・アクセス
・メモリ104内で、ウィンドウごとにクリッピング・
ウィンドウを維持して、更新とアクセスに備える。
【0019】本発明の処理ステップを、図4に示す。グ
ラフィックス・システムのウィンドウ・マネージャ(図
示せず)は、表示装置上のすべてのウィンドウの位置、
寸法または存在に対する変更のすべてについて通知を受
ける。新しいウィンドウが定義される時には必ず、ステ
ップ402で、ウィンドウ・クリップ・バッファをFA
LSE(不可視)に初期設定する。ウィンドウ・マネー
ジャは、ウィンドウの移動、作成または削除が行われた
時には必ず、表示装置の諸領域を分析して、それが可視
であるかどうかを判定する。次に、ステップ404で、
ウィンドウの可視領域のそれぞれに含まれる画素をTR
UE(可視)としてマークして、最終クリップ・マスク
を作成する。ウィンドウの位置を変更する処置が行われ
ると、必ずウィンドウ・クリップ・バッファが更新され
る。
ラフィックス・システムのウィンドウ・マネージャ(図
示せず)は、表示装置上のすべてのウィンドウの位置、
寸法または存在に対する変更のすべてについて通知を受
ける。新しいウィンドウが定義される時には必ず、ステ
ップ402で、ウィンドウ・クリップ・バッファをFA
LSE(不可視)に初期設定する。ウィンドウ・マネー
ジャは、ウィンドウの移動、作成または削除が行われた
時には必ず、表示装置の諸領域を分析して、それが可視
であるかどうかを判定する。次に、ステップ404で、
ウィンドウの可視領域のそれぞれに含まれる画素をTR
UE(可視)としてマークして、最終クリップ・マスク
を作成する。ウィンドウの位置を変更する処置が行われ
ると、必ずウィンドウ・クリップ・バッファが更新され
る。
【0020】アプリケーションは、ウィンドウ定義の後
に継続し、ステップ406でそのウィンドウに画素を描
く。各画素が描かれる際に、ステップ408で、その位
置に対応するウィンドウ・クリップ・バッファの値がテ
ストされ、バッファの値がTRUE(可視)の場合に限
って、ステップ410でその画素が描かれる。2進テス
トは、高速に効率的に実行でき、したがってウィンドウ
・データの高速クリッピングがもたらされる。性能をさ
らに改善する特徴の1つが、レンダリングされる画素だ
けがクリッピングされることである。変更されないウィ
ンドウ背景画素は、クリッピングされず、したがって、
本発明の効率がさらに高まる。
に継続し、ステップ406でそのウィンドウに画素を描
く。各画素が描かれる際に、ステップ408で、その位
置に対応するウィンドウ・クリップ・バッファの値がテ
ストされ、バッファの値がTRUE(可視)の場合に限
って、ステップ410でその画素が描かれる。2進テス
トは、高速に効率的に実行でき、したがってウィンドウ
・データの高速クリッピングがもたらされる。性能をさ
らに改善する特徴の1つが、レンダリングされる画素だ
けがクリッピングされることである。変更されないウィ
ンドウ背景画素は、クリッピングされず、したがって、
本発明の効率がさらに高まる。
【0021】上の説明から、本発明の趣旨から逸脱せず
に本発明の好ましい実施例にさまざまな修正と変更を行
えることが理解されよう。この説明は、例示のみを目的
とするものであり、制限的な意味で解釈してはならな
い。本発明の範囲は、請求項の文言によってのみ制限さ
れる。
に本発明の好ましい実施例にさまざまな修正と変更を行
えることが理解されよう。この説明は、例示のみを目的
とするものであり、制限的な意味で解釈してはならな
い。本発明の範囲は、請求項の文言によってのみ制限さ
れる。
【0022】まとめとして、本発明の構成に関して以下
の事項を開示する。
の事項を開示する。
【0023】(1)ウィンドウ・クリップ・バッファに
するためメモリの一部を割り振るステップと、他のウィ
ンドウによって1ウィンドウが隠される複数の不可視領
域を判定するため複数のウィンドウのうちの前記他のウ
ィンドウをテストするステップと、各画素位置での可視
または遮りを示すため前記ウィンドウ・クリップ・バッ
ファを変換するステップと、前記1ウィンドウに書き込
まれる画素ごとに、書き込まれる画素の画素位置に対応
する前記ウィンドウ・クリップ・バッファ内の値をテス
トするステップと、前記テストによって可視位置が示さ
れる場合には前記画素を描き、その位置が不可視の場合
には描画を迂回するステップとを繰り返すステップとを
含む、前記メモリとプロセッサを有するコンピュータ・
グラフィックス・システムで、前記複数のウィンドウの
うちの前記1ウィンドウに書き込まれる画素をクリッピ
ングする方法。 (2)メモリからウィンドウ・クリッピング・バッファ
を割り振る手段と、前記ウィンドウ・クリッピング・バ
ッファを第1の値に初期設定する手段と、複数のウィン
ドウのうちの1ウィンドウの、前記複数のウィンドウの
うちの他のウィンドウによって隠される領域を判定する
手段と、前記ウィンドウ・クリッピング・バッファの、
前記1ウィンドウの可視の部分に対応する領域だけに、
第2の値を書き込む手段と、フレーム・バッファへグラ
フィック・イメージ・データを書き込む前に前記ウィン
ドウ・クリッピング・バッファをテストし、前記バッフ
ァが可視領域を示す場合に限って前記グラフィック・イ
メージ・データを書き込む手段とを具備し、グラフィッ
ク・イメージが前記メモリ内のフレーム・バッファに書
き込まれ、表示装置上の前記複数のウィンドウのうちの
前記1ウィンドウに表示されることを特徴とする、プロ
セッサ、表示装置および前記メモリを有するグラフィッ
クス・システムで、グラフィック・イメージをクリッピ
ングするシステム。 (3)前記複数のウィンドウのそれぞれに1つのウィン
ドウ・クリッピング・バッファが別々に割り振られるこ
とを特徴とする、上記(2)に記載のシステム。 (4)前記可視領域を判定する手段と前記第2の値を書
き込む手段とが、前記表示装置上でウィンドウ事象が発
生する時に必ず動作することを特徴とする、上記(3)
に記載のシステム。 (5)メモリからウィンドウ・クリッピング・バッファ
を割り振る手段と、前記ウィンドウ・クリッピング・バ
ッファを第1の値に初期設定する手段と、複数のウィン
ドウのうちの1ウィンドウの、前記複数のウィンドウの
うちの他のウィンドウによって隠される領域を判定する
手段と、前記ウィンドウ・クリッピング・バッファの、
前記1ウィンドウの可視の部分に対応する領域だけに、
第2の値を書き込む手段と、フレーム・バッファへグラ
フィック・イメージ・データを書き込む前に前記ウィン
ドウ・クリッピング・バッファをテストし、前記バッフ
ァが可視領域を示す場合に限って前記グラフィック・イ
メージ・データを書き込む手段とを含む、グラフィック
・イメージが前記メモリ内のフレーム・バッファに書き
込まれ、表示装置上の前記複数のウィンドウのうちの前
記1ウィンドウに表示されることを特徴とする、プロセ
ッサ、表示装置およびメモリを有するグラフィックス・
システム内でグラフィック・イメージをクリッピングす
るための、コンピュータ・プログラム論理を記録された
コンピュータ可読媒体を有するコンピュータ・プログラ
ム製品。 (6)前記複数のウィンドウのそれぞれに1つのウィン
ドウ・クリッピング・バッファが別々に割り振られるこ
とを特徴とする、上記(5)に記載のコンピュータ・プ
ログラム製品。 (7)前記可視領域を判定する手段と前記第2の値を書
き込む手段とが、前記表示装置上でウィンドウ事象が発
生する時に必ず動作することを特徴とする、上記(6)
に記載のコンピュータ・プログラム製品。
するためメモリの一部を割り振るステップと、他のウィ
ンドウによって1ウィンドウが隠される複数の不可視領
域を判定するため複数のウィンドウのうちの前記他のウ
ィンドウをテストするステップと、各画素位置での可視
または遮りを示すため前記ウィンドウ・クリップ・バッ
ファを変換するステップと、前記1ウィンドウに書き込
まれる画素ごとに、書き込まれる画素の画素位置に対応
する前記ウィンドウ・クリップ・バッファ内の値をテス
トするステップと、前記テストによって可視位置が示さ
れる場合には前記画素を描き、その位置が不可視の場合
には描画を迂回するステップとを繰り返すステップとを
含む、前記メモリとプロセッサを有するコンピュータ・
グラフィックス・システムで、前記複数のウィンドウの
うちの前記1ウィンドウに書き込まれる画素をクリッピ
ングする方法。 (2)メモリからウィンドウ・クリッピング・バッファ
を割り振る手段と、前記ウィンドウ・クリッピング・バ
ッファを第1の値に初期設定する手段と、複数のウィン
ドウのうちの1ウィンドウの、前記複数のウィンドウの
うちの他のウィンドウによって隠される領域を判定する
手段と、前記ウィンドウ・クリッピング・バッファの、
前記1ウィンドウの可視の部分に対応する領域だけに、
第2の値を書き込む手段と、フレーム・バッファへグラ
フィック・イメージ・データを書き込む前に前記ウィン
ドウ・クリッピング・バッファをテストし、前記バッフ
ァが可視領域を示す場合に限って前記グラフィック・イ
メージ・データを書き込む手段とを具備し、グラフィッ
ク・イメージが前記メモリ内のフレーム・バッファに書
き込まれ、表示装置上の前記複数のウィンドウのうちの
前記1ウィンドウに表示されることを特徴とする、プロ
セッサ、表示装置および前記メモリを有するグラフィッ
クス・システムで、グラフィック・イメージをクリッピ
ングするシステム。 (3)前記複数のウィンドウのそれぞれに1つのウィン
ドウ・クリッピング・バッファが別々に割り振られるこ
とを特徴とする、上記(2)に記載のシステム。 (4)前記可視領域を判定する手段と前記第2の値を書
き込む手段とが、前記表示装置上でウィンドウ事象が発
生する時に必ず動作することを特徴とする、上記(3)
に記載のシステム。 (5)メモリからウィンドウ・クリッピング・バッファ
を割り振る手段と、前記ウィンドウ・クリッピング・バ
ッファを第1の値に初期設定する手段と、複数のウィン
ドウのうちの1ウィンドウの、前記複数のウィンドウの
うちの他のウィンドウによって隠される領域を判定する
手段と、前記ウィンドウ・クリッピング・バッファの、
前記1ウィンドウの可視の部分に対応する領域だけに、
第2の値を書き込む手段と、フレーム・バッファへグラ
フィック・イメージ・データを書き込む前に前記ウィン
ドウ・クリッピング・バッファをテストし、前記バッフ
ァが可視領域を示す場合に限って前記グラフィック・イ
メージ・データを書き込む手段とを含む、グラフィック
・イメージが前記メモリ内のフレーム・バッファに書き
込まれ、表示装置上の前記複数のウィンドウのうちの前
記1ウィンドウに表示されることを特徴とする、プロセ
ッサ、表示装置およびメモリを有するグラフィックス・
システム内でグラフィック・イメージをクリッピングす
るための、コンピュータ・プログラム論理を記録された
コンピュータ可読媒体を有するコンピュータ・プログラ
ム製品。 (6)前記複数のウィンドウのそれぞれに1つのウィン
ドウ・クリッピング・バッファが別々に割り振られるこ
とを特徴とする、上記(5)に記載のコンピュータ・プ
ログラム製品。 (7)前記可視領域を判定する手段と前記第2の値を書
き込む手段とが、前記表示装置上でウィンドウ事象が発
生する時に必ず動作することを特徴とする、上記(6)
に記載のコンピュータ・プログラム製品。
【図1】本発明の好ましい実施例が実施されるコンピュ
ータ・システムのブロック図である。
ータ・システムのブロック図である。
【図2】本発明によるグラフィックス・システムが実行
する処理を示すブロック図である。
する処理を示すブロック図である。
【図3】本発明によるウィンドウと関連ウィンドウ・ク
リップ・バッファの組を示す図である。
リップ・バッファの組を示す図である。
【図4】本発明の発明的処理ステップを示す流れ図であ
る。
る。
100 コンピュータ・システム 102 処理装置 104 ランダム・アクセス・メモリ 106 通信アダプタ 112 入出力制御機構 113 グラフィックス・メモリ 114 ビデオ表示装置 116 キーボード 118 ポインティング装置 120 ディスク制御機構 122 永続記憶装置 302 ウィンドウA 304 ウィンドウB 305 クリッピング・ウィンドウ
フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 G06T 1/00 G09G 5/14 C 9471−5G
Claims (7)
- 【請求項1】ウィンドウ・クリップ・バッファにするた
めメモリの一部を割り振るステップと、 他のウィンドウによって1ウィンドウが隠される複数の
不可視領域を判定するため複数のウィンドウのうちの前
記他のウィンドウをテストするステップと、 各画素位置での可視または遮りを示すため前記ウィンド
ウ・クリップ・バッファを変換するステップと、 前記1ウィンドウに書き込まれる画素ごとに、 書き込まれる画素の画素位置に対応する前記ウィンドウ
・クリップ・バッファ内の値をテストするステップと、 前記テストによって可視位置が示される場合には前記画
素を描き、その位置が不可視の場合には描画を迂回する
ステップとを繰り返すステップとを含む、前記メモリと
プロセッサを有するコンピュータ・グラフィックス・シ
ステムで、前記複数のウィンドウのうちの前記1ウィン
ドウに書き込まれる画素をクリッピングする方法。 - 【請求項2】メモリからウィンドウ・クリッピング・バ
ッファを割り振る手段と、 前記ウィンドウ・クリッピング・バッファを第1の値に
初期設定する手段と、 複数のウィンドウのうちの1ウィンドウの、前記複数の
ウィンドウのうちの他のウィンドウによって隠される領
域を判定する手段と、 前記ウィンドウ・クリッピング・バッファの、前記1ウ
ィンドウの可視の部分に対応する領域だけに、第2の値
を書き込む手段と、 フレーム・バッファへグラフィック・イメージ・データ
を書き込む前に前記ウィンドウ・クリッピング・バッフ
ァをテストし、前記バッファが可視領域を示す場合に限
って前記グラフィック・イメージ・データを書き込む手
段とを具備し、グラフィック・イメージが前記メモリ内
のフレーム・バッファに書き込まれ、表示装置上の前記
複数のウィンドウのうちの前記1ウィンドウに表示され
ることを特徴とする、プロセッサ、表示装置および前記
メモリを有するグラフィックス・システムで、グラフィ
ック・イメージをクリッピングするシステム。 - 【請求項3】前記複数のウィンドウのそれぞれに1つの
ウィンドウ・クリッピング・バッファが別々に割り振ら
れることを特徴とする、請求項2に記載のシステム。 - 【請求項4】前記可視領域を判定する手段と前記第2の
値を書き込む手段とが、前記表示装置上でウィンドウ事
象が発生する時に必ず動作することを特徴とする、請求
項3に記載のシステム。 - 【請求項5】メモリからウィンドウ・クリッピング・バ
ッファを割り振る手段と、 前記ウィンドウ・クリッピング・バッファを第1の値に
初期設定する手段と、 複数のウィンドウのうちの1ウィンドウの、前記複数の
ウィンドウのうちの他のウィンドウによって隠される領
域を判定する手段と、 前記ウィンドウ・クリッピング・バッファの、前記1ウ
ィンドウの可視の部分に対応する領域だけに、第2の値
を書き込む手段と、 フレーム・バッファへグラフィック・イメージ・データ
を書き込む前に前記ウィンドウ・クリッピング・バッフ
ァをテストし、前記バッファが可視領域を示す場合に限
って前記グラフィック・イメージ・データを書き込む手
段とを含む、グラフィック・イメージが前記メモリ内の
フレーム・バッファに書き込まれ、表示装置上の前記複
数のウィンドウのうちの前記1ウィンドウに表示される
ことを特徴とする、プロセッサ、表示装置およびメモリ
を有するグラフィックス・システム内でグラフィック・
イメージをクリッピングするための、コンピュータ・プ
ログラム論理を記録されたコンピュータ可読媒体を有す
るコンピュータ・プログラム製品。 - 【請求項6】前記複数のウィンドウのそれぞれに1つの
ウィンドウ・クリッピング・バッファが別々に割り振ら
れることを特徴とする、請求項5に記載のコンピュータ
・プログラム製品。 - 【請求項7】前記可視領域を判定する手段と前記第2の
値を書き込む手段とが、前記表示装置上でウィンドウ事
象が発生する時に必ず動作することを特徴とする、請求
項6に記載のコンピュータ・プログラム製品。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US121139 | 1987-11-16 | ||
US08/121,139 US5485562A (en) | 1993-09-14 | 1993-09-14 | System and method for clipping pixels drawn in one of plurality of windows in a computer graphics system |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0793568A true JPH0793568A (ja) | 1995-04-07 |
Family
ID=22394814
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6165553A Pending JPH0793568A (ja) | 1993-09-14 | 1994-07-18 | ウィンドウごとのグラフィックス・クリッピングを即座に行うためのシステムおよび方法 |
Country Status (3)
Country | Link |
---|---|
US (3) | US5485562A (ja) |
EP (1) | EP0643369A3 (ja) |
JP (1) | JPH0793568A (ja) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5485562A (en) * | 1993-09-14 | 1996-01-16 | International Business Machines Corporation | System and method for clipping pixels drawn in one of plurality of windows in a computer graphics system |
JP3451722B2 (ja) * | 1994-05-13 | 2003-09-29 | セイコーエプソン株式会社 | 映像データ転送装置 |
US5561755A (en) * | 1994-07-26 | 1996-10-01 | Ingersoll-Rand Company | Method for multiplexing video information |
US5819278A (en) * | 1996-08-23 | 1998-10-06 | Adobe Systems Incorporated | Maintaining invalidation information in tiled image representations |
US6061047A (en) * | 1996-09-17 | 2000-05-09 | Chips & Technologies, Inc. | Method and apparatus for clipping text |
US6377276B1 (en) * | 1998-06-18 | 2002-04-23 | Sony Corporation | Bitmap animation of on-screen-display graphics over a distributed network and a clipping region having a visible window |
DE19983292T1 (de) | 1998-06-18 | 2003-04-03 | Sony Electronics Inc | Verfahren und ein Gerät zum Aufteilen, zum maßstabsgetreuen Ändern und zum Anzeigen von Video- und/oder Graphik über mehrere Anzeigeeinrichtungen |
US6593937B2 (en) | 1998-06-18 | 2003-07-15 | Sony Corporation | Method of and apparatus for handling high bandwidth on-screen-display graphics data over a distributed IEEE 1394 network utilizing an isochronous data transmission format |
US6229518B1 (en) | 1998-10-07 | 2001-05-08 | Seiko Epson Corporation | Apparatus and method for controlling a software cursor |
US6271862B1 (en) | 1998-10-07 | 2001-08-07 | Seiko Epson Corporation | Apparatus and method for determining line clipping intersection points |
US6169759B1 (en) | 1999-03-22 | 2001-01-02 | Golden Bridge Technology | Common packet channel |
US6574267B1 (en) | 1999-03-22 | 2003-06-03 | Golden Bridge Technology, Inc. | Rach ramp-up acknowledgement |
US7215345B1 (en) * | 1999-04-09 | 2007-05-08 | Sun Microsystems, Inc. | Method and apparatus for clipping video information before scaling |
AU2001257329A1 (en) | 2000-04-28 | 2001-11-12 | Armed L.L.C. | Apparatus and method for mechanical imaging of breast |
US6831660B1 (en) * | 2000-06-15 | 2004-12-14 | International Business Machines Corporation | Method and apparatus for graphics window clipping management in a data processing system |
DE60143811D1 (de) * | 2000-10-16 | 2011-02-17 | Foster Miller Inc | Verfahren zur herstellung eines gewebeartikels mit elektronischer beschaltung und gewebeartikel |
US7310103B2 (en) * | 2002-03-05 | 2007-12-18 | Sun Microsystems, Inc. | Pipelined 2D viewport clip circuit |
WO2004002292A2 (en) * | 2002-06-27 | 2004-01-08 | The Regents Of The University Of California | Method and device to enhance skin blood flow |
US7302648B1 (en) | 2002-07-10 | 2007-11-27 | Apple Inc. | Method and apparatus for resizing buffered windows |
US6864899B1 (en) * | 2002-11-04 | 2005-03-08 | Savaje Technologies, Inc. | Efficient clip-list management for a two-dimensional graphics subsystem |
US20080143731A1 (en) * | 2005-05-24 | 2008-06-19 | Jeffrey Cheng | Video rendering across a high speed peripheral interconnect bus |
US7730336B2 (en) * | 2006-05-30 | 2010-06-01 | Ati Technologies Ulc | Device having multiple graphics subsystems and reduced power consumption mode, software and methods |
US7817155B2 (en) * | 2005-05-24 | 2010-10-19 | Ati Technologies Inc. | Master/slave graphics adapter arrangement |
US20070035668A1 (en) * | 2005-08-11 | 2007-02-15 | Sony Corporation | Method of routing an audio/video signal from a television's internal tuner to a remote device |
US8555099B2 (en) * | 2006-05-30 | 2013-10-08 | Ati Technologies Ulc | Device having multiple graphics subsystems and reduced power consumption mode, software and methods |
US20080294981A1 (en) * | 2007-05-21 | 2008-11-27 | Advancis.Com, Inc. | Page clipping tool for digital publications |
CN102711635B (zh) * | 2010-01-15 | 2015-06-10 | 意美森公司 | 用于带有触觉反馈的微创外科手术工具的***和方法 |
WO2011150343A1 (en) | 2010-05-28 | 2011-12-01 | Zoll Medical Corporation | Systems and methods for enhanced venous return flow |
US20110314412A1 (en) * | 2010-06-17 | 2011-12-22 | Microsoft Corporation | Compositing application content and system content for display |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6269372A (ja) * | 1985-09-20 | 1987-03-30 | Fujitsu Ltd | ビツトマツプメモリのクリツピング方式 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2215168A (en) * | 1988-02-23 | 1989-09-13 | Ibm | Windows with restricted colour range have priority defined by colour codes |
US5157764A (en) * | 1989-01-13 | 1992-10-20 | Sun Microsystems, Inc. | Apparatus and method for using a test window in a graphics subsystem which incorporates hardware to perform clipping of images |
JP2584105B2 (ja) * | 1990-05-31 | 1997-02-19 | 松下電器産業株式会社 | 画像編集処理方法 |
US5231695A (en) * | 1990-08-29 | 1993-07-27 | Xerox Corporation | Generalized clipping in an extended frame buffer |
US5388200A (en) * | 1990-12-21 | 1995-02-07 | Sun Microsystems, Inc. | Method and apparatus for writing directly to a frame buffer |
US5485562A (en) * | 1993-09-14 | 1996-01-16 | International Business Machines Corporation | System and method for clipping pixels drawn in one of plurality of windows in a computer graphics system |
-
1993
- 1993-09-14 US US08/121,139 patent/US5485562A/en not_active Expired - Fee Related
-
1994
- 1994-07-18 JP JP6165553A patent/JPH0793568A/ja active Pending
- 1994-09-13 EP EP94306696A patent/EP0643369A3/en not_active Withdrawn
-
1995
- 1995-07-28 US US08/508,516 patent/US5553210A/en not_active Expired - Fee Related
-
1996
- 1996-07-25 US US08/660,309 patent/US5883634A/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6269372A (ja) * | 1985-09-20 | 1987-03-30 | Fujitsu Ltd | ビツトマツプメモリのクリツピング方式 |
Also Published As
Publication number | Publication date |
---|---|
EP0643369A3 (en) | 1996-01-03 |
EP0643369A2 (en) | 1995-03-15 |
US5553210A (en) | 1996-09-03 |
US5485562A (en) | 1996-01-16 |
US5883634A (en) | 1999-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0793568A (ja) | ウィンドウごとのグラフィックス・クリッピングを即座に行うためのシステムおよび方法 | |
US7453473B2 (en) | Method and apparatus for high-performance rendering and hit testing of a window tree | |
US8384738B2 (en) | Compositing windowing system | |
US6573904B1 (en) | Method and apparatus in a data processing system for updating color buffer window identifies when an overlay window identifier is removed | |
US8803898B2 (en) | Forming a windowing display in a frame buffer | |
US5734806A (en) | Method and apparatus for determining graphical object visibility | |
EP0547784B1 (en) | Managing display windows of interrelated applications | |
KR20080023724A (ko) | 컴퓨터를 위한 확대 엔진 및 인터페이스 | |
US5966136A (en) | Efficient method for clipping numerous objects against an arbitrary clipping path | |
US5150312A (en) | Animation processor method and apparatus | |
US7898549B1 (en) | Faster clears for three-dimensional modeling applications | |
US6567098B1 (en) | Method and apparatus in a data processing system for full scene anti-aliasing | |
US5522020A (en) | System and method for rapidly determining relative rectangle position | |
US20050151754A1 (en) | Method and apparatus for implementing dynamically sizable color tables | |
US20050088449A1 (en) | Child window redirection | |
US6529208B1 (en) | Method and apparatus for updating a window identification buffer in a data processing system | |
US9471956B2 (en) | Graphic remoting system with masked DMA and graphic processing method | |
US6710777B1 (en) | Method and apparatus in a data processing system for installing appropriate WID values for a transparent region | |
US6822659B2 (en) | Method and apparatus for increasing pixel interpretations by implementing a transparent overlay without requiring window identifier support | |
JP2002083308A (ja) | データ処理システムにおけるグラフィックス・データを処理する方法、データ処理システムおよびコンピュータ・プログラム製品 | |
US7248267B2 (en) | Method and apparatus for simulated direct frame buffer access for graphics adapters | |
US6911991B2 (en) | Apparatus and method for dynamically programming a window ID configuration based on an application environment | |
JPS61240283A (ja) | 表示制御装置 | |
US7355602B1 (en) | Surrogate stencil buffer clearing | |
JP2503222B2 (ja) | 画像処理装置 |