JP2991591B2 - マルチウィンドウ表示装置及び方法 - Google Patents

マルチウィンドウ表示装置及び方法

Info

Publication number
JP2991591B2
JP2991591B2 JP5195921A JP19592193A JP2991591B2 JP 2991591 B2 JP2991591 B2 JP 2991591B2 JP 5195921 A JP5195921 A JP 5195921A JP 19592193 A JP19592193 A JP 19592193A JP 2991591 B2 JP2991591 B2 JP 2991591B2
Authority
JP
Japan
Prior art keywords
window
clipping
clip
wid
diagonal
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.)
Expired - Lifetime
Application number
JP5195921A
Other languages
English (en)
Other versions
JPH0749762A (ja
Inventor
將弘 渡邊
利幸 桑名
朗 小林
廣明 野島
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP5195921A priority Critical patent/JP2991591B2/ja
Publication of JPH0749762A publication Critical patent/JPH0749762A/ja
Application granted granted Critical
Publication of JP2991591B2 publication Critical patent/JP2991591B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Digital Computer Display Output (AREA)
  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)
  • User Interface Of Digital Computer (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、マルチウィンドウシス
テムを有するワークステーションに係り、特にマルチウ
ィンドウ表示装置及び方法に関する。
【0002】
【従来の技術】近年、ビットマップイメージを扱う装置
において、マルチウィンドウシステムを有するワークス
テーションが急速に普及してきている。かかるマルチウ
ィンドウシステムにおいて、ディスプレイに表示するビ
ットマップイメージであって、複数の重なり合ったウィ
ンドウ内の中の1のウィンドウへ描画を行う、いわゆる
クリッピングを行うためのクリップ制御方式としては、
例えば、IEEE ComputerGraphics and applications MAY
1991 VOLUME11 NUMBER 3に記載の論文、「Window Clip
ping Methods in Graphics Accelerators」で示される
ように、以下の2つの方式が広く使われている。
【0003】1.描画を行なう領域を2点を対角とする
矩形(以下描画矩形と称する)領域内とし、描画図形を
構成する画素が描画矩形内に存在する場合にフレームメ
モリに表示するデータの書き込みをする方式(以下「対
角クリップ方式」と称する)である。 2.ウィンドウシステムが表示するウィンドウごとに識
別子としてユニークな整数(以下「ウィンドウID」と
称し、「WID」と略記する)値を割り当て、このWI
D値をフレームメモリの表示画素と1対1に対応するメ
モリ(以下「ウィンドウIDプレーン」と称し、「WI
Dプレーン」と略記する)に記憶する。描画処理を行う
場合には、描画する図形の画素に対応するWIDプレー
ンに格納されたWID値が、描画対象とするウィンドウ
のWID値と一致する場合にのみ、その画素を描画する
クリッピング方式(以下「WIDクリップ方式」と称す
る)である。
【0004】また、特開平4−296929号公報に
は、図形描画時に、発生画素毎にウィンドウの矩形座標
を参照し、その画素を描画すべきか否かを判定しながら
図形を描画するクリッピング制御装置が知られている。
【0005】
【発明が解決しようとする課題】しかしながら、上記の
従来技術では、以下に述べるような問題点があった。ま
ず、上記IEEE論文において、前者によるクリップ方式
(対角クリップ方式)では、描画矩形数が1つの場合に
は、描画図形を構成する画素が描画矩形内であるか否か
を画素の座標値と矩形を構成する2点の座標値との単純
な演算(比較)の結果で判定可能であるため、高速なク
リッピング処理が可能である。しかし、描画ウィンドウ
に他のウィンドウが重なった場合等、描画矩形が複数存
在する場合は、その複数の描画矩形1つ1つに対してク
リッピング処理を行なわなければならないため、描画矩
形数に比例して処理負荷が大きくなり、描画性能が低下
する。また、円形など矩形でない領域のクリッピングを
行なう場合には、多数の描画矩形により円形領域を近似
するため、上記と同様の理由により高速描画を実現する
ことが困難であった。
【0006】一方、後者によるクリッピング(WIDク
リップ方式)では、描画ウィンドウに他のウィンドウに
よる重なり部分があった場合でも、クリッピング処理を
複数回繰り返す必要がないため、クリッピング処理負荷
は一定であり、矩形以外の複雑な形状のクリップを行な
う際にも性能低下は起きない。しかし、描画矩形数が1
つの場合であっても、WIDプレーンに対して矩形内の
全ての画素に対応するWIDの設定が描画前に必要であ
り、また、描画を行なう際にも描画対象画素ごとにWI
Dの取得、比較を行なってクリッピングするため、前出
のクリップ方式よりも高速に描画することが困難であっ
た。
【0007】すなわち、以上の従来技術における2つの
方式を比較すると、対角クリップ方式によるクリッピン
グでは、描画矩形(ウィンドウ)数が1つの場合にはW
IDクリップ方式よりも高速であるが、描画ウィンドウ
が円形であったり、描画ウィンドウに他のウィンドウに
よる重なりがあって複雑となる場合には、描画矩形の数
に比例して処理負荷が増加し、描画性能が低下する。
【0008】一方、WIDクリップ方式によるクリッピ
ングは、描画矩形数が1つの場合でも、描画対象領域の
画素数分のWIDの設定が必要であり、また、描画する
画素毎にWIDの取得および比較が必要なためクリッピ
ング処理負荷は高くなるが、しかし、対角クリップ方式
とは異なり描画矩形数が多い複雑な形状のクリッピング
をする場合でも、処理負荷はあまり変化しないという特
徴がある。
【0009】また、上記の特開平4−296929号公
報により知られたクリッピング制御装置も、上述の対角
クリップ方式と同様であり、描画ウィンドウが円形であ
ったり、描画ウィンドウに他のウィンドウによる重なり
があって複雑となる場合には、描画矩形の数に比例して
処理負荷が増加し、描画性能が低下するという問題点が
ある。
【0010】すなわち、上記のいずれの従来技術におい
ても、表示装置上に開かれたウィンドウの数や形状など
に対応し、すなわち描画ウィンドウの状態に適合して効
率的にクリッピングを行うということは何等考慮されて
おらず、また、そのための解決策も教示されていなかっ
た。
【0011】そこで、本発明では上記の従来技術におけ
る問題点に鑑み、まず、ウィンドウの数や形状によって
変化する描画ウィンドウの状態に適合しながら効率的か
つ高速にクリッピング処理を行うことが可能なマルチウ
ィンドウ表示装置及び方法を提供することをその目的と
する。
【0012】
【課題を解決するための手段】本発明は、表示画面上に
複数のウィンドウを表示することの可能なマルチウィン
ドウ表示装置において、画素データを格納するフレーム
メモリと、このフレームメモリの画素データを表示する
表示画面を持つディスプレイと、中央演算装置からの描
画命令に基づき画素データを発生し、上記表示画面上に
開かれて表示されるべきウィンドウの状況に応じて、複
数のクリップ方式の1つ又は併用の選択を行い、上記画
素データが書き込むべき対象の画素データか否かを、上
記選択したクリップ方式に従って判定し、書き込むべき
対象の画素データと判定した時にはその画素データを上
記フレームメモリの所定アドレスに書き込む描画制御手
段と、を備えたマルチウィンドウ表示装置を開示する。
更に本発明は、複数のクリップ方式とは、対角クリップ
方式、ウィンドウIDクリップ方式とするマルチウィン
ドウ表示装置を開示する。更に本発明は、複数のクリッ
プ方式とは、対角クリップ方式、ウィンドウIDクリッ
プ方式、円形クリップ方式とするマルチウィンドウ表示
装置を開示する。更に本発明は、ウィンドウの状況と
は、マルチウィンドウの数又はその形状とするマルチウ
ィンドウ表示装置を開示する。
【0013】本発明は、画素データを格納するフレーム
メモリと、このフレームメモリの画素データを表示する
表示画面を持つディスプレイと、を備えて表示画面上に
複数のウィンドウを表示することの可能なマルチウィン
ドウ表示方法において、中央演算装置からの描画命令に
基づき画素データを発生し、上記表示画面上に開かれて
表示されるべきウィンドウの状況に応じて、複数のクリ
ップ方式の1つ又は併用の選択を行い、上記画素データ
が書き込むべき対象の画素データか否かを、上記選択し
たクリップ方式に従って判定し、書き込むべき対象の画
素データと判定した時にはその画素データを上記フレー
ムメモリの所定アドレスに書き込むことを特徴とするマ
ルチウィンドウ表示方法を開示する。更に本発明は、複
数のクリップ方式とは、対角クリップ方式、ウィンドウ
IDクリップ方式とするマルチウィンドウ表示方法を開
示する。更に本発明は、複数のクリップ方式とは、対角
クリップ方式、ウィンドウIDクリップ方式、円形クリ
ップ方式とするマルチウィンドウ表示方法を開示する。
更に本発明は、ウィンドウの状況とは、マルチウィンド
ウの数又はその形状とするマルチウィンドウ表示方法を
開示する。
【0014】
【作用】上述の本発明になるマルチウィンドウ表示装置
及び方法は、以下の理由により提供される。 1.各種のクリップ方式の中でWIDクリップ方式にお
いては複雑な形状のクリッピングを行なう場合にクリッ
ピング処理の負荷の増加は少なく、描画矩形が1つの矩
形ウィンドウに対する描画性能が対角クリップ方式より
も低いのは、WIDプレーンに対するアクセスが行なわ
れるためである。 2.CAD等のアプリケーションにおいて高速描画が要
求されるウィンドウは、画面上で最上位に位置するウィ
ンドウ(特に矩形ウィンドウ)がほとんどである。
【0015】すなわち、本発明では、上記2つの事柄に
着眼し、WIDクリップ方式と、このWIDプレーンを
アクセスせずにクリッピングを行なう別の方式とを利用
し、これら複数のクリップ方式を、ディスプレイ上に開
かれて表示されるウィンドウの状況(例えば、その数や
形状等)に対応して適宜選択することにより、変化する
描画ウィンドウの状態に適合しながら効率的かつ高速に
クリッピング処理を行うことが可能なマルチウィンドウ
システムのクリップ制御方法及びそれを利用した表示装
置を提供するものである。
【0016】より具体的には、本発明によれば、例えば
WIDクリップ方式によるクリッピングと対角クリップ
方式によるクリッピングを行なう構成を備えた表示装置
において、例えば複雑な形状のクリップを行なう場合に
は、WIDクリップ方式だけによらず、対角クリップ方
式をも併用するWID・対角クリップ併用方式によるク
リッピングを行わしめ、もって、対角クリップ方式にて
描画矩形分のクリッピングを行なった場合に発生するソ
フトウェアの処理負荷の増大による描画速度の低下を回
避する。
【0017】また、描画矩形が少ない(例えば1つの)
場合には、対角クリップ方式によりクリッピングを行な
い、必要のないWIDプレーンへのアクセスによる描画
速度の低下を防ぐ。
【0018】また、WIDクリップ方式によるクリッピ
ングを行なうとき、同時に対角クリップ方式によるクリ
ッピングを行なうことも、高速描画に有効となる。ある
矩形領域内のみWIDクリップ方式によるクリッピング
を行なうと、その矩形外に描画図形が及んだときに描画
を終了すれば、不必要な描画画素の発生とそのWIDの
取得を回避することが出来ることによる。なお、対角ク
リップ方式は単一の形状(例えば矩形)のクリッピング
を行なうものであるとは限らず、例えば、円形内をWI
Dを使用することなくクリッピングを行なうことが可能
で、ウィンドウの形状等によって選択可能な方式(例え
ば、円形クリップ方式)であってもよい。この方式が可
能な場合には、描画領域の形状が円形または矩形形状の
ウィンドウである場合には、対角クリップ方式あるいは
円形クリップ方式によりクリッピングを行ない、その他
の形状のウィンドウの場合にはWID・対角クリップ併
用方式によるクリッピングを行なう。
【0019】
【実施例】以下、添付の図面に示す実施例により、本発
明についてより詳細に説明する。図3には、本発明を採
用したワークステーションの全体概略構成が示されてい
る。 〈構成機器〉ワークステーション115は中央処理装置
(以下CPUと略記する)11、メインメモリ13、描
画用LSI17、入力コントローラ112、WIDプレ
ーン18、フレームメモリ19により構成される。CP
U 11、メインメモリ13、描画用LSI17、入力
コントローラ112は、バス12を介して相互に接続さ
れている。メインメモリ13には、ウィンドウシステム
14、ウィンドウシステム14が生成するウィンドウ毎
のクリップ管理テーブル15、さらには、ウィンドウシ
ステム14上で動作するアプリケーション16などが存
在する。CPU11は、描画用LSI17を介してWI
Dプレーン18とフレームメモリ19にアクセス可能と
なっている。すなわち、本実施例では、クリップ方式と
してWIDクリップ方式を行なう回路と対角クリップを
行なう回路により構成されている。
【0020】次に、上記のWIDプレーン18とフレー
ムメモリ19の構成について説明する。 〈フレームメモリおよびWIDプレーンの構成〉フレー
ムメモリ19は32bit/pixelで、横1280
pixel、縦1024pixelの画素データを格納
するメモリである。フレームメモリ19の内容はDAC
111が読み出し、例えばCRTディスプレイ110上
に表示する。また、WIDプレーン18は、1画素当た
り4bit、フレームメモリと同じ画素数(1280x
1024)分のWIDを格納するメモリである。なお、
これらのフレームメモリ19およびWIDプレーン18
の内容は、例えば平面座標(0,0)から(1279,
1023)までの同一座標系でアクセス可能である。
【0021】続いて、以下に、入力デバイスについて説
明する。 〈入力デバイス〉キーボード113およびマウス114
は、入力コントローラ117を介してバス12に接続さ
れている。なお、本発明において、これらキーボード1
13およびマウス114等の入力デバイスは、必ずしも
必要なものではない。
【0022】図4には、上記メインメモリ13のクリッ
プ管理テーブル15の内容の一例を示す。図に示すよう
に、クリップ管理テーブル15は、描画矩形数格納部3
1と矩形情報部32により構成されている。すなわち、
矩形情報部32は、描画矩形数格納部31に格納されて
いる数だけ存在することとなる。例えば、描画矩形数格
納部31の内容が「3」であれば、矩形情報部32が3
つ連続して存在する。
【0023】次に、本発明のクリッピング制御方法を実
施するための描画用LSIの内部及びその周辺機器の構
成を、図1を参照しながらより詳細に説明する。 〈描画用LSIの内部構成〉図1には、描画用LSI1
7内部のより詳細なブロック図が示されている。描画用
LSI17は、具体的には、各ウィンドウ毎に固有の値
を付与するWIDレジスタ51、上記WIDレジスタ5
1からの出力とWIDプレーン18からデータ線519
を介して読み取られたWIDを比較するための比較器5
2、「1」あるいは「0」信号を出力するWIDEBL
回路53、上記比較器52及びWIDEBL回路53か
らの出力を入力とするOR回路54を含んでいる。ま
た、この描画用LSI17は、矩形ウィンドウの左上点
の座標値を格納するclLレジスタ55、矩形ウィンド
ウの右下点の座標値を格納するclRレジスタ56、描
画直線の始点の座標値を格納するstpレジスタ57、
描画直線の終点の座標値を格納するenpレジスタ5
8、上記stpレジスタ57とenpレジスタ58に接
続され、直線を構成する画素を発生するための直線発器
DDA(直線発生器)59、そして、この描画された直
線がウィンドウ矩形内に存在することを判別する対角ク
リップ判定器(CLIP)511を含んでいる。さら
に、上記描画用LSI17は、上記OR回路54と対角
クリップ判定器(CLIP)511からの出力を入力す
るAND回路512、そして、RGBレジスタ516、
及び、制御部518により構成される。なお、上記のW
IDレジスタ51、clLレジスタ55、clRレジス
タ56、stpレジスタ57、enpレジスタ58及び
RGBレジスタ516は、それぞれ、バス12を介して
CPU11からアクセス可能となっており、その中で、
WIDレジスタ51、clLレジスタ55、clRレジ
スタ56、stpレジスタ57、enpレジスタ58及
びRGBレジスタ516は、具体的には、例えば32b
itのレジスタにより構成されている。
【0024】また、図中の符号514と517はアドレ
ス算出器であり、前者はデータ線510と515を介し
てフレームメモリ19へ、後者はデータ線510を介し
てWIDプレーン18へ接続されている。また、上記A
ND回路512の出力はライトイネイブル信号線513
を介してフレームメモリ19へ接続されている。
【0025】以上にその構成を説明した本発明の実施例
になるワークステーションの、特に直線の描画を行なう
際の各部の説明を行なう。なお、本発明によれば、以下
にも説明するように、対角クリップ方式によるクリッピ
ングと、WIDクリップ方式によるクリッピングを行う
と共に、これら両方式を同時に行うWID・対角クリッ
プ併用方式も可能となっており、以下にこれら各方式に
ついて説明を加える。
【0026】〈WIDクリップ方式の設定〉ウィンドウ
システム14は、WIDレジスタ51にWIDクリップ
方式によりクリッピングを行なう場合には、最上位ビッ
トを「0」にして下位4bitに被描画ウィンドウのW
IDを表す値を格納する。
【0027】〈対角クリップ方式の設定〉一方、ウィン
ドウシステム14は、対角クリップによってのみクリッ
ピングを行なう場合には、最上位ビットが「1」である
値をWIDレジスタ51に格納する。ウィンドウシステ
ム14は、clLレジスタ55に、対角クリップ方式に
おける描画矩形を成す左上点の座標値を格納し、clR
ジスタ56に右下点の座標値を格納する。ウィンドウシ
ステム14は、stpレジスタ57に直線の始点の座標
値を格納し、enpレジスタ58に描画する直線の終点
の座標値を格納する。ウィンドウシステム14は、RG
Bレジスタ516にフレームメモリ19に書き込むデー
タを格納する。また、制御部518は、描画用LSI1
7全体の動きを制御する。
【0028】〈対角クリップ方式による直線描画〉対角
クリップ方式のみによりクリップを行ない直線を描画す
る場合には、上述のように、ウィンドウシステム14
は、WIDレジスタ51に最上位ビットが「1」である
値を格納する。このWIDレジスタ51の最上位ビット
が「1」である場合、制御部518はWIDEBL回路
53に対し、OR回路54に常に「1」を出力するよう
に設定する。この場合、制御部518は、比較器52が
WIDプレーン18のWIDの取得を行なわないように
制御する。また、ウィンドウシステム14は、clLレ
ジスタ55、clRレジスタ56に描画矩形を成す2点
の座標値を格納した後、stpレジスタ57に、描画直
線の始点の座標値を格納し、enpレジスタ58に直線
の終点の座標値を格納する。enpレジスタ58に終点
の座標値が格納されると、制御部518は、直線発生器
DDA59を起動する。この起動されたDDA59は、
stpレジスタ57及びenpレジスタ58に格納され
た直線の始終点の座標値に従い、直線を構成する画素の
座標値を始点から終点方向に1画素ずつ発生させる。発
生した画素の座標値は、データ線510を介して、描画
矩形内に存在しているかを判定する対角クリップ判定器
(CLIP)511とアドレス算出器514に送られ
る。
【0029】対角クリップ判定器(CLIP)511
は、clLレジスタ55、clRレジスタ56に格納さ
れた描画矩形を成す2点の座標値を参照し、DDA59
が発生した直線を形成する1画素が描画矩形内に存在す
るかを判定する。画素が描画矩形内に存在するときには
AND回路512に「1」を出力し、他方、描画矩形内
に存在しないときには、AND回路512に「0」を出
力する。AND回路512はフレームメモリ19に対し
て、ライトイネイブル信号線513を出力する。このA
ND回路512の出力は、OR回路54からの入力が常
に「1」の状態になっているため、対角クリップ判定器
(CLIP)511の出力のみに依存することとなる。
一方、アドレス算出器514は、DDA59が発生した
直線を形成する1画素の座標値をフレームメモリ上の実
アドレスに変換し、アドレス信号線515に出力する。
すなわち、ライトイネイブル信号線513に「1」が出
力されていればRGBレジスタ516に格納されたデー
タは、アドレス算出器514の出力したフレームメモリ
19の上のアドレスに格納される。一方、ライトイネイ
ブル信号線513への出力が「0」である場合には、フ
レームメモリ19への書き込みは行なわない。
【0030】DDA59は、1画素に対する処理が終了
すると、次の1画素を発生させ、上記と同様の手順によ
って直線を描画していく。本実施例では、制御部518
は直線を終点まで描画した時点と、直前に描画した画素
が矩形内で、かつ、今回生成した画素が矩形外となった
時点でDDA59を停止する。なお、この対角クリップ
方式による直線のクリッピング処理の場合には、直線を
形成する画素数分のWIDの取得が不必要であり、その
ため描画矩形が1つである場合にはWIDクリップ方式
よりも高速に描画できる利点があることは言うまでもな
い。
【0031】<WID・対角クリップ併用方式による直
線描画〉次にWIDクリップ方式と対角クリップ方式を
同時に行うクリッピング方式、すなわちWID・対角ク
リップ併用方式によりクリッピングを行なう場合には、
まず、WIDレジスタ51の最上位ビットに「0」を、
下位4bitに被描画ウィンドウの識別子を表す固有値
を設定する。WIDレジスタ51の最上位ビットが
「0」である場合、制御部518は、WIDEBL回路
53をリセットし、OR回路54に「0」が出力される
ように設定し、比較器52がWIDプレーン18よりW
IDを取得するように制御する。
【0032】そのため、上記の対角クリップ方式により
クリッピングを行なう場合と同様に、ウィンドウシステ
ム14が、clLレジスタ55、clRレジスタ56に
描画矩形を成す2点の座標値を格納した後、stpレジ
スタ57に、描画直線の始点の座標値を格納し、enp
レジスタ58に直線の終点の座標値を格納する。enp
レジスタ58に終点の座標値が格納されると、制御部5
18により直線発生器DDA59が動作を開始し、st
pレジスタ57、enpレジスタ58に格納された直線
の始終点の座標値より、直線を構成する画素の座標値を
始点から終点方向に1画素ずつ発生させる。DDA59
が発生した直線を形成する1画素の座標値は、対角クリ
ップ判定器(CLIP)511と、アドレス算出器51
4、及び、アドレス変換器517に送られる。アドレス
変換器517は、送られてきた座標値を書き込み処理を
行なうフレームメモリ上の画素に対応するWIDプレー
ン上のアドレスに変換し、アドレス線518に出力す
る。一方、比較器52はWIDプレーン18上のアドレ
スに格納されているWIDをデータ線519を介して読
み取り、読み取ったWIDとWIDレジスタ51に格納
されている被描画ウィンドウのWIDとを比較し、一致
していればOR回路54に「1」を出力し、一致しなけ
れば「0」を出力する。この時、WIDEBL回路53
からの入力が常に「0」であるので、OR回路54の出
力は、比較器52からの出力のみに依存することとな
る。このOR回路54の出力はAND回路512への入
力となっており、前述の対角クリップ方式のみによりク
リッピングを行なう場合と同様に、ライトイネイブル信
号線513に出力される値が決定する。すなわち、ライ
トイネイブル信号線513への出力が「1」である場合
には、フレームメモリ19への書き込みを行ない、
「0」である場合には、書き込みを行なわない。直線を
終点まで描画した時点と、直前に描画した画素が矩形内
で、かつ、今回生成画素が描画矩形外となった時点で、
制御部518はDDA59を停止する。すなわち、この
WID・対角クリップ併用方式によりクリッピングを行
なう場合、WIDの比較によってAND回路512への
入力が変化する以外は、上記の対角クリップ方式と同様
の手順で描画を行なうこととなる。なお、WID・対角
クリップ併用方式により描画を行なう場合には、DDA
59の発生する画素数分のWIDの取得および比較が必
要となるため、1画素当たりの描画時間が、上記対角ク
リップ方式よりも長くなってしまう。
【0033】しかしながら、WID・対角クリップ併用
方式によりクリッピングを行なった場合には、WIDク
リップ方式を単独で使用する場合に比較し、処理負荷の
軽減に顕著な効果がある。すなわち、WIDクリップ方
式よりクリッピングを行うと同時に、対角クリップ方式
の描画矩形を指定するのは、描画矩形外の画素生成を少
なくし、無意味なWIDの取得を行なわずにDDA59
を停止させることが可能となるためである。このよう
に、WIDクリップ方式と対角クリップ方式の同時使用
によって、WIDクリップ方式を単独で使い場合と比較
し、描画矩形外の画素発生オ−バヘッドを減らす点にお
いて、顕著な効果がある。
【0034】WID・対角クリップ併用方式によりクリ
ッピングを行なった場合の具体的な効果を図により説明
する。ウィンドウ101はウィンドウ102の上に重な
っている。この状態のウィンドウ102に対して、始点
104、終点106による直線を描画する場合には、c
lLレジスタ55、clRレジスタ56に対して矩形1
03の左上点、右下点をそれぞれ設定する。このよう
に、ウィンドウ102に対しては対角クリップ方式によ
り、その外側にはWIDクリップ方式を使用してクリッ
ピングを行う設定により、始点104から開始された描
画処理は交点105で停止するため、交点105から終
点106の間を描画する必要が無く、顕著な性能面での
効果が達成できる。
【0035】続いて、図5を参照しながら、ウィンドウ
の重なり変更時の上記WIDプレーン18とフレームメ
モリ19の内容の変化を説明する。まず、図5(a)に
は、フレームメモリ19上に配置されたウィンドウ2
1、22が示されており、これらウィンドウ21、22
の描画矩形情報は、ウィンドウシステム14(図3を参
照)により、図4に示したクリップ管理テーブル15を
用いて管理される。なお、この図5(a)では、ウィン
ドウ21、22が重なり合って表示されている状態が示
されている。最上位にあるウィンドウ21は、描画矩形
23が1つあり、ウィンドウ21によって一部が覆われ
ているウィンドウ22は描画矩形24及び描画矩形25
の2つの描画矩形を有している。
【0036】図5(b)には、図5(a)のウィンドウ
重なり状態の時のWIDプレーン18の内容を示す。ウ
ィンドウ21の描画矩形に対応する領域24には全てウ
ィンドウ21のWID値が格納されている。同様に、ウ
ィンドウ22の描画矩形に対応する領域25には、ウィ
ンドウ22のWID値が格納されている。
【0037】ここで、図5(c)のように、ウィンドウ
21、22間のウィンドウの重なり状態を変更した場合
には、ウィンドウ21は描画矩形26及び描画矩形27
の2つの描画矩形を持ち、ウィンドウ22は描画矩形2
8を持つ。この時のWIDプレーン18の内容が図5
(d)に示されている。
【0038】図6には、上記図5(a)のウィンドウ重
なり状態を図5(c)の状態に変更した時、アプリケー
ションプログラム16(図2を参照)が上記ウィンドウ
システム14に対して行なわせる処理内容を示す。ま
ず、ウィンドウシステム14が、アプリケーションプロ
グラム16から、ウィンドウ22のポップアップの要求
を受け付ける(ステップ41)。続いて、ウィンドウシ
ステム14が、ウィンドウ21及びウィンドウ22のク
リップ管理テーブル15(図3参照)を更新する(ステ
ップ42)。フレームメモリ19に対してウィンドウの
重なり表示変更を行い(ステップ43)、この更新され
たクリップ管理テーブル15を参照しながら、WIDプ
レーン18の内容を書き換える(ステップ44)。
【0039】なお、本発明によれば、ウィンドウの数や
形状によって変化する描画ウィンドウの状態に適合しな
がら効率的かつ高速にクリッピング処理を行うことが可
能なマルチウィンドウシステムのクリップ制御方法とし
て、対角クリップ方式によるクリッピングと、WIDク
リップ方式によるクリッピングを行うと共に、これら両
方式を同時に行うWID・対角クリップ併用方式をも可
能とし、これらを適宜選択することにより効率的かつ高
速にクリッピング処理を行うものである。このクリップ
制御方法により直線を描画する処理手順の一例を、図7
により説明する。
【0040】図において、ウィンドウシステム14は、
まず、WID・対角クリップ併用方式(図中では、「W
ID併用クリップ」と略記する)を行うか否かを判定し
(ステップ61)、この結果に基づいて描画用LSI1
7の各レジスタ(例えば、図1のWIDレジスタ51)
に対する値の設定を行う。例えば、WID・対角クリッ
プ併用方式を行う場合には、WIDレジスタ51の最上
位ビットを「0」に、下位4ビットを被描画ウィンドウ
WIDにする(ステップ62)。一方、WID・対角ク
リップ併用方式を行なわない場合には、WIDレジスタ
51の最上位ビットを「1」にする(ステップ63)。
【0041】その後、クリッピングを行う矩形を示す左
上点と右上点の座標値をclLレジスタ55、clRレ
ジスタ56に設定し(ステップ64、65)、さらに、
描画する直線の始点の座標値をstpレジスタ57に設
定し(ステップ66)、その終点の座標値をenpレジ
スタ58に設定すると共に、DDA59を起動する(ス
テップ66)。
【0042】ここで、上記の処理におけるWID・対角
クリップ併用方式を行うか否かの判定処理(ステップ6
1)の一例の詳細を図8を用いて説明する。この判定処
理では、まず、描画矩形の数を判定し(ステップ8
1)、この描画矩形の数が「1」の場合には、対角クリ
ップ方式でクリッピングを行う(ステップ82)。描画
矩形の数が「2」の場合には、さらに、各描画矩形に対
して描画する直線の始終点がその描画矩形内に存在する
か否かを調べ(ステップ82)、その結果「Yes」で
ある場合には、対角クリップ方式によりクリッピングを
行い(ステップ84)、一方、「No」である場合に
は、WID・対角クリップ併用方式によりクリッピング
を行う(ステップ85)。
【0043】さらに、描画矩形の数を判定(ステップ8
1)した結果、この描画矩形の数が「1」あるいは
「2」以外の場合、例えば、描画矩形数が「3」以上存
在する場合には、WID・対角クリップ併用方式により
クリッピングを行うこととなる(ステップ86)。この
ように、本発明では、ウィンドウの数や形状によって変
化する描画ウィンドウの状態に適合しながら、効率的か
つ高速にクリッピング処理方式を選択することとなる。
【0044】上記に説明した本発明のマルチウィンドウ
システムのクリップ制御方法による実際の描画の例を図
9を参照しながら説明する。ワークステーションのディ
スプレー110上には、2つの矩形ウィンドウ71、7
2が開かれている。この図の状態では、矩形ウィンドウ
72は矩形ウィンドウ71によりその一部が覆い隠され
ている。そして、矩形ウィンドウ71は、左上点73と
右上点74を描画矩形として持ち、描画矩形数は「1」
である。ウィンドウ72は、左上点75と右上点76に
よる矩形と、左上点77と右上点78による2つの描画
矩形を持ち、それぞれのクリップ管理テーブル15にこ
れらの情報を備えている。
【0045】今、ウィンドウ72に対して直線79を描
画する場合、ウィンドウ72は描画矩形を2つ持つが、
左上点75と右上点76による描画矩形に含まれるた
め、対角クリップ方式によりクリッピングを行い、高速
な描画を行うことが出来る。他方、直線710をウィン
ドウ72に対して描画する場合には、直線710の終始
点が同一描画領域内にないために、WID・対角クリッ
プ併用方式によりクリッピングを行う。なお、直線以外
の図形を描画する場合のウィンドウシステム14の処理
手順も、上記直線の描画の場合と同様である。特に、塗
りつぶされた図形を描画する場合には、WIDクリップ
方式でクリッピングを行なうと、WIDを比較する回数
が非常に多くなるため、対角クリップ方式によりクリッ
ピングを行い得るか否かの判定は高速描画に有効な手段
となる。そこで、対角クリップ方式を用いるか、あるい
は、WIDクリップ方式でクリッピングを行なうかの判
定に、例えば、描画図形が塗りつぶし図形であるか否か
を、さらには、図形に外接する最小矩形が1つの描画矩
形内に存在するか否か、発生する画素数が多いか少ない
か等の条件を用いることも可能である。
【0046】続いて、図10には、今までに説明した矩
形ウィンドウの形状とは異なり、例えば円形ウィンドウ
に対して、本発明のクリップ制御方法によってクリッピ
ングを行う一例を説明する。ディスプレイ110上に
は、矩形ウィンドウ91と、円形ウィンドウ92が表示
されている。なお、矩形ウィンドウ91は、円形ウィン
ドウ92によりその一部が覆い隠されている。そこで、
矩形ウィンドウ91に対して直線93を描画する場合に
は、矩形ウィンドウ91上には円形ウィンドウ92が重
なっているため、対角クリップ方式で描画することは効
率が損なわれるため、WID・対角クリップ併用方式で
クリッピングして描画を行う。一方、円形ウィンドウ9
2に対して直線94を描画する場合には、この円形ウィ
ンドウ92は多数の矩形クリップ領域により構成されて
いるため、WID・対角クリップ併用方式により描画を
行う。
【0047】上記の実施例では、描画用LSI17は、
対角クリップ方式とWIDクリップ方式とWID・対角
クリップ併用方式を行うことが可能ではあるが、円形の
クリッピング(以下、「円形クリップ方式」と略記す
る)を行う場合には、WIDプレーン18を参照しなが
ら行うものであるとして説明した。しかしながら、この
描画用LSI17は、このようなものにのみに限定され
ることなく、例えば、上記対角クリップ方式とWIDク
リップ方式の両者を選択する手段に加えて、円形クリッ
プ方式をも行う機能をも備えるように設計されている場
合には、上記図10で説明した円形ウィンドウ92に対
する直線94の描画に際しても、WIDクリップ方式で
はなく、むしろ高速処理の可能な円形クリップ方式を用
いることにより、より高速な描画が可能になる。なお、
この場合、ある座標(x, y)が中心座標(X, Y)か
ら半径rの円形内に存在するか否かを判定するために
は、以下の式の条件を満たすか否かを判定するばよい。
【数1】 この図10に示す円形ウィンドウ92に対して直線94
を描画するに際しては、上記円形ウィンドウ92は最上
位のウィンドウであるため、WIDクリップ方式ではな
く、円形クリップ方式によりクリッピングを行う。な
お、発生画素数が多い場合には、WIDクリップ方式に
よるクリッピングよりも高速に描画が可能である。
【0048】
【発明の効果】上記の詳細な説明からも明らかなよう
に、本発明になるマルチウィンドウシステムのクリップ
制御方法及びそれを利用した表示装置によれば、多数の
矩形ウィンドウが表示され、あるいは、矩形以外のウィ
ンドウが表示された複雑な状況においても、変化する描
画ウィンドウの状態に適合しながら効率的かつ高速にク
リッピング処理を行うことが可能になるという優れた技
術的効果を発揮する。
【図面の簡単な説明】
【図1】本発明のマルチウィンドウシステムの表示装置
の特徴である描画用LSIの内部とその周辺部の回路構
成を示すブロック図である。
【図2】上記マルチウィンドウシステムの表示装置によ
り、WID・対角クリップ併用方式による直線の描画を
説明するための説明図である。
【図3】本発明のマルチウィンドウシステムの表示装置
を採用したワークステーションの全体構成を示すブロッ
ク図である。
【図4】上記ワークステーションの表示装置におけるク
リップ管理テーブルの内容の一例を示すデータ構成図で
ある。
【図5】上記ワークステーションの表示装置におけるW
IDプレーンとフレームメモリの関連について示す説明
図である。
【図6】ウィンドウをポップアップする際の、上記ワー
クステーションの表示装置におけるウィンドウシステム
の処理手順を示すフローチャートである。
【図7】上記ワークステーションの表示装置におけるウ
ィンドウシステムが直線を描画する際の処理手順を示す
フローチャートである。
【図8】上記図7の処理手順におけるクリップ方式選択
の処理手順を示すフローチャートである。
【図9】上記ワークステーションの表示装置によって重
なりのあるウィンドウに対する直線描画を行った場合の
一例を示す説明図である。
【図10】上記ワークステーションの表示装置によって
円形ウィンドウに対する直線描画を行った場合の一例を
示す説明図である。
【符号の説明】
11 CPU 12 バス 13 メインメモリ 14 ウィンドウシステム 15 クリップ管理テーブル 16 アプリケーションプログラム 17 描画用LSI 18 WIDプレーン 19 フレームメモリ 110 ディスプレイ 115 ワークステーション本体 31 描画矩形数格納部 32 矩形情報格納部 51 WIDレジスタ 52 比較器 53 WIDEBL(WIDイネイブル) 54 OR回路 55 clLレジスタ 56 clRレジスタ 57 stpレジスタ 58 enpレジスタ 59 DDA(直線発生器) 511 対角クリップ判定器(CLIP) 512 AND回路 518 制御部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 野島 廣明 茨城県日立市大みか町五丁目2番1号 株式会社日立製作所大みか工場内 (56)参考文献 特開 平5−40592(JP,A) 特開 平4−296929(JP,A) 特開 昭64−76372(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 3/14 - 3/153 G06T 15/00 - 15/70 G09G 5/00 - 5/40

Claims (8)

    (57)【特許請求の範囲】
  1. 【請求項1】 表示画面上に複数のウィンドウを表示す
    ることの可能なマルチウィンドウ表示装置において、 画素データを格納するフレームメモリと、 このフレームメモリの画素データを表示する表示画面を
    持つディスプレイと、 中央演算装置からの描画命令に基づき画素データを発生
    し、上記表示画面上に開かれて表示されるべきウィンド
    ウの状況に応じて、複数のクリップ方式の1つ又は併用
    の選択を行い、上記画素データが書き込むべき対象の画
    素データか否かを、上記選択したクリップ方式に従って
    判定し、書き込むべき対象の画素データと判定した時に
    はその画素データを上記フレームメモリの所定アドレス
    に書き込む描画制御手段と、 を備えたマルチウィンドウ表示装置。
  2. 【請求項2】 上記複数のクリップ方式とは、対角クリ
    ップ方式、ウィンドウIDクリップ方式とする請求項1
    のマルチウィンドウ表示装置。
  3. 【請求項3】 上記複数のクリップ方式とは、対角クリ
    ップ方式、ウィンドウIDクリップ方式、円形クリップ
    方式とする請求項1のマルチウィンドウ表示装置。
  4. 【請求項4】 上記ウィンドウの状況とは、マルチウィ
    ンドウの数又はその形状とする請求項1のマルチウィン
    ドウ表示装置。
  5. 【請求項5】 画素データを格納するフレームメモリ
    と、このフレームメモリの画素データを表示する表示画
    面を持つディスプレイと、を備えて表示画面上に複数の
    ウィンドウを表示することの可能なマルチウィンドウ表
    示方法において、 中央演算装置からの描画命令に基づき画素データを発生
    し、上記表示画面上に開かれて表示されるべきウィンド
    ウの状況に応じて、複数のクリップ方式の1つ又は併用
    の選択を行い、上記画素データが書き込むべき対象の画
    素データか否かを、上記選択したクリップ方式に従って
    判定し、書き込むべき対象の画素データと判定した時に
    はその画素データを上記フレームメモリの所定アドレス
    に書き込むことを特徴とするマルチウィンドウ表示方
    法。
  6. 【請求項6】 上記複数のクリップ方式とは、対角クリ
    ップ方式、ウィンドウIDクリップ方式とする請求項5
    のマルチウィンドウ表示方法。
  7. 【請求項7】 上記複数のクリップ方式とは、対角クリ
    ップ方式、ウィンドウIDクリップ方式、円形クリップ
    方式とする請求項5のマルチウィンドウ表示方法。
  8. 【請求項8】 上記ウィンドウの状況とは、マルチウィ
    ンドウの数又はその形状とする請求項5のマルチウィン
    ドウ表示方法。
JP5195921A 1993-08-06 1993-08-06 マルチウィンドウ表示装置及び方法 Expired - Lifetime JP2991591B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5195921A JP2991591B2 (ja) 1993-08-06 1993-08-06 マルチウィンドウ表示装置及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5195921A JP2991591B2 (ja) 1993-08-06 1993-08-06 マルチウィンドウ表示装置及び方法

Publications (2)

Publication Number Publication Date
JPH0749762A JPH0749762A (ja) 1995-02-21
JP2991591B2 true JP2991591B2 (ja) 1999-12-20

Family

ID=16349202

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5195921A Expired - Lifetime JP2991591B2 (ja) 1993-08-06 1993-08-06 マルチウィンドウ表示装置及び方法

Country Status (1)

Country Link
JP (1) JP2991591B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004354896A (ja) * 2003-05-30 2004-12-16 Matsushita Electric Ind Co Ltd 描画処理装置及び描画処理方法

Also Published As

Publication number Publication date
JPH0749762A (ja) 1995-02-21

Similar Documents

Publication Publication Date Title
JP3286331B2 (ja) ブロックテクスチャコンプレックスクリップマスクプロセッサ
US5430841A (en) Context management in a graphics system
US6437788B1 (en) Synchronizing graphics texture management in a computer system using threads
JPS60135994A (ja) グラフイツク表示装置
JP2585515B2 (ja) 図形描画方法
US5581796A (en) Processing method and graphics processor for skip drawing a figure
US6927776B2 (en) Data transfer device and method
JPH08249502A (ja) 補助バッファ情報を用いる改良型グラフィクス・ピッキング方法及び装置
JP2991591B2 (ja) マルチウィンドウ表示装置及び方法
US7528839B1 (en) Faster clears for three-dimensional modeling applications
US6831660B1 (en) Method and apparatus for graphics window clipping management in a data processing system
US5812150A (en) Device synchronization on a graphics accelerator
US5734873A (en) Display controller with accelerated drawing of text strings
JPS61180290A (ja) 図形表示装置
JP2829051B2 (ja) 文字表示方式
JPH0588838A (ja) マルチウインドウ表示装置
JP3337385B2 (ja) 表示制御回路
JP2547347B2 (ja) 画像表示制御装置
JP2956692B1 (ja) グラフィクス表示装置
JPS63240682A (ja) 図形表示におけるクリツピング処理方式
JPH0350686A (ja) 図形処理方式
JP3337934B2 (ja) ブリンク表示方法
JPH01116687A (ja) 図形描画処理方式
JPH02271424A (ja) フルグラフィック画面の表示方式
Paisner The evolution and architecture of a high-speed workstation for interactive graphics