(57)【特許請求の範囲】
【請求項１】
表示画面に表示する三角形の内側を描画領域として描画処理を実行する描画装置であって、
前記三角形の頂点に外接した矩形を複数の部分矩形に分割する分割手段と、
前記複数の部分矩形の中から前記頂点を含んだ前記部分矩形を抽出する抽出手段と、
前記抽出手段によって抽出された前記部分矩形のうち、前記三角形の頂点に外接した矩形の角部に位置する前記部分矩形を、開始矩形に設定する設定手段と、
前記複数の部分矩形のうち所定方向に連続する一連の第１部分矩形群に含まれる前記部分矩形が、前記三角形の描画領域と重複しているか否かの判定処理を、前記設定手段によって設定された開始矩形から前記所定方向に沿って順に実行する判定手段と、
前記描画領域と重複していると判定された前記部分矩形から前記所定方向と直交する方向に連続する一連の第２部分矩形群に対して、前記描画領域と重複しているか否かの判定処理（以下、「直交方向の判定処理」という）を前記判定手段に実行させ、前記判定手段によって判定された判定結果が重複から非重複に変化した場合、前記判定処理を終了させる制御手段と、
前記判定手段によって重複していると判定された前記部分矩形に対して描画処理を実行する描画手段と、を備え、
前記制御手段は、前記開始矩形から順次、前記所定方向の判定処理に追従して前記直交方向の判定処理を実行させ、
前記設定手段は、前記直交方向の判定処理により最初に重複であると判定された部分矩形を、あらたに開始矩形に設定することを特徴とする描画装置。
【請求項２】
前記制御手段は、前記開始矩形から順次、前記所定方向への前記判定処理を実行させ、
前記描画手段は、前記開始矩形に対する前記描画処理を実行するとともに、前記判定手段によって重複していると判定された前記部分矩形に対して前記描画処理を実行することを特徴とする請求項１に記載の描画装置。
【請求項３】
前記制御手段は、前記所定方向の判定処理の終了後、前記設定手段によってあらたに開始矩形に設定された部分矩形から前記所定方向の判定処理を開始させることを特徴とする請求項１に記載の描画装置。
【請求項４】
表示画面に表示する三角形の内側を描画領域としてコンピュータに描画処理を実行させる描画プログラムであって、
前記コンピュータを、
前記三角形の頂点に外接した矩形を複数の部分矩形に分割する分割手段、
前記複数の部分矩形の中から前記頂点を含んだ前記部分矩形を抽出する抽出手段、
前記抽出手段によって抽出された前記部分矩形のうち、前記三角形の頂点に外接した矩形の角部に位置する前記部分矩形を、開始矩形に設定する設定手段、
前記複数の部分矩形のうち所定方向に連続する一連の第１部分矩形群に含まれる前記部分矩形が、前記三角形の描画領域と重複しているか否かの判定処理を、前記設定手段によって設定された開始矩形から前記所定方向に沿って順に実行する判定手段、
前記描画領域と重複していると判定された前記部分矩形から前記所定方向と直交する方向に連続する一連の第２部分矩形群に対して、前記描画領域と重複しているか否かの判定処理（以下、「直交方向の判定処理」という）を前記判定手段に実行させ、前記判定手段によって判定された判定結果が重複から非重複に変化した場合、前記判定処理を終了させる制御手段、
前記判定手段によって重複していると判定された前記部分矩形に対して描画処理を実行する描画手段、として機能させ、
前記制御手段は、前記開始矩形から順次、前記所定方向の判定処理に追従して前記直交方向の判定処理を実行させ、
前記設定手段は、前記直交方向の判定処理により最初に重複であると判定された部分矩形を、あらたに開始矩形に設定することを特徴とする描画プログラム。
【請求項５】
前記制御手段は、前記開始矩形から順次、前記所定方向への前記判定処理を実行させ、
前記描画手段は、前記開始矩形に対する前記描画処理を実行するとともに、前記判定手段によって重複していると判定された前記部分矩形に対して前記描画処理を実行することを特徴とする請求項４に記載の描画プログラム。
【請求項６】
前記制御手段は、前記所定方向の判定処理の終了後、前記設定手段によってあらたに開始矩形に設定された部分矩形から前記所定方向の判定処理を開始させることを特徴とする請求項４に記載の描画プログラム。
【請求項７】
分割手段、抽出手段、設定手段、判定手段、制御手段、および表示画面に表示する三角形の内側を描画領域として描画処理を実行する描画手段を備えるコンピュータが、
前記分割手段により、前記三角形の頂点に外接した矩形を複数の部分矩形に分割する分割手段と、
前記抽出手段により、前記複数の部分矩形の中から前記頂点を含んだ前記部分矩形を抽出する抽出工程と、
前記抽出手段によって抽出された前記部分矩形のうち、前記三角形の頂点に外接した矩形の角部に位置する前記部分矩形を、開始矩形に設定する設定工程と、
前記判定手段による、前記複数の部分矩形のうち所定方向に連続する一連の第１部分矩形群に含まれる前記部分矩形が、前記三角形の描画領域と重複しているか否かの判定処理を、前記制御手段により、前記設定工程によって設定された開始矩形から前記所定方向に沿って順に実行させ、前記描画領域と重複していると判定された前記部分矩形から前記所定方向と直交する方向に連続する一連の第２部分矩形群に対して、前記描画領域と重複しているか否かの判定処理（以下、「直交方向の判定処理」という）を前記判定手段に実行させる判定工程と、
前記判定処理開始後、前記判定処理の判定結果が重複から非重複に変化した場合、前記判定処理を、前記制御手段により終了させる判定終了工程と、
前記描画手段により、前記判定処理によって重複していると判定された前記部分矩形に対して描画処理を実行する描画工程と、を実行し、
前記判定工程では、前記制御手段により、前記開始矩形から順次、前記所定方向の判定処理に追従して前記直交方向の判定処理を実行させ、
前記設定工程では、前記設定手段により、前記直交方向の判定処理により最初に重複であると判定された部分矩形を、あらたに開始矩形に設定することを特徴とする描画方法。
【請求項８】
前記判定工程では、前記制御手段により、前記開始矩形から順次、前記所定方向の判定処理を開始させ、
前記描画工程では、前記描画手段により、前記開始矩形に対する前記描画処理を実行するとともに、前記判定処理によって重複していると判定された前記部分矩形に対して前記描画処理を実行することを特徴とする請求項７に記載の描画方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数の三角形からなるポリゴンによって３次元画像を描画する描画装置、描画プログラムおよび描画方法に関する。
【背景技術】
【０００２】
従来、ポリゴンを利用して形成した多角形によって３次元の立体図を描画するような３次元の描画処理では、まず、表示画面を複数の部分矩形（タイル）に分割し、このタイルごとにラスタライズ処理をおこなう手法が用いられている。ラスタライズ処理とは、立体図を構成する三角形の各頂点の内側を塗りつぶして立体図を描画する処理である。
【０００３】
また、表示画面を複数のタイルに分割する際には、三角形の頂点情報から、三角形に外接した矩形を設定し、その矩形内に存在するタイル毎に描画処理をおこなっていた。このため、実際には三角形の画素が存在しない領域においても描画処理が実行され、無駄な処理となっていた。そこで、事前に各タイルに描画しようとしている三角形が含まれるか否かを判定する工程をはさみ、この判断結果を参照して三角形が含まれているタイルのみで描画処理をおこなうような描画装置が開示されている（たとえば、下記特許文献１参照。）。
【０００４】
【特許文献１】特開２００１−２８３２４２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１のように、描画対象となるタイルに限定して描画処理をおこなう場合であっても、描画対象となるタイルを限定するには、まず、すべてのタイルに対して事前に描画対象となるか否かの判定処理をおこなう必要がある。したがって、実際には描画をおこなわないタイルに対しても事前判定処理をおこなわなければならない。したがって、依然として、描画をおこなわないタイルに対する処理が発生し、結果として、実際の描画に反映されない非効率な処理が発生してしまうという問題があった。
【０００６】
この発明は、上述した従来技術による問題点を解消するため、無用な処理を防ぎ、最小限の処理で描画をおこなうことのできる描画装置、描画プログラムおよび描画方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するため、この描画装置、描画プログラムおよび描画方法は、三角形の頂点に外接した矩形を複数の部分矩形に分割する分割し、分割した複数の部分矩形のうち所定方向に連続する一連の第１部分矩形群に含まれる部分矩形が、三角形の描画領域と重複しているか否かの判定処理を、前記所定方向に沿って順に実行させ、判定結果が重複から非重複に変化した場合に判定処理を終了し、判定処理によって重複していると判定された前記部分矩形に対して描画処理を実行する処理を備えることを要件とする。
【０００８】
この描画装置、描画プログラムおよび描画方法によれば、連続する一連の部分矩形のうち、三角形の描画領域と重複している可能性がある部分矩形に限定して判定処理がおこなわれ、重複している可能性のない部分矩形への判定処理に移行すると、自動的に判定処理を終了させることができる。また、この判定処理の結果を利用して、描画処理が必要な部分矩形に限定した効率的な描画処理を実行させることができる。
【０００９】
また、上記の描画装置、描画プログラムおよび描画方法は、前記複数の部分矩形の中から前記頂点を含んだ前記部分矩形を抽出すると、抽出された前記部分矩形のうち、前記三角形に外接した矩形の角部に位置する前記部分矩形を、前記判定処理を開始する開始矩形に設定し、前記開始矩形から順次、前記所定方向への前記判定処理を実行させ、判定処理によって重複していると判定された前記部分矩形に対して前記描画処理を実行してもよい。
【００１０】
この描画装置、描画プログラムおよび描画方法によれば、三角形に外接した矩形の角部（頂点部分の部分矩形）のうち、三角形の頂点を含む部分矩形から判定処理を開始させることにより、三角形の描画領域の最端部分から順番に効率的な判定処理を実行することができる。
【００１１】
また、上記の描画装置、描画プログラムおよび描画方法は、上述した判定処理のほか、
描画領域と重複していると判定された前記部分矩形から前記所定方向と直交する方向に連続する一連の第２部分矩形群に対して、前記描画領域と重複しているか否かの判定処理（以下、「直交方向の判定処理」という）を実行してもよい。
させてもよい。
【００１２】
この描画装置、描画プログラムおよび描画方法によれば、所定の方向に連続する部分矩形の判定処理と平行して、この部分矩形と直交方向に隣接する部分矩形に対しても、三角形の描画領域と重複している可能性のある部分矩形までに限定して判定処理をおこなうことができる。
【００１３】
また、上記の描画装置、描画プログラムおよび描画方法は、前記開始矩形から順次、前記所定方向の判定処理に追従して前記直交方向の判定処理を実行させ、前記直交方向の判定処理により最初に重複であると判定された部分矩形を、あらたに開始矩形に設定してもよい。
【００１４】
この描画装置、描画プログラムおよび描画方法によれば、上述した処理によって設定された開始矩形の位置を基準として、次回の開始矩形を設定するため三角形の描画領域に合わせた必要最低限の部分矩形のみを判定処理の対象に設定することができる。
【００１５】
また、上記の描画装置、描画プログラムおよび描画方法は、前記所定方向の判定処理の終了後、前記設定手段によってあらたに開始矩形に設定された部分矩形から所定方向の判定処理を開始させてもよい。
【００１６】
この描画装置、描画プログラムおよび描画方法によれば、開始矩形と同じ列の部分矩形に対して必要最低限の判定処理が終了すると、判定処理が終了していない隣接するつぎの列を構成する部分矩形の判定処理に移行することができる。
【００１７】
また、上記の描画装置、描画プログラムおよび描画方法は、前記分割の際に、前記表示画面の画素ブロック単位で部分矩形群に分割してもよい。
【００１８】
この描画装置、描画プログラムおよび描画方法によれば、表示画面の走査方向を考慮して部分矩形を設定するため、描画処理時には描画対象の部分矩形内の描画を必要最低数の走査線で描画させることができる。
【００１９】
また、上記の描画装置、描画プログラムおよび描画方法は、前記分割の際に前記表示画面の走査方向と平行な辺をもった矩形を部分矩形群に分割し、前記走査方向を前記所定の方向とし、前記走査方向と直交する非走査方向を前記所定の方向と直交する方向にしてもよい。
【００２０】
この描画装置、描画プログラムおよび描画方法によれば、表示画面の走査方向に基づいて描画対象の三角形が外接した矩形を設定し、走査方向に応じた部分矩形に分割するため、表示画面に対する描画座標設定を効率的におこなうことができる。
【００２１】
また、上記の描画装置、描画プログラムおよび描画方法は、前記三角形の頂点座標を取得し、取得した頂点座標のｘおよびｙの値が前記頂点座標のうち最大もしくは最小となる頂点を検出し、この頂点を含む部分矩形を開始矩形と設定してもよい。
【００２２】
この描画装置、描画プログラムおよび描画方法によれば、三角形の頂点座標の値を比較することによって容易に開始矩形を特定することができる。
【発明の効果】
【００２３】
この描画装置、描画プログラムおよび描画方法によれば、無用な処理を防ぎ、最小限の処理によって描画をおこなうことができるという効果を奏する。
【発明を実施するための最良の形態】
【００２４】
以下に添付図面を参照して、この描画装置、描画プログラムおよび描画方法の好適な実施の形態を詳細に説明する。
【００２５】
（描画処理の概要）
まず、本実施の形態にかかる描画処理の概要について説明する。本実施の形態にかかる描画処理では、まず、描画処理の前に描画対象となる部分を判定し、この判定結果によって描画対象と判定された部分に限定して描画処理をおこなう。このとき、描画対象となるか否かの判定処理も、三角形の形状を考慮することによって、必要最低限の部分に限定し実行することができる。したがって、以下に、判定処理の基本的な手順について図を用いて説明する。
【００２６】
図１−１は、本実施の形態にかかる描画処理の概要を示す説明図である。図１−１のように、本実施の形態にかかる描画処理では、従来の三角形描画処理と同様に、まず、表示画面に描画させたい三角形１１１が指定されると、この三角形１１１に外接する矩形領域１１０が設定され、さらに同一形状の部分矩形に分割される。ここでは、一例として、縦６×横５の合計３０枚の部分矩形に分割される。
【００２７】
また、図１−２は、従来の描画処理の一例を示す説明図である。図１−２のような従来の描画処理では、三角形に外接した矩形１２０が同一形状の部分矩形に分割された後は、すべての部分矩形に対して順番に描画対象であるか否かの判定がおこなわれる。矩形１２０の場合は、左上頂点の部分矩形１から判定処理を開始し、部分矩形２、３、４、５と同一列に隣接する部分矩形の判定処理をおこなう。また、同一列の判定が終了すると、隣接する一段下の列の部分矩形に対して順番に判定処理をおこなう。
【００２８】
したがって、どの部分矩形から判定処理をおこなうかといった順番にかかわらず、矩形１２０の描画処理をおこなうには、少なくとも、３０枚の部分矩形の判定処理が必要となる。しかしながら、実際の描画処理がおこなわれるのは、部分矩形のうち、斜線で示した部分矩形以外の１６枚の部分矩形（点描を施した部分矩形）に過ぎない。
【００２９】
一方、本実施の形態にかかる描画処理の場合、三角形に外接する矩形１１０の四つ角に位置する部分矩形のうち、三角形の頂点を含む部分矩形１を開始矩形に設定して判定処理を開始する。開始矩形（部分矩形１）が設定されると、部分矩形１からｘ方向（水平方向）を進行方向に隣接する部分矩形について順番に判定処理をおこなう。このとき、進行方向として、ｘの正の方向（右方向）と負の方向（左方向）とが想定されるが、ここでは、隣接する部分矩形２が存在する方向を進行方向とする。
【００３０】
上述のように、ｘ方向に部分矩形２、３と順番に判定処理をおこない、判定した部分矩形に三角形１１１が重複していなかった場合、ｘ方向についてはそれ以上の判定処理をおこなわない。したがって、ｘ方向については、部分矩形３まで判定処理がおこなわれる。
【００３１】
一方、開始矩形（部分矩形１）からｙ方向（ｘ方向との直交方向）を進行方向とした場合に隣接する部分矩形４に対しても、三角形１１１が重複するか否かの判定処理がおこなわれる。なお、ここでも、ｙの正の方向（上方向）と負の方向（下方向）とが想定されるが、隣接する部分矩形４が存在する正の方向を進行方向とする。そして、部分矩形４のように三角形１１１が重複している場合には、部分矩形４を次回の開始矩形に設定する。
【００３２】
次回の開始矩形が設定されると、この開始矩形を基準にして、上述したようなｘ方向の判定処理と、ｙ方向の判定処理とがそれぞれおこなわれる。ｘ方向に関しては、部分矩形７までの判定処理がおこなわれる。そしてｙ方向に関しては、部分矩形１の場合と異なり、部分矩形４に隣接する部分矩形は三角形１１１と重複していない。
【００３３】
ｙ方向に隣接する部分矩形が三角形１１１と重複していない場合、これ以上、開始矩形（部分矩形４）のｙ方向の判定処理はおこなわない。かわって、開始矩形（部分矩形４）のｘ方向に隣接する部分矩形５のｙ方向に隣接する部分矩形のうち最初に三角形と重複する部分矩形を次回の開始矩形に設定する。したがって、矩形１１０の場合、部分矩形８が次回の開始矩形となる。
【００３４】
以上説明した処理を次回の開始矩形が設定されなくなるまでおこなう。次回の開始矩形が設定されないとは、すなわち、ｙ方向に隣接する部分矩形が存在しないことを意味し、矩形１１０の判定処理が完了したことをあらわす。判定処理が終了すると、この判定結果を参照して部分矩形ごとに描画処理を施す。なお、描画処理を開始するタイミングは、判定処理がすべて終了した場合に限らず、三角形と重複すると判定された部分矩形から順次描画処理を開始させ、判定処理と並列しておこなわせてもよい。
【００３５】
このような判定処理を描画処理に含ませることにより、描画処理が施されることの無い部分矩形のうち、大部分の部分矩形については、判定処理自体が省略されるため、描画処理全体の処理速度が向上する。したがって、つぎに、上述のような描画処理を実現する描画装置の構成および処理手順について説明する。
【００３６】
（描画装置のハードウェア構成）
まず、この発明の実施の形態にかかる描画装置のハードウェア構成について説明する。図２は、この発明の実施の形態にかかる描画装置のハードウェア構成を示す説明図である。
【００３７】
図２において、描画装置２００は、コンピュータ本体２１０と、入力装置２２０と、出力装置２３０と、から構成されており、不図示のルータやモデムを介してＬＡＮ，ＷＡＮやインターネットなどのネットワーク２４０に接続可能である。
【００３８】
コンピュータ本体２１０は、ＣＰＵ、メモリ、インターフェースを有する。ＣＰＵは、描画装置２００の全体の制御を司る。メモリは、ＲＯＭ、ＲＡＭ、ＨＤ、光ディスク２１１、フラッシュメモリから構成される。メモリはＣＰＵのワークエリアとして使用される。
【００３９】
また、メモリには各種プログラムが格納されており、ＣＰＵからの命令に応じてロードされる。各種プログラムとして具体的には、コンピュータ本体２１０の入出力を制御する入出力プログラムや、後述する描画処理をＣＰＵによって実行させる描画プログラムが格納されている。ＨＤおよび光ディスク２１１はディスクドライブによりデータのリード／ライトが制御される。また、光ディスク２１１およびフラッシュメモリはコンピュータ本体２１０に対し着脱自在である。インターフェースは、入力装置２２０からの入力、出力装置２３０への出力、ネットワーク２４０に対する送受信の制御をおこなう。
【００４０】
また、入力装置２２０としては、キーボード２２１、マウス２２２、スキャナ２２３などがある。キーボード２２１は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式であってもよい。マウス２２２は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。スキャナ２２３は、画像を光学的に読み取る。読み取られた画像は画像データとして取り込まれ、コンピュータ本体２１０内のメモリに格納される。なお、スキャナ２２３にＯＣＲ機能を持たせてもよい。
【００４１】
また、出力装置２３０としては、ディスプレイ２３１、スピーカ２３２、プリンタ２３３などがある。ディスプレイ２３１は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示し、上述したような描画プログラムが立ち上げられている場合には、描画プログラムによって描画された３次元図形を表示する。また、スピーカ２３２は、効果音や読み上げ音などの音声を出力する。また、プリンタ２３３は、画像データ（描画プログラムによって描画された３次元画像など）や文書データを印刷する。
【００４２】
（描画装置の機能的構成）
つぎに、描画装置２００の機能的構成について説明する。図３は、本実施の形態にかかる描画装置の機能的構成を示すブロック図である。図３のように、描画装置２００は、分割部３０１と、抽出部３０２と、設定部３０３と、判定部３０４と、制御部３０５と、描画部３０６と、を備えている。これら各機能３０１〜３０６は、描画装置２００の記憶部に記憶された当該機能３０１〜３０６に関するプログラムをＣＰＵに実行させることにより、または、入出力Ｉ／Ｆにより、当該機能を実現することができる。
【００４３】
まず、分割部３０１は、三角形の頂点に外接した矩形を部分矩形群に分割する。部分矩形群とは、三角形の頂点に外接した矩形を複数個の小さな矩形に分割した場合の、各矩形を指す。このとき、分割部３０１は、ディスプレイ２３１の画素ブロック単位で部分矩形群を設定し、このような部分矩形に分割をおこなってもよいし、さらに、ディスプレイ２３１の走査方向と平行な辺をもった矩形を設定し、この矩形を部分矩形群に分割してもよい。
【００４４】
抽出部３０２は、分割部３０１によって分割された部分矩形の中から三角形の頂点を含んだ部分矩形を抽出する。三角形の頂点の抽出手法としては様々なものが挙げられるが、たとえば、まず、三角形の頂点座標を取得し、この頂点座標のｘおよびｙの値のうち最大もしくは最小となる頂点を検出し、検出した頂点を含む部分矩形を、三角形の頂点を含んだ部分矩形として抽出してもよい。
【００４５】
設定部３０３は、抽出部３０２によって抽出された部分矩形のうち、三角形に外接した矩形の頂点部分を含む部分矩形を描画開始の基準となる部分矩形（開始矩形）に設定する。また、設定部３０３は、後述する判定部３０４によって、開始矩形から順番に所定方向と直交する方向に連続する一連の部分矩形に対して隣接する部分矩形が、三角形の描画領域と重複しているか否かの判定処理をおこない、はじめて重複していると判定された部分矩形を、次回の開始矩形に設定する。
【００４６】
判定部３０４は、指定された部分矩形群のうち所定方向に連続する一連の部分矩形に対して所定方向に隣接する部分矩形が三角形の描画領域と重複しているか否かの判定処理を実行する。この指定された部分矩形群とは、たとえば、設定部３０３によって開始矩形に設定された部分矩形を先頭とする部分矩形群である。すなわち、開始矩形をスタート地点として順番に判定処理をおこなう。
【００４７】
制御部３０５は、判定部３０４を制御して、判定処理によって判定された判定結果が重複から非重複に変化した場合、一連の部分矩形に対する判定処理を終了させる。また、制御部３０５は、判定部３０４を制御して、三角形の描画領域と重複していると判定された部分矩形から所定方向と直交する方向に連続する一連の部分矩形に対して隣接する部分矩形が、三角形の描画領域と重複しているか否かの判定処理を実行させる。このような判定処理の場合も、判定結果が重複から非重複に変化した場合、一連の部分矩形に対する判定処理を終了させる。
【００４８】
すなわち、所定の方向をｘ方向とした場合、所定の方向と直交する方向はｙ方向となる。上述したように制御部３０５は、ｘ方向に連続した部分矩形に対する判定処理を判定結果が重複から非重複に変化した箇所で終了させる。そして、制御部３０５は、ｙ方向に関しても、先ほどのｘ方向の部分矩形に対する判定処理によって重複と判定された部分矩形からｙ方向に連続する部分矩形に対して順番に判定処理をおこなう。ここでも、制御部３０５は、判定結果が重複から非重複に変化した場合に、ｙ方向の一連の部分矩形に対する判定処理を終了させる。
【００４９】
なお、制御部３０５は、たとえば、所定の方向を表示画面の走査方向（上述の例ではｘの方向）とした場合、所定の方向と交差する方向を走査方向と直交する非走査方向（上述の例ではｙ方向）として部分矩形に判定処理をおこなわせる。
【００５０】
また、制御部３０５は、開始矩形から所定の方向に連続する一連の部分矩形に対する判定処理を終了させると、設定部３０３によって設定された次回の開始矩形から所定の方向に連続する一連の部分矩形に対する判定処理を開始させる。さらに、制御部３０５は、設定部３０３によって次回の開始矩形が設定されなかった場合、開始矩形から所定の方向に連続する一連の部分矩形に対する判定処理が終了すると、今回描画処理をおこなう矩形に対する判定処理を終了させる。
【００５１】
描画部３０６は、設定部３０３によって設定された開始矩形と、制御部３０５によって三角形の描画領域と重複していると判定された部分矩形とに限定して描画処理をおこなう。ここでおこなわれる描画処理は、一般的なラスタライズ処理であるが、他の描画処理を適用してもよい。
【００５２】
（描画処理の手順）
つぎに、上述した描画装置２００による描画処理の手順について説明する。図４は、本実施の形態にかかる描画装置の判定処理の手順を示すフローチャートである。このフローチャートでは、三角形に外接した矩形を構成する部分矩形に対して開始矩形を設定し、描画対象であるか否かの判定をおこなうとともに、次回の開始矩形を設定するまでの一連の処理について説明する。
【００５３】
図４のフローチャートにおいて、まず、分割部３０１によって矩形を部分矩形に分割する（ステップＳ４０１）。つぎに、抽出部３０２によって三角形の頂点を含んだ部分矩形を抽出し（ステップＳ４０２）、設定部３０３によって、抽出した部分矩形から開始矩形を設定する（ステップＳ４０３）。開始矩形が設定されると、以下、制御部３０５による開始矩形を基準とした部分矩形の判定処理に移行する。
【００５４】
まず、判定部３０４によって開始矩形に隣接するｘ方向の部分矩形と三角形との重複判定をおこなう（ステップＳ４０４）。このステップＳ４０４の判定において部分矩形と三角形とが重複するか否かを判断する（ステップＳ４０５）。ここで、重複すると判定されると（ステップＳ４０５：Ｙｅｓ）、ステップＳ４０４において判定対象であった部分矩形に隣接する部分矩形の重複判定をおこない（ステップＳ４０６）、ステップＳ４０５に戻り、ステップＳ４０６の重複判定において重複しているか否かを判断する。このステップＳ４０６の処理は、部分矩形と三角形とが重複していないと判断されるまでおこなわれる（ステップＳ４０５：Ｙｅｓのループ）。
【００５５】
ステップＳ４０５において部分矩形と三角形とが重複していないと判断されると（ステップＳ４０５：Ｎｏ）、つぎに、開始矩形に隣接するｙ方向の部分矩形と三角形との重複判定をおこなう（ステップＳ４０７）。このステップＳ４０７の判定においても、部分矩形と三角形とが重複するか否かを判断し（ステップＳ４０８）、重複していると判断されると（ステップＳ４０８：Ｙｅｓ）、設定部３０３は、判定対象の部分矩形を次回の開始矩形に設定し（ステップＳ４０９）、一連の処理を終了する。
【００５６】
一方、ステップＳ４０８において、重複していないと判断されると（ステップＳ４０８：Ｎｏ）、判定対象の部分矩形に隣接するｘ方向に隣接する部分矩形の重複判定をおこない（ステップＳ４１０）、ステップＳ４０８において重複すると判断されるまで、順番に隣接する部分矩形の重複判定をおこなう（ステップＳ４０８：Ｎｏのループ）。そして、ステップＳ４０８によって重複すると判断されると、判定対象となった部分矩形を次回の開始矩形に設定し（ステップＳ４０９）、一連の処理を終了する。
【実施例】
【００５７】
つぎに、上述した描画処理のより具体的な実施例について説明する。以下実施例では、一般的な３次元描画をおこなう際の描画対象となる三角形に外接した矩形からなる描画領域に切り取り、この描画領域を同一形状のタイルに分割して走査処理をおこなういわゆるラスタライズ処理をおこなう場合について説明する。
【００５８】
（タイル判定動作の概要）
まず、本実施の形態にかかる描画処理を利用して効率的に描画をおこなうため具体的なタイル判定動作の概要について説明する。タイル判定動作とは、三角形に外接した矩形を構成するタイルのうち、走査処理を必要とするタイルか否かを判定する処理である。
【００５９】
図５−１〜図５−６は、タイル走査処理におけるタイル判定動作を示す説明図である。図５−１のような矩形１１０の三角形１１１について、まず、タイル判定をおこなうための開始タイルを設定しなればならない。開始タイルは（１）〜（４）の４つ角のいずれかであり、この４つ角のうち、三角形の頂点を含んだ角が開始タイルとなる。したがって、図５−１では（２）が開始タイルとなる。
【００６０】
また、４つ角のうち、どのタイルが開始タイルに設定されるか否かに応じてタイル判定動作をおこなう際の進行方向が決定する。すなわち、（１）の場合、進行方向はｘ正方向、かつ、ｙ負方向、（２）の場合、進行方向はｘ正方向、かつ、ｙ正方向、（３）の場合、進行方向はｘ負方向、かつ、ｙ負方向、（４）の場合、進行方向はｘ負方向、かつ、ｙ正方向となる。
【００６１】
つぎに、図５−２のように、開始タイル１からｘ正方向に対して描画対象となるかの判定をおこなう。ここでは、開始タイル１の右上角Ｐ１を判定点として、Ｐ１の右側のタイル２が三角形１１１の描画領域に含まれているか否かの判断をおこなう。図５−２のように、Ｐ１の右側のタイル２には描画領域が含まれているため、タイル２に判定処理を移行する。
【００６２】
一方、図５−２のように、タイル判定動作では、Ｐ１に対してｙ正方向に上側のタイルが三角形１１１の描画領域に含まれているか否かの判断をおこなう。ここでは、Ｐ１の上側のタイルには描画領域が含まれているため、タイル５０２は、上段のタイル列の開始タイルに設定される。
【００６３】
続いて、図５−３では、図５−２にて説明したように、タイル２に判定処理が移行しているため、ｘ正方向のタイル３に対して三角形１１１の描画領域に含まれているか否かの判断をおこなう。ここでは、タイル３は描画領域外であるため、１列目のタイル列（タイル１、２、３）のタイル判定動作は終了となる。
【００６４】
そして、図５−４では、図５−２によって設定された上段のタイル列の開始タイル、すなわちタイル４を基準として、ｘ正方向に対して描画対象となるかの判定をおこなう。開始タイルとなるタイル４は判定処理済みであるため、タイル５に対して判定処理をおこなう。このとき、タイル４の右下角Ｐ１が三角形１１１の描画領域に含まれているか否かの判断をおこない、描画領域に含まれているためタイル５は、描画対象と判断される。
【００６５】
そして、図５−５では、上述した図５−３のように、タイル５に対しても判定処理をおこなう。そして、タイル５は、描画対象となるため、タイル６に判定処理を移行する。また、タイル４では、図５−２にて説明したようなｙ正方向の判定処理がおこなわれる。ここで、タイル４のｙ正方向には描画領域が無いため、タイル５のｙ正方向に判定処理が移行する。このタイル５の右上角Ｐ５が描画領域に含まれるため、タイル５のｙ正方向に隣接するタイル５０５が、上段のタイル列の開始タイルに設定される。
【００６６】
そして、図５−６では、タイル６の判定処理からタイル７は描画領域に含まれないと判定され、矩形１１０の２列目のタイル列（タイル４、５、６、７）のタイル判定動作は終了となる。そして、判定処理は、あらたに開始タイルに設定されたタイル５０６を基準として再開される。以上説明した処理が６列目のタイル列まで繰り返される。
【００６７】
つぎに、上述したタイル判定動作を含んだ描画処理をおこなうための描画装置の機能的構成について説明する。図６は、本実施例における描画装置の機能的構成を示すブロック図である。
【００６８】
図６の描画装置６００は、エッジ関数算出部６１０と、判断部６２０と、タイル内描画処理部６３０とを含んで構成される。また、描画装置６００は、従来の描画装置に図５−１〜図５−６に示したタイル判定動作をおこなうために、判断部６２０を追加した構成になっている。
【００６９】
判断部６２０は、頂点ソート部６２１と、開始タイル・走査方向決定部６２２と、開始タイル保持レジスタ部６２３と、タイル位置判別部６２４と、タイル列処理打ち切り判定部６２５と、次タイル列開始タイル決定部６２６と、によって構成されている。
【００７０】
頂点ソート部６２１は、三角形の角頂点座標情報を受け付けると、頂点座標から角頂点情報をソートして開始タイル・走査方向決定部６２２に出力する。開始タイル・走査方向決定部６２２は、頂点情報から開始タイルと開始タイルに応じた走査方向を決定し、開始タイル保持レジスタ部６２３に出力する。
【００７１】
開始タイル保持レジスタ部６２３は、開始タイル・走査方向決定部６２２から出力された開始タイル情報および走査方向の情報を所定のレジスタに保持する。ここで、開始タイル保持レジスタ部６２３に格納された情報は、タイル位置判別部６２４に出力される。タイル位置判別部６２４は、開始タイル保持レジスタ部６２３から入力された開始タイルの情報を処理対象タイルの位置情報としてタイル内描画処理部６３０に出力して開始タイル内を描画させる。タイル位置判別部６２４によって判別された開始タイルの情報は、タイル列処理打ち切り判定部６２５と、次タイル列開始タイル決定部６２６とにもそれぞれ入力される。
【００７２】
タイル列処理打ち切り判定部６２５には、開始タイル情報とともにエッジ関数算出部６１０によって算出された三角形の各辺をあらわす方程式（エッジ関数）が入力されている。したがって、タイル列処理打ち切り判定部６２５は、現在判定処理対象に指定されているタイル列のタイルに対して順に判定処理をおこなう。そして、タイル列処理打ち切り判定部６２５は、描画領域と重複しないと判定がなされたタイルを、判定処理が打ち切りとなるタイルとして判定する。タイル列処理打ち切り判定部６２５によって判定処理が打ち切りとなるタイルが判定されると、タイル位置判別部６２４に対して、判定処理の次タイル列への移動要求を出力する。
【００７３】
次タイル列開始タイル決定部６２６にも、開始タイル情報とともにエッジ関数算出部６１０によって算出されたエッジ関数が入力されている。したがって、次タイル列開始タイル決定部６２６は、現在判定処理対象に指定されているタイル列のタイルを基準に次タイル列の開始タイルを決定する。次タイル列開始タイル決定部６２６によって決定された次タイル列の開始タイル情報は、開始タイル保持レジスタ部６２３に出力される。開始タイル保持レジスタ部６２３では、次タイル列開始タイル決定部６２６から入力された開始タイル情報によって、開始タイル位置情報が更新される。
【００７４】
そして、タイル内描画処理部６４０は、三角形パラメータ（色、テクスチャ情報など）と、エッジ関数と、描画対象となるタイルの位置情報とを用いて三角形の描画をおこなう。描画された三角形は、画素情報として各種出力装置（ディスプレイやプリンタ）に出力される。
【００７５】
つぎに、図５−１〜図５−６によって説明したタイル判定動作を含んだ本実施例における描画処理の手順について説明する。図７は、本実施例における描画処理の手順を示すフローチャートである。図７のフローチャートにおいて、まず、頂点ソート部６２１において、三角形の各頂点のｘ、ｙ方向それぞれの最大値、最小値を算出する（ステップＳ７０１）。
【００７６】
つぎに、開始タイル・走査方向決定部６２２において、ｘ方向の最大値または最小値かつ、ｙ方向の最大値または最小値になっている頂点を含むタイルを開始タイルに設定する（ステップＳ７０２）。このステップＳ７０２によって設定されるｘ方向の最大値または最小値かつ、ｙ方向の最大値または最小値になっている頂点を含むタイルがすなわち、図５−１のタイル（２）のような三角形の頂点を含んだ４つ角タイルとなる。
【００７７】
そして、ステップＳ７０２によって設定した開始タイルの位置にしたがって、タイルの走査順序を決定する（ステップＳ７０３）。走査順序とは、図５−１にて説明したような、開始タイル位置に応じて一意的に決定する走査処理の方向である。
【００７８】
そして、ステップＳ７０３によって決定した開始タイルの角の４点のうちｘの走査方向２点をｘ判定点とする（ステップＳ７０４）。ここでは、図５−１と同様に左下のタイルが開始タイルに設定されたとすると、走査方向２点とは開始タイルの右上と右下の２点を意味する。さらに、開始タイルの４点のうち、ｙの走査方向の２点をｙ判定点とする（ステップＳ７０５）。ｙの走査方向の２点とは、開始タイルの左上と右上の２点を意味する。以上ステップＳ７０２からステップＳ７０５までの処理が開始タイル・走査方向決定部６２２によっておこなわれる。
【００７９】
最後に、ステップＳ６０４によって設定したｘ判定点とステップＳ７０５によって設定したｙ判定点とを利用してタイル走査処理をおこない（ステップＳ７０６）、一連の描画処理を終了する。
【００８０】
つぎに、図７のフローチャートにおけるタイル走査処理の詳細な内容について説明する。図８は、３次元描画処理におけるタイル走査処理の手順を示すフローチャートである。図８のフローチャートにおいて、まず、走査処理中のタイル内の描画処理をおこなう（ステップＳ８０１）。
【００８１】
つぎに、次タイル列開始タイル決定部６２６によって、ｙ判定点の一方が対象ライン中で初めて三角形領域になったか否かを判断する（ステップＳ８０２）。図７にて説明したように、ｙ判定点とは、開始タイルの４点のうち、ｙの走査方向の２点の角に相当する点である。このステップＳ８０２において、いずれかのｙ判定点が三角形領域になったと判断された場合には（ステップＳ８０２：Ｙｅｓ）、ステップＳ８０２によって判断基準となったｙ判定点から、つぎのラインの開始タイルを決定する（ステップＳ８０３）。
【００８２】
一方、ステップＳ８０２において、いずれのｙ判定点も三角形領域にならなかった場合（ステップＳ８０２：Ｎｏ）、ｙ判定点２点で作られた線分と三角形の３辺のいずれかが交差するか否かを判断する（ステップＳ８０４）。ここで、いずれかが交差すると判断された場合は（ステップＳ８０４：Ｙｅｓ）、ステップＳ８０３の処理に移行して開始タイルを決定する。また、ステップＳ８０４においても、ｙ判定点がいずれも交差しない場合には（ステップＳ８０４：Ｎｏ）、開始タイルを決定せずにそのままステップＳ８０５の処理に移行する。以上説明したステップＳ８０２からステップＳ８０４までの処理が次タイル列開始タイル決定部６２６によっておこなわれる。
【００８３】
ここで、ステップＳ８０４にておこなった、ｙ判定点２点で作られた線分と三角形の３辺のいずれかが交差するか否かの判断処理について説明する。三角形の各辺との交差判定をおこなうには、まず、三角形の頂点座標のうちの各２点の座標Ｖ（ｘ０，ｙ０）とＶ’（ｘ１，ｙ１）の情報を取得し、この座標値から、三角形のある一辺をあらわすエッジ関数Ｅ＝ａｘ＋ｂｙ＋ｃを作成する。そして、このエッジ関数とｙ判定点（ｘｊ０，ｙｊ），（ｘｊ１，ｙｊ）が下記（１）および（２）式の条件を満たす場合に、交差すると判定される。
【００８４】
・ｙ０＜ｙｊ＜ｙ１（ｙ０＜ｙ１とした場合）  …（１）
・Ｅ＝ａ＊ｘ０＋ｂ＊ｙ０＋ｃＥ’＝ａ＊ｘ１＋ｂ＊ｙ１＋ｃについて、
Ｅ＊Ｅ’＝＜０  …（２）
【００８５】
図８のフローチャートの説明に戻り、タイル列処理打ち切り判定部６２５によって、タイルのｘ判定点の少なくとも一方は三角形領域の中か否かを判断する（ステップＳ８０５）。このステップＳ８０５において判断対象となっているタイルはステップＳ８０２のタイルと同一のタイルである。
【００８６】
ステップＳ８０５において、少なくとも一方のｘ判定点が三角形領域の中であった場合（ステップＳ８０５：Ｙｅｓ）、ｘ方向のつぎのタイルが存在するか否かを判断し（ステップＳ８０６）、存在する場合には（ステップＳ８０６：Ｙｅｓ）、タイル位置判別部６２４によって、ｘ方向のつぎのタイルに処理を移行する（ステップＳ８０８）。また、以上説明したステップＳ８０５からステップＳ８０７までの処理がタイル列処理打ち切り判定部６２５によっておこなわれる。
【００８７】
一方、ステップＳ８０５において、いずれのｘ判定点も三角形領域外であった場合（ステップＳ８０５：Ｎｏ）、ｘ判定点２点で作られた線分と三角形の３辺のいずれかが交差するか否かを判断する（ステップＳ８０７）。ここで、いずれかが交差すると判断された場合は（ステップＳ８０７：Ｙｅｓ）、ステップＳ８０６の処理に移行する。また、ステップＳ８０７においても、ｘ判定点がいずれも交差しない場合には（ステップＳ８０７：Ｎｏ）、ステップＳ８０９の処理に移行し、ｙ方向のつぎのラインが存在するか否かを判断する（ステップＳ８０９）。
【００８８】
ここでも、ステップＳ８０７にておこなった、ｘ判定点２点で作られた線分と三角形の３辺のいずれかが交差するか否かの判断処理について説明する。三角形の各辺との交差判定をおこなうには、ここでも、ｙ判定点の場合と同様に、三角形の頂点座標のうちの各２点の座標の情報を取得し、この座標値から、エッジ関数Ｅを作成する。そして、このエッジ関数Ｅとｘ判定点（ｘｊ，ｙｊ０），（ｘｊ，ｙｊ１）が下記（３）および（４）式の条件を満たす場合に、交差すると判定される。
【００８９】
・ｘ０＜ｘｊ＜ｘ１（ｘ０＜ｘ１とした場合）  …（３）
・Ｅ＝ａ＊ｘ０＋ｂ＊ｙ０＋ｃＥ’＝ａ＊ｘ１＋ｂ＊ｙ１＋ｃについて、
Ｅ＊Ｅ’＝＜０  …（４）
【００９０】
図８のフローチャートの説明に戻り、ステップＳ８０９において、ｙ方向のつぎのラインが存在しないと判断された場合は（ステップＳ８０９：Ｎｏ）、そのまま一連のタイル走査処理を終了する。一方、ステップＳ８０８の処理が終了した場合、もしくは、ステップＳ８１０の処理が終了した場合には、ステップＳ８０１の処理に戻り、つぎの開始タイルを基準としてタイル走査処理を開始する。以上説明したステップＳ８０８からステップＳ８１０までの処理がタイル位置判別部６２４によっておこなわれる。
【００９１】
上述したような描画処理の場合、実際には描画がおこなわれないタイルに対しては、描画対象となるタイルに隣接したタイルに限定して事前判定処理をおこなっている。したがって、一意的にすべてのタイルに対して事前判定処理をおこなっていた従来の描画処理と比較して、描画をおこなわないタイルに対する処理が格段に削減される。結果として、描画される三角形に反映されない無駄な処理を防ぎ効率な描画処理がおこなわれる。したがって、本実施の形態によれば、無用な処理の実行を防ぎ、最小限の処理によって効率的な描画処理を実現することができる。
【００９２】
なお、本実施の形態では、一つの三角形を描画する場合につて説明したが、複数の三角形に分割可能な多角形であれば、分割後の三角形に対して本実施の形態にかかる描画処理をおこなうことによって、三角形を描画する場合と同等の効果をえることができる。
【００９３】
なお、本実施の形態で説明した描画方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネットなどのネットワークを介して配布することが可能な伝送媒体であってもよい。
【００９４】
また、本実施の形態で説明した描画装置２００は、スタンダードセルやストラクチャードＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などの特定用途向けＩＣ（以下、単に「ＡＳＩＣ」と称す。）やＦＰＧＡなどのＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）によっても実現することができる。具体的には、たとえば、上述した描画装置２００の機能（機能ブロックの各符号を入れる）をＨＤＬ記述によって機能定義し、そのＨＤＬ記述を論理合成してＡＳＩＣやＰＬＤに与えることにより、描画装置２００を製造することができる。
【００９５】
上述した実施の形態に関し、さらに以下の付記を開示する。
【００９６】
（付記１）表示画面に表示する三角形の内側を描画領域として描画処理を実行する描画装置であって、
前記三角形の頂点に外接した矩形を複数の部分矩形に分割する分割手段と、
前記複数の部分矩形のうち所定方向に連続する一連の第１部分矩形群に含まれる前記部分矩形が、前記三角形の描画領域と重複しているか否かの判定処理を、前記所定方向に沿って順に実行する判定手段と、
前記判定手段によって判定された判定結果が重複から非重複に変化した場合、前記判定処理を終了させる制御手段と、
前記判定手段によって重複していると判定された前記部分矩形に対して描画処理を実行する描画手段と、
を備えることを特徴とする描画装置。
【００９７】
（付記２）前記複数の部分矩形の中から前記頂点を含んだ前記部分矩形を抽出する抽出手段と、
前記抽出手段によって抽出された前記部分矩形のうち、前記矩形の角部に位置する前記部分矩形を、前記判定処理を開始する開始矩形に設定する設定手段と、を備え、
前記制御手段は、前記開始矩形から順次、前記所定方向への前記判定処理を実行させ、
前記描画手段は、前記開始矩形に対する前記描画処理を実行するとともに、前記判定手段によって重複していると判定された前記部分矩形に対して前記描画処理を実行することを特徴とする付記１に記載の描画装置。
【００９８】
（付記３）前記制御手段は、前記描画領域と重複していると判定された前記部分矩形から前記所定方向と直交する方向に連続する一連の第２部分矩形群に対して、前記描画領域と重複しているか否かの判定処理（以下、「直交方向の判定処理」という）を前記判定手段に実行させることを特徴とする付記１または２に記載の描画装置。
【００９９】
（付記４）前記制御手段は、前記開始矩形から順次、前記所定方向の判定処理に追従して前記直交方向の判定処理を実行させ、
前記設定手段は、前記直交方向の判定処理により最初に重複であると判定された部分矩形を、あらたに開始矩形に設定することを特徴とする付記３に記載の描画装置。
【０１００】
（付記５）前記制御手段は、前記所定方向の判定処理の終了後、前記設定手段によってあらたに開始矩形に設定された部分矩形から前記所定方向の判定処理を開始させることを特徴とする付記４に記載の描画装置。
【０１０１】
（付記６）前記分割手段は、前記表示画面の画素ブロック単位で前記複数の部分矩形に分割することを特徴とする付記１〜５のいずれか一つに記載の描画装置。
【０１０２】
（付記７）前記分割手段は、前記表示画面の走査方向と平行な辺をもった前記矩形を前記複数の部分矩形に分割し、
前記制御手段は、前記走査方向を前記所定方向とし、前記走査方向と直交する非走査方向を前記所定方向と直交する方向にすることを特徴とする付記２〜６のいずれか一つに記載の描画装置。
【０１０３】
（付記８）前記三角形の頂点座標を取得する取得手段と、
前記頂点座標のｘおよびｙの値が前記頂点座標のうち最大もしくは最小となる頂点を検出する検出手段と、を備え、
前記設定手段は、前記頂点を含む前記部分矩形を前記開始矩形に設定することを特徴とする付記２〜７のいずれか一つに記載の描画装置。
【０１０４】
（付記９）表示画面に表示する三角形の内側を描画領域としてコンピュータに描画処理を実行させる描画プログラムであって、
前記コンピュータを、
前記三角形の頂点に外接した矩形を複数の部分矩形に分割する分割手段、
前記複数の部分矩形のうち所定方向に連続する一連の第１部分矩形群に含まれる前記部分矩形が、前記三角形の描画領域と重複しているか否かの判定処理を、前記所定方向に沿って順に実行する判定手段、
前記判定手段によって判定された判定結果が重複から非重複に変化した場合、前記判定処理を終了させる制御手段、
前記判定手段によって重複していると判定された前記部分矩形に対して描画処理を実行する描画手段、
として機能させることを特徴とする描画プログラム。
【０１０５】
（付記１０）前記コンピュータを
前記複数の部分矩形の中から前記頂点を含んだ前記部分矩形を抽出する抽出手段、
前記抽出手段によって抽出された前記部分矩形のうち、前記矩形の角部に位置する前記部分矩形を、前記判定処理を開始する開始矩形に設定する設定手段、として機能させ、
前記制御手段は、前記開始矩形から順次、前記所定方向への前記判定処理を実行させ、
前記描画手段は、前記開始矩形に対する前記描画処理を実行するとともに、前記判定手段によって重複していると判定された前記部分矩形に対して前記描画処理を実行することを特徴とする付記９に記載の描画プログラム。
【０１０６】
（付記１１）前記制御手段は、前記描画領域と重複していると判定された前記部分矩形から前記所定方向と直交する方向に連続する一連の第２部分矩形群に対して、前記描画領域と重複しているか否かの判定処理（以下、「直交方向の判定処理」という）を前記判定手段に実行させることを特徴とする付記９または１０に記載の描画プログラム。
【０１０７】
（付記１２）前記制御手段は、前記開始矩形から順次、前記所定方向の判定処理に追従して前記直交方向の判定処理を実行させ、
前記設定手段は、前記直交方向の判定処理により最初に重複であると判定された部分矩形を、あらたに開始矩形に設定することを特徴とする付記１１に記載の描画プログラム。
【０１０８】
（付記１３）前記制御手段は、前記所定方向の判定処理の終了後、前記設定手段によってあらたに開始矩形に設定された部分矩形から前記所定方向の判定処理を開始させることを特徴とする付記１２に記載の描画プログラム。
【０１０９】
（付記１４）前記分割手段は、前記表示画面の画素ブロック単位で前記複数の部分矩形に分割することを特徴とする付記９〜１３のいずれか一つに記載の描画プログラム。
【０１１０】
（付記１５）表示画面に表示する三角形の内側を描画領域として描画処理を実行する描画方法であって、
前記三角形の頂点に外接した矩形を複数の部分矩形に分割する分割工程と、
前記複数の部分矩形のうち所定方向に連続する一連の第１部分矩形群に含まれる前記部分矩形が、前記三角形の描画領域と重複しているか否かの判定処理を、前記所定方向に沿って順に開始させる判定開始工程と、
前記判定処理開始後、前記判定処理の判定結果が重複から非重複に変化した場合、前記判定処理を終了する判定終了工程と、
前記判定処理によって重複していると判定された前記部分矩形に対して描画処理を実行する描画工程と、
を含むことを特徴とする描画方法。
【０１１１】
（付記１６）前記複数の部分矩形の中から前記頂点を含んだ前記部分矩形を抽出する抽出工程と、
前記抽出工程によって抽出された前記部分矩形のうち、前記矩形の角部に位置する前記部分矩形を、前記判定処理を開始矩形に設定する設定工程と、を含み、
前記判定開始工程では、前記開始矩形から順次、前記所定方向の判定処理を開始し、
前記描画工程では、前記開始矩形に対する前記描画処理を実行するとともに、前記判定手段によって重複していると判定された前記部分矩形に対して前記描画処理を実行することを特徴とする付記１５に記載の描画方法。
【０１１２】
（付記１７）前記判定開始工程では、前記描画領域と重複していると判定された部分矩形から前記所定方向と直交する方向に連続する一連の第２部分矩形群に対して、前記描画領域と重複しているか否かの判定処理（以下、「直交方向の判定処理」という）を開始し、
前記判定終了工程は、前記第２部分矩形群に対する判定処理開始後、判定結果が重複から非重複に変化した場合、前記第２部分矩形群に対する判定処理を終了することを特徴とする付記１５または１６に記載の描画方法。
【０１１３】
（付記１８）前記判定開始工程は、前記開始矩形から順次、前記所定方向の判定処理に追従して前記直交方向の判定処理を実行させ、
前記設定工程では、前記直交方向の判定処理により最初に重複であると判定された部分矩形を、あらたに開始矩形に設定することを特徴とする付記１７に記載の描画方法。
【０１１４】
（付記１９）判定開始工程は、前記判定終了工程によって前記所定方向の判定処理を終了した後、前記設定工程によってあらたに開始矩形に設定された部分矩形から前記所定方向の判定処理を開始させることを特徴とする付記１８に記載の描画方法。
【０１１５】
（付記２０）前記分割工程では、前記表示画面の画素ブロック単位で前記部分矩形群に分割することを特徴とする付記１５〜１９のいずれか一つに記載の描画方法。
【図面の簡単な説明】
【０１１６】
【図１−１】本実施の形態にかかる描画処理の概要を示す説明図である。
【図１−２】従来の描画処理の一例を示す説明図である。
【図２】本実施の形態にかかる描画装置のハードウェア構成を示す説明図である。
【図３】本実施の形態にかかる描画装置の機能的構成を示すブロック図である。
【図４】本実施の形態にかかる描画装置の描画処理の手順を示すフローチャートである。
【図５−１】タイル走査処理におけるタイル判定動作を示す説明図（その１）である。
【図５−２】タイル走査処理におけるタイル判定動作を示す説明図（その２）である。
【図５−３】タイル走査処理におけるタイル判定動作を示す説明図（その３）である。
【図５−４】タイル走査処理におけるタイル判定動作を示す説明図（その４）である。
【図５−５】タイル走査処理におけるタイル判定動作を示す説明図（その５）である。
【図５−６】タイル走査処理におけるタイル判定動作を示す説明図（その６）である。
【図６】本実施例における描画装置の機能的構成を示すブロック図である。
【図７】本実施例における描画処理の手順を示すフローチャートである。
【図８】描画処理におけるタイル走査処理の手順を示すフローチャートである。
【符号の説明】
【０１１７】
２００  描画装置
３０１  分割部
３０２  抽出部
３０３  設定部
３０４  判定部
３０５  制御部
３０６  描画部
【図１−１】
0004568750.tif 000002
【図１−２】
0004568750.tif 000003
【図２】
0004568750.tif 000004
【図３】
0004568750.tif 000005
【図４】
0004568750.tif 000006
【図５−１】
0004568750.tif 000007
【図５−２】
0004568750.tif 000008
【図５−３】
0004568750.tif 000009
【図５−４】
0004568750.tif 000010
【図５−５】
0004568750.tif 000011
【図５−６】
0004568750.tif 000012
【図６】
0004568750.tif 000013
【図７】
0004568750.tif 000014
【図８】
0004568750.tif 000015