(57)【要約】【課題】従来の塗りつぶし装置は単一色で、しかも閉領域内の塗りつぶし機能しかなく、複数の閉領域を異なる色でや、複数の閉領域外で形成される閉領域の塗りつぶしには、複数回の処理やパスデータを新規に作成する必要があった。【解決手段】パス生成手段で塗りつぶし領域を指定するパスデータを定め、カラー保持手段が塗りつぶし閉領域の内側カラーと外側カラーを保持し、パスデータとスキャンラインとの交点情報をスキャンライン単位ごとに交点保持手段が保持し、閉領域の内側カラーと外側カラーをスキャンライン交点におけるX正方向カラーとX負方向カラーに変換してスキャンライン単位ごとに交点カラー保持手段で保持し、ピクセル生成手段がスキャンライン上の隣接する２つの交点間のX正方向カラーとX負方向カラーを交点カラー保持手段から取り出し、塗りつぶしピクセルを生成する。【選択図】図１
2008225992.tif 000002
【特許請求の範囲】
【請求項１】
スキャン方式によるコンピュータグラフィックスの領域塗りつぶし装置において、
塗りつぶし閉領域を指定するためのパスデータを決めるパス生成手段、
塗りつぶし閉領域の内側のカラーと外側のカラーを保持するカラー保持手段、
パス生成手段で決められたパスデータとスキャンラインとの交点情報をスキャンラインごとに保持する交点保持手段、
カラー保持手段の保持する閉領域の内側のカラーと外側のカラーをパスデータとスキャンラインとの交点におけるX正方向カラーとX負方向カラーの交点カラーに変換しスキャンラインごとに保持する交点カラー保持手段、
交点保持手段をスキャンしながらスキャンライン交点を取り出し、スキャンライン上における隣接する２つの交点間のX正方向カラーとX負方向カラーを交点カラー保持手段から取り出し、塗りつぶしピクセルを生成するピクセル生成手段を備えることを特徴とする塗りつぶし装置。
【請求項２】
カラー保持手段に保持される閉領域の内側のカラーと外側のカラーの指定をパスの始点から終点に向かい右側のカラーと左側のカラーとで行い、
交点カラー保持手段に、保持されるX正方向カラーとX負方向カラーは、パスデータがスキャンラインに上から下に交わる場合にはX正方向のカラーとしてパスの左側のカラーが、X負方向のカラーとしてパスの右側のカラーが設定され、パスデータがスキャンラインに下から上に交わる場合にはX正方向のカラーとしてパスの右側のカラーが、X負方向のカラーとしてパスの左側のカラーが設定されることを特徴とする請求項１に記載の塗りつぶし装置。
【請求項３】
カラー保持手段で保持する閉領域の内側のカラーと外側のカラーの指定は、塗りつぶししない指定ができることを特徴とする請求項１又は２に記載の塗りつぶし装置。
【請求項４】
交点カラー保持手段はX正方向カラーまたはX負方向カラーのいずれか一方の交点カラーのみを保持し、
ピクセル生成手段は交点カラー保持手段で保持される交点カラーの方向のみの塗りつぶしピクセルを生成することを特徴とする請求項１乃至３の何れか１に記載の塗りつぶし装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、スキャン方式のコンピュータグラフィックス図形表示装置において多角形の内部閉領域を塗りつぶすのに好適な塗りつぶし技術に関する。
【背景技術】
【０００２】
従来の塗りつぶし装置はパスの内側のカラーとエッジ上のカラーを指定してパスで指定される閉領域を単色で塗りつぶし、エッジ上を別のカラーで塗りつぶすものであった。またアンチエイリアス処理を行う場合も常にフレームバッファに書き込まれているデスティネーションカラー値を読み出し、描画カラーとブレンドする必要がある。
【０００３】
【特許文献１】特開平3-4380号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、背景技術で示した塗りつぶし装置では基本的に単一色での塗りつぶししかできないため、異なるカラーが指定された閉領域を塗りつぶす場合には複数回の塗りつぶし処理を実行する必要があり処理時間がかかるという問題がある。  
またパスで指定した閉領域の内部を塗りつぶすという機能しかなく、複数の閉領域の外部領域により形成された閉領域の塗りつぶしをおこなうために、新規にその部分のパスデータを作成する必要があった。
さらにアンチエイリアス処理を実行する場合に必ずフレームバッファのカラーデータを読み出して描画カラーとのブレンド処理が必要となり、必ずメモリアクセスが発生していた。
【課題を解決するための手段】
【０００５】
この発明に係る塗りつぶし装置は、
スキャン方式によるコンピュータグラフィックスの領域塗りつぶし装置において、
塗りつぶし領域を指定するパスデータを決めるパス生成手段と、
塗りつぶし閉領域の内側のカラーと外側のカラーを保持するカラー保持手段と、
パス生成手段で決められたパスデータとスキャンラインとの交点情報をスキャンラインごとに保持する交点保持手段と、
カラー保持手段の保持する閉領域の内側のカラーと外側のカラーを交点におけるX正方向カラーとX負方向カラーに変換しスキャンラインごとに保持する交点カラー保持手段と、
交点保持手段をスキャンしながらスキャンライン交点を取り出し、スキャンライン上における隣接する２つの交点間のX正方向カラーとX負方向カラーを交点カラー保持手段から取り出し、塗りつぶしピクセルを生成するピクセル生成手段を備える。
【発明の効果】
【０００６】
この発明に係る塗りつぶし装置によれば、
パス生成手段により決定されるパスデータで形成される閉領域内と閉領域外のカラーをパスデータとスキャンラインとの交点において、X正方向カラーとX負方向カラーとに変換し、スキャンライン上で隣り合う２つの交点間のX正方向カラーとX負方向カラーとから塗りつぶしピクセルを生成しているので、フレームバッファから読む出す必要がなく、このためフレームメモリからの読み出しは実際に外部との境になる部分のみになるため高速に処理することができる。
【発明を実施するための最良の形態】
【０００７】
実施の形態１．
以下に添付図面を参照して、この発明にかかる塗りつぶし装置の最良な実施の形態を詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
図１はこの発明の実施の形態１における塗りつぶし装置の構成図である。図１において80は塗りつぶす領域を指定するためのパスデータを作成するパスデータ生成手段、10は前記パスデータ生成手段80から入力されるパスデータを元にスキャンラインとパスの交点を計算するプロセッサなどの演算器、20は前記パスデータ生成手段80から入力されるパスデータを元にパスの内部カラーとして指定されたカラーを保持する内部カラー保持手段、30は前記パスデータ生成手段80から入力されるパスデータを元にパスの外部カラーとして指定されたカラーを保持する外部カラー保持手段である。
【０００８】
40は前記演算器10で計算された交点情報をスキャンラインごとに保持する交点保持手段、50は前記交点保持手段40の交点情報に対応した交点のX正方向のカラーとX負方向のカラーを保持する交点カラー保持手段、60は前記交点保持手段40と交点カラー保持手段50とに接続され、スキャンライン方向に交点保持手段40より交点を順に読みだすことで作られる塗りつぶし区間に前記交点カラー保持手段50で指定されたカラーで塗りつぶすためのピクセルを生成するピクセル生成器、70は前記ピクセル生成器60と接続され、生成されたピクセルを保持するフレームバッファである。
【０００９】
次に図２の描画例をもとに図１に示す実施の形態１の動作について説明をおこなう。図２の描画シーンは赤色の長方形ABCDと緑の長方形CIHGと青の長方形EDGFから構成されており、これら３つの長方形の外部で囲まれ、形成された領域DCGを黄色で塗るものである。
図２で示される塗りつぶしを行うためのパスデータは前記パスデータ生成手段80において、長方形ABCDにおいては画面上の上から下へ向かうパスDABの内側が赤色、外側が塗りつぶしなし、画面上の下から上へ向かうパスBCの内側が赤、外側が塗りつぶしなし、CDの内側が赤、外側が黄色で指定し、長方形CIHGにおいては画面上の下から上へ向かうパスIHGの内側が緑、外側が塗りつぶしなし、画面上の上から下へ向かうパスGCの内側が緑、外側が黄色、CIの内側が緑、外側が塗りつぶしなしで指定し、長方形EDGFにおいて画面上の下から上へ向かうパスEDの内側が青、外側が塗りつぶしなし、画面上の下から上へ向かうパスGFの内側が青、外側が黄色として指定したパスデータを生成する。
【００１０】
前記パスデータ生成手段80にて生成されたパスと全スキャンラインとの交点を前記演算器10で計算し、スキャンラインごとに持つ交点情報を前記交点保持手段40に登録する。
図２のスキャンラインAでの処理を具体例として説明する。長方形ABCDのパスDABに関して、前記内部カラー保持手段20に内部カラーとして赤色を、前記外部カラー保持手段30に外部カラーとして塗りつぶしなしを設定する。前記演算器10においてはパスDABとスキャンラインAとの交点Kを計算し前記交点保持手段40に登録する。また交点Kにおいて前記内部カラー保持手段20から赤色を取り出し前記交点カラー保持手段50のX正方向カラーとして登録し、前記外部カラー保持手段30から塗りつぶしなし指定を取り出し前記交点カラー保持手段50のX負方向カラーとして登録する。
【００１１】
長方形ABCDのパスCDの処理においては、前記内部カラー保持手段20に内部カラーとして赤色を、前記外部カラー保持手段30に黄色を外部カラーとして設定し、前記演算器10においては長方形ABCDのパスCDとスキャンラインAとの交点Lを計算し前記交点保持手段40に登録する。また交点Lにおいて前記交点カラー保持手段50のX正方向カラーとして前記外部カラー保持手段30から黄色を取り出して設定し、X負方向カラーとして前記内部カラー保持手段20から赤色を取り出して設定する。
【００１２】
同様に長方形CIHGのパスIHGでは前記内部カラー保持手段20には緑を内部カラーとして設定し、前記外部カラー保持手段30には塗りつぶしなし設定を設定する。前記演算器10では長方形CIHGのパスIHGとスキャンラインAとの交点Nを計算して前記交点保持手段40に登録し、交点Nに対応する前記交点カラー保持手段50のX正方向のカラーとして前記外部カラー保持手段30から塗りつぶしなし設定を設定し、X負方向のカラーとして前記内部カラー保持手段20から緑色を設定する。
【００１３】
長方形CIHGのパスGCにおいては前記内部カラー保持手段20に緑色を内部カラーとして設定し、前記外部カラー保持手段30には黄色を外部カラーとして設定し、長方形CIHGのパスGCとスキャンラインAとの交点Mを前記演算器10で計算し前記交点保持手段40に登録し、交点Mに前記交点カラー保持手段50のX正方向のカラーとして前記内部カラー保持手段20から緑を設定し、X負方向のカラーとして前記外部カラー保持手段30から黄色を設定する。
【００１４】
以上のように各閉領域について交差するスキャンライン全部に対して処理をおこなうことで、スキャンランごとに前記交点保持手段40に全閉領域の交点を、前記交点カラー保持手段50に全閉領域の交点におけるカラー情報を保持することができ、閉領域のスキャンライン展開を完了できる。
【００１５】
次に閉領域を全スキャンラインへの展開が終了したのちの、前記ピクセル生成器60での塗りつぶし処理について説明する。
図２のスキャンラインAの場合の具体的処理は、まず前記交点保持手段40からX座標値の小さいものから２つのデータを読み出す。スキャンラインAの場合交点Kと交点Lが順に読みだされ、前記交点カラー保持手段50から交点KのX正方向のカラー値である赤、または交点LのX負方向のカラー値である赤を使用して交点Kと交点L間のピクセル生成を前記ピクセル生成器60でおこない、前記フレームバッファ70に書き込む。
【００１６】
次の処理として、X座標値が次に小さいものを前記交点保持手段40から読み出す。この場合交点Mが読みだされ、前記交点カラー保持手段50から交点LのX正方向カラーである黄色または交点MのX負方向カラーの黄色を読み出し、交点Lと交点Mの間を黄色でピクセル生成を前記ピクセル生成器60でおこない、前記フレームバッファ70に書き込む。
さらに次の処理でX座標値が次に小さいものを前記交点保持手段40から読み出す。この場合交点Nが読みだされ、交点Mと交点Nの間を前記交点カラー保持手段50より取り出した交点MのX正方向カラーの緑または交点NのX負方向カラーの緑で前記ピクセル生成器60にてピクセル生成をおこない前記フレームバッファ70へ書き込む。前記交点保持手段40から読み出される交点がなくなったところでスキャンラインAの処理を終了する。
【００１７】
これによりスキャンラインAの塗りつぶしを終了し、交点KL間を赤で、交点LMを黄色で、交点MNを緑で塗りつぶすことができる。この処理を塗りつぶしに必要なスキャンライン全てに対しておこなうことで全塗りつぶしを完了する。
【００１８】
以上のように３つの長方形のパスデータとパスの内部と外部のカラーを指定することで各長方形の外部でありながら閉領域を形成する領域の塗りつぶしを行うことができる。またパスで構成される閉領域のカラーが異なる場合でも一度の塗りつぶし処理にて処理が可能になる。
また、図3のようのパスAの内部にパスBがあり、それぞれ異なる色で塗りつぶす場合にも、従来は2つの円を描画する必要があったが、本方式を使うとパスAの内側カラーを赤、外側を描画しない設定に、パスBの内側カラーを青、外側カラーを赤に設定することで、1回の描画で描くことが可能であり、従来のように2度塗りつぶしが発生するピクセルもなく高速に処理することができる。
【００１９】
また、アンチエリアス処理を行う場合、一般にエッジとなる交点Lや交点Mにおいては図１の前記フレームバッファ70からデータを読み出し、書き込むカラー値との間でブレンドする必要があるが、この実施の形態においては隣接するカラーデータが書き込みデータとして既知であるため、フレームバッファ70から読む出す必要がなく、交点Lにおいては交点カラー保持手段50のX正方向カラーとX負方向カラーを使用してブレンド処理をおこなうことで処理が可能になる。このためフレームメモリからの読み出しは実際に外部との境になる部分のみになるため高速に処理することができる。
【００２０】
また、パスデータにより形成される閉領域の内側のカラーと外側のカラーを指定する場合に、塗りつぶさない指定も当然にできることは論を俟たない。
【００２１】
また、前期ピクセル生成手段において塗りつぶしピクセルを生成するための前記交点カラー保持手段保持されるX正方向カラーまたはX負方向カラーはいずれか一方のみを保持することでも良い。
【００２２】
実施の形態２．
閉領域の内部と外部のカラーの指定方法を、パスを定義する始点から終点に向かう場合の右側の色と左側の色で表わすことで、パスの形状を考量せずに個々のパスデータだけで前記交点カラー保持手段50のデータを作ることができる。この場合前記内部カラー保持手段20はたとえば左側カラー保持手段、前記外部カラー保持手段30は右側カラー保持手段として動作する。
図4の例では長方形ABCDを赤で塗る場合であり、パスABCDは右側のカラーは塗りつぶしなし指定で、前記右側カラー保持手段となる前記外部カラー保持手段30に設定し、左側のカラーは赤色と指定し、前記左側カラー保持手段となる前記内部カラー保持手段20に設定する。
【００２３】
パスとスキャンラインとの交点での交点カラーはスキャンラインに対して上から下にパスが交差する場合は前記右側カラー保持手段の右側のカラーがX負方向カラーとして、前記左側カラー保持手段の左側カラーがX正方向カラーとして前記交点カラー保持手段50に登録する。パスがスキャンラインに対して下から上に交差する場合は前記右側カラー保持手段の右側カラーがX正方向カラー値として、前記左側カラー保持手段の左側カラーがX負方向カラー値として前記交点カラーバッファ50に登録する。このようにしてカラーを設定することで塗りつぶし処理がおこなえる。
【００２４】
図２の場合を適用すると前記パスデータ生成手段80にて生成されたパスと全スキャンラインとの交点を前記演算器10で計算し、スキャンラインごとに持つ前記交点保持手段40に交点情報を登録する。
図２のスキャンラインAでの処理を具体例として説明する。長方形ABCDのパスDABC関して、前記内部カラー保持手段20に左側カラーとして赤色を、前記外部カラー保持手段30に右側カラーとして塗りつぶしなしを設定する。前記演算器10においてはパスDABCとスキャンラインAとの交点Kを計算し前記交点保持手段40に登録する。また交点Kにおいて前記内部カラー保持手段20から左側カラーの赤色を取り出し前記交点カラー保持手段50のX正方向カラーとして登録し、前記外部カラー保持手段30から右側カラーとして塗りつぶしなし指定を取り出し、前記交点カラー保持手段50のX負方向カラーとして登録する。
【００２５】
長方形ABCDのパスCDの処理においては、前記内部カラー保持手段20に左側カラーとして赤色を、前記外部カラー保持手段30に黄色を右側カラーとして設定し、前記演算器10においては長方形ABCDのパスCDとスキャンラインAとの交点Lを計算し前記交点保持手段40に登録する。また交点Lにおいて前記交点カラー保持手段50のX正方向カラーとして前記外部カラー保持手段30から右側カラーの黄色を設定し、X負方向カラーとして前記内部カラー保持手段20から左側カラーの赤色を設定する。
【００２６】
同様に長方形CIHGのパスCIHGでは前記内部カラー保持手段20には緑を左側カラーとして設定し、前記外部カラー保持手段30には右側カラーとして塗りつぶしなし設定を設定する。前記演算器10では長方形CIHGのパスCIHGとスキャンラインAとの交点Nを計算して前記交点保持手段40に登録し、交点Nに対応する前記交点カラー保持手段50のX正方向のカラーとして前記外部カラー保持手段30から右側カラーを塗りつぶしなし設定を設定し、X負方向のカラーとして前記内部カラー保持手段20から右側カラーの緑色を設定する。
【００２７】
長方形CIHGのパスGCにおいては前記内部カラー保持手段20に緑色を左側カラーとして設定し、前記外部カラー保持手段30には黄色を右側カラーとして設定し、長方形CIHGのパスGCとスキャンラインAとの交点Mを前記演算器10で計算し前記交点保持手段40に登録し、交点Mに対応する前記交点カラー保持手段50のX正方向のカラーとして前記内部カラー保持手段20から左側カラーの緑を設定し、X負方向のカラーとして前記外部カラー保持手段30から右側カラーの黄色を設定する。
【００２８】
このような設定後実施の形態１で示した前記ピクセル生成器60の動作により前記フレームバッファ70への描画をおこなうことができる。
【産業上の利用可能性】
【００２９】
この発明は、コンピュータグラフィックス図形表示装置に適用され、図形の閉領域をカラーで塗りつぶす時に効率よく処理できる。
【図面の簡単な説明】
【００３０】
【図１】この発明の実施の形態１における塗りつぶし装置の構成図である。
【図２】実施の形態１による塗りつぶし装置の描画例の説明図である。
【図３】実施の形態１による塗りつぶし装置の他の描画例の説明図である。
【図４】実施の形態２による塗りつぶし装置の描画例の説明図である。
【符号の説明】
【００３１】
10；演算器、20；内部カラー保持手段、30；外部カラー保持手段、40；交点保持手段、50；交点カラー保持手段、60；ピクセル生成器、70；フレームバッファ、80；パスデータ生成手段。
【図１】
2008225992.tif 000003
【図２】
2008225992.tif 000004
【図３】
2008225992.tif 000005
【図４】
2008225992.tif 000006