JPH09288739A - 水平直線描画方法 - Google Patents

水平直線描画方法

Info

Publication number
JPH09288739A
JPH09288739A JP9881696A JP9881696A JPH09288739A JP H09288739 A JPH09288739 A JP H09288739A JP 9881696 A JP9881696 A JP 9881696A JP 9881696 A JP9881696 A JP 9881696A JP H09288739 A JPH09288739 A JP H09288739A
Authority
JP
Japan
Prior art keywords
word
straight line
pixels
horizontal straight
memory
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
JP9881696A
Other languages
English (en)
Inventor
Ryuichi Ono
隆一 尾野
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.)
DIGITAL KK
Original Assignee
DIGITAL KK
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 DIGITAL KK filed Critical DIGITAL KK
Priority to JP9881696A priority Critical patent/JPH09288739A/ja
Publication of JPH09288739A publication Critical patent/JPH09288739A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Abstract

(57)【要約】 【課題】 VRAMにアクセスして、高速に水平直線を
描画する。 【解決手段】 VRAMには、画面上で水平方向に連続
する2画素のデータを単位としてアドレスが付与される
と共に、2画素毎の小メモリ区分と、4画素毎の中メモ
リ区分と、8画素毎の大メモリ区分が設けられ、該VR
AMに対するアクセスにおいては、小メモリ区分にアク
セスするバイト描画と、中メモリ区分にアクセスするハ
ーフワード描画と、大メモリ区分にアクセスするワード
描画を選択することが出来る。直線描画処理において
は、ワード描画が可能であれば、ワード描画を選択し、
ワード描画が不可能であって且つハーフワード描画が可
能であれば、ハーフワード描画を選択し、ワード描画及
びハーフワード描画が不可能であって且つバイト描画が
可能であれば、バイト描画を選択する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、画面上に水平直線
を高速に描画する方法に関するものである。
【0002】
【従来の技術】図6に示す如く、CPU(1)に対して、
コンピュータプログラムが格納されたROM(2)や、画
像表示処理に用いるVRAM(3)を接続すると共に、C
RTや液晶表示パネル等のディスプレイ(4)、マウスや
タッチパネル等の入力装置(5)等を具えた画像描画表示
装置においては、ディスプレイ(4)の画面上に、コンピ
ュータプログラムによるソフトウエア処理によって、水
平直線を描画することが行なわれる。
【0003】ところで、ディスプレイ(4)の画面を構成
する画素が図4(a)に示す如くX軸及びY軸方向に配列
されているとき、CPU(1)が例えば“V810”等の
32ビットRISCプロセッサの場合、X軸に沿う任意
の水平直線については、同図(b)の如く、1画素が例え
ば4ビットのデータで表わされ、連続する2画素を単位
として、1つのアドレスが付与される。又、CPU(1)
が32ビットRISCプロセッサの場合、VRAM(3)
に対するアドレシングにおいては、図4(b)に示す如
く、VRAM(3)には、画面上の水平直線の始点画素か
ら終点画素に亘って、32ビット毎のワードバウンダリ
と、16ビット毎のハーフワードバウンダリと、8ビッ
ト毎のバイトバウンダリが設けられ、ワード(32ビッ
ト)毎のアクセスと、ハーフワード(16ビット)毎のア
クセスと、バイト(8ビット)毎のアクセスの3種類のア
クセスが選択可能である(図3参照)。
【0004】そこで、任意の長さの水平直線を描画する
場合、CPU(1)は、VRAM(3)に対し、バイトアク
セスによって2画素分(8ビット長)のデータを読み込
み、両方或いは一方の画素のデータを書き換えた後、該
2画素分のデータをVRAM(3)へ書き戻す処理、即ち
“リードモディファイライト”を繰り返すことによっ
て、始点画素から終点画素まで描画処理を進めていた。
例えば、図5は、1本の水平直線が“3番色”(水色)で
描画されている場合に、座標“7”の画素を“4番色”
(赤色)に変更する際のリードモディファイライト処理を
表わしており、先ず、同図(a)に示すアドレス“3”に
バイトアクセスして、同図(b)の如く座標“6”及び
“7”の画素について格納されている8ビットのデータ
を読出し(リード)、同図(c)の如く、CPU内で座標
“7”の4ビットのデータのみを“4番色”に書き換え
る(モディファイ)。その後、同図(d)の如く、書き換え
後の8ビットのデータを、VRAMのアドレス“3”に
書き戻すのである(ライト)。
【0005】
【発明が解決しようとする課題】しかしながら、従来の
リードモディファイライトを用いた水平直線の描画にお
いては、1つの画素を描画する度に、VRAMに対して
リードとライトの2回のアクセスが必要となるため、描
画すべき直線の長さに比例してアクセス回数が増大し
て、描画処理に時間がかかる問題があった。そこで本発
明の目的は、従来よりも高速に水平直線を描画すること
である。
【0006】
【課題を解決する為の手段】本発明に係る水平直線描画
方法において、画像表示処理用のメモリには、画面上で
水平方向に連続するN画素(Nは2以上の整数)のデータ
を単位としてアドレスが付与されると共に、該メモリに
対して、N×2m画素(mは0及び1以上の整数)のデー
タを一度にアクセスすることが可能である。水平直線の
描画においては、画面上の水平直線を全長に亘ってN×
m画素(mは0及び1以上の整数)毎に区分した場合、
描画せんとする画素についてアクセス可能な区分の中
で、最も長い区分を選択しつつ、該区分に対応するメモ
リ領域にアクセスして、始点画素から終点画素まで描画
処理を進める。
【0007】Nを2、mを0、1、及び2に設定した具
体的構成において、メモリには、画面上で水平方向に連
続する画素に対応して、2画素のデータを単位としてア
ドレスが付与されると共に、画面上の水平直線の全長に
亘って、2画素毎の小メモリ区分と、4画素毎の中メモ
リ区分と、8画素毎の大メモリ区分が重複して設けられ
ており、該メモリに対するアクセスにおいては、小メモ
リ区分に一度にアクセスするバイト描画と、中メモリ区
分に一度にアクセスするハーフワード描画と、大メモリ
区分に一度にアクセスするワード描画を選択することが
可能である。
【0008】そして、水平直線の描画においては、ワー
ド描画が可能であれば、ワード描画を優先して選択し、
ワード描画が不可能であって且つハーフワード描画が可
能であれば、ハーフワード描画を選択し、ワード描画及
びハーフワード描画が不可能であって且つバイト描画が
可能であれば、バイト描画を選択して、始点画素から終
点画素まで描画処理を進める。
【0009】又、1つのアドレスが付与された2画素の
内、何れか一方の画素のみを描画する場合は、従来と同
様に、該2画素分のデータをメモリから読み込み、描画
せんとする一方の画素のデータを書き換えた後、該2画
素分のデータをメモリへ書き込むリードモディファイラ
イトが実行される。
【0010】上記水平直線描画方法においては、先ず、
ワード描画が可能であるかどうかが判断される。ここ
で、ワード描画が可能であるか否かの判断は、次に描画
せんとする画素が、ワード描画によって描画可能な線分
(メモリでは大メモリ区分に対応する)の始点(ワードバ
ウンダリ)に位置し、且つ該線分の終点が、描画せんと
する直線の終点或いはその前方に位置するかどうかの判
断によって行なうことが出来る。ワード描画が不可能な
場合は、ハーフワード描画が可能であるかどうかが判断
される。ここで、ハーフワード描画が可能であるか否か
の判断は、描画せんとする画素がハーフワード描画によ
って描画可能な線分(メモリでは中メモリ区分に対応す
る)の始点(ハーフワードバウンダリ)に位置し、且つ該
線分の終点が描画せんとする直線の終点或いはその前方
に位置するかどうかの判断によって行なうことが出来
る。
【0011】更に、ハーフワード描画が不可能な場合
は、バイト描画が可能であるかどうかが判断される。こ
こで、バイト描画が可能であるか否かの判断は、描画せ
んとする画素がバイト描画によって描画可能な線分(メ
モリでは小メモリ区分に対応する)の始点(バイトバウン
ダリ)に位置し、且つ該線分の終点が描画せんとする直
線の終点或いはその前方に位置するかどうかの判断によ
って行なうことが出来る。そして、バイト描画も不可能
な場合は、リードモディファイライトが実行される。
【0012】この結果、ワード描画を最も高い優先度と
して、ワード描画、ハーフワード描画、バイト描画、リ
ードモディファイライトの優先順位で、水平直線の描画
が行なわれることになる。ここで、ワード描画、ハーフ
ワード描画、及びバイト描画においては、メモリに対す
る1回のアクセスにより、夫々32ビット、16ビッ
ト、及び8ビットのデータを一度に上書きすることが出
来る。従って、描画せんとする直線の全長に亘ってリー
ドモディファイライトを行なっていた従来の方法に比べ
て、アクセス回数が大幅に減少し、描画速度が高くな
る。
【0013】
【発明の効果】本発明に係る水平直線描画方法によれ
ば、従来よりも高速に水平直線を描画することが出来
る。
【0014】
【発明の実施の形態】以下、本発明を、32ビットRI
SCプロセッサ、例えば“V810”に実施した形態に
つき、図面に沿って具体的に説明する。図1及び図2
は、CPUが実行する直線描画処理手続きを表わしてい
る。ここで、描画すべき直線の始点座標をsp、終点座
標をep、描画せんとする画素についてのアクセス座標
をwpとする(sp≦wp≦ep)。
【0015】又、図3は、該手続きによる水平直線描画
の一例を表わしている。図3(a)において、1つの画素
は、4ビットのデータで表わされ、連続する2画素を単
位として、1つのアドレスが付与されている。水平直線
の描画において、ワード描画を選択した場合、アクセス
可能なアドレスは、0、4、8、12…と、4の倍数の
アドレスに限定され、これらのアドレスが図3(d)に示
すワードバウンダリとなる。又、ハーフワード描画を選
択した場合、アクセス可能なアドレスは、0、2、4、
6…と、2の倍数のアドレスに限定され、これらのアド
レスが図3(c)に示すハーフワードバウンダリとなる。
更に、バイト描画を選択した場合は、アドレス単位でア
クセスが可能であり、各アドレスが図3(b)に示すバイ
トバウンダリとなる。
【0016】描画処理においては、先ず図1のステップ
S1にて、アクセス座標wpが終点座標epに一致し或
いはそれよりも前方に存在するかどうかを判断し、YE
Sのときは、ステップS2にてアクセス座標がワードバ
ウンダリに位置するかどうかを判断し、NOのときは更
にステップS3にてハーフワードバウンダリに位置する
かどうかを判断する。
【0017】ステップS3にてNOと判断されたとき
は、ステップS6に移行して、バイトバウンダリに位置
するかどうかを判断する。ここでもNOと判断されたと
きは、ステップS9にて、リードモディファイライトに
よって1ドットを描画した後、ステップS10にてアク
セス座標wpを1だけ進め、ステップS1に戻る。ステ
ップS6にてYESと判断されたときは、ステップS7
に移行して、バイト描画によって、2ドットを描画した
後、ステップS8にてアクセス座標wpを2だけ進め、
ステップS1に戻る。
【0018】ステップS3にてYESと判断されたとき
は、ステップS4に移行して、ハーフワード描画によっ
て4ドットを描画した後、ステップS5にてアクセス座
標wpを4だけ進め、ステップS1に戻る。ステップS
1にてNOと判断されたときは手続きを終了する。又、
ステップS2にてYESと判断されたときは、図2のス
テップS11に移行して、アクセス座標wpが終点座標
epに一致し或いはそれよりも前方に存在するかどうか
を判断し、YESと判断されたときは、ステップS12
にて終点座標epからアクセス座標wpを減算して、描
画すべき残りの線分の長さwideを算出する。
【0019】次にステップS13にて、長さwideが
7ドットよりも大きいかどうかを判断し、YESのとき
はステップS14に移行して、ワード描画によって8ド
ットを描画した後、ステップS15にてアクセス座標を
8だけ進め、ステップS11に戻って、ワード描画を繰
り返すのである。
【0020】上記手続きによって、多くの場合、図3の
如く先ずはリードモディファイライトによって直線描画
が開始され、次はバイト描画によって、その次はハーフ
ワード描画が実行されて、描画処理速度が加速され、最
終的には、ワード描画の繰り返しによって、高速に直線
描画が進められることになる。
【0021】その後、ステップS13にてNOと判断さ
れたときは、ステップS16に移行して、残りの線分の
長さwideが3ドットよりも大きいかどうかを判断
し、YESのときは、ステップS17に移行して、ハー
フワード描画によって4ドットを描画した後、ステップ
S18にてアクセス座標wpを4だけ進め、ステップS
11に戻る。ステップS16にてNOと判断されたとき
は、ステップS19にて更に、残りの線分の長さwid
eが1ドットよりも大きいかどうかを判断し、YESの
ときは、ステップS20に移行して、バイト描画によっ
て2ドットを描画した後、ステップS21にてアクセス
座標wpを2だけ進め、ステップS11に戻る。
【0022】ステップS19にてNOと判断されたとき
は、ステップS22に移行して、リードモディファイラ
イトによって1ドットを描画した後、ステップS23に
てアクセス座標wpを1だけ進めて、ステップS11に
戻る。ステップS11にてNOと判断されたときは、手
続きを終了する。
【0023】上記手続きによって、多くの場合、ワード
描画からハーフワード描画に切り替わり、更にバイト描
画に切り替わって、最終的にリードモディファイライト
によって終点座標の画素が描画され、直線描画処理が終
了することになる。図3の例では、ワード描画からバイ
ト描画に切り替わって、最後にリードモディファイライ
トが行なわれている。
【0024】上述の如く、本発明に係る直線描画方法に
よれば、ワード描画を最も高い優先度として、ワード描
画、ハーフワード描画、バイト描画、リードモディファ
イライトの優先順位で、水平直線の描画が行なわれるの
で、直線の全長に亘ってリードモディファイライトを行
なっていた従来に比べて、アクセス回数が大幅に減少
し、高速に直線描画が行なわれる。
【0025】上記実施の形態の説明は、本発明を説明す
るためのものであって、特許請求の範囲に記載の発明を
限定し、或は範囲を減縮する様に解すべきではない。
又、本発明の各部構成は上記実施の形態に限らず、特許
請求の範囲に記載の技術的範囲内で種々の変形が可能で
あることは勿論である。例えば上記実施の形態では、水
平直線のみの描画を例示しているが、これに限らず、四
角形の水平直線部分の描画や、閉曲線の内部の塗込み
等、水平直線の描画処理を基本とする種々の図形描画に
本発明を応用することが可能である。
【図面の簡単な説明】
【図1】本発明に係る水平直線描画方法の具体的手続き
の前半を表わすフローチャートである。
【図2】同上手続きの後半を表わすフローチャートであ
る。
【図3】本発明の水平直線描画方法による直線描画の一
例を表わす図である。
【図4】ワード描画、ハーフワード描画及びバイト描画
を説明する図である。
【図5】リードモディファイライトを説明する図であ
る。
【図6】一般的な図形描画表示装置の構成を表わすブロ
ック図である。
【符号の説明】
(1) CPU (3) VRAM (4) ディスプレイ

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 画像表示処理用のメモリにアクセスし
    て、画面上に任意の長さの水平直線を描画する方法であ
    って、メモリには、画面上で水平方向に連続するN画素
    (Nは2以上の整数)のデータを単位としてアドレスが付
    与されると共に、該メモリに対して、N×2m画素(mは
    0及び1以上の整数)のデータを一度にアクセスするこ
    とが可能な水平直線描画方法において、画面上の水平直
    線を全長に亘ってN×2m画素(mは0及び1以上の整
    数)毎に区分した場合、描画せんとする画素についてア
    クセス可能な区分の中で、最も長い区分を選択しつつ、
    該区分に対応するメモリ領域にアクセスして、始点画素
    から終点画素まで描画を進めることを特徴とする水平直
    線描画方法。
  2. 【請求項2】 画像表示処理用のメモリにアクセスし
    て、画面上に任意の長さの水平直線を描画する方法であ
    って、メモリには、画面上で水平方向に連続する画素に
    対応して、2画素のデータを単位としてアドレスが付与
    されると共に、画面上の水平直線の全長に亘って、2画
    素毎の小メモリ区分と、4画素毎の中メモリ区分と、8
    画素毎の大メモリ区分が重複して設けられ、該メモリに
    対するアクセスにおいては、小メモリ区分に一度にアク
    セスするバイト描画と、中メモリ区分に一度にアクセス
    するハーフワード描画と、大メモリ区分に一度にアクセ
    スするワード描画を選択することが出来る水平直線描画
    方法において、ワード描画が可能であれば、ワード描画
    を優先して選択し、ワード描画が不可能であって且つハ
    ーフワード描画が可能であれば、ハーフワード描画を選
    択し、ワード描画及びハーフワード描画が不可能であっ
    て且つバイト描画が可能であれば、バイト描画を選択し
    て、始点画素から終点画素まで描画を進めることを特徴
    とする水平直線描画方法。
  3. 【請求項3】 1つのアドレスが付与された2画素の
    内、何れか一方の画素のみを描画する場合は、該2画素
    分のデータをメモリから読み込み、描画せんとする一方
    の画素のデータを書き換えた後、該2画素分のデータを
    メモリへ書き込むリードモディファイライトが実行され
    る請求項1又は請求項2に記載の水平直線描画方法。
