JPH0594365A - パターン描画方式 - Google Patents
パターン描画方式Info
- Publication number
- JPH0594365A JPH0594365A JP3256094A JP25609491A JPH0594365A JP H0594365 A JPH0594365 A JP H0594365A JP 3256094 A JP3256094 A JP 3256094A JP 25609491 A JP25609491 A JP 25609491A JP H0594365 A JPH0594365 A JP H0594365A
- Authority
- JP
- Japan
- Prior art keywords
- pattern
- width
- data
- span
- bit
- 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
Landscapes
- Digital Computer Display Output (AREA)
- Image Generation (AREA)
Abstract
(57)【要約】
【目的】ビットパターンの幅がビット単位のアクセス幅
より小さい場合の描画の処理性能を向上させる。 【構成】データ入力部1は、上位ルーチンから渡された
パラメータを解釈し、スパンの開始点の座標、スパンの
幅、ビットパターンのパターンデータと幅を得る。デー
タ計算部2は、データ入力部1で得られた上記データを
スパン描画に適した形式に加工し、初期値を定める。描
画出力部3は、データ計算部2で加工された上記データ
に基づいて本発明のアルゴリズムを用いて描画データを
求め、フレームメモリをアクセスし、ビットマップディ
スプレイの描画出力を行う。
より小さい場合の描画の処理性能を向上させる。 【構成】データ入力部1は、上位ルーチンから渡された
パラメータを解釈し、スパンの開始点の座標、スパンの
幅、ビットパターンのパターンデータと幅を得る。デー
タ計算部2は、データ入力部1で得られた上記データを
スパン描画に適した形式に加工し、初期値を定める。描
画出力部3は、データ計算部2で加工された上記データ
に基づいて本発明のアルゴリズムを用いて描画データを
求め、フレームメモリをアクセスし、ビットマップディ
スプレイの描画出力を行う。
Description
【0001】
【産業上の利用分野】本発明はパターン描画方式に関
し、特にビットマップディスプレイを表示装置とし、メ
モリ空間にマップされたフレームメモリにアクセスする
ことで、ビットマップディスプレイ上への描画出力を行
うシステムにおいて、フレームメモリへのビット単位の
アクセス幅より小さな幅のビットパターンを用いたスパ
ンの塗りつぶし描画を行う場合に、最適化によって高速
性を向上させたパターン描画方式に関する。
し、特にビットマップディスプレイを表示装置とし、メ
モリ空間にマップされたフレームメモリにアクセスする
ことで、ビットマップディスプレイ上への描画出力を行
うシステムにおいて、フレームメモリへのビット単位の
アクセス幅より小さな幅のビットパターンを用いたスパ
ンの塗りつぶし描画を行う場合に、最適化によって高速
性を向上させたパターン描画方式に関する。
【0002】
【従来の技術】近年、情報処理システムには、ユーザフ
レンドリなインタフェースの必要性が高まっており、ビ
ットマップディスプレイを端末とし、視覚的なインタフ
ェースを展開する例が増えてきている。
レンドリなインタフェースの必要性が高まっており、ビ
ットマップディスプレイを端末とし、視覚的なインタフ
ェースを展開する例が増えてきている。
【0003】一方、ビットマップディスプレイ上へグラ
フィック描画出力を行う場合のシステムにかかる負荷は
大きく、描画処理の高速性の向上は重要な課題となって
きている。
フィック描画出力を行う場合のシステムにかかる負荷は
大きく、描画処理の高速性の向上は重要な課題となって
きている。
【0004】特に、比較的小さなビットパターンを連続
して塗りつぶすことにより、特定の領域に模様をつける
タイリングという手法や、クラフィック出力に対してビ
ットパターンをマスクするスティップルという手法は、
ユーザに与えるインパクトが強い反面、描画のためのデ
ータの操作が複雑で、その処理にかなりの時間をかけな
ければならない。
して塗りつぶすことにより、特定の領域に模様をつける
タイリングという手法や、クラフィック出力に対してビ
ットパターンをマスクするスティップルという手法は、
ユーザに与えるインパクトが強い反面、描画のためのデ
ータの操作が複雑で、その処理にかなりの時間をかけな
ければならない。
【0005】そこで、フレームメモリへのビット単位の
アクセス幅と等しい幅をもつビットパターンについて
は、これを特殊化し、他のビットパターンとは異なる、
最適化されたアルゴリズムを用いることで、高速化を図
るという方式が提案されている。このパターン描画方式
は、フレームメモリへのビット単位のアクセス幅と等し
い幅のビットパターンを他のビットパターンと区別す
る。ただし、その幅がアクセス幅の約数となるビットパ
ターンについても、その倍数に展開することで、アクセ
ス幅と等しい幅のビットパターンと同様に扱うことがで
きる。
アクセス幅と等しい幅をもつビットパターンについて
は、これを特殊化し、他のビットパターンとは異なる、
最適化されたアルゴリズムを用いることで、高速化を図
るという方式が提案されている。このパターン描画方式
は、フレームメモリへのビット単位のアクセス幅と等し
い幅のビットパターンを他のビットパターンと区別す
る。ただし、その幅がアクセス幅の約数となるビットパ
ターンについても、その倍数に展開することで、アクセ
ス幅と等しい幅のビットパターンと同様に扱うことがで
きる。
【0006】これらのビットパターンは、スパン描画の
際に用いられる展開されたパターンがアクセス単位ごと
に同一であり、パターンの展開を一度だけ行えばよいの
で、高速に描画を行うことができる。
際に用いられる展開されたパターンがアクセス単位ごと
に同一であり、パターンの展開を一度だけ行えばよいの
で、高速に描画を行うことができる。
【0007】そこで、描画に用いられるビットパターン
に従って、その幅がビット単位のアクセス幅の約数とな
る場合には、上記の最適化されたアルゴリズムを使用
し、それ以外の場合には、あらかじめ展開されたパター
ンを用意し、アクセス単位ごとに算出する値によってそ
の基本パターンをシフトしたものを利用する汎用的なア
ルゴリズムを使用するように選択されていた。
に従って、その幅がビット単位のアクセス幅の約数とな
る場合には、上記の最適化されたアルゴリズムを使用
し、それ以外の場合には、あらかじめ展開されたパター
ンを用意し、アクセス単位ごとに算出する値によってそ
の基本パターンをシフトしたものを利用する汎用的なア
ルゴリズムを使用するように選択されていた。
【0008】ここで、基本パターンは、スキャンライン
のビットオーダにより最上位ビット、または最下位ビッ
トを起点とし、与えられたビットパターンの連続によっ
て得られるものである。
のビットオーダにより最上位ビット、または最下位ビッ
トを起点とし、与えられたビットパターンの連続によっ
て得られるものである。
【0009】なお、参考図として、描画のアクセス位置
とビットパターンの関係概念を図6に示し、従来、汎用
的なアルゴリズムにおいて用いられていたシフト量の算
出のための処理を図7に、基本パターンの展開例を図8
に示す。
とビットパターンの関係概念を図6に示し、従来、汎用
的なアルゴリズムにおいて用いられていたシフト量の算
出のための処理を図7に、基本パターンの展開例を図8
に示す。
【0010】
【発明が解決しようとする課題】上述した従来のパター
ン描画方式は、特定の幅をもつビットパターンのスパン
描画を高速化してはいるものの、それ以外の幅をもつビ
ットパターンのスパン描画の高速化はなせれていない。
特に従来の技術では、図7に示すようにシフト量の算出
に剰余命令を使用しているので、これが非常に大きな負
荷となっている。従って、パターン描画を使用する例と
して、比較的小さなパターンを何種類か用意して、それ
をユーザに選択させることで、さまざまな濃淡をもつ模
様で特定の領域を表示させるという場合に、パターンの
幅によって高速に表示されるものと、表示にかなりの時
間がかかるものがでてくるという問題があった。
ン描画方式は、特定の幅をもつビットパターンのスパン
描画を高速化してはいるものの、それ以外の幅をもつビ
ットパターンのスパン描画の高速化はなせれていない。
特に従来の技術では、図7に示すようにシフト量の算出
に剰余命令を使用しているので、これが非常に大きな負
荷となっている。従って、パターン描画を使用する例と
して、比較的小さなパターンを何種類か用意して、それ
をユーザに選択させることで、さまざまな濃淡をもつ模
様で特定の領域を表示させるという場合に、パターンの
幅によって高速に表示されるものと、表示にかなりの時
間がかかるものがでてくるという問題があった。
【0011】これは、高速な処理を要求されるアプリケ
ーションの作成者にとって、使用できるパターンが限ら
れるという点で強い制約となるものであった。
ーションの作成者にとって、使用できるパターンが限ら
れるという点で強い制約となるものであった。
【0012】
【課題を解決するための手段】第1の発明は、ビットマ
ップディスプレイを表示装置とし、メモリ空間にマップ
されたフレームメモリにアクセスしてビットマップディ
スプレイ上への描画出力を行うシステムにおける、前記
フレームメモリへのビット単位のアクセス幅より小さな
幅のビットパターンを用いたスパンの塗りつぶし描画を
行う場合のパターン描画方式において、上位ルーチンか
ら前記描画に必要なデータを得るデータ入力手段と、前
記得られたデータを基に前記スパンの開始点の座標によ
って前記フレームメモリ内の開始アドレス位置を計算し
前記スパンの開始点の座標とスパンの幅によって前記ア
クセス幅を計算し前記スパンの開始点の座標によってシ
フト量の初期値を計算しさらに32ビットのシフトレジ
スタ上に16ビット目を区切りとして左右に同一の前記
ビットパターンを連続して展開させるデータ計算手段
と、前記得られたフレームメモリ内の開始アドレス位
置,アクセス幅,シフト量の初期値に基き予め決められ
たアルゴリズムを用いて前記フレームメモリ内のアクセ
スアドレスと前記シフトレジスタ上のデータに基く描画
データを求め、求められた前記描画データを前記フレー
ムメモリ内のアクセスアドレスに書き込む描画出力手段
とを備えたことを特徴とする。
ップディスプレイを表示装置とし、メモリ空間にマップ
されたフレームメモリにアクセスしてビットマップディ
スプレイ上への描画出力を行うシステムにおける、前記
フレームメモリへのビット単位のアクセス幅より小さな
幅のビットパターンを用いたスパンの塗りつぶし描画を
行う場合のパターン描画方式において、上位ルーチンか
ら前記描画に必要なデータを得るデータ入力手段と、前
記得られたデータを基に前記スパンの開始点の座標によ
って前記フレームメモリ内の開始アドレス位置を計算し
前記スパンの開始点の座標とスパンの幅によって前記ア
クセス幅を計算し前記スパンの開始点の座標によってシ
フト量の初期値を計算しさらに32ビットのシフトレジ
スタ上に16ビット目を区切りとして左右に同一の前記
ビットパターンを連続して展開させるデータ計算手段
と、前記得られたフレームメモリ内の開始アドレス位
置,アクセス幅,シフト量の初期値に基き予め決められ
たアルゴリズムを用いて前記フレームメモリ内のアクセ
スアドレスと前記シフトレジスタ上のデータに基く描画
データを求め、求められた前記描画データを前記フレー
ムメモリ内のアクセスアドレスに書き込む描画出力手段
とを備えたことを特徴とする。
【0013】
【実施例】次に、本発明の実施例について図面を参照し
て説明する。
て説明する。
【0014】図1は本発明のパターン描画方式の一実施
例を示すブロックフローチャート、図2は図1のデータ
計算部の処理フローチャート、図3は図2のパターン展
開処理14の説明図、図4は図1の描画出力部の処理フ
ローチャート、図5は図4のシフト量補正部25の処理
フローチャートである。
例を示すブロックフローチャート、図2は図1のデータ
計算部の処理フローチャート、図3は図2のパターン展
開処理14の説明図、図4は図1の描画出力部の処理フ
ローチャート、図5は図4のシフト量補正部25の処理
フローチャートである。
【0015】図1を参照すると、データ入力部1は、例
えば、上位ルーチンから渡されたパラメータを解釈し、
スパンの開始点の座標、スパンの幅、ビットパターンの
パターンデータと幅を得るものであり、データ計算部2
は、データ入力部1で得られた上記データをスパン描画
に適した形式に加工し、初期値を定める。描画出力部3
は、データ計算部2で加工された上記データに基づいて
フレームメモリをアクセスし、ビットマップディスプレ
イの描画出力を行うものである。
えば、上位ルーチンから渡されたパラメータを解釈し、
スパンの開始点の座標、スパンの幅、ビットパターンの
パターンデータと幅を得るものであり、データ計算部2
は、データ入力部1で得られた上記データをスパン描画
に適した形式に加工し、初期値を定める。描画出力部3
は、データ計算部2で加工された上記データに基づいて
フレームメモリをアクセスし、ビットマップディスプレ
イの描画出力を行うものである。
【0016】次に、図2と図3を用いて、データ計算部
2を中心とした実施例の動作を説明する。処理11はス
パンの開始点の座標によって、描画を行うべきフレーム
メモリ内のアドレス位置を計算する。処理12は、スパ
ンの開始点の座標とスパンの幅によって、アクセス幅を
計算する。処理13は、スパンの開始点の座標によっ
て、シフト量の初期値を計算する。処理14は、ビット
パターンをスパンの描画に適した形式に展開する。この
展開されたパターンは、16ビット目を区切りとして、
左右に同一のパターンを連続させた32ビットのデータ
である。このパターンの展開例を図3に示す。
2を中心とした実施例の動作を説明する。処理11はス
パンの開始点の座標によって、描画を行うべきフレーム
メモリ内のアドレス位置を計算する。処理12は、スパ
ンの開始点の座標とスパンの幅によって、アクセス幅を
計算する。処理13は、スパンの開始点の座標によっ
て、シフト量の初期値を計算する。処理14は、ビット
パターンをスパンの描画に適した形式に展開する。この
展開されたパターンは、16ビット目を区切りとして、
左右に同一のパターンを連続させた32ビットのデータ
である。このパターンの展開例を図3に示す。
【0017】次に、図4と図5を用いて、描画出力部3
の動作を説明する。処理21は、アクセス幅を調べ、次
のアクセスを行うかどうかを決定する。アクセス幅が0
の場合は、全体の処理を中止する。処理22は、シフト
量に基づいて、処理14で展開されたパターンを右にシ
フトし、その下位16ビットのデータをレジスタに格納
する。処理23は、上記レジスタ内のデータをアドレス
によって示されるフレームメモリ内の特定位置に書き込
む。処理24は、上記のアドレスを更新し、次のアクセ
ス位置を示すようにする。処理25は、処理31〜処理
35により構成され、次のアクセス時のシフト量を計算
する。
の動作を説明する。処理21は、アクセス幅を調べ、次
のアクセスを行うかどうかを決定する。アクセス幅が0
の場合は、全体の処理を中止する。処理22は、シフト
量に基づいて、処理14で展開されたパターンを右にシ
フトし、その下位16ビットのデータをレジスタに格納
する。処理23は、上記レジスタ内のデータをアドレス
によって示されるフレームメモリ内の特定位置に書き込
む。処理24は、上記のアドレスを更新し、次のアクセ
ス位置を示すようにする。処理25は、処理31〜処理
35により構成され、次のアクセス時のシフト量を計算
する。
【0018】処理31は、現在のシフト量にパターンの
幅を加算する。処理32は、上記シフト量が16以上で
あるかどうかを調べ、16以上でない場合には、処理3
1に制御を戻す。処理33は、上記シフト量の上位28
ビットをクリアする。処理34は、上記シフト量が0で
あるかどうかを調べ、0でない場合には、シフト量の補
正を終了する。処理35は、シフト量の値をパターンの
幅と同じ値にする。
幅を加算する。処理32は、上記シフト量が16以上で
あるかどうかを調べ、16以上でない場合には、処理3
1に制御を戻す。処理33は、上記シフト量の上位28
ビットをクリアする。処理34は、上記シフト量が0で
あるかどうかを調べ、0でない場合には、シフト量の補
正を終了する。処理35は、シフト量の値をパターンの
幅と同じ値にする。
【0019】
【発明の効果】以上説明したように、本発明は、ビット
パターンの幅がビット単位のアクセス幅より小さい場合
でも、アクセスの度ごとにパターンデータを展開する必
要がなく、単純な命令によって得られるシフト量を用い
て基本パターンをシフトすることにより描画パターンが
得られるので、大幅にその描画の処理性能を向上させる
ことが出来る効果がある。
パターンの幅がビット単位のアクセス幅より小さい場合
でも、アクセスの度ごとにパターンデータを展開する必
要がなく、単純な命令によって得られるシフト量を用い
て基本パターンをシフトすることにより描画パターンが
得られるので、大幅にその描画の処理性能を向上させる
ことが出来る効果がある。
【図1】本発明のパターン描画方式の一実施例を示すブ
ロックフローチャートである。
ロックフローチャートである。
【図2】本実施例のデータ計算部の処理フローチャート
である。
である。
【図3】本実施例のパターン展開処理14の説明図であ
る。
る。
【図4】本実施例の描画出力部の処理フローチャートで
ある。
ある。
【図5】本実施例のシフト量補正部25の処理フローチ
ャートである。
ャートである。
【図6】描画のアクセス位置とビットパターンの関係概
念図である。
念図である。
【図7】従来のシフト量の算出の処理フローチャートで
ある。
ある。
【図8】従来の基本パターンの展開例を示す図である。
1 データ入力部 2 データ計算部 3 描画出力部 11〜14 データ計算部の各処理 21〜26 描画出力部の各処理 31〜35 シフト量補正部25の各処理
Claims (1)
- 【請求項1】ビットマップディスプレイを表示装置と
し、メモリ空間にマップされたフレームメモリにアクセ
スしてビットマップディスプレイ上への描画出力を行う
システムにおける、前記フレームメモリへのビット単位
のアクセス幅より小さな幅のビットパターンを用いたス
パンの塗りつぶし描画を行う場合のパターン描画方式に
おいて、上位ルーチンから前記描画に必要なデータを得
るデータ入力手段と、前記得られたデータを基に前記ス
パンの開始点の座標によって前記フレームメモリ内の開
始アドレス位置を計算し前記スパンの開始点の座標とス
パンの幅によって前記アクセス幅を計算し前記スパンの
開始点の座標によってシフト量の初期値を計算しさらに
32ビットのシフトレジスタ上に16ビット目を区切り
として左右に同一の前記ビットパターンを連続して展開
させるデータ計算手段と、前記得られたフレームメモリ
内の開始アドレス位置,アクセス幅,シフト量の初期値
に基き予め決められたアルゴリズムを用いて前記フレー
ムメモリ内のアクセスアドレスと前記シフトレジスタ上
のデータに基く描画データを求め、求められた前記描画
データを前記フレームメモリ内のアクセスアドレスに書
き込む描画出力手段とを備えたことを特徴とするパター
ン描画方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3256094A JPH0594365A (ja) | 1991-10-03 | 1991-10-03 | パターン描画方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3256094A JPH0594365A (ja) | 1991-10-03 | 1991-10-03 | パターン描画方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0594365A true JPH0594365A (ja) | 1993-04-16 |
Family
ID=17287813
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3256094A Pending JPH0594365A (ja) | 1991-10-03 | 1991-10-03 | パターン描画方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0594365A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH1049692A (ja) * | 1996-07-29 | 1998-02-20 | Shikoku Nippon Denki Software Kk | 水平直線のパターン高速描画方式 |
-
1991
- 1991-10-03 JP JP3256094A patent/JPH0594365A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH1049692A (ja) * | 1996-07-29 | 1998-02-20 | Shikoku Nippon Denki Software Kk | 水平直線のパターン高速描画方式 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2541539B2 (ja) | 図形処理装置 | |
| US6295072B1 (en) | Method and apparatus for rendering cubic curves | |
| US4845656A (en) | System for transferring data between memories in a data-processing apparatus having a bitblt unit | |
| KR100277803B1 (ko) | 3차원 그래픽 표시장치 | |
| JPH0594365A (ja) | パターン描画方式 | |
| JPH0562348B2 (ja) | ||
| US5299299A (en) | Scan line full figure filling device for display units and printers | |
| JP3305395B2 (ja) | 図形分割装置 | |
| JP2774662B2 (ja) | 文字処理装置 | |
| JPS6339947B2 (ja) | ||
| KR20000052433A (ko) | 2차원 형상 그리기 시스템 | |
| JPH0723997B2 (ja) | 文字・図形描画装置 | |
| JP2513771B2 (ja) | マルチメディア表示方式 | |
| JP3280160B2 (ja) | 文書処理装置および文書処理方法 | |
| JP3039015B2 (ja) | 文字処理装置 | |
| JP2748787B2 (ja) | 曲線発生装置 | |
| JP2836617B2 (ja) | レンダリングプロセッサ | |
| JPH05120446A (ja) | パターン描画方式 | |
| JPH0869537A (ja) | 図形処理装置 | |
| JP3724868B2 (ja) | イメージ処理方法 | |
| KR100324755B1 (ko) | 그래픽 처리기의 클리핑 장치 및 방법 | |
| JPS63228383A (ja) | 画像処理装置 | |
| JP2804028B2 (ja) | レンダリングプロセツサ | |
| JPH03282496A (ja) | 文字パターン発生装置 | |
| JP2698348B2 (ja) | 文字処理装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080302 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090302 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100302 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110302 Year of fee payment: 10 |
|
| LAPS | Cancellation because of no payment of annual fees |