(57)【特許請求の範囲】
【請求項１】
多角形の頂点座標を含む多角形の情報を入力し、前記頂点の中でＹ座標の小さいものから順に番号付けを行う頂点ソート部と、
前記頂点ソート部により番号付けが行われ、入力された頂点のＹ座標が最小となる点とそれ以外の頂点とを結んだ(頂点数−１)個の線分に対して勾配の算出を行い、前記多角形の外周となるエッジの勾配を算出する勾配算出部と、
前記勾配算出部が算出した(頂点数−１)個の勾配の大小比較を行い、勾配が最大または最小となった２つのエッジの情報を元に多角形の形状を判定する多角形形状判定部と、
前記多角形形状判定部で判定された多角形の形状に基づいて、描画開始点から左右２つのエッジについて勾配を順次加算して走査線との交点の座標を算出するエッジ生成部と、
前記エッジ生成部が算出した走査線との交点間の塗潰し処理を行う塗潰し処理部とを備えた図形描画装置。
【請求項２】
塗潰し処理部は、多角形の各頂点を通る水平線によって(頂点数−１)個の台形または三角形の領域に分割して、水平方向に連続して画素を生成することにより塗潰し処理を行うことを特徴とする請求項１記載の図形描画装置。
【請求項３】
頂点ソート部に入力される多角形の情報は頂点座標と頂点座標における描画色を含み、
勾配算出部は、除算器を備え、除算器は多角形のエッジの勾配を算出すると共に、多角形情報の描画色を基に多角形内部の描画色を算出するための勾配計算も行うことを特徴とする請求項１または請求項２に記載の図形描画装置。
【請求項４】
多角形を描画する図形描画プログラムであって、コンピュータを、
多角形の頂点座標を含む多角形の情報を入力し、前記頂点の中でＹ座標の小さいものから順に番号付けを行う頂点ソート部と、
前記頂点ソート部により番号付けが行われ、入力された頂点のＹ座標が最小となる点とそれ以外の頂点とを結んだ(頂点数−１)個の線分に対して勾配の算出を行い、前記多角形の外周となるエッジの勾配を算出する勾配算出部と、
前記勾配算出部が算出した(頂点数−１)個の勾配の大小比較を行い、勾配が最大または最小となった２つのエッジの情報を元に多角形の形状を判定する多角形形状判定部と、
前記多角形形状判定部で判定された多角形の形状に基づいて、描画開始点から左右２つのエッジについて勾配を順次加算して走査線との交点の座標を算出するエッジ生成部と、
前記エッジ生成部が算出した走査線との交点間の塗潰し処理を行う塗潰し処理部として機能させる図形描画プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、多角形を描画する図形描画装置及び図形描画機能をコンピュータに実現させるプログラムに関するものである。
【背景技術】
【０００２】
従来の多角形を描画する図形描画装置としては、例えば特開平５-46783号公報（特許文献１）で示されているものが提案されている。これは多角形の頂点を入力された順に結んで輪郭線を生成し、輪郭線で形成される多角形を描画するという方式をとり、多角形と走査線との交点座標、色情報などを保存するための画像メモリを備えている。
従って、上記の方法では、多角形の頂点座標が入力される順序によっては、図１０（Ｇ）に示すように図形がねじれた形で描画されてしまう場合がある。例えば、（Ｅ）のように必ずＶ１⇒Ｖ２⇒Ｖ３⇒Ｖ４の順序で頂点座標を設定し、設定された順序で四角形の輪郭線を生成するようにしていた場合には、（Ｆ）のような四角形を描画したい場合でも頂点座標の入力順序が（Ｆ）のようになると（Ｇ）のようにねじれた形で描画されてしまう。このような描画結果を避けるためには、多角形形状の判定が必要となる。
【０００３】
また、特開平７-105405号公報（特許文献２）では、描画対象の多角形を複数の三角形に分割して描画する方法が開示されている。さらに、多角形が四角形である場合には、形状判定を利用してそれ以上の多角形の処理と分離し、処理性能を向上する方式が示されている。なお、特許文献２では、多角形分割後の三角形または四角形の形状判定に外積演算を利用している。
【０００４】
【特許文献１】特開平５-46783号公報
【特許文献２】特開平７-105405号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１に開示される多角形描画方式では、多角形のエッジと走査線との交点座標を保存するための画像メモリを備えるために、描画領域の縦方向のサイズ分だけの記憶領域が必要であり、ハードウェア規模の削減にも限界があるという課題があった。
また、特許文献２に開示される技術においては、多角形形状の判定に外積演算を利用しており、描画処理の度に多大な計算を必要とするという課題がある。このように、従来の多角形描画技術では、任意の順序で入力された頂点情報から多大な計算量を要することなく高速な描画を実行することが困難であった。
【０００６】
この発明は上記のような問題点を解決するためになされたもので、任意の順序で入力された頂点情報から多角形の輪郭線（エッジ）を判定し、多角形内部の塗潰しを高速に行うことを可能とする。
また、多角形のエッジと走査線との交点座標を保存するための記憶領域を必要とせず、単純な演算によって多角形を高速に描画できる図形描画装置およびこの図形描画機能をコンピュータに実現させるプログラムを得ることを目的とする。
【課題を解決するための手段】
【０００７】
この発明に係る図形描画装置は、
多角形の頂点座標を含む多角形の情報を入力し、前記頂点の中でＹ座標の小さいものから順に番号付けを行う頂点ソート部と、
前記頂点ソート部により番号付けが行われ、入力された頂点のＹ座標が最小となる点とそれ以外の頂点とを結んだ(頂点数−１)個の線分に対して勾配の算出を行い、前記多角形の外周となるエッジの勾配を算出する勾配算出部と、
前記勾配算出部が算出した(頂点数−１)個の勾配の大小比較を行い、勾配が最大または最小となった２つのエッジの情報を元に多角形の形状を判定する多角形形状判定部と、
前記多角形形状判定部で判定された多角形の形状に基づいて、描画開始点から左右２つのエッジについて勾配を順次加算して走査線との交点の座標を算出するエッジ生成部と、
前記エッジ生成部が算出した走査線との交点間の塗潰し処理を行う塗潰し処理部とを備える。
【発明の効果】
【０００８】
この発明に係る図形描画装置によれば、勾配算出部が算出した勾配の大小関係に基づく単純な判定条件を利用して任意の順序で入力された頂点情報に基づいた多角形の形状を多角形形状判定部が判定し、多角形の形状に基づいてエッジ生成部で算出された描画開始点から左右２つのエッジと走査線との交点の座標間の塗潰し処理を塗潰し処理部が行う構成であるので、多角形内部の塗潰しを高速に行うことができ多角形描画を高速に行えるという効果がある。また、Ｙ座標が最小となる頂点を描画開始点として、Ｙ座標をインクリメントしながら逐次処理を行うため走査線とエッジとの交点座標を保存するための記憶領域を必要としない。
【発明を実施するための最良の形態】
【０００９】
実施の形態１．
図１は、この発明の実施の形態１による図形描画装置の構成を示すブロック図である。実施の形態１による図形描画装置７は、頂点ソート部１、勾配算出部２、多角形形状判定部３、エッジ生成部４及び塗潰し処理部５から構成され、図形描画装置７によって生成されたピクセルデータがフレームバッファ６に保持され、保持されたピクセルデータは適宜読み出されて表示される。
【００１０】
頂点ソート部１は、電子データとして入力された多角形の頂点の情報をＹ座標の小さいものから順に番号付けを行う。勾配算出部２では、頂点ソート部１が求めたＹ座標が最小となる頂点を起点とし、他の頂点とを結んだ線分の勾配を算出する。多角形形状判定部３は、勾配算出部２が算出した勾配の大小関係を比較し、多角形の形状を判定する。エッジ生成部４では、多角形形状判定部３が判定した多角形の形状に基づき、描画開始点の座標に対してＹ座標をインクリメントしながら勾配算出部２が算出した勾配を順次加算することにより、エッジと走査線との交点の座標を算出する。塗潰し処理部５では、エッジ生成部４が算出したエッジと走査線との交点の座標に基づいて塗潰し処理を実行する。フレームバッファ６には、図形描画装置７が生成した多角形のピクセルデータを保持する。
【００１１】
また、図形描画装置７の構成要素である頂点ソート部１、勾配算出部２、多角形形状判定部３、エッジ生成部４及び塗潰し処理部５は、本発明の趣旨に沿う図形描画プログラムをコンピュータに読み込ませ、各部の動作を制御することにより、当該コンピュータ上でソフトウエアとハードウェアが協働した具体的な手段として実現することもできる。このコンピュータには、通信機能を有し、上記図形描画プログラムを実行することができる携帯電話や携帯情報端末も含まれる。なお、コンピュータ自体の構成及びその基本的な機能については、当業者が当該技術分野の技術常識に基づいて容易に認識できるものであり、この発明の本質に直接関わるものでないので詳細な記載を省略する。
【００１２】
図２は、この発明による多角形描画処理手順を説明するための図であり、例として四角形を描画する場合を示す。ここで、図形描画装置７が搭載されたコンピュータのＣＰＵから入力された多角形の情報として、頂点の座標（ｘ１，ｙ１）〜(ｘ４，ｙ４)が設定されたものとする。また、入力される頂点の座標はどの順序であってもよく、頂点ソート部１によってＹ座標の小さいものから順にＶ１（ｘ１，ｙ１）〜Ｖ４（ｘ４，ｙ４）となるように改めて番号付けを行う。従って、図２の表記は、前記頂点ソート部１による処理を行った後の状態と考えればよい。
【００１３】
この発明では、多角形の各頂点を通る水平線によってｎ次多角形を(ｎ−１)個の台形または三角形の領域に分割し、Ｙ座標が小さい方の領域から順に（１）、（２）、（３）の領域と定義する。図２のような四角形の場合には、Ｙ座標が最小となる頂点から反
時計回りに見た頂点の順序がＶ１⇒Ｖ２⇒Ｖ３⇒Ｖ４となる場合（Ａ）と、Ｖ１⇒Ｖ３⇒Ｖ４⇒Ｖ２となる場合（Ｂ）の２通りに分類することができる。
また、多角形の頂点から任意の２点を選択してできる線分の中で、多角形の輪郭線上にあるものをエッジと呼ぶことにする。例えば、図２（Ａ）においてエッジに相当するのは、Ｖ１Ｖ２、Ｖ１Ｖ４、Ｖ２Ｖ３およびＶ３Ｖ４であり、図２（Ｂ）においてエッジに相当するのは、Ｖ１Ｖ２、Ｖ１Ｖ３、Ｖ２Ｖ４およびＶ３Ｖ４である。
【００１４】
一方、四角形の頂点が図３のように四角形に凹みが生じるような条件で入力された場合には、図３（Ｃ）、（Ｄ）のいずれの四角形を描画すればよいかを判断することができない。これは、図形の性質上回避できない問題点であり、この発明の本質に直接関わるものでない。以後、この発明では凸型の多角形のみを取り扱うものとする。
【００１５】
次に動作について説明する。
図形描画装置７は、ＣＰＵから描画するｎ次多角形の情報としてｎ個の頂点の座標、描画色等の情報が設定され、起動命令を受けることにより動作を開始する。起動命令を受けると、頂点ソート部１が起動して頂点のＹ座標の小さい順にＶ１〜Ｖｎまで番号付けを行う。
【００１６】
勾配算出部２は、頂点ソート部１で決定された番号の情報を用いて、頂点のＹ座標が最小の点Ｖ１と、多角形の他の頂点とを結んだ線分の勾配を算出する。図２のように四角形を描画する場合には、エッジＶ１Ｖ２、Ｖ１Ｖ３、Ｖ１Ｖ４の３つの勾配を算出する。なお、これらの勾配は以下の式（１）〜（３）による演算で算出する。
ｄｘ１２＝（ｘ２−ｘ１）／（ｙ２−ｙ１）  ・・・（１）
ｄｘ１３＝（ｘ３−ｘ１）／（ｙ３−ｙ１）  ・・・（２）
ｄｘ１４＝（ｘ４−ｘ１）／（ｙ４−ｙ１）  ・・・（３）
【００１７】
多角形形状判定部３は、上式で求められた３つの勾配の大小関係を判定し、勾配が最大と最小になる２つのエッジを決定する。なお、ｎ次多角形の場合には、ｎ−１個の勾配の大小関係を判定する。
【００１８】
エッジ生成部４は、いわゆるＤＤＡ（ディジタル微分解析器）を利用し、勾配算出部２が算出した勾配を、図７に示すように描画開始点のＸ座標に対して順次加算することにより、エッジと走査線との交点の座標を算出する。例えば、図７のような四角形を描画する場合、領域（１）においてエッジと走査線との交点の座標ｘ１２（ｙ）およびｘ１３（ｙ）を以下の式（４）、（５）により順次算出する。ただし、走査線のＹ座標をｙとおく。
ｘ１２（ｙ）＝Ｘ１＋ｄｘ１２×（ｙ−Ｙ１）  ・・・（４）
ｘ１３（ｙ）＝Ｘ１＋ｄｘ１３×（ｙ−Ｙ１）  ・・・（５）
【００１９】
塗潰し処理部５は、エッジ生成部４で求められた２つのエッジと走査線との交点間を結ぶように順次ピクセルを生成する。また、Ｙ座標が（１）〜（３）の各領域内の最終値に達した場合には、描画領域を次の領域に移行する処理を行う。
【００２０】
次に実施の形態１による多角形描画処理の詳細について説明する。
図４は、実施の形態１の図形描画装置による多角形描画処理の流れを示すフローチャートであり、この図に沿って説明する。
先ず、頂点ソート部１は、上述したように、頂点のＹ座標の小さい順にＶ１〜Ｖｎまで番号付けを行う（ステップＳＴ１）。次に、勾配算出部２は、頂点のＹ座標が最小の点Ｖ１とそれ以外のｎ−１個の頂点Ｖ２〜Ｖｎとを結ぶ各線分の勾配の算出を行う。図２のように四角形を描画する場合には、エッジＶ１Ｖ２、Ｖ１Ｖ３およびＶ１Ｖ４の勾配を算出する。（ステップＳＴ２）。
なお、この勾配の値は絶対値ではなく、正負を勘案した値とする。
【００２１】
次に、多角形形状判定部３は、勾配算出部２で算出されたｎ−１個の勾配の大小関係を判定する。図２のような四角形を描画する場合には、上式（１）〜（３）で求められた３つの勾配の大小関係を判定し、勾配が最大及び最小となるエッジを決定し、これらを領域（１）におけるアクティブエッジと決定する（ステップＳＴ３）。ここでは、図２において太線で示したエッジが、領域（１）におけるアクティブエッジとなる。また、領域（１）におけるアクティブエッジが決定されれば、領域（２）および（３）におけるアクティブエッジも図５に示すように自動的に決定される。ただし、図５では領域（１）において最初にＶ１Ｖ２を選択した側のエッジをエッジ１、もう一方のエッジをエッジ２として表記している。同時に、領域の境界に達した時にアクティブエッジを切り替えるか否かを判定するための更新フラグを図６のように定める。なお、勾配が最大でも最小でもなかったエッジの勾配に関しては、今後の計算で使用しない。
【００２２】
続いて、エッジ生成部４は、前記多角形形状判定部３で決定した２つのアクティブエッジに対して描画開始点の座標に勾配とｙ座標の増加分の積をそれぞれ加算していくことにより、エッジと走査線との交点のＸ座標を求める（ステップＳＴ４）。
その後、塗潰し処理部５は、エッジ生成部４が算出した２つのエッジと走査線との交点同士を結ぶように順次ピクセルを生成して塗潰し処理を行う（ステップＳＴ５）。さらにＹ座標が最終値であるか否かの判定を行う（ステップＳＴ６）。Ｙ座標が最終値でない場合には、Ｙ座標のインクリメントを行った後（ステップＳＴ７）、（ステップＳＴ４）〜（ステップＳＴ６）の処理を繰り返す。Ｙ座標が最終値である場合には、図２の領域（１）〜（３）のいずれの領域の最終値であるかによって処理を分岐する。
【００２３】
Ｙ座標が領域（１）の最終値（ｙ２）である場合には、領域（２）の描画処理に移行する（ステップＳＴ９）。ここで、図６に示した更新フラグが１であるエッジに関しては、アクティブエッジの切り替えが必要であるため、新たに勾配の算出を行う。四角形を描画する場合には、図５に示したように四角形の種類（Ａ）の場合はエッジＶ２Ｖ３また四角形の種類（Ｂ）の場合はＶ２Ｖ４の勾配を算出する。
また、ここで領域（３）で使用するエッジＶ３Ｖ４の勾配の算出も同時に行っておく。この勾配は、（ステップＳＴ３）において選択されなかった勾配と置き換えて保存しておく。ここで、２つの勾配を並列して算出することにより、領域（３）に移行する際の除算によるオーバーヘッドを省略することが可能となる。その後、Ｙ座標のインクリメントを行った後（ステップＳＴ７）、（ステップＳＴ４）〜（ステップＳＴ６）の処理を繰り返す。
【００２４】
Ｙ座標が領域（２）の最終値（ｙ３）である場合には、領域（３）の描画処理に移行する（ステップＳＴ１１）。アクティブエッジの勾配は前記のように既に求められているので、新たに勾配の算出を行う必要はない。また、図６に示した更新フラグが１であるエッジに関しては、上記（ステップＳＴ９）で算出しておいたエッジＶ３Ｖ４の勾配に置き換える。その後、Ｙ座標のインクリメントを行った後（ステップＳＴ７）、（ステップＳＴ４）〜（ステップＳＴ６）の処理を繰り返す。
Ｙ座標が領域（３）の最終値（ｙ４）である場合には、描画を終了する（ステップＳＴ１２）。
【００２５】
以上のように、この実施の形態１では、多角形を描画する際に頂点座標がランダムに入力された場合でも、勾配の大小比較という単純な判定条件で多角形の形状を分類することによって、図１０（Ｇ）のようなねじれが生じることなく多角形を描画することが可能となる。また、多角形の描画を走査線とエッジとの交点座標を保存するための記憶容量を使用せずに行うことが可能である。従って、本実施の形態１による図形描画装置７のハードウェア化を行う場合でも回路規模を小さく抑えることができる。さらに、塗潰し処理部５は水平方向にＸ座標が連続するようにピクセルを生成するようにしたため、例えばフレームバッファ６にＳＤＲＡＭを使用する場合にはバースト転送機能を有効に利用して、高速に描画を行うことができるという効果がある。
【００２６】
実施の形態２．
以上の実施の形態１では、多角形を単色で塗潰すことを前提としたものであるが、次に多角形の各頂点色（例えばＲＧＢの各成分）を入力し、多角形のエッジ上および内部の領域については線形補間により塗潰し色を算出することでグラデーション塗潰しを行うような場合に対応する実施の形態を示す。
図８は、このような場合の、図形描画装置の構成を示すブロック図である。実施の形態２による図形描画装置１４は、頂点ソート部８、３並列の除算器を備えた勾配算出部９、多角形形状判定部１０、エッジ生成部１１及び塗潰し処理部１２から構成され、図形描画装置１４で生成され、フレームバッファ１３に保持されたピクセルデータが適宜読み出されて表示される。
【００２７】
次に実施の形態２の動作について説明する。
図形描画装置１４は、ＣＰＵから描画するｎ次多角形の情報としてｎ個の頂点の座標、ｎ個の頂点それぞれの描画色等の情報が設定され、起動命令を受けることにより動作を開始する。起動命令を受けると、頂点ソート部８が起動してＣＰＵが設定した頂点の座標をＹ座標の小さい順にソートしてＶ１〜Ｖｎまで番号付けを行う。
勾配算出部９は、頂点ソート部８で決定された番号の情報を用いて、頂点のＹ座標が最小の点Ｖ１と、多角形の他の頂点とを結んだ線分の勾配を算出する。多角形形状判定部１０は、実施の形態１の場合と同様に勾配算出部９で求められた勾配の大小関係を判定し、勾配が最大及び最小となる２つのエッジを決定する。
【００２８】
その後、勾配算出部９は、多角形形状判定部１０で判定された各アクティブエッジに対して描画色の各成分の勾配を算出する処理を行う。このため勾配算出部９は図８に示すような３並列の除算器を備える。例えば、エッジＶ１Ｖ２に対しては以下の式（６）〜（８）を用いて描画色のＲ、Ｇ、Ｂ各成分の勾配ｄｒ１２、ｄｇ１２、ｄｂ１２を算出する。ただし、頂点Ｖ１（ｘ１，ｙ１）の描画色を（ｒ１，ｇ１，ｂ１）、頂点Ｖ２（ｘ２，ｙ２）の描画色を（ｒ２，ｇ２，ｂ２）とする。
ｄｒ１２＝（ｒ２−ｒ１）／（ｘ２−ｘ１）  ・・・（６）
ｄｇ１２＝（ｇ２−ｇ１）／（ｘ２−ｘ１）  ・・・（７）
ｄｂ１２＝（ｂ２−ｂ１）／（ｘ２−ｘ１）  ・・・（８）
【００２９】
式（６）〜（８）の計算は、図２のような四角形の場合には図６に示した更新フラグが更新された時のみ行えばよい。従って、上式（６）〜（８）の計算は四角形全体で合計４回だけ行えばよく、毎回同様の計算を繰り返し行う必要はない。
【００３０】
エッジ生成部１１は、実施の形態１の処理に加えて、勾配算出部９が算出した描画色の勾配を、描画開始点の描画色に対して順次加算することにより、エッジと走査線との交点の描画色を算出する。例えばエッジＶ１Ｖ２に対しては以下の式（９）〜（１２）の計算を、Ｙ座標をインクリメントするごとに行う。
【００３１】
ｒ１２＝ｒ１＋ｄｒ１２×（ｙ−ｙ１）  ・・・（９）
ｇ１２＝ｇ１＋ｄｇ１２×（ｙ−ｙ１）  ・・・（１０）
ｂ１２＝ｂ１＋ｄｂ１２×（ｙ−ｙ１）  ・・・（１１）
【００３２】
塗潰し処理部１２は、エッジ生成部１１で求められた２つのエッジと走査線との交点間を結ぶように順次ピクセルを生成する。その際、勾配算出部９は、エッジの勾配算出に用いた除算器を再利用して、各走査線に対して以下の式（１２）〜（１４）により描画色のＲ、Ｇ、Ｂ各成分の勾配ｄｒ、ｄｇ、ｄｂを算出しておく。ただし、走査線左端の点の座標を（ｘｌ，ｙｌ）、描画色を（ｒｌ，ｇｌ，ｂｌ）、走査線右端の点の座標を（ｘｒ，ｙｒ）、描画色を（ｒｒ，ｇｒ，ｂｒ）とする。
【００３３】
ｄｒ＝（ｒｒ−ｒｌ）／（ｘｒ−ｘｌ）  ・・・（１２）
ｄｇ＝（ｇｒ−ｇｌ）／（ｘｒ−ｘｌ）  ・・・（１３）
ｄｂ＝（ｂｒ−ｂｌ）／（ｘｒ−ｘｌ）  ・・・（１４）
【００３４】
その後、エッジと走査線との交点間を結ぶように順次ピクセルを生成する処理を行う際に、以下の式（１５）〜（１７）により、走査線上に位置する各ピクセルの描画色ｒ（ｘ）、ｇ（ｘ）、ｂ（ｘ）の算出を上記式（１２）〜（１４）の結果を利用して行う。ただし、走査線上の点のＸ座標をｐｘとする。
ｒ（ｘ）＝ｒｌ＋ｄｒ×（ｐｘ−ｘ１）  ・・・（１５）
ｇ（ｘ）＝ｇｌ＋ｄｇ×（ｐｘ−ｘ１）  ・・・（１６）
ｂ（ｘ）＝ｂｌ＋ｄｂ×（ｐｘ−ｘ１）  ・・・（１７）
【００３５】
図９は、図２（Ａ）のような四角形のグラデーション塗潰しを行う場合の除算器１〜３の使用状態を説明するための図である。この実施の形態２では、エッジの勾配と描画色のＲ、Ｇ、Ｂ各成分の勾配を、除算器を無駄なく活用して算出することが可能である。
【００３６】
以上のように、本発明の実施の形態２では、多角形の各頂点色の線形補間によるグラデーション塗潰しを高速に実現することが可能となる。また、図形描画装置１４のハードウェア化を行う時に回路規模が増大する要因となる除算器に関しても、総数を３個のみに抑えて実現することが可能である。
【００３７】
実施の形態３．
以上の実施の形態２では、多角形の各頂点色を入力し、グラデーション塗潰しを行うようにしたものであるが、多角形の各頂点に対応するテクスチャアドレスを指定し、多角形のエッジ上および内部の領域については線形補間によりテクスチャアドレスを算出することで、任意の多角形に対するテクスチャ貼り付けを行うことも可能である。この実施の形態３では、実施の形態２においてＲＧＢの３要素の中から２つの要素をテクスチャアドレスの演算と共用することによって、全く同様の構成により実現することが可能である。また、グラデーション処理とテクスチャアドレスの計算を両方とも利用することにより、いわゆるテクスチャブレンドの効果も容易に実現できる。
【００３８】
実施の形態４．
以上の実施の形態では、塗潰し処理部５または塗潰し処理部１３において走査線ごとに１ラインずつ塗潰し処理を行っていたものであるが、塗潰しは４×４、８×４などのタイル（ブロック）単位で行ってもよい。この実施の形態では、タイルのＹ軸方向のサイズ分だけ走査線両端の座標、描画色、描画色の勾配などを一時的に保存しておくための記憶領域が必要となる。
【産業上の利用可能性】
【００３９】
この発明に係る図形描画技術は２Ｄ／３Ｄグラフィックスコアに適用され、多角形描画において任意の順序で入力された頂点情報から単純な判定条件によって多角形を分類出来る様にした。走査線との交点座標保存用の記憶領域を必要としないので、ハードウェア規模を小さくできる。
また、従来の２Ｄグラフィックスコアに比較してグラデーションで塗り潰し、テクスチャ貼り付けなど様々な追加機能が付加可能な２Ｄ／３Ｄグラフィックスコアが提供できる。
【図面の簡単な説明】
【００４０】
【図１】この発明の実施の形態１による図形描画装置の構成を示すブロック図である。
【図２】多角形(四角形)描画方式を説明するための図である。
【図３】凹みのある四角形の説明図である。
【図４】実施の形態１による多角形（四角形）描画処理の流れを示すフローチャートである。
【図５】図２の四角形のアクティブエッジ選択順序を示す図である。
【図６】図２の四角形のエッジ更新フラグを示す図である。
【図７】エッジ生成部４のエッジ算出方式を説明するための図である。
【図８】この発明の実施の形態２による図形描画装置の構成を示すブロック図である。
【図９】勾配算出部９に含まれる除算器の処理状況を説明するための図である。
【図１０】従来の多角形描画装置において図形がねじれて描画されてしまう場合を説明するための図である。
【符号の説明】
【００４１】
１、８；頂点ソート部、２、９；勾配算出部、３、１０；多角形形状判定部、４、１１；エッジ生成部、５、１２；塗潰し処理部、６、１３；フレームバッファ、７、１４；図形描画装置。
【図１】
0004664169.tif 000002
【図２】
0004664169.tif 000003
【図３】
0004664169.tif 000004
【図４】
0004664169.tif 000005
【図５】
0004664169.tif 000006
【図６】
0004664169.tif 000007
【図７】
0004664169.tif 000008
【図８】
0004664169.tif 000009
【図９】
0004664169.tif 000010
【図１０】
0004664169.tif 000011