JP9881696A 1996-04-19 1996-04-19 水平直線描画方法 Pending JPH09288739A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9881696A JPH09288739A (ja) 1996-04-19 1996-04-19 水平直線描画方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9881696A JPH09288739A (ja) 1996-04-19 1996-04-19 水平直線描画方法

Publications (1)

Publication Number Publication Date
JPH09288739A true JPH09288739A (ja) 1997-11-04

Family

ID=14229854

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9881696A Pending JPH09288739A (ja) 1996-04-19 1996-04-19 水平直線描画方法

Country Status (1)

Country Link
JP (1) JPH09288739A (ja)

Similar Documents

Publication Publication Date Title
US5299309A (en) Fast graphics control system capable of simultaneously storing and executing graphics commands
US4103331A (en) Data processing display system
US4984183A (en) Graphics display controller for transferring figure data to overlapping portions of destination area and drawing-enable area defined by clipping rectangle
JP3734226B2 (ja) 圧縮され、ワード整合されたビットマップを高速ブロック転送する方法および装置
US4747042A (en) Display control system
EP0658858B1 (en) Graphics computer
JPH0640259B2 (ja) デ−タ処理装置
JPH0562348B2 (ja)
JPS6267632A (ja) コンピュータ表示装置
JPH09288739A (ja) 水平直線描画方法
JPH04291684A (ja) 太線描画装置
JP2810609B2 (ja) 図形表示方法及びその装置
JP3699496B2 (ja) イメージ供給方法及び帯域幅を改善するために空間的冗長量を使用する図形制御装置
JP2547347B2 (ja) 画像表示制御装置
JP2991591B2 (ja) マルチウィンドウ表示装置及び方法
JPH0310294A (ja) 画像表示装置
JPH04238587A (ja) 球表示方法およびその装置
JPH0255395A (ja) マルチウインド表示装置
JP2771350B2 (ja) 画像処理装置
JP2595884B2 (ja) ラバーバンド枠表示装置
JP2587415B2 (ja) メモリバンクの選択が可変なデ−タ処理システム
JPH07219516A (ja) 描画装置及びその描画方法
JPH0830259A (ja) スプライト描画装置及び描画方法
JPS6364085A (ja) 表示制御装置
JPS58107589A (ja) 表示装置における画面クリア方式