(57)【要約】【課題】コストを抑えながら効率的にラスタライズ処理を行う画像描画装置を提供する。【解決手段】ブロック単位に、当該ブロックに描画されるプリミティブの頂点のプリミティブパラメータを第１のメモリから読み出し、ブロック内の各画素について、前面に描画されるプリミティブの識別情報を生成し第２のメモリのプリミティブ番号メモリに書き込む描画プリミティブ識別情報生成部と、ブロック単位に、プリミティブの描画命令の入力順に、対象プリミティブのプリミティブパラメータを第１のメモリから読み出すと共に、プリミティブ番号メモリに対象プリミティブの識別情報を有する画素について画素データを生成し書き込む画素データ生成部とを有し、描画プリミティブ識別情報生成部は、前記識別情報の生成中に、ブロックに描画され入力順の最も早いプリミティブの識別情報を先頭識別情報として保持し、画素データ生成部は、先頭識別情報のプリミティブから入力順に、プリミティブパラメータを読み出す。【選択図】図１６
2013025376.tif 000002
【特許請求の範囲】
【請求項１】
フレームを複数に分割したブロック単位に、当該ブロックに描画されるプリミティブの頂点の座標情報と奥行きを示す深度情報とを含むプリミティブパラメータを第１のメモリから読み出し、当該プリミティブパラメータに基づいて、前記ブロック内の各画素について、前面に描画される前記プリミティブの識別情報を生成し第２のメモリのプリミティブ番号メモリに書き込む描画プリミティブ識別情報生成部と、
前記ブロック単位に、前記プリミティブの描画命令の入力順に、対象プリミティブの前記頂点の座標情報と色情報とを含むプリミティブパラメータを前記第１のメモリから読み出すと共に、前記プリミティブ番号メモリに前記対象プリミティブの識別情報を有する画素について、前記プリミティブパラメータに基づいて画素データを生成しフレームバッファに書き込む画素データ生成部とを有し、
前記描画プリミティブ識別情報生成部は、前記プリミティブの識別情報の生成中に、前記ブロックに描画されるプリミティブであって、前記入力順の最も早いプリミティブの識別情報を先頭識別情報として保持し、
前記画素データ生成部は、前記保持した前記先頭識別情報のプリミティブから前記入力順に、前記プリミティブパラメータを前記第１のメモリから読み出す画像描画装置。
【請求項２】
請求項１において、
前記描画プリミティブ識別情報生成部は、前記入力順に前記プリミティブのプリミティブパラメータを読み出し、前記プリミティブ番号メモリに初めに書き込む識別情報を前記先頭識別情報として保持する画像描画装置。
【請求項３】
請求項１において、
前記ブロックはそれぞれ複数の区分領域に分割され、
前記画素データ生成部は、前記プリミティブ番号メモリを検索して前記対象プリミティブの識別情報を有する画素を検出し、当該検出処理において、全ての画素の画素データが生成済みの区分領域に対応するプリミティブ番号メモリ領域については検索の範囲対象外とする画像描画装置。
【請求項４】
フレームを複数に分割したブロック単位に、当該ブロックに描画されるプリミティブの頂点の座標情報と奥行きを示す深度情報とを含むプリミティブパラメータを第１のメモリから読み出し、当該プリミティブパラメータに基づいて、前記ブロック内の各画素について、前面に描画される前記プリミティブの識別情報を生成し第２のメモリのプリミティブ番号メモリに書き込む描画プリミティブ識別情報生成部と、
前記ブロック単位に、前記プリミティブの描画命令の入力順に、対象プリミティブの前記頂点の座標情報と色情報とを含むプリミティブパラメータを前記第１のメモリから読み出すと共に、前記プリミティブ番号メモリに前記対象プリミティブの識別情報を有する画素について、前記プリミティブパラメータに基づいて画素データを生成しフレームバッファに書き込む画素データ生成部とを有し、
前記描画プリミティブ識別情報生成部は、前記プリミティブの識別情報の生成中に、前記ブロックを複数に分割した区分領域毎に、当該区分領域に描画されるプリミティブであって、前記入力順の最も早いプリミティブの前記識別情報を先頭識別情報として保持し、
前記画素データ生成部は、複数の前記先頭識別情報のうち入力順の最も早い最先頭識別情報のプリミティブの前記プリミティブパラメータを前記第１のメモリから読み出すと共に、前記最先頭識別情報の区分領域に対応するプリミティブ番号メモリ領域に前記最先頭識別情報を有する画素について画素データを生成し、さらに、前記プリミティブ番号メモリ領域における次に前記入力順の早い識別情報を前記先頭識別情報として更新する画像描画装置。
【請求項５】
請求項４において、
前記描画プリミティブ識別情報生成部は、前記入力順に前記プリミティブのプリミティブパラメータを読み出し、前記区分領域に対応するプリミティブ番号メモリ領域に初めに書き込む識別情報を前記先頭識別情報として保持する画像描画装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像描画装置に関する。
【背景技術】
【０００２】
３次元グラフィックス等の画像描画装置では、描画対象の画像を複数のプリミティブ（例えば、三角形など多角形のポリゴン）の集合とみなし、プリミティブ毎に描画処理を行う。また、画像の描画処理では、タイリングアーキテクチャと呼ばれる方法が知られる（例えば、特許文献１）。
【０００３】
タイリングアーキテクチャによると、画像描画装置は、フレームを所定のサイズ（例えば、８×８画素）に分割したタイル毎に、タイル内に画素を有するプリミティブについてラスタライズ処理を行う。タイルのサイズは小さいため、画像描画装置は、ＳＲＡＭ等の高速の内部メモリにおいてタイル単位にラスタライズ処理を行うことによって、タイル内の各画素の画素データを生成する。そして、画像描画装置は、内部メモリに生成された画素データを低速の外部メモリに書き出す。ＳＲＡＭは、外部メモリに比べてアクセスが高速であるため、タイリングアーキテクチャによると、メモリのアクセスが効率化されラスタライズ処理が高速になる。
【０００４】
具体的に、画像描画装置は、ラスタライズ処理として、タイル単位に、深度テスト及びプリミティブの描画処理を行う。ラスタライズ処理は、タイル毎に、描画命令の入力順に、描画対象のプリミティブの頂点パラメータ及び設定情報を有するシーンデータに基づいて行われる。頂点パラメータは、例えば、プリミティブの各頂点の座標情報や深度情報、色情報等を有し、設定情報は、例えば、プリミティブの透過設定等を有する。
【０００５】
シーンデータは容量が大きいことから、一般的に、外部メモリに格納される。また、シーンデータにおける各プリミティブの設定情報は、描画命令の入力順が先のプリミティブの設定情報との差分情報として保持される。画像描画装置は、対象のプリミティブの設定情報を取得するとき、既に読み出した入力順が先のプリミティブの設定情報に、新たに読み出した対象のプリミティブの設定情報を加える。このため、プリミティブの設定情報は、プリミティブの描画命令の入力順に従って読み出される必要がある。
【０００６】
具体的に、ラスタライズ処理におけるタイル単位の深度テスト及びプリミティブの描画処理は、次のように行われる。画像描画装置は、深度テストとして、対象タイルの各画素について、シーンデータから一部読み出した深度情報を含む頂点パラメータに基づいて、前面に描画されるプリミティブか否かを判別する。このとき、画像描画装置は、対象タイルの各画素について、前面に描画されるプリミティブを示す識別情報を生成し、内部メモリのプリミティブ番号メモリに格納する。
【０００７】
続いて、画像描画装置は、プリミティブの描画処理として、プリミティブ番号メモリから読み出した識別情報に基づいて、識別番号の示すプリミティブの頂点パラメータ及び設定情報をシーンデータから読み出して画素データを生成する。プリミティブの頂点パラメータ及び設定情報は外部メモリに格納されているため、読み出し処理は必要最小限に抑えられることが望ましい。ただし、前述したとおり、設定情報は入力順に基づいて差分の情報として保持されているため、画像描画装置は、プリミティブの頂点パラメータ及び設定情報を描画命令の入力順に従って読み出す必要がある。
【０００８】
そこで、画像描画装置は、次のようにプリミティブの描画処理を行う。まず、画像描画装置は、入力順が初め（０番目）のプリミティブを示す識別情報によってプリミティブ番号メモリを検索する。０番目のプリミティブを示す識別情報が検出された場合、画像描画装置は、シーンデータから０番目のプリミティブの頂点パラメータ及び設定情報を読み出し、対応する画素の画素データを生成する。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開平５−１３５１４７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、上述したプリミティブの描画処理において、対象タイルに０番目のプリミティブが描画されない場合、プリミティブ番号メモリには０番目のプリミティブを示す識別情報が格納されていない。そのため、０番目のプリミティブを示す識別情報によるプリミティブ番号メモリの検索処理は、無駄な処理となってしまう。
【００１１】
このように、プリミティブの描画処理におけるプリミティブ番号メモリの検索処理において、非効率な検索処理が発生することがあり、描画性能の低下要因となっていた。一方、プリミティブ番号メモリの検索処理を並列化することにより、描画性能を向上させる方法がある。しかし、並列化の度合いによっては画像描画装置の回路規模が大きくなり、コストが高くなる。
【００１２】
そこで、本発明では、コストを抑えながら効率的にラスタライズ処理を行う画像描画装置を提供する。
【課題を解決するための手段】
【００１３】
第１の側面は、フレームを複数に分割したブロック単位に、当該ブロックに描画されるプリミティブの頂点の座標情報と奥行きを示す深度情報とを含むプリミティブパラメータを第１のメモリから読み出し、当該プリミティブパラメータに基づいて、前記ブロック内の各画素について、前面に描画される前記プリミティブの識別情報を生成し第２のメモリのプリミティブ番号メモリに書き込む描画プリミティブ識別情報生成部と、
前記ブロック単位に、前記プリミティブの描画命令の入力順に、対象プリミティブの前記頂点の座標情報と色情報とを含むプリミティブパラメータを前記第１のメモリから読み出すと共に、前記プリミティブ番号メモリに前記対象プリミティブの識別情報を有する画素について、前記プリミティブパラメータに基づいて画素データを生成しフレームバッファに書き込む画素データ生成部とを有し、
前記描画プリミティブ識別情報生成部は、前記プリミティブの識別情報の生成中に、前記ブロックに描画されるプリミティブであって、前記入力順の最も早いプリミティブの識別情報を先頭識別情報として保持し、
前記画素データ生成部は、前記保持した前記先頭識別情報のプリミティブから前記入力順に、前記プリミティブパラメータを前記第１のメモリから読み出す。
【発明の効果】
【００１４】
第１の側面によれば、コストを抑えながら効率的にラスタライズ処理を行う。
【図面の簡単な説明】
【００１５】
【図１】本実施の形態例における画像描画装置の構成の一例を示す図である。
【図２】ＧＰＵのブロック図の一例を表す図である。
【図３】プリミティブの頂点パラメータの一例を示す図である。
【図４】フレームが分割されたブロックの一例を表す図である。
【図５】レンダリング処理部、ラスタライズ処理部のブロック図例を表す図である。
【図６】第１の実施の形態例における描画対象プリミティブの一例を表す図である。
【図７】レンダリング処理部の処理の流れを表すフローチャート図である。
【図８】図６の具体例に基づくソート前後のシーンデータの一例を表す図である。
【図９】プリミティブ処理を説明するフローチャート図である。
【図１０】第１の実施の形態例の深度テストを説明するフローチャート図である。
【図１１】第１の実施の形態例における深度テスト処理部のハードウェア構成例図である。
【図１２】深度メモリ、プリミティブ番号メモリ、レジスタのデフォルト値を表す図である。
【図１３】プリミティブＰ２の深度テスト後の各メモリを表す図である。
【図１４】プリミティブＰ４の深度テスト後の各メモリを表す図である。
【図１５】プリミティブＰ５の深度テスト後の各メモリを表す図である。
【図１６】第１の実施の形態例の描画処理を説明するフローチャート図である。
【図１７】第１の実施の形態例における描画処理部のハードウェア構成例図である。
【図１８】検索プリミティブ番号ＰＮ＝２の時の描画処理を説明する図である。
【図１９】検索プリミティブ番号ＰＮ＝２の時の描画処理を説明する第２図である。
【図２０】検索プリミティブ番号ＰＮ＝２、４の時の描画処理を説明する図である。
【図２１】検索プリミティブ番号ＰＮ＝４、５の時の描画処理を説明する図である。
【図２２】第２の実施の形態例の深度テストの処理を表すフローチャート図である。
【図２３】第２の実施の形態例における深度テスト処理部のハードウェア構成例図である。
【図２４】第２の実施の形態例の描画処理を説明するフローチャート図である。
【図２５】第２の実施の形態例における描画処理部のハードウェア構成例図である。
【図２６】レジスタに識別番号２を有する区分領域の描画処理を説明する図である。
【図２７】レジスタに識別番号４、５を有する区分領域の描画処理を説明する図である。
【発明を実施するための形態】
【００１６】
以下、図面にしたがって本発明の実施の形態について説明する。ただし、本発明の技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。
【００１７】
図１は、本実施の形態例における画像描画装置の構成の一例を示す図である。同図において、画像描画装置は、例えば、ＣＰＵ（Central Processing Unit）１０１、ＧＰＵ（Graphics Processing Unit）１００、外部メモリ１０２を有する。外部メモリ１０２は、例えば、ＤＲＡＭ（Dynamic Random Access Memory）で構成され、フレームバッファ等が格納される。同図において、アプリケーション（図示せず）からＧＰＵ１００に対して、複数のプリミティブから構成される立体オブジェクトの３次元データと描画命令が渡される。ＧＰＵ１００は、３次元データに基づいて、立体オブジェクトを所定の視点で視たときの２次元画像の画素データを生成し、フレームバッファに書き込む。
【００１８】
図２は、ＧＰＵ１００のブロック図の一例を表す図である。ＧＰＵ１００は、コマンド解釈部１０、ジオメトリ処理部１１、レンダリング処理部１２を有する。同図において、例えば、ＧＰＵ１００のコマンド解釈部１０は、外部メモリ１０２から描画命令リストを読み込み、描画命令を解釈する。一般に、立体オブジェクトは多数のプリミティブの集合体として表現される。ジオメトリ処理部１１は、描画命令に基づいて、表示画面上の２次元座標であるプリミティブの頂点パラメータ及び設定情報を生成し、レンダリング処理部１２に渡す。
【００１９】
図３は、ジオメトリ処理部１１が生成するプリミティブＰｍの頂点パラメータの一例を示す図である。プリミティブＰｍの頂点パラメータは、表示画面ＤＩＳ上の各頂点ｐｋ１〜ｐｋ３の各座標（ｘ１，ｙ１）、（ｘ２，ｙ２）、（ｘ３，ｙ３）と各頂点座標における画像パラメータであるＲＧＢ各色の階調値（以下、色値）ｒｇｂ１〜ｒｇｂ３、及び、奥行き方向の距離（以下、深度値）ｚ１〜ｚ３を有する。同図の例では、画像パラメータとして色値と深度値を例示しているが、画像パラメータは、さらに、テクスチャ表示のためのテクスチャ座標値等を含んでいてもよい。また、設定情報は、例えば、プリミティブの透過設定や、プリミティブを描画するか否かの等の設定を有する（図示せず）。
【００２０】
図２に戻り、続いて、レンダリング処理部１２は、頂点パラメータ及び設定情報に基づいて、プリミティブの頂点パラメータで画定される領域内の各画素について、色値を有する画素データを生成する。本実施の形態例において、レンダリング処理部１２は、フレームを例えば「８画素×８画素」に分割したタイル（以下、ブロック）単位に、Ｘ、Ｙ方向に走査して当該ブロックに含まれるプリミティブを画定する画素の画素データを生成する。
【００２１】
図４は、フレームＦＢが分割されたブロックの一例を表す図である。同図のフレームＦＢは、８画素×８画素サイズの１２コ（縦３×横４）のブロックに分割されている。なお、ブロックは、同図のような正方形に限定されるものではなく、長方形や他の多角形等であってもよい。また、本実施の形態例では、左下のブロックｂ０から右隣のブロックｂ１に、順に描画処理が行われる。ただし、この例に限定されるものではなく、複数のブロックはいずれの順番で描画処理が行われてもよい。続いて、レンダリング処理部１２、ラスタライズ処理部２４について、より詳細な構成を説明する。
【００２２】
図５の上図は、レンダリング処理部１２のブロック図の一例を表す図である。レンダリング処理部１２は、セットアップ部２１、タイリング処理部２２、ソート処理部２３、ラスタライズ処理部２４を有する。セットアップ部２１は、ジオメトリ処理部１１から受け取ったプリミティブの頂点パラメータを、必要に応じて後続の処理のために加工する。続くタイリング処理部２２は、頂点パラメータに基づいて各プリミティブがどのブロックに含まれるのかを判定する。この結果、プリミティブ毎に、頂点パラメータ及び設定情報、当該プリミティブが描画されるブロック情報を有するシーンデータが生成される。シーンデータは容量が大きいため、例えば外部メモリ１０２に格納される。
【００２３】
続いて、ソート処理部２３は、シーンデータをソートし、ブロック毎に、当該ブロックに描画されるプリミティブの頂点パラメータと設定情報とを有するシーンデータを生成する。そして、ラスタライズ処理部２４は、シーンデータに基づいて、ブロック単位にラスタライズ処理を行う。
【００２４】
図５の下図は、ラスタライズ処理部２４のブロック図の一例を表す図である。プリミティブパラメータ読み出し部４１は、外部メモリ１０２から処理対象ブロックに描画されるプリミティブの座標情報及び深度情報を含む頂点パラメータを読み出す。そして、深度テスト処理部４２は、頂点パラメータに基づいて深度テストを行う。詳細は後述するが、このとき、深度テスト処理部４２は、処理対象ブロックの各画素について、描画対象のプリミティブを示す識別番号を生成してプリミティブ番号メモリＰＭに書き込む。プリミティブ番号メモリＰＭは、多くのメモリ容量を必要としないため、例えばＳＲＡＭ等の高速の内部メモリに保持される。
【００２５】
続いて、プリミティブ番号メモリ検索部４３は、プリミティブ番号メモリＰＭから描画対象のプリミティブを示す識別番号を検索することにより、対象プリミティブが描画される画素を検出する。そして、プリミティブ描画処理部４５は、プリミティブパラメータ読み出し部４４によって読み出された対象プリミティブの頂点パラメータ及び設定情報に基づいて、検出した画素の画素データを生成する。
【００２６】
［第１の実施の形態例］
続いて、第１の実施の形態例について、フローチャート図と具体例とに基づいて、詳細に説明する。
【００２７】
図６は、第１の実施の形態例における描画対象のプリミティブＰ０〜Ｐ５の一例を具体例として表す図である。この具体例では、６つのプリミティブＰ０〜Ｐ５がフレームに、一部重複して描画される。また、この例において、プリミティブの描画命令はプリミティブＰ０〜Ｐ５の順に入力される。同図において、ブロックｂ０〜ｂ１１は、点線で囲まれた８×８画素の各領域を示す。なお、本実施の形態例において、画像描画装置は、フレームの左下のブロックｔ０から右上のブロックｔ１１に順に処理を行う。
【００２８】
図７は、本実施の形態例における画像描画装置のレンダリング処理部１２（図２、図５）の処理の流れを表すフローチャート図である。前述したとおり、まず、レンダリング処理部１２のセットアップ処理部２１は、ジオメトリ処理部１１からプリミティブの頂点パラメータ及び設定情報を順次受け取り、必要に応じて、後続のタイリング処理部２２及びラスタライズ処理部２４等で処理し易い状態に加工する（Ｓ１１）。また、セットアップ処理部２１は、描画命令の入力順に、プリミティブに識別番号を付加する。例えば、図６の具体例では、プリミティブＰ０「０」、プリミティブＰ１「１」、プリミティブＰ２「２」、プリミティブＰ３「３」、プリミティブＰ４「４」、プリミティブＰ５「５」のように、識別番号が付加される。
【００２９】
次に、レンダリング処理部１２のタイリング処理部２２は、各プリミティブが描画される画素が、フレーム内のいずれのブロックｂ０〜ｂ１１に含まれるのかを演算によって判定する（Ｓ１２）。また、タイリング処理部２２は、プリミティブ毎に、頂点パラメータ及び設定情報、当該プリミティブが描画されるブロック情報を有するシーンデータを生成し、外部メモリ１０２に格納する（Ｓ１３、Ｓ１４）。ただし、プリミティブの頂点パラメータはデータ容量が大きいため、本実施の形態例における頂点パラメータは、シーンデータとは別の外部メモリ１０２内のプリミティブデータバッファに格納される。この場合、シーンデータには、各プリミティブの頂点パラメータのプリミティブデータバッファにおけるアドレス情報が格納される。
【００３０】
続いて、レンダリング処理部１２のソート処理部２３は、外部メモリ１０２から読み出したシーンデータをブロック単位にソートする（Ｓ１５、Ｓ１６）。ソート後のシーンデータは、ブロック毎に、当該ブロックに描画されるプリミティブの頂点パラメータ及び設定情報を有する。前述したとおり、本実施の形態例におけるシーンデータには、プリミティブデータバッファにおける各プリミティブの頂点パラメータの格納アドレスが格納される。このため、ソート対象のデータ容量が抑えられ、ソート処理の速度が向上する。
【００３１】
図８は、図６の具体例に基づくソート前後のシーンデータＳＤ１、ＳＤ２の一例を表す図である。同図の上部のシーンデータＳＤ１はソート前のシーンデータの一例である。ソート前のシーンデータＳＤ１は、フレームへ描画されるプリミティブ毎に、描画命令の入力順（Ｐ０〜Ｐ５）に頂点パラメータ及び設定情報、当該プリミティブが描画されるブロック情報を有する。また、設定情報は、描画命令の入力順が先のプリミティブの設定情報の総計との差分情報として保持される。
【００３２】
具体的に、ソート前のシーンデータＳＤ１は、例えば、ＮＯ．４のプリミティブＰ４について、プリミティブデータバッファＰＤＢにおけるプリミティブＰ４の頂点パラメータの格納アドレスと、プリミティブＰ０〜Ｐ３の設定情報の総計との差分の設定情報と、プリミティブＰ４が描画されるブロックの情報ｂ４、ｂ８、ｂ９とを有する。
【００３３】
図８のシーンデータＳＤ２は、ソート後のシーンデータの一例である。ソート後のシーンデータＳＤ２は、ブロック毎に、当該ブロックに描画されるプリミティブの頂点パラメータ及び設定情報を、描画命令の入力順に有する。ソート後のシーンデータＳＤ２についても同様に、設定情報は、描画命令の入力順が先のプリミティブの設定情報の総計との差分情報として保持される。ここで、ソート後のブロックｂ８のシーンデータＳＤｘを例示して具体的に説明する。
【００３４】
図６の具体例において、ブロックｂ８には、プリミティブＰ２、Ｐ４、Ｐ５が描画され、描画命令の入力順はプリミティブＰ２、Ｐ４、Ｐ５である。そのため、シーンデータＳＤｘは、まず、プリミティブＰ０〜Ｐ２の設定情報と、プリミティブデータバッファＰＤＢにおけるプリミティブＰ２の頂点パラメータの格納アドレスを有する。そして、シーンデータＳＤｘは、次に入力順の早いプリミティブＰ４について、プリミティブＰ３〜Ｐ４の設定情報と、プリミティブデータバッファＰＤＢにおけるプリミティブＰ４の頂点パラメータの格納アドレスを有する。プリミティブＰ５についても同様である。
【００３５】
そのため、画像描画装置は、プリミティブＰ４の設定情報を取得する時、プリミティブＰ０〜Ｐ３の設定情報を合計した情報に、差分の情報であるプリミティブＰ４の設定情報を追加する。このように、画像描画装置は、描画命令の入力順に従って、プリミティブの頂点パラメータおよび設定情報を読み出す必要がある。
【００３６】
図７のフローチャート図に戻り、シーンデータのソート後、レンダリング処理部１２のラスタライズ処理部２４は、ブロック単位に、処理対象ブロックに描画される各プリミティブについて、描画命令の入力順にプリミティブ処理（Ｓ１８）と描画処理（Ｓ１９）とを行う。まず、プリミティブ処理（Ｓ１８）について、図９のフローチャート図に基づいて説明する。
【００３７】
図９は、プリミティブ処理を説明するフローチャート図である。ラスタライズ処理部２４は、プリミティブ処理として、処理対象ブロックの各画素について、前面に描画されるプリミティブを示す識別番号を生成し、プリミティブ番号メモリＰＭに書き込む。
【００３８】
まず、ラスタライズ処理部２４は、処理対象ブロックに描画されるプリミティブリストを外部メモリ１０２のシーンデータから読み出す（Ｓ２１）。続いて、ラスタライズ処理部２４は、処理対象ブロックに描画される全プリミティブについて、描画命令の入力順に処理Ｓ２２、Ｓ２３を行う。処理Ｓ２２として、ラスタライズ処理部２４は、処理対象のプリミティブ（対象プリミティブ）の頂点パラメータのうち座標情報と深度情報とを外部メモリ１０２から読み出す。そして、ラスタライズ処理部２４は、処理対象ブロック内の対象プリミティブが描画される各画素について深度テストを行う（Ｓ２３）。次に、深度テスト（Ｓ２３）について、図１０のフローチャート図に基づいて説明する。
【００３９】
図１０は、深度テストを説明するフローチャート図である。本実施の形態例では、深度値がより小さい程、より前面に位置することを示す。そこで、初め、デフォルトの深度メモリＺＢは、値の大きな深度値を画素毎に有する。そして、ラスタライズ処理部２４は、対象プリミティブが描画される画素のうち、ある画素（注目画素）の深度値Ｄｍを、深度メモリＺＢから読み出す（Ｓ３１）。続いて、ラスタライズ処理部２４は、対象プリミティブの頂点の座標情報と深度値とに基づいて、注目画素の深度値Ｄを演算して取得し（Ｓ３２）、深度値Ｄｍと比較する（Ｓ３３）。
【００４０】
注目画素の深度値Ｄが深度値Ｄｍより小さい場合（Ｓ３３のＹＥＳ）、ラスタライズ処理部２４は、深度メモリＺＢの注目画素に対応するアドレスに深度値Ｄを書き込む（Ｓ３４）。続いて、ラスタライズ処理部２４は、プリミティブ番号メモリＰＭの注目画素に対応に対応するアドレスに、対象プリミティブを示す識別番号を書き込む（Ｓ３５）。そして、本実施の形態例におけるラスタライズ処理部２４は、処理対象ブロックのプリミティブ番号メモリＰＭへの最初の書き込みである場合（Ｓ３５のＹＥＳ）、その識別番号をレジスタＲ１に保持しておく（Ｓ３６）。従って、処理対象ブロックのプリミティブ番号メモリＰＭへの２回目以降の書き込みの場合は（Ｓ３５のＮＯ）、レジスタＲ１は更新されない。
【００４１】
一方、注目画素の深度値Ｄが深度値Ｄｍより大きい場合（Ｓ３３のＮＯ）、対象プリミティブは、注目画素の前面に描画されるプリミティブではないことを意味する。そのため、ラスタライズ処理部２４は、深度メモリＺＢ及びプリミティブ番号メモリＰＭへの書き込みを行わず、次の注目画素について深度テストを行う（Ｓ３１〜Ｓ３７）。
【００４２】
処理対象ブロック内の対象プリミティブが描画される全画素について深度テストが行われると、プリミティブ番号メモリＰＭには、処理対象ブロックの各画素について、最前面に描画されるプリミティブの識別番号が格納される。また、レジスタＲ１には、プリミティブ番号メモリＰＭに初めに書き込まれた識別番号、即ち、処理対象ブロックに描画されるプリミティブであって最も入力順の早いプリミティブを示す識別番号が保持される。
【００４３】
図１１は、本実施の形態例の深度テスト処理部４２におけるハードウェアの構成例を表す図である。本実施の形態例における深度テスト処理部４２は、深度計算部５１、メモリアドレス変換部５２、５４、深度テスト部５３、書き込み判定部５５、プリミティブ番号メモリＰＭ、深度メモリＺＢ、レジスタＲ１、タイミング調整用レジスタｔ１〜ｔ５を有する。タイミング調整用レジスタｔ１〜ｔ５は、処理タイミングを合わせるために設けられる。深度計算部５１は、注目画素の深度値Ｄを頂点パラメータに基づいて計算して取得すると共に、注目画素の座標情報（ｘ，ｙ）をメモリアドレス変換部５２に、座標情報（ｘ，ｙ）及び深度値Ｄをタイミング調整用レジスタｔ１に渡す。メモリアドレス変換部５２は、座標情報（ｘ，ｙ）を深度メモリＺＢのアドレスに変換して深度メモリＺＢから注目画素の深度値Ｄｍを読み出し、深度テスト部５３に渡す。
【００４４】
そして、深度テスト部５３は、深度値Ｄと深度メモリＺＢから読み出した深度値Ｄｍとを比較する。深度値Ｄが深度値Ｄｍよりも小さい場合、深度テスト部５３は、タイミング調整用レジスタｔ３から出力された注目画素の座標情報（ｘ，ｙ）をメモリアドレス変換部５４に出力する。深度テスト部５３は、タイミング調整用レジスタｔ４に深度値Ｄを、タイミング調整用レジスタｔ５に対象のプリミティブの識別番号を出力する。そして、深度値Ｄが注目画素に対応する深度メモリＺＢのアドレスに書き込まれると共に、識別番号がメモリアドレス変換部５４から出力された注目画素に対応するプリミティブ番号メモリＰＭのアドレスに書き込まれる。また、書き込み判定部５５は、プリミティブ番号メモリＰＭへの初回の書き込みである場合、レジスタＲ１に識別番号を書き込む。
【００４５】
なお、本実施の形態例において、深度テストは、区分領域が有するＭ個（本実施の形態例では、４個）の各画素について並列に行われる。そのため、プリミティブ番号メモリＰＭは、対応する画素が処理される並列ユニットに対応してＭ個に分割される。ここで、深度テスト処理を、図６の具体例に基づいて説明する。ここでは、ブロックｂ０〜ｂ１１のうち、ブロックｂ８を処理対象ブロックとして例示して説明する。まず、処理対象ブロックの深度テスト時における各メモリの初期値について説明する。
【００４６】
図１２は、深度テストにおける深度メモリＺＢ、プリミティブ番号メモリＰＭ、レジスタＲ１、Ｒ２がそれぞれデフォルト値として保持する値を表す図である。なお、同図のレジスタＲ２（Ｒ２０〜Ｒ２ｆ）は、第２の実施の形態例で使用されるレジスタであり、第２の実施の形態例において後述する。初め、深度メモリＺＢの各画素に対応するアドレスには、デフォルト値として最大の深度値「１．０」が格納される。また、初め、プリミティブ番号メモリＰＭの各画素に対応するアドレス及び、レジスタＲ１には、デフォルト値としてフレームに描画されるプリミティブ総数（Ｍａｘ値）である「６」が格納される。ブロックｂ８に描画されるプリミティブＰ２、Ｐ４、Ｐ５の描画命令の入力順はＰ２、Ｐ４、Ｐ５である。そのため、ラスタライズ処理部２４は、まず、プリミティブＰ２について深度テストを行う。
【００４７】
図１３は、ブロックｂ８におけるプリミティブＰ２の深度テスト後の深度メモリＺＢ及びプリミティブ番号メモリＰＭ、レジスタＲ１を表す図である。この例において、プリミティブＰ２が描画されるある画素ｇ１を注目画素として処理を説明する。ラスタライズ処理部２４は、注目画素ｇ１の深度値Ｄｍ「１．０（デフォルト値）」を深度メモリＺＢから読み出す（図１０のＳ３１）。続いて、ラスタライズ処理部２４は、プリミティブＰ２の頂点の座標情報と深度値とに基づいて、注目画素ｇ１の深度値０．１を算出して取得する（Ｓ３２）。
【００４８】
注目画素の深度値Ｄ「０．１」は、深度メモリＺＢから読み出したデフォルトの深度値Ｄｍ「１．０」より小さい（Ｓ３３のＹＥＳ）。従って、ラスタライズ処理部２４は、深度メモリＺＢの注目画素に対応するアドレスに深度値０．１を書き込むと共に（Ｓ３４）、プリミティブ番号メモリＰＭの注目画素に対応するアドレスに、プリミティブＰ２を示す識別番号「２」を書き込む（Ｓ３５）。そして、この場合、プリミティブ番号メモリＰＭにおける最初の書き込みであるため（Ｓ３６のＹＥＳ）、ラスタライズ処理部２４は、レジスタＲ１に識別番号「２」を保持させる（Ｓ３７）。
【００４９】
ラスタライズ処理部２４は、ブロックｂ８におけるプリミティブＰ２が描画される他の画素についても同様に深度値を比較し（Ｓ３３）、その結果に応じて深度メモリＺＢ及びプリミティブ番号メモリＰＭを更新する（Ｓ３４、Ｓ３５）。また、この時、プリミティブ番号メモリＰＭの最初の書き込みではないことから（Ｓ３６のＮＯ）、ラスタライズ処理部２４は、レジスタＲ１を更新しない。この結果、図１３のように、プリミティブＰ２が描画される画素に対応する深度メモリＺＢのアドレスには０．１が、プリミティブ番号メモリＰＭのアドレスには識別番号「２」が書き込まれる。プリミティブＰ２の深度テストが終わると、ラスタライズ処理部２４は、次に入力順の早いプリミティブＰ４について、同様に深度テストを行う。
【００５０】
図１４は、ブロックｂ８におけるプリミティブＰ４の深度テスト後の深度メモリＺＢ及びプリミティブ番号メモリＰＭ、レジスタＲ１を表す図である。プリミティブＰ４の各頂点の座標情報と深度値とに基づいて取得されるプリミティブＰ４が描画される画素の深度値は０．３または０．４であり、深度メモリＺＢに書き込まれるプリミティブＰ２の深度値０．１より大きい（Ｓ３３のＮＯ）。これは、プリミティブＰ４が、プリミティブＰ２より背面に位置することを示す。従って、プリミティブＰ４が描画される画素であって、プリミティブＰ２が描画されない画素に対応する深度メモリＺＢのアドレスに深度値０．３または０．４が書き込まれ（Ｓ３４）、当該画素に対応するプリミティブ番号メモリＰＭのアドレスにプリミティブＰ４を示す識別番号「４」が書き込まれる（Ｓ３５）。また、レジスタＲ１は識別番号「２」を保持したままである（Ｓ３６のＮＯ）。プリミティブＰ２の深度テストが終わると、ラスタライズ処理部２４は、次に入力順の早いプリミティブＰ５について、同様に深度テストを行う。
【００５１】
図１５は、ブロックｂ８におけるプリミティブＰ５の深度テスト後の深度メモリＺＢ及びプリミティブ番号メモリＰＭ、レジスタＲ１を表す図である。プリミティブＰ５の各頂点の座標情報と深度値とに基づいて取得される深度値は０．９であり、プリミティブＰ２、Ｐ４の深度値より大きい。これは、プリミティブＰ５は、プリミティブＰ２及びＰ４の背面に位置することを示す。従って、プリミティブＰ２及びＰ４が描画されず、プリミティブＰ５が描画される画素に対応する深度メモリＺＢのアドレスに深度値０．９が書き込まれ（Ｓ３４）、当該画素に対応するプリミティブ番号メモリＰＭのアドレスにプリミティブＰ５を示す識別番号「５」が書き込まれる（Ｓ３５）。また、レジスタＲ１は識別番号「２」を保持したままである（Ｓ３６のＮＯ）。
【００５２】
このように、ラスタライズ処理部２４は、全プリミティブ処理（図９、図７のＳ１８）として、処理対象ブロックに描画される全プリミティブについて描画命令の入力順に深度テスト（図１０）を行う。この結果、プリミティブ番号メモリＰＭには、処理対象ブロックの各画素について前面に描画されるプリミティブを示す識別番号が格納される。また、レジスタＲ１に、処理対象ブロックに描画されるプリミティブであって、最も入力順の早いプリミティブを示す識別番号が保持される。全プリミティブ処理の後、ラスタライズ処理部２４は、処理対象ブロックの描画処理を行う（図７のＳ１９）。
【００５３】
図１６は、プリミティブの描画処理を説明するフローチャート図である。本実施の形態例におけるラスタライズ処理部２４は、処理対象ブロックをさらに分割したＮ個の区分領域毎に完了フラグｆｌ０〜ｆｌｆを有する。また、本実施の形態例におけるラスタライズ処理部２４は、区分領域が有するＭ個の各画素の処理を並列に行う。
【００５４】
初め、ラスタライズ処理部２４は、検索プリミティブ番号ＰＮに、図１０の深度テストでレジスタＲ１に保持させた識別番号をセットする（Ｓ４１）。これにより、入力順は初め（０番目）のプリミティブではなく、処理対象ブロックに描画されるプリミティブであって入力順の最も早いプリミティブから、プリミティブ番号メモリＰＭの検索処理が行われる。また、ラスタライズ処理部２４は、Ｎ個の区分領域ｎ０〜ｎｆにそれぞれ対応する完了フラグｆｌ０〜ｆｌｆに初期値０をセットしておく（Ｓ４２）。続いて、ラスタライズ処理部２４は、次回候補の検索プリミティブ番号（次回検索プリミティブ番号ｎＰＮ）に、初期値としてフレームに描画されプリミティブの総数（Ｍａｘ値）をセットする（Ｓ４３）。
【００５５】
続いて、ラスタライズ処理部２４は、区分領域毎に順次、処理Ｓ４４〜Ｓ５５を行う。まず、ラスタライズ処理部２４は、注目画素の座標情報（ｘ，ｙ）に基づいて、注目画素が属する区分領域（注目区分領域）の番号（以下、領域番号ａｒ）を取得する（Ｓ４４）。そして、注目区分領域の完了フラグｆｌが０か否かを判定する（Ｓ４５）。完了フラグｆｌが１である場合（Ｓ４５のＮＯ）、注目区分領域内の全ての画素の画素データが生成済みであることを意味する。その場合、ラスタライズ処理部２４は、注目区分領域内の処理を終了し、次の注目区分領域について処理Ｓ４４から処理を続行する。
【００５６】
一方、完了フラグｆｌが０の場合（Ｓ４５のＹＥＳ）、注目区分領域は、画素データが未生成の画素を有することを示す。そこで、ラスタライズ処理部２４は完了フラグｆｌに１をセットしておき（Ｓ４６）、注目区分領域の有するＭ個の各画素（以下、各注目画素）について、処理Ｓ４７〜Ｓ５５を並列に行う。
【００５７】
まず、ラスタライズ処理部２４は、各注目画素について、注目画素に対応するプリミティブ番号メモリＰＭが有する識別番号（ＰＭ［ｍｎ］［ａｒ］）が、処理Ｓ４１でセットされた検索プリミティブ番号ＰＮと一致するか否かを判定する（Ｓ４７）。一致する場合（Ｓ４７のＹＥＳ）、注目画素に検索プリミティブ番号ＰＮの示すプリミティブが描画されることを意味する。そこで、ラスタライズ処理部２４は、検索プリミティブ番号ＰＮが示すプリミティブの頂点パラメータ及び設定情報を外部メモリ１０２から読み出す（Ｓ４８）。なお、検索プリミティブ番号ＰＮの頂点パラメータ及び設定情報が既に読み出し済みである場合、新たな読み出し処理は行われない。そして、ラスタライズ処理部２４は、注目画素の座標情報を取得し（Ｓ４９）、頂点パラメータに基づいて注目画素の画素データを取得して（Ｓ５０）、内部メモリに格納する（Ｓ５１）。
【００５８】
一方、一致しない場合（Ｓ４７のＮＯ）、注目画素に描画されるプリミティブが検索プリミティブ番号ＰＮの示すプリミティブではないことを意味する。そこで、ラスタライズ処理部２４は、検索プリミティブ番号ＰＮが、プリミティブ番号メモリＰＭが有する注目画素の識別番号（ＰＭ［ｍｎ］［ａｒ］）より小さいか否かを判定する（Ｓ５２）。検索プリミティブ番号ＰＮが識別番号以上の場合（Ｓ５２のＮＯ）、注目画素に描画されるプリミティブは、検索プリミティブ番号ＰＮの示すプリミティブよりも入力順が先であり、画素データの生成が終了していることを意味する。そのため、ラスタライズ処理部２４は、処理Ｓ５３〜Ｓ５５を行わない。
【００５９】
一方、検索プリミティブ番号ＰＮが識別番号より小さい場合（Ｓ５２のＹＥＳ）、注目画素に描画されるプリミティブは、検索プリミティブ番号ＰＮの示すプリミティブよりも入力順が後であり、画素データの未生成であることを意味する。そこで、ラスタライズ処理部２４は、注目区分領域の完了フラグｆｌを、画素データが未生成であることを示す０で更新する（Ｓ５３）。続いて、ラスタライズ処理部２４は、次回検索プリミティブ番号ｎＰＮが識別番号（ＰＭ［ｍｎ］［ａｒ］）より大きいか否かを判定する（Ｓ５４）。
【００６０】
次回検索プリミティブ番号ｎＰＮが識別番号以下の場合（Ｓ５４のＮＯ）、次回検索プリミティブ番号ｎＰＮの示すプリミティブは、注目画素に描画されるプリミティブと入力順が同じか先であることを意味する。この場合、次回検索プリミティブ番号ｎＰＮには、次に入力順の早いプリミティブを示す識別番号が既に保持されているため、ラスタライズ処理部２４は次回検索プリミティブ番号ｎＰＮを更新しない。一方、次回検索プリミティブ番号ｎＰＮが識別番号より大きい場合（Ｓ５４のＹＥＳ）、次回検索プリミティブ番号ｎＰＮの示すプリミティブは、注目画素に描画されるプリミティブよりも入力順が後であることを意味する。そこで、ラスタライズ処理部２４は、次回検索プリミティブ番号ｎＰＮを識別番号で更新する（Ｓ５５）。
【００６１】
処理対象ブロック内の全ての区分領域について、検索プリミティブ番号ＰＮが維持されたまま、処理Ｓ４４〜Ｓ５５が行われると、プリミティブ番号メモリＰＭに検索プリミティブ番号ＰＮと同一の識別番号を有する全ての画素が検出され（検索処理）、当該画素の画素データが生成される。そして、次回検索プリミティブ番号ｎＰＮには、処理対象ブロックに描画されるプリミティブであって、検索プリミティブ番号ＰＮの次に入力順の早いプリミティブを示す識別番号が保持される。
【００６２】
さらに、全画素の画素データの生成が完了した区分領域の完了フラグｆｌには１が、全画素の画素データの生成が未完了である区分領域の完了フラグｆｌには０が保持される。完了フラグｆｌが１の区分領域については既に画素データの生成が完了しているため、以降の検索プリミティブ番号ＰＮと同一の識別番号を有するプリミティブ番号メモリＰＭの検索処理の対象外とされる。これにより、無駄な検索処理が省略され、プリミティブ番号メモリＰＭの検索効率が向上する。
【００６３】
全ての区分領域について処理Ｓ４４〜Ｓ５５が行われると、続いて、ラスタライズ処理部２４は、次回検索プリミティブ番号ｎＰＮとＭａｘ値が一致するか否かを判定する（Ｓ５６）。一致しない場合（Ｓ５６のＮＯ）、次回検索プリミティブ番号ｎＰＮが更新されたこと、即ち、描画処理が完了していないプリミティブがあることを意味する。そのため、ラスタライズ処理部２４は、検索プリミティブ番号ＰＮに次回検索プリミティブ番号ｎＰＮをセットすると共に（Ｓ５７）、次回検索プリミティブ番号ｎＰＮをＭａｘ値で初期化し（Ｓ４３）、完了フラグｆｌが０の全区分領域を対象として処理Ｓ４４〜Ｓ５５を行う。
【００６４】
一方、次回検索プリミティブ番号ｎＰＮがＭａｘ値と一致する場合（Ｓ５６のＹＥＳ）、処理対象ブロックに描画される全てのプリミティブの描画処理が完了したことを意味する。そこで、ラスタライズ処理部２４は、内部メモリに格納された処理対象ブロックの画素データを外部メモリ１０２のフレームバッファに書き込み（Ｓ５８）、描画処理を終了する。図１６の処理対象ブロックの描画処理（図７のＳ１９）が終了すると、レンダリング処理部１２は、次のブロックを処理対象ブロックとしてラスタライズ処理（図７のＳ１８、Ｓ１９）を行う。全てのブロックについてラスタライズ処理が行われると、ラスタライズ処理部２４はフレームの描画処理を終了する。
【００６５】
図１７は、本実施の形態例のプリミティブ描画処理部４４（図５）におけるハードウェアの構成例を表す図である。本実施の形態例におけるプリミティブ描画処理部４４は、座標生成部６１、メモリアドレス変換部６２、プリミティブ番号メモリＰＭ、比較部６３、次回検索プリミティブ番号取得部６４、レジスタＲ１、完了フラグｆｌ、タイミング調整用レジスタｔ１１〜ｔ１４を有する。
【００６６】
座標生成部６１は、区分領域内の画素の座標情報（ｘ，ｙ）を順次生成し、メモリアドレス変換部６２及びタイミング調整用レジスタｔ１１に出力する。メモリアドレス変換部６２は、座標情報（ｘ，ｙ）をプリミティブ番号メモリＰＭのアドレスに変換すると共に、注目画素に対応するプリミティブ番号メモリＰＭが有する識別番号を読み出し、比較部６３及び次回検索プリミティブ番号取得部６４に出力する。そして、比較部６３は、レジスタＲ１に保持された識別番号（検索プリミティブ番号ＰＮ）と識別番号とを比較し、一致した場合に画素データの取得を指示する。また、この時、画素データの取得指示に加えて、レジスタＲ１からタイミング調整用レジスタｔ１４を介して対象プリミティブを示す識別番号と、タイミング調整用レジスタｔ１３から注目画素の座標情報（ｘ，ｙ）が出力される。
【００６７】
また、次回検索プリミティブ番号取得部６４は、区分領域に対応するプリミティブ番号メモリＰＭ領域に、検索プリミティブ番号ＰＮより大きい識別番号が格納されていない場合、完了フラグｆｌに１をセットする。そして、座標生成部６１は、完了フラグｆｌに１を有する区分領域については、座標を生成しない。また、次回検索プリミティブ番号取得部６４は、以降に描画されるプリミティブのうち、最も入力順の早いプリミティブを示す識別番号を次回検索プリミティブ番号ｎＰＮとして取得し、レジスタＲ１に更新すると共に、次回検索プリミティブ番号ｎＰＮがＭａｘ値と一致すると検索処理を終了する。続いて、図６の具体例に基づいて描画処理を説明する。
【００６８】
図１８は、「検索プリミティブ番号ＰＮ＝２」のときの描画処理を説明する図である。同図の左下図ＮＢには、４画素をそれぞれ有する１６コ（Ｎコ）の区分領域ｎ０〜ｎｆが太線で表されている。区分領域ｎ０〜ｎｆの各画素に付与された番号０〜３は、４つ（Ｍコ）の並列ユニットに対応する区分領域内の画素位置を表す。本実施の形態例において、ラスタライズ処理部２４は、例えば、矢印ｙａの示す順に区分領域の処理を行う。
【００６９】
初めに、ラスタライズ処理部２４は、レジスタＲ１に保持された識別番号「２」を検索プリミティブ番号ＰＮにセットすると共に（Ｓ４１）、各区分領域に対応する完了フラグｆｌ０〜ｆｌｆに０をセットする（Ｓ４２）。また、ラスタライズ処理部２４は、次回検索プリミティブ番号ｎＰＮにＭａｘ値「６」をセットして初期化すると共に（Ｓ４３）、注目区分領域ｎ０の領域番号０を取得する（Ｓ４４）。そして、ラスタライズ処理部２４は、図１８における注目区分領域ｎ０内の各画素（注目画素）に対応するプリミティブ番号メモリｐｍ０内の各識別番号と、検索プリミティブ番号ＰＮ「２」とをそれぞれ比較することにより、プリミティブ番号メモリｐｍ０に識別番号「２」を有する画素を検索する。
【００７０】
図１８において、注目区分領域ｎ０に対応するプリミティブ番号メモリｐｍ０から、識別番号「２」を有する画素は検出されない（Ｓ４７のＮＯ）。また、識別番号「５」は、検索プリミティブ番号ＰＮ「２」より値が大きいため（Ｓ５２のＹＥＳ）、完了フラグｆｌ０には０がセットされる（Ｓ５３）。また、識別番号「５」は次回検索プリミティブ番号ｎＰＮ「６」より値が小さいため（Ｓ５４のＹＥＳ）、次回検索プリミティブ番号ｎＰＮにが「５」がセットされる（Ｓ５３）。
【００７１】
このように、本実施の形態例におけるラスタライズ処理部２４は、検索プリミティブ番号ＰＮ「０」からではなく、検索プリミティブ番号ＰＮ「２」から順に検索処理を行う。これにより、ブロックｂ８のような、０番目のプリミティブが描画されないブロックの場合、不要な検索処理（検索プリミティブ番号ＰＮ「０」の検索処理）が省かれ、プリミティブ番号メモリＰＭの検索処理が効率化される。
【００７２】
図１９の左図は、「検索プリミティブ番号ＰＮ＝２」のときの区分領域ｎ１の描画処理を説明する図である。続いて、ラスタライズ処理部２４は、区分領域ｎ１を注目区分領域として、同様にして、対応するプリミティブ番号メモリｐｍ１から識別番号「２」を有する画素を検索する。同図において、プリミティブ番号メモリｐｍ１には、識別番号「４」及び「５」が格納されている（Ｓ４７のＮＯ）。識別番号「４」及び「５」は、検索プリミティブ番号ＰＮ「２」より値が大きいため（Ｓ５２のＹＥＳ）、完了フラグｆｌ１には０がセットされる（Ｓ５３）。また、識別番号「４」は次回検索プリミティブ番号ｎＰＮ「５」より値が小さいため（Ｓ５４のＹＥＳ）、次回検索プリミティブ番号ｎＰＮには「４」がセットされる（Ｓ５５）。
【００７３】
図１９の右図は、「検索プリミティブ番号ＰＮ＝２」のときの区分領域ｎ９の描画処理を説明する図である。例えば、区分領域ｎ９が注目区分領域のとき、ラスタライズ処理部２４は、対応するプリミティブ番号メモリｐｍ９から識別番号「２」を有する画素を検索する。同図のように、プリミティブ番号メモリｐｍ９には、区分領域ｎ９内の全ての画素に対応するアドレスに識別番号「２」が格納されている（Ｓ４７のＹＥＳ）。そのため、注目区分領域ｐｍ９内の全ての画素の画素データが生成され（Ｓ４８〜Ｓ５１）、完了フラグｆｌ９には１がセットされる。この時、次回検索プリミティブ番号ｎＰＮは更新されない。
【００７４】
図２０の左図は、「検索プリミティブ番号ＰＮ＝２」における、全区分領域の描画処理が終了した場合の描画処理を説明する図である。全ての区分領域ｎ０〜ｎｆが処理されると、レジスタＲ１には、処理対象ブロックに描画されるプリミティブであって、検索プリミティブ番号ＰＮ「２」が示すプリミティブの次に入力順の早いプリミティブを示す識別番号「４」が格納される。そして、全ての画素に対応するプリミティブ番号メモリに識別番号「２」が格納される区分領域ｎ９〜ｎｂについては、完了フラグｆｌ９〜ｆｌｂに１がセットされる。
【００７５】
検索プリミティブ番号ＰＮ＝２の処理が終了すると、ラスタライズ処理部２４は、次回検索プリミティブ番号ｎＰＮ「４」を、検索プリミティブ番号ＰＮとして、同様の処理を行う。このとき、完了フラグに１を有する区分領域ｎ９〜ｎｂは、全画素の画素データの生成が完了しているため、プリミティブ番号メモリＰＭに識別番号「４」を有する画素の検索領域の対象外となる。これにより、不要な検索処理が省かれ、プリミティブ番号メモリＰＭの検索効率が向上する。
【００７６】
図２０の右図は、「検索プリミティブ番号ＰＮ＝４」のときの描画処理を説明する図である。ラスタライズ処理部２４は、完了フラグｆｌ０〜ｆｌｆが０である区分領域を対象として、順次、対応するプリミティブ番号メモリｐｍ０〜ｐｍｆから識別番号「４」を有する画素を検索すると共に、検出画素の画素データを生成する。その結果、例えば、区分領域ｎ１について、対応するプリミティブ番号メモリｐｍ１から識別番号「４」を有する画素が検出され、当該画素の画素データが生成される（Ｓ４８〜Ｓ５１）。また、完了フラグｆｌ１に０がセットされ（Ｓ５２のＹＥＳ、Ｓ５３）、次回検索プリミティブ番号ｎＰＮは、区分領域ｎ０の処理時に更新された「５」のままとなる（Ｓ５４のＮＯ）。
【００７７】
図２１の左図は、「検索プリミティブ番号ＰＮ＝４」における、全区分領域の描画処理が終了した場合の描画処理を説明する図である。全ての区分領域ｎ０〜ｎｆが処理されると、レジスタＲ１には、次に入力順の早いプリミティブの識別番号「５」が格納される。そして、全ての画素に対応するプリミティブ番号メモリに識別番号「２」または「４」のいずれかまたは両方が格納されている区分領域ｆｌ２、ｆｌ３、ｆｌ９〜ｆｌｂについては、完了フラグｆｌに１がセットされ、以降の検索処理の範囲対象外となる。
【００７８】
図２１の右部は、「検索プリミティブ番号ＰＮ＝５」における、全区分領域の描画処理が終了した場合の描画処理を説明する図である。全ての区分領域ｎ０〜ｎｆが処理されると、検索プリミティブ番号ＰＮ「５」を対応するプリミティブ番号メモリに有する全ての画素が検索され、画素データが生成される。これにより、処理対象ブロックに描画される全てのプリミティブの描画処理が完了するため、全区分領域の完了フラグｆｌ０〜ｆｌｆが１に更新される。
【００７９】
また、この場合、プリミティブ番号メモリｐｍ０〜ｐｍｆは、検索プリミティブ番号ＰＮ「５」より大きい識別番号を有しないため（Ｓ５２のＮＯ）、次回検索プリミティブ番号ｎＰＮは初期値であるＭａｘ値「６」のまま更新されない。これにより、ラスタライズ処理部２４は、処理対象ブロックに描画される全プリミティブの描画処理が終了したものとみなし、内部メモリに格納した画素データを外部メモリ１０２のフレームバッファに書き込む（Ｓ５６）。
【００８０】
このように、本実施の形態例における画像描画装置は、ブロック単位に、ブロックに描画されるプリミティブの頂点の座標情報と奥行きを示す深度情報とを含む頂点パラメータ（プリミティブパラメータ）を第１のメモリ（外部メモリ）から読み出し、頂点パラメータに基づいて対象ブロック内の各画素について、前面に描画されるプリミティブの識別番号（識別情報）を生成し第２のメモリ（内部高速メモリ）のプリミティブ番号メモリに書き込む。この時、画像描画装置は、プリミティブの識別番号の生成中に、対象ブロックに描画されるプリミティブであって、入力順の最も早いプリミティブの識別番号を先頭識別情報（先頭識別情報）として保持する。例えば、画像描画装置は、プリミティブの識別番号の生成時、描画命令の入力順にプリミティブの頂点パラメータを読み出し、プリミティブ番号メモリに初めに書き込む識別番号を先頭識別情報として保持する。
【００８１】
そして、画像描画装置は、ブロック単位に、先頭識別情報のプリミティブから入力順に、対象プリミティブの頂点の座標情報と色情報とを含む頂点パラメータを第１のメモリから読み出すと共に、プリミティブ番号メモリに対象プリミティブの識別番号を有する画素について、頂点パラメータに基づいて画素データを生成しフレームバッファに書き込む。
【００８２】
これにより、画像描画装置は、処理対象ブロックに描画されるプリミティブであって、最も入力順の早いプリミティブから、プリミティブ番号メモリに対して対象プリミティブの識別番号を有する画素を検索することができる。これにより、入力順が０番目のプリミティブが処理対象ブロックに描画されない場合、（０番目のプリミティブの）プリミティブ番号メモリの不要な検索処理を省くことができる。この結果、プリミティブ番号メモリの検索処理がより効率的に行われる。
【００８３】
また、画像描画装置は、ブロックを複数の区分領域に分割し、プリミティブ番号メモリの対象プリミティブの識別番号を有する画素の検索時に、全ての画素の画素データが生成済みの区分領域に対応するプリミティブ番号メモリ領域については検索処理の範囲対象外とする。これにより、画像描画装置は、プリミティブ番号メモリの検索時の対象領域を限定することができ、検索効率を向上させることができる。また、画像描画装置は区分領域内の複数の画素について、処理を並列化する。これにより、画像描画装置は、画像描画装置の並列化の度合いを抑え回路規模を抑えながら、プリミティブ番号メモリの検索処理をより効率的にすることができる。
【００８４】
［第２の実施の形態例］
第１の実施の形態例における画像描画装置は、処理対象ブロックに描画されるプリミティブであって入力順の最も早いプリミティブの識別番号を保持していたのに対し、第２の実施の形態例における画像描画装置は、処理対象ブロックの区分領域毎に、当該区分領域に描画されるプリミティブであって入力順の最も早いプリミティブの識別番号を保持する。これにより、画像描画装置は、プリミティブ番号メモリに検索処理をより効率的にすることができる。以下、フローチャート図に基づいて説明する。
【００８５】
図２２は、第２の実施の形態例における深度テストの処理を表すフローチャート図である。同図において、プリミティブ番号メモリへの書き込みまでの処理（Ｓ６１〜Ｓ６５）は、第１の実施の形態例（Ｓ３１〜Ｓ３５）と同様である。第２の実施の形態例におけるラスタライズ処理部２４は、注目画素の深度値Ｄが、深度メモリＺＢから読み出した注目画素の深度値Ｄｍより小さいとき（Ｓ６３のＹＥＳ）、注目画素が含まれる区分領域に対応するプリミティブ番号メモリＰＭへの最初の書き込みである場合に（Ｓ６６のＹＥＳ）、識別番号を当該区分領域に対応するレジスタＲ２［領域番号］に保持しておく（Ｓ６７）。
【００８６】
そして、処理対象ブロックに描画される全てのプリミティブについて深度テストが行われると、処理対象ブロックの各画素について、前面に描画されるプリミティブの識別番号がプリミティブ番号メモリＰＭに格納される。また、各区分領域のレジスタＲ２には、各区分領域に対応するプリミティブ番号メモリＰＭ領域に、最初に書き込まれた識別番号、即ち、区分領域に描画されるプリミティブであって最も入力順の早いプリミティブを示す識別番号が保持される。
【００８７】
図２３は、本実施の形態例の深度テスト処理部４２におけるハードウェアの構成例を表す図である。レジスタＲ２、及び書き込み判定部７５以外は、第１の実施の形態例と同様である。本実施の形態例において、書き込み判定部７５は、注目画素の深度値Ｄが深度メモリＺＢから読み出した深度値Ｄｍよりも小さい場合、注目画素が含まれる区分領域内の初回の書き込みであるか否かを判定する。初回の書き込みであった場合、区分領域に対応するレジスタＲ２に対象プリミティブを示す識別番号が書き込まれる。ここで、本実施の形態例における深度テスト処理を、図６の具体例に基づいて説明する。
【００８８】
図１３の右図には、第２の実施の形態例におけるブロックｂ８に係るプリミティブＰ２の深度テスト後のレジスタＲ２０〜Ｒ２ｆが表される。深度メモリＺＢ及びプリミティブ番号メモリＰＭについては、第１の実施の形態例と同様である。プリミティブＰ２の深度テストの結果、プリミティブＰ２が描画される画素が含まれる区分領域のレジスタＲ２４〜Ｒ２ｆに、識別番号「２」が保持される。そして、図１４の右図には、続いて行われるプリミティブＰ４の深度テスト後のレジスタＲ２０〜Ｒ２ｆが表される。プリミティブＰ４の深度テストの結果、プリミティブＰ４が描画される画素を有する区分領域であって、対応するプリミティブ番号メモリに初めて書き込みが行われる区分領域のレジスタＲ２１〜Ｒ２３に識別番号「４」が書き込まれる。
【００８９】
図１５の右図には、続いて行われるプリミティブＰ５の深度テスト後のレジスタＲ２０〜Ｒ２ｆが表される。プリミティブＰ５の深度テスト時には、ぞれぞれの区分領域に対応するプリミティブ番号メモリは既に書き込み済みである。そのため、いずれのレジスタＲ２０〜Ｒ２ｆも更新されない。そして、ラスタライズ処理部２４は、深度テストによるレジスタＲ２０〜Ｒ２ｆに基づいて、後続のプリミティブの描画処理を効率的に行う。続いて、プリミティブの描画処理について、フローチャート図に基づいて説明する。
【００９０】
図２４は、第２の実施の形態例におけるプリミティブの描画処理を説明するフローチャート図である。同図において、ラスタライズ処理部２４は、まず、検索プリミティブ番号ＰＮ及び次回検索プリミティブ番号ｎＰＮに、Ｍａｘ値をセットして初期化する（Ｓ７１）。そして、ラスタライズ処理部２４は、区分領域毎に、対応するレジスタＲ２０〜Ｒ２ｆの有する識別番号が検索プリミティブ番号ＰＮより小さい場合に（Ｓ７２、Ｓ７３のＹＥＳ）、当該識別番号を検索プリミティブ番号ＰＮにセットすると共に、区分領域の領域番号ａｒを注目領域番号Ｓａｒとして保持する（Ｓ７４）。
【００９１】
全ての区分領域について、処理Ｓ７２〜Ｓ７４が行われると、レジスタＲ２０〜Ｒ２ｆが有する識別番号のうち、最も値の小さい（入力順の早い）識別番号が検索プリミティブ番号ＰＮにセットされると共に、当該識別番号を有するレジスタＲ２０〜Ｒ２ｆに対応する区分領域の領域番号ａｒが注目領域番号Ｓａｒとして保持される。
【００９２】
続いて、ラスタライズ処理部２４は、検索プリミティブ番号ＰＮとＭａｘ値とを比較する（Ｓ７５）。一致しない場合（Ｓ７５のＹＥＳ）、ラスタライズ処理部２４は、注目領域番号Ｓａｒが示す区分領域を注目区分領域とする。そして、ラスタライズ処理部２４は、第１の実施の形態例と同様に、注目区分領域のＭ個の各画素（以下、注目画素）について並列に、対応するプリミティブ番号メモリに検索プリミティブ番号ＰＮと一致する識別番号を有する注目画素を検索し（Ｓ７６のＹＥＳ）、画素データを生成する（Ｓ７６〜Ｓ８０）。
【００９３】
また、検索プリミティブ番号ＰＮと、注目画素に対応するプリミティブ番号メモリＰＭが有する識別番号（ＰＭ［ｍｎ］［Ｓａｒ］）が一致しない場合（Ｓ７６のＮＯ）、検索プリミティブ番号ＰＮが識別番号より小さいか否か判定する（Ｓ８１）。検索プリミティブ番号ＰＮが識別番号より小さく（Ｓ８１のＹＥＳ）、さらに、次回検索プリミティブ番号ｎＰＮが識別番号より大きい場合に（Ｓ８２のＹＥＳ）、ラスタライズ処理部２４は、次回検索プリミティブ番号ｎＰＮに識別番号をセットする（Ｓ８３）。これにより、次回検索プリミティブ番号ｎＰＮには、注目区分領域に描画されるプリミティブであって、検索プリミティブ番号ＰＮの次に入力順の早いプリミティブを示す識別番号が保持される。
【００９４】
注目区分領域の処理（Ｓ７６〜Ｓ８３）が終わると、ラスタライズ処理部２４は、注目区分領域に対応するレジスタＲ２［Ｓａｒ］に次回検索プリミティブ番号ｎＰＮを書き込む（Ｓ８４）。これにより、注目区分領域に対応するレジスタＲ２［Ｓａｒ］は、注目区分領域に描画されるプリミティブであって、次に入力順の早いプリミティブを示す識別番号で更新される。そして、処理Ｓ７１に戻り、同様にして、ラスタライズ処理は、レジスタＲ２０〜Ｒ２ｆが有する識別番号のうち、最も値の小さい（入力順の早い）識別番号を検索プリミティブ番号ＰＮにセットし、当該識別番号を有するレジスタＲ２０〜Ｒ２ｆに対応する区分領域を注目領域とする。
【００９５】
そして、ラスタライズ処理部２４は、検索プリミティブ番号ＰＮがＭａｘ値と一致しなければ（Ｓ７５のＹＥＳ）、注目区分領域に対して同様の処理を行う（Ｓ７５〜Ｓ８４）。一方、検索プリミティブ番号ＰＮがＭａｘ値と一致する場合（Ｓ７５のＮＯ）、処理対処ブロックに描画される全プリミティブの描画処理が完了したことを意味する。そこで、ラスタライズ処理部２４は、内部メモリに格納された処理対象ブロックの画素データを外部メモリ１０２のフレームバッファに書き込み（Ｓ８５）、描画処理を終了する。
【００９６】
図２５は、本実施の形態例の描画処理部４４（図５）におけるハードウェアの構成例を表す図である。本実施の形態例において、描画処理部４４は、完了フラグｆｌを有さず、区分領域毎にレジスタＲ２を有する。また、本実施の形態例において、座標生成部８１は、第１の実施の形態例と異なり、区分領域毎のレジスタＲ２（Ｒ２０〜Ｒ２ｆ）から一番小さい識別番号を検出し、当該識別番号を有する区分領域の座標情報（ｘ，ｙ）を順次生成して、メモリアドレス変換部６２へ出力する。また、次回検索プリミティブ番号取得部８４は、注目区分領域に対応するレジスタＲ２を、注目区分領域に以降に描画されるプリミティブのうち最も入力順の早いプリミティブを示す識別番号で更新する。続いて、図６の具体例に基づいて描画処理を説明する。
【００９７】
図２６は、「検索プリミティブ番号ＰＮ＝２」のときの描画処理を説明する図である。ラスタライズ処理部２４は、レジスタＲ２０〜Ｒ２ｆに保持された識別番号のうち、最も値の小さい識別番号、即ち、最も入力順の早いプリミティブを示す識別番号「２」を検索プリミティブ番号ＰＮにセットすると共に、レジスタＲ２０〜Ｒ２ｆに当該識別番号を保持する区分領域ｎ４を注目区分領域に設定する。そして、ラスタライズ処理部２４は、注目区分領域ｎ４に対応するプリミティブ番号メモリｐｍ４から、識別番号「２」を有する画素を検索し（Ｓ７６のＹＥＳ）、当該画素の画素データを生成する（Ｓ７７〜Ｓ８０）。
【００９８】
この場合、識別番号「２」を有するレジスタＲ２４〜Ｒ２ｆに対応する区分領域ｎ４〜ｎｆに対応するプリミティブ番号メモリＰＭ領域には、必ず、識別番号「２」を有する画素が含まれる。ラスタライズ処理部２４は、必ず、識別番号「２」を有するプリミティブ番号メモリＰＭ領域を対象として、プリミティブ番号メモリＰＭ領域に識別番号「２」が格納される画素の検索処理を行う。これにより、プリミティブ番号メモリＰＭの検索効率が向上する。
【００９９】
また、ラスタライズ処理部２４は、画素データの生成処理を行うと共に、レジスタＲ２４〜Ｒ２ｆに、対応する区分領域ｎ４〜ｎｆ内に描画されるプリミティブであって、次に入力順の早いプリミティブを示す識別番号「４」を書き込んで更新する（Ｓ８４）。これにより、レジスタＲ２０〜Ｒ２ｆには、対応する区分領域に描画されるプリミティブであって、最も入力順の早いプリミティブを示す識別番号が常に保持されることになる。
【０１００】
図２６の右図は、レジスタＲ２０〜Ｒ２ｆに識別番号「２」を有する区分領域の描画処理が終了した場合の描画処理を説明する図である。このように、レジスタＲ２０〜Ｒ２ｆには、当該区分領域に描画されるプリミティブであって、次に入力順の早いプリミティブを示す識別番号「４」及び「５」が保持される。また、プリミティブＰ２のみが描画される区分領域ｎ９〜ｎｂ、即ち、全画素の画素データの生成が完了した区分領域のレジスタＲ２９〜Ｒ２ｂには、Ｍａｘ値「６」がセットされる。
【０１０１】
続いて、ラスタライズ処理部２４は、同様に、レジスタＲ２０〜Ｒ２ｆに保持された識別番号のうち、最も入力順の早いプリミティブを示す識別番号「４」を検索プリミティブ番号ＰＮとして、プリミティブ番号メモリＰＭの検索処理を行う。この時、ラスタライズ処理部２４は、識別番号「４」を保持するレジスタＲ２の区分領域に対応するプリミティブ番号メモリＰＭ領域を対象として、検索処理を行う。同様にして、プリミティブＰ４が描画される画素を有する区分領域に対応するプリミティブ番号メモリＰＭ領域に対して検索処理が行われ、プリミティブ番号メモリＰＭの検索効率が向上する。
【０１０２】
図２７の左図は、レジスタＲ２０〜Ｒ２ｆに識別番号「４」を有する区分領域の描画処理が終了した場合の描画処理を説明する図である。描画処理の結果、対応するプリミティブ番号メモリＰＭに識別番号「２」または「４」のみを有する区分領域ｎ２、ｎ３、ｎ６、ｎ９〜ｎｂのレジスタＲ２２、Ｒ２３、Ｒ２６、Ｒ２９〜Ｒ２ｂには、Ｍａｘ値「６」が保持される。続いて、ラスタライズ処理部２４は、レジスタＲ２０〜Ｒ２ｆに保持された識別番号のうち最も入力順の早いプリミティブを示す識別番号「５」を検索プリミティブ番号ＰＮとして、プリミティブ番号メモリＰＭの検索処理を行う。同様にして、この時、ラスタライズ処理部２４は、識別番号「５」を保持するレジスタＲ２の区分領域に対応するプリミティブ番号メモリＰＭ領域を対象として、検索処理を行う。
【０１０３】
図２７の右図は、レジスタＲ２０〜Ｒ２ｆに識別番号「５」を有する区分領域の描画処理が終了した場合の描画処理を説明する図である。処理対象ブロックに描画される全てのプリミティブの描画処理が終了するため、描画処理の結果、レジスタＲ２０〜Ｒ２ｆには全てＭａｘ値「６」が保持される。そして、検索プリミティブ番号ＰＮがＭａｘ値と一致するため（Ｓ７５のＮＯ）、ラスタライズ処理部２４は、内部メモリに格納した処理対象ブロックの各画素の画素データを外部メモリ１０２のフレームバッファに書き込む（Ｓ８５）。
【０１０４】
このように、本実施の形態例における画像描画装置は、ブロック単位に、ブロックに描画されるプリミティブの頂点の座標情報と奥行きを示す深度情報とを含む頂点パラメータ（プリミティブパラメータ）を第１のメモリ（外部メモリ）から読み出し、頂点パラメータに基づいて対象ブロック内の各画素について、前面に描画されるプリミティブの識別番号（識別情報）を生成し第２のメモリ（内部高速メモリ）のプリミティブ番号メモリに書き込む。この時、画像描画装置は、プリミティブの識別番号の生成中に、ブロックを複数に分割した区分領域毎に、当該区分領域に描画されるプリミティブであって、入力順の最も早いプリミティブの識別番号を先頭識別情報として保持する。例えば、画像描画装置は、プリミティブの識別番号の生成時、描画命令の入力順にプリミティブの頂点パラメータを読み出し、区分領域に対応するプリミティブ番号メモリ領域に初めに書き込む識別番号を先頭識別情報として保持する。
【０１０５】
そして、画像描画装置は、ブロック単位に、複数の先頭識別情報のうち入力順の最も早い最先頭識別情報のプリミティブの頂点の座標情報と色情報とを含む頂点パラメータを第１のメモリから読み出すと共に、最先頭識別情報の区分領域に対応するプリミティブ番号メモリ領域に最先頭識別情報を有する画素について、頂点パラメータに基づいて画素データを生成しフレームバッファに書き込む。そして、画像描画装置は、さらに、プリミティブ番号メモリ領域における次に入力順の早い識別番号を、区分領域の新たな先頭識別情報として更新する。
【０１０６】
これにより、画像描画装置は、処理対象ブロックに描画されるプリミティブであって、最も入力順の早いプリミティブから順次、当該プリミティブが描画される区分領域に対応するプリミティブ番号メモリ領域を対象として、対象プリミティブの識別番号を有する画素を検索することができる。これにより、入力順が０番目のプリミティブが処理対象ブロックに描画されない場合、（０番目のプリミティブの）プリミティブ番号メモリの不要な検索処理を省くことができる。
【０１０７】
また、本実施の形態例における画像描画装置は、区分領域毎に、各区分領域内の画素に描画されるプリミティブであって次に入力順の早いプリミティブを示す識別番号を常に保持するため、処理対象ブロックに描画される次に入力順の早いプリミティブの情報に加え、当該プリミティブが描画される画素を含む区分領域を特定することができる。これにより、画像描画装置は、検索対象のプリミティブを示す識別番号を必ず有する、特定した区分領域に対応するプリミティブ番号メモリ領域を検索対象領域とすることにより、プリミティブ番号メモリの検索効率をより向上させることができる。
【０１０８】
さらに、本実施の形態例における画像描画装置は、区分領域内の複数の画素について、処理を並列化する。これにより、画像描画装置は、画像描画装置の並列化の度合いを抑え回路規模を抑えながら、プリミティブ番号メモリの検索処理をより効率的にすることができる。
【０１０９】
以上の実施の形態をまとめると、次の付記のとおりである。
【０１１０】
（付記１）
フレームを複数に分割したブロック単位に、当該ブロックに描画されるプリミティブの頂点の座標情報と奥行きを示す深度情報とを含むプリミティブパラメータを第１のメモリから読み出し、当該プリミティブパラメータに基づいて、前記ブロック内の各画素について、前面に描画される前記プリミティブの識別情報を生成し第２のメモリのプリミティブ番号メモリに書き込む描画プリミティブ識別情報生成部と、
前記ブロック単位に、前記プリミティブの描画命令の入力順に、対象プリミティブの前記頂点の座標情報と色情報とを含むプリミティブパラメータを前記第１のメモリから読み出すと共に、前記プリミティブ番号メモリに前記対象プリミティブの識別情報を有する画素について、前記プリミティブパラメータに基づいて画素データを生成しフレームバッファに書き込む画素データ生成部とを有し、
前記描画プリミティブ識別情報生成部は、前記プリミティブの識別情報の生成中に、前記ブロックに描画されるプリミティブであって、前記入力順の最も早いプリミティブの識別情報を先頭識別情報として保持し、
前記画素データ生成部は、前記保持した前記先頭識別情報のプリミティブから前記入力順に、前記プリミティブパラメータを前記第１のメモリから読み出す画像描画装置。
【０１１１】
（付記２）
付記１において、
前記描画プリミティブ識別情報生成部は、前記入力順に前記プリミティブのプリミティブパラメータを読み出し、前記プリミティブ番号メモリに初めに書き込む識別情報を前記先頭識別情報として保持する画像描画装置。
【０１１２】
（付記３）
付記１において、
前記第２のメモリは、前記第１のメモリよりもアクセス速度が速い画像描画装置。
【０１１３】
（付記４）
付記１において、
前記ブロックはそれぞれ複数の区分領域に分割され、
前記画素データ生成部は、前記プリミティブ番号メモリを検索して前記対象プリミティブの識別情報を有する画素を検出し、当該検出処理において、全ての画素の画素データが生成済みの区分領域に対応するプリミティブ番号メモリ領域については検索の範囲対象外とする画像描画装置。
【０１１４】
（付記５）
付記４において、
前記画素データ生成部は、前記区分領域内の複数の画素について並列に処理を行う画像描画装置。
【０１１５】
（付記６）
フレームを複数に分割したブロック単位に、当該ブロックに描画されるプリミティブの頂点の座標情報と奥行きを示す深度情報とを含むプリミティブパラメータを第１のメモリから読み出し、当該プリミティブパラメータに基づいて、前記ブロック内の各画素について、前面に描画される前記プリミティブの識別情報を生成し第２のメモリのプリミティブ番号メモリに書き込む描画プリミティブ識別情報生成部と、
前記ブロック単位に、前記プリミティブの描画命令の入力順に、対象プリミティブの前記頂点の座標情報と色情報とを含むプリミティブパラメータを前記第１のメモリから読み出すと共に、前記プリミティブ番号メモリに前記対象プリミティブの識別情報を有する画素について、前記プリミティブパラメータに基づいて画素データを生成しフレームバッファに書き込む画素データ生成部とを有し、
前記描画プリミティブ識別情報生成部は、前記プリミティブの識別情報の生成中に、前記ブロックを複数に分割した区分領域毎に、当該区分領域に描画されるプリミティブであって、前記入力順の最も早いプリミティブの前記識別情報を先頭識別情報として保持し、
前記画素データ生成部は、複数の前記先頭識別情報のうち入力順の最も早い最先頭識別情報のプリミティブの前記プリミティブパラメータを前記第１のメモリから読み出すと共に、前記最先頭識別情報の区分領域に対応するプリミティブ番号メモリ領域に前記最先頭識別情報を有する画素について画素データを生成し、さらに、前記プリミティブ番号メモリ領域における次に前記入力順の早い識別情報を前記先頭識別情報として更新する画像描画装置。
【０１１６】
（付記７）
付記６において、
前記描画プリミティブ識別情報生成部は、前記入力順に前記プリミティブのプリミティブパラメータを読み出し、前記区分領域に対応するプリミティブ番号メモリ領域に初めに書き込む識別情報を前記先頭識別情報として保持する画像描画装置。
【０１１７】
（付記８）
付記６において、
前記第２のメモリは、前記第１のメモリよりもアクセス速度が速い画像描画装置。
【０１１８】
（付記９）
付記６おいて、
前記画素データ生成部は、前記区分領域内の複数の画素について並列に処理を行う画像描画装置。
【符号の説明】
【０１１９】
１０１：ＣＰＵ、１００：ＧＰＵ、１０２：外部メモリ、１０：コマンド解釈部、１１：ジオメトリ処理部、１２：レンダリング処理部、２１：セットアップ処理部、２２：タイリング処理部、２３：ソート処理部、２４：ラスタライズ処理部
【図１】
2013025376.tif 000003
【図２】
2013025376.tif 000004
【図３】
2013025376.tif 000005
【図４】
2013025376.tif 000006
【図５】
2013025376.tif 000007
【図６】
2013025376.tif 000008
【図７】
2013025376.tif 000009
【図８】
2013025376.tif 000010
【図９】
2013025376.tif 000011
【図１０】
2013025376.tif 000012
【図１１】
2013025376.tif 000013
【図１２】
2013025376.tif 000014
【図１３】
2013025376.tif 000015
【図１４】
2013025376.tif 000016
【図１５】
2013025376.tif 000017
【図１６】
2013025376.tif 000018
【図１７】
2013025376.tif 000019
【図１８】
2013025376.tif 000020
【図１９】
2013025376.tif 000021
【図２０】
2013025376.tif 000022
【図２１】
2013025376.tif 000023
【図２２】
2013025376.tif 000024
【図２３】
2013025376.tif 000025
【図２４】
2013025376.tif 000026
【図２５】
2013025376.tif 000027
【図２６】
2013025376.tif 000028
【図２７】
2013025376.tif 000029