JP5845910B2 - 画像描画装置、画像描画プログラム、及び、画像描画方法 - Google Patents

画像描画装置、画像描画プログラム、及び、画像描画方法 Download PDF

Info

Publication number
JP5845910B2
JP5845910B2 JP2012005516A JP2012005516A JP5845910B2 JP 5845910 B2 JP5845910 B2 JP 5845910B2 JP 2012005516 A JP2012005516 A JP 2012005516A JP 2012005516 A JP2012005516 A JP 2012005516A JP 5845910 B2 JP5845910 B2 JP 5845910B2
Authority
JP
Japan
Prior art keywords
vertex
information
vertex information
stored
scan line
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.)
Expired - Fee Related
Application number
JP2012005516A
Other languages
English (en)
Other versions
JP2013145465A (ja
Inventor
康 洲鎌
康 洲鎌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012005516A priority Critical patent/JP5845910B2/ja
Priority to US13/683,831 priority patent/US9245370B2/en
Priority to EP14153123.6A priority patent/EP2738736B1/en
Priority to EP12194183.5A priority patent/EP2615578B1/en
Publication of JP2013145465A publication Critical patent/JP2013145465A/ja
Application granted granted Critical
Publication of JP5845910B2 publication Critical patent/JP5845910B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Image Generation (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

本発明は、画像描画装置、画像描画プログラム、及び、画像描画方法に関する。
3次元画像等を描画する画像描画装置は、例えば、図形の頂点情報に基づいて、2次元表示面上の図形情報を生成する(例えば、特許文献1−4参照。)。そして、描画装置は、生成した図形情報に基づいて、2次元表示面に表示する画像を生成する。例えば、画像描画装置は、画素の色を記憶するフレームバッファと、画素の奥行き(Z値)を記憶するデプスバッファとを有している。
一般的な画像描画装置では、フレームバッファおよびデプスバッファは、表示面の画素数分のメモリサイズを必要とする。例えば、表示面が800×600画素で、1画素あたりのデータサイズ(色および奥行きの合計値)が8byteであるとき、フレームバッファおよびデプスバッファは、合計で約3.7MBのメモリサイズを必要とする。
特開平11−31236号公報 特開平10−222695号公報 特開平9−180000号公報 特開2000−30081号公報
表示面の画素数分のデータを記憶するには、メモリサイズの大きなバッファ(フレームバッファおよびデプスバッファ)が必要である。例えば、メモリサイズの大きなフレームバッファ等を描画装置内にSRAMで形成したときには、回路面積およびコストが大幅に増加する。また、メモリサイズの大きなフレームバッファ等を描画装置の外部にDRAMで形成したときには、外部のDRAMに対するデータの入出力による消費電力の増加およびDRAMを別チップとして実装することによるコストの増加等の問題がある。
そこで、本発明では、画素のデータを記憶するバッファのメモリサイズを抑える画像描画装置、画像描画プログラム、及び、画像描画方法を提供する。
第1の側面は、複数のスキャンラインを有する描画領域に図形を描画する画像描画装置であって、処理対象の前記スキャンラインに描画される図形を判定し、判定した前記図形を構成する各頂点を抽出する描画位置判定手段と、前記処理対象のスキャンラインについて、抽出された頂点の座標情報を含む頂点情報を、前記描画領域に描画される図形の頂点の頂点情報が記憶される頂点情報メモリから読み出す頂点情報読み出し手段と、読み出した前記頂点情報に基づいて、前記処理対象のスキャンラインの画像データを生成する画像生成手段と、前記画像生成手段によって生成された前記画像データを記憶するラインバッファと、を有し、前記頂点情報読み出し手段は、前記頂点情報を一時記憶するキャッシュメモリと、前記描画領域に描画される図形の頂点全てについて、前記キャッシュメモリに前記頂点情報が記憶される場合に前記頂点情報が記憶されたアドレスを記憶するキャッシュタグと、前記キャッシュタグを参照し、読み出し対象の頂点情報について前記アドレスが記憶されている場合は前記キャッシュメモリの当該アドレスから前記頂点情報を読み出し、記憶されていない場合は前記頂点情報メモリから読み出した頂点情報を前記キャッシュメモリに記憶させそのアドレスを前記キャッシュタグに記憶する制御手段と、を有する。
第1の側面によれば、画素のデータを記憶するバッファのメモリサイズを抑えることができる。
本実施の形態例における画像表示装置の構成を表す例図である。 本実施形態における画像描画装置の一例を示す図である。 本実施の形態例におけるキャッシュタグの一例を表す図である。 本実施の形態例における画像描画装置の具体的な処理を表す図である。 2次元表示面に描画される図形の具体例の一例を表す図である。 図5の具体例に基づく最終使用ライン情報の一例を表す図である。 描画命令再構築部によって再構築された描画命令を表す例図である。 本実施の形態例における頂点情報キャッシュ部の構成を表す例図である。 図8の頂点情報キャッシュ部の処理を説明するフローチャート図である。 図9のフローチャート図におけるアドレス決定処理(S15)の詳細を説明するフローチャート図である。 第1の実施の形態例におけるキャッシュタグの遷移の一例を表す図である。 第2の実施の形態例におけるキャッシュタグ及びキャッシュメモリの状態の一例を表す図である。
以下、図面にしたがって本発明の実施の形態について説明する。ただし、本発明の技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。
<第1の実施の形態例>
図1は、本実施の形態例における画像表示装置の構成を表す例図である。同図の画像表示装置は、例えば、バス18を介して互いに接続された、グラフィックスコア100、表示ユニット11、外部入出力部13、ビデオキャプチャ14、CPU16、外部メモリ18にアクセスする外部メモリ入出力部17を有する。グラフィックスコア100は、描画命令に基づいて画像データを生成し、表示ユニット11を介して外部表示装置12に表示させる。グラフィックスコア100は、本実施の形態例における画像描画装置の一例を示す。
図2は、本実施形態における画像描画装置100の一例を示す図である。画像描画装置10は、例えば、3次元画像等を2次元表示面DISに表示させる。同図の右図の2次元表示面DISのように、画像描画装置100は、例えば、2次元表示面DISをY方向に分割したスキャンラインY0〜Y10毎に、画像データGDATAを生成する。なお、同図では、2次元表示面DISをY方向に11個に区分した各領域をスキャンラインとしているが、X方向に区分した領域であってもよいし、この例の区分数に限定されるものではない。
本実施の形態例における画像描画装置100は、例えば、描画位置判定部10、頂点読み出し部20、画像生成部30、ラインバッファ400、表示回路500を有する。ここで、画像描画装置100の処理の概要を簡単に説明する。ラインバッファ400は、スキャンラインの画像データGDATAを格納するバッファである。
描画位置判定部10は、例えば、図形の描画命令と頂点情報とを受けて、2次元表示面DISに描画される図形の描画位置を判定し、各スキャンラインについて、当該スキャンラインに描画される図形を構成する各頂点の頂点番号を抽出する。具体的に、描画位置判定部10は、図形の各頂点の頂点情報に基づいて表示領域外の図形を除去し、描画対象の図形について所定方向(例えば、Y方向)の描画範囲を算出する。例えば、描画位置判定部10は、図形の頂点のうち、最小のY座標および最大のY座標をY方向の描画範囲として算出する。そして、描画位置判定部10は、算出した図形のY方向の描画範囲をY座標領域に含むスキャンライン(描画スキャンライン範囲)を判定する。
続いて、描画位置判定部10は、図形の描画命令VCとその描画スキャンライン範囲を描画命令バッファ210に出力する。そして、描画位置判定部10は、スキャンラインが選択されたときに、描画命令バッファ210に記憶された各図形とその描画スキャンライン範囲に基づいて、対象のスキャンラインに描画される図形を判定し、当該図形を構成する頂点情報を抽出する。
なお、頂点番号は、ユーザーまたは装置によって付与される番号であり、頂点が特定される固有の番号である。また、頂点番号は、番号に限定されるものではなく、頂点を識別可能な頂点識別情報、頂点ID等であってもよい。なお、本実施の形態例において、図形は三角形を示すが、三角形に限定されるものではない。
例えば、図2の2次元表示面DISにおいて、例えば、描画位置判定部10は、図形ZAを構成する頂点Pa、Pb、Pcのうち、最大のY座標である頂点PaのY座標、最小のY座標である頂点PbのY座標を算出する。そして、描画位置判定部10は、頂点PaのY座標と頂点PbのY座標の範囲内にY座標領域を有するスキャンラインY1〜Y6を判定する。これにより、スキャンラインY1〜Y6に図形ZAが描画されることが判明する。図形ZBについても同様にして、描画対象のスキャンラインY1〜Y4が検知される。図形ZA、ZBの描画スキャンライン範囲は、描画命令VCと共に、命令バッファ210に出力される。
そして、スキャンラインY1が選択されたときに、描画命令バッファ210に記憶された情報に基づいて、スキャンラインY1に図形ZA、ZBが描画されることが検知される。これにより、スキャンラインY1について、図形ZAを構成する各頂点Pa、Pb、Pcの頂点番号と、図形ZBを構成する各頂点Pa、Pc、Pdの頂点番号とが抽出される。他のスキャンラインについても同様に、描画位置判定部10によって頂点番号が抽出される。
続いて、頂点読み出し部20は、処理対象のスキャンラインについて、抽出された頂点番号の頂点情報を頂点情報メモリ(外部メモリ18)から読み出す。頂点情報は、例えば、頂点の座標情報と色情報とを含む。また、一般的に、頂点情報はデータ量が大きいことにより、外部メモリ18等のメモリに格納される。そして、画像生成部30は、外部メモリから読み出された頂点情報に基づいて図形の画像データGDATAを生成し、ラインバッファ400に格納する。そして、処理対象のスキャンラインについて、当該スキャンラインに描画される全ての図形の画像データGDATAが生成され、ラインバッファ400に格納されると、表示回路500によって表示される。
図2の2次元表示面DISの例によると、例えば、頂点読み出し部20は、図形ZAの頂点Pa、Pb、Pcの頂点情報を外部メモリから読み出し、画像生成部30は、読み出した頂点情報に基づいて図形ZAの画像データGDATAを生成し、スキャンラインY1のラインバッファ400に格納する。図形ZBについても同様にして画像データGDATAが生成され、ラインバッファ400に格納される。そして、スキャンラインY1のラインバッファ400の画像データが表示回路500によって表示される。
このように、本実施の形態例における画像描画装置100は、2次元表示面DISを分割したスキャンライン毎に、当該スキャンラインに描画される図形の頂点番号を抽出し、スキャンライン毎に画像データGDATAを生成する。このため、本実施の形態例における画像描画装置100は、ラインバッファ400のメモリサイズを、スキャンライン1つ分の画像データ量と同じサイズまで小さくできる。つまり、画像描画装置100は、2次元表示面DISの全体の画像データを生成してフレームバッファに格納する場合に対して、画像データGDATAを格納するバッファのメモリサイズを小さくできる。
ところで、スキャンライン毎に画像データGDATAを生成する画像描画装置100では、図形単位ではなくスキャンライン単位に画像データGDATAを生成する。そのため、ある図形が描画される全てのスキャンラインの描画処理において、当該図形を構成する頂点の頂点情報が毎回、読み出される。図形がX個のスキャンラインに渡って描画される場合、同一の頂点情報が、X回、外部メモリから読み出される。即ち、図形単位に画像データを生成する場合、図形を構成する各頂点の頂点情報の読み出し回数は1回であるのに対し、スキャンライン毎に画像データを生成する場合、読み出し回数は、描画されるスキャンラインの数となる。
例えば、図2の例において、頂点Paの頂点情報は、頂点Paが構成する図形ZAがスキャンラインY1〜Y6に描画されることから、スキャンラインY1〜Y6の描画処理の毎に、つまり6回、読み出される。このように、スキャンライン毎に画像データGDATAを生成する画像描画装置100では、画像データGDATAを格納するバッファのメモリサイズを小さくできる一方で、外部メモリ18に格納される頂点情報の読み出し処理回数が増大し、効率的でない。
そこで、本実施の形態例における画像描画装置100の頂点読み出し部20は、キャッシュメモリを有し、頂点情報を一時的に格納する。これにより、読み出し対象の頂点情報がキャッシュメモリに格納されている間は、当該頂点情報を外部メモリ18から読み出す必要がないため、外部メモリへ18のアクセス回数が抑制され、処理が効率化される。このようなキャッシュメモリは、一般的に、キャッシュタグを介して制御される。
そして、本実施の形態例におけるキャッシュタグは、キャッシュメモリの各アドレスに対応してではなく、描画対象の図形の頂点全てに対応してキャッシュメモリのアドレスを有する。つまり、本実施の形態例におけるキャッシュタグは、キャッシュメモリの各アドレスに対応して当該アドレスに格納される頂点情報の頂点番号(頂点ID等)を記憶するのではなく、各頂点に対応して頂点情報がキャッシュメモリに記憶されている場合にそのアドレス情報を記憶する。
このため、頂点読み出し部20は、キャッシュタグから頂点番号を検索することによってキャッシュヒット/ミスの判定を行う必要がなくなる。本実施の形態例におけるキャッシュタグには、読み出し対象の頂点情報について、キャッシュヒット/ミスを示すアドレス情報が常に記憶される。このため、頂点読み出し部20は、キャッシュタグにおける対象の頂点情報に係るアドレス情報を、例えば、頂点番号や頂点ID等に基づいて直接参照することで、キャッシュヒット/ミスの判定を効率的に行うことができる。
このように、頂点読み出し部20は、キャッシュタグを検索する必要がなく、キャッシュタグにおける対象の頂点情報に係るアドレス情報を直接参照することで、キャッシュヒット/ミスの判定を高速に行うことができる。また、頂点読み出し部20は、キャッシュヒットの場合、同時に、対象の頂点情報が格納されるキャッシュメモリのアドレス情報を取得することができる。
一般的に、画像描画装置100において一連の処理対象となる頂点総数は想定可能であり、キャッシュタグが各頂点に対応して情報を有する場合でも、そのデータ容量は想定範囲内に抑えられる。そのため、本実施の形態例のように、各頂点に対応する頂点番号をインデックスとするキャッシュタグを用いることができる。それに対して、プロセッサ等のキャッシュメモリは多量の情報を対象とするため、各情報をインデックスとするとキャッシュタグのデータ容量が肥大化してしまう。このため、本実施の形態例のように、画像処理に係る頂点情報を格納するキャッシュメモリのキャッシュタグについては、頂点番号をインデックスとすることが可能となる。
図3は、本実施の形態例におけるキャッシュタグCT1の一例を表す図である。同図のように、キャッシュタグCT1は、2次元表示面DISに描画される図形の頂点全てについてそれぞれ情報を有する(逆引きキャッシュタグ)。
図3の例において、例えば、頂点番号0に基づいてキャッシュタグCT1が参照されると、アドレス7番地が取得され、キャッシュヒットと判定される。キャッシュメモリCM1のアドレス7番地には、頂点番号0の頂点情報が格納されている。一方、頂点番号1に基づいてキャッシュタグCT1が参照されると、有効なアドレスが格納されていないことにより、キャッシュミスと判定される。このように、本実施の形態例におけるキャッシュタグCT1によると、対象の頂点番号があるか否かが検索される必要なく、頂点番号に基づいて高速にキャッシュヒット/ミスが判定される。
図2の処理に戻り、また、描画位置判定部10は、各頂点について、当該頂点が構成する図形が描画されるスキャンラインのうち、処理順が後のスキャンラインを示す最終使用ライン情報を頂点番号に対応して抽出する。例えば、図2に例において、頂点Paの最終使用ラインは、頂点Paが構成する図形ZA、ZBが描画されるスキャンラインY1〜Y6のうち、処理順が後のスキャンラインY6となる。最終使用ライン情報は、頂点読み出し部20におけるキャッシュメモリの制御処理で用いられる。
具体的に、頂点読み出し部20は、キャッシュメモリCMから削除する対象の頂点情報の判定時に、対象の頂点番号の最終使用ラインが処理対象のスキャンラインと一致する場合に、対応する頂点情報を削除対象とする。これは、対象の頂点番号の最終使用ラインが処理対象のスキャンラインと一致する場合、以降に処理されるスキャンラインにおいて、対象の頂点番号の頂点情報は使用されないことに因る。使用されない頂点情報はキャッシュメモリCMに保持されている必要がないため、削除対象とされる。
この結果、キャッシュメモリCMには、次回以降に処理対象となるスキャンラインで確実に読み出される頂点情報だけが保持される。これにより、キャッシュメモリCMのキャッシュヒット率が向上し、外部メモリへの読み出し処理の回数が抑制される。
続いて、図2で概要を述べた画像描画装置100の各処理部の処理について、より具体的に説明する。
図4は、本実施の形態例における画像描画装置100のより詳細な処理を説明する図である。同図において、図2と同じ処理部は、同じ引用番号が付加される。描画位置判定部10は、例えば、図形の描画命令VCと頂点情報VINFとに基づいて、ジオメトリ処理の一部を実施する。描画位置判定部10は、例えば、頂点読み出し部110、頂点処理部120、図形作成部130、図形除去部140、描画領域判定部150および描画命令再構築部160を有する。
描画位置判定部10は、例えば、頂点情報VINFのうち図形の座標情報VINFcを読み出し、2次元表示面DISの各スキャンラインに描画される図形を判定し、各スキャンラインに描画される図形を構成する各頂点の頂点番号を抽出する。頂点情報VINFは、例えば、図形の各頂点の3次元座標の情報(以下、座標情報と称する)、各頂点の色の情報、テクスチャ座標の情報および法線ベクトルの情報等を有している。なお、座標情報VINFcは、例えば、2次元座標の情報でもよいし、図形の座標情報のみでもよい。
具体的に、頂点読み出し部110は、例えば、頂点情報VINFが格納されているメモリ(頂点情報メモリ)等から座標情報VINFcを読み出し、読み出した座標情報VINFcを頂点処理部120に出力する。頂点処理部120は、座標情報VINFcに基づいて、回転等の座標に関する頂点処理を実施する。続いて、図形作成部130は、頂点処理部120による頂点処理の結果を、図形の情報に変換する。この例において、図形作成部130は、各図形について、3つの頂点(三角形の頂点)の情報を頂点処理の結果として受け、頂点処理の結果を三角形の情報に変換する。これにより、座標情報VINFcに対応する図形の図形情報が生成される。
図形除去部140は、図形作成部130により生成された図形情報のうち、2次元表示面DISに描画されない図形の図形情報を除去する。例えば、図形除去部140は、クリッピング処理やカリング処理を実施し、不要な図形情報を除去する。例えば、クリッピング処理では、図形除去部140は、表示領域外の図形を除去する。また、例えば、カリング処理では、図形除去部140は、図形の表裏判定を実施し、裏と判定した図形を除去する。なお、図形の裏を表示する設定のときには、図形除去部140は、例えば、裏であることを示すフラグ等の表裏情報を図形情報に追加する。
そして、図形除去部140は、2次元表示面DISに描画される図形の図形情報を描画領域判定部150に出力する。図形情報は、例えば、図形の頂点番号、図形の2次元表示面DISにおける座標を示す位置情報および図形の表裏情報を有している。
描画領域判定部150は、図形情報に基づいて、図形のY方向の描画範囲を算出する。例えば、描画領域判定部150は、図形を構成する各頂点の位置するY座標のうち、最小のY座標および最大のY座標をY方向の描画範囲として算出する。そして、描画領域判定部150は、算出した図形のY座標の描画範囲に基づいて、当該描画範囲をY座標領域に含むスキャンラインを判定することで、図形が描画されるスキャンラインを判定する。そして、描画領域判定部150は、図形の描画命令VCとその描画スキャンライン範囲を描画命令バッファ210に出力する。
また、描画領域判定部150は、各頂点について、描画スキャンライン範囲に基づいて、最終使用ライン情報ELを抽出する。具体的に、描画領域判定部150は、頂点が構成する図形の描画スキャンライン範囲のうち、処理順が最も後のスキャンラインを示す番号を最終使用ライン情報ELとして抽出する。
ここで、描画領域判定部150の処理を具体例に基づいて説明する。
図5は、2次元表示面DISに描画される図形の具体例の一例を表す図である。同図の2次元表示面DISはスキャンラインY0〜Y21に区分される。同図において、2次元表示面DISには4つの図形Z0〜Z3が描画される。図形Z0を構成する頂点は頂点p0、p1、p2であり、図形Z1を構成する頂点は頂点p0、p2、p3である。同様に、図形Z2を構成する頂点は頂点p0、p3、p4、図形Z3を構成する頂点は頂点p2、p3、p5である。この例において、それぞれの頂点p0〜p5に対応する頂点番号は0〜5である。
図5の例において、描画領域判定部150は、頂点p0について、頂点p0が構成する各図形Z0〜Z2のY座標の描画範囲を算出する。図形Z0について、図形Z0を構成する頂点p0〜02の位置するY座標(Y1、Y5、Y11)のうち、最小のY座標はY1であり、最大のY座標はY11である。従って、図形Z0のY座標の描画範囲としてY1〜Y11が算出される。同様にして、図形Z1のY座標の描画範囲としてY1〜Y16、図形Z2のY座標の描画範囲としてY1〜Y16、図形Z3のY座標の描画範囲としてY11〜Y19が算出される。
図6は、図5の具体例に基づく最終使用ライン情報ELの一例を表す図である。前述したとおり、最終使用ライン情報ELは、各頂点について、当該頂点が構成する図形が描画されるスキャンラインのうち、最も後に処理されるスキャンライン番号を有する。なお、本実施の形態例において、スキャンラインY0からスキャンラインY21に順に処理が行われる。
例えば、頂点番号0について説明する。図5の具体例において、頂点番号0の頂点p0が構成する図形Z0〜Z2のY座標の描画範囲は、それぞれZ0(Y1〜Y11)、Z1(Y1〜Y16)、Z2(Y1〜Y16)である。図形Z0〜Z2が描画されるスキャンラインY1〜Y16のうち、最も後に処理されるのはスキャンラインY16である。従って、頂点p0の最終使用ラインはY16となる。同様にして、頂点番号1の頂点p1の最終使用ラインもY16となる。他の頂点についても同様にして、最終使用ラインが抽出される。
このようにして、描画領域判定部150の処理が行われ、図形の描画命令VCとそのY座標の描画範囲、及び、最終使用ライン情報ELが生成される。続いて、図4の処理の説明に戻り、描画命令再構築部160は、描画命令バッファ210に格納された図形の描画命令VCとそのY座標の描画範囲を、スキャンラインに基づいて再構築する。具体的に、描画命令再構築部160は、図形の描画命令VCを、スキャンライン単位に、当該スキャンラインに描画される図形の描画命令VCが配置されるように再構築し、描画命令バッファ220に格納する。これにより、各スキャンラインについて、当該スキャンラインに描画される図形の描画命令VCを有する情報が生成される。図形の描画命令VCは各頂点の頂点番号が含まれるため、スキャンライン単位で当該スキャンラインに描画される図形の頂点番号が抽出されることになる。
図7は、描画命令再構築部160によって再構築された描画命令情報CL2を表す例図である。同図において、左図は再構築前、右図は再構築後の描画命令情報CL1、CL2を示す。同図の例では、描画命令情報に、図形の描画命令VCに加え、描画設定情報が含まれる。左図の再構築前の描画命令情報CL1では、例えば、入力順に描画設定情報、図形の描画命令VCとその描画範囲が配置される。それに対し、右図の再構築後の描画命令情報CL2では、スキャンライン単位に、当該スキャンラインにおける描画設定情報と、描画対象の図形の描画命令VCが配置される。
具体的に、例えば、スキャンラインY1には図形Z0〜図形Z2が描画される。従って、図7の再構築後の描画命令情報CL2において、スキャンラインY1について、描画設定情報X、Yと図形Z0〜図形Z2の描画命令VCとが対応するように配置される。これにより、スキャンラインY1に描画される図形の頂点番号が抽出される。同様にして、例えば、スキャンラインY12には図形Z1〜図形Z3が描画される。従って、再構築後の情報において、スキャンラインY12について、描画設情報定X、Y、Zと図形Z1〜図形Z3の描画命令とが対応するように配置される。他のスキャンラインも同様である。
このように、描画位置判定部10は、少なくとも座標情報を有する頂点情報VINFと描画命令VCとに基づいて図形の描画範囲を判定し、各頂点について当該頂点が構成する図形が描画されるスキャンライン範囲を抽出する。これにより、スキャンライン毎に、当該スキャンラインに描画される図形を構成する頂点の頂点番号(描画命令VC)が抽出される。また、描画位置判定部10は、各頂点について、当該頂点が構成する図形が描画されるスキャンライン範囲のうち、最も後に処理されるスキャンラインの番号を最終使用ライン情報ELとして抽出する。
図4の処理の説明に戻り、続いて、頂点読み出し部20は、処理対象のスキャンラインについて描画位置判定部10によって抽出された描画命令VCに基づいて、当該描画命令VCが有する頂点番号の頂点情報VINFを読み出す。頂点読み出し部20は、例えば、頂点情報読み出し部310、頂点情報キャッシュ部610、頂点処理部320、図形作成部330を有する。
具体的に、頂点情報読み出し部310は、処理対象のスキャンラインについて、描画位置判定部10から当該スキャンラインに描画される図形の描画命令VCを取得する。そして、頂点情報読み出し部310は、描画命令VCが有する頂点番号に対応する頂点情報VINFを外部メモリである頂点情報メモリから読み出す。ただし、頂点番号に対応する頂点情報VINFがキャッシュメモリに格納されている場合、頂点情報VINFはキャッシュメモリから読み出される。
この外部メモリまたはキャッシュメモリからの頂点情報VINFの読み出し処理(頂点情報キャッシュ部610の処理)の詳細については、フローチャート図に基づいて後で説明する。先に、図4の処理について一通り説明する。
本実施の形態例において、キャッシュメモリには、頂点情報読み出し部310の後続の頂点処理部320による頂点処理が実施された頂点情報VINFが格納される。そのため、頂点情報読み出し部310は、対象の頂点情報VINFを外部メモリから読み出すと、頂点情報キャッシュ部610から出力されたキャッシュメモリの空きアドレスと共に、頂点処理部320に出力して頂点処理を行わせる。そして、図形作成部330は、頂点処理後の頂点情報VINFをキャッシュメモリの空きアドレスに格納すると共に、さらに図形情報への変換処理を行って画像生成部30に出力する。
一方、対象の頂点情報VINFがキャッシュメモリから読み出される場合、頂点情報読み出し部310は、頂点情報キャッシュ部610から出力されたキャッシュメモリの読み出しアドレスを、頂点処理部320を経て図形作成部330に出力する。そして、図形作成部330は、キャッシュメモリの読み出しアドレスから頂点情報VINFを読み出し、図形情報への変換処理を行って画像生成部30に出力する。
具体的に、頂点処理部320は、頂点情報VINFに基づいて頂点処理を実施する。頂点処理部320により実施される頂点処理には、例えば、回転等の座標に関する処理、ライティング、各頂点の色の計算、テクスチャ座標の計算および各頂点の法線ベクトルの計算等が含まれる。頂点処理が行われた頂点情報VINFは、空きアドレスと共に図形作成部330に入力される。
また、図形作成部330は、キャッシュメモリにおける頂点情報VINFの書き込み、読み出し処理を行うと共に、頂点情報VINFを図形の頂点情報VINFに変換して画像生成部30に出力する。この例において、図形作成部330は、3つの頂点(三角形の頂点)の情報を頂点処理の結果として受け、三角形の図形情報に変換する。変換された頂点情報VINFは、例えば、図形の位置情報(2次元表示面DISにおける座標)、図形の各辺の式の情報、色の情報、テクスチャ座標の情報、法線ベクトルの情報およびZ方向の情報(奥行きの情報)等を有する。
続いて、画像生成部30の処理について説明する。画像生成部30は、例えば、図形作成部330から取得した図形の各頂点情報VINFに基づいて、ジオメトリ処理およびレンダリング処理を実施する。画像生成部30は、例えば、画素生成部340、画素処理部350および画素除去部360を有する。
具体的に、画素生成部340は、図形作成部330から取得した図形の各頂点情報VINFに基づいて、画素情報を生成する。そして、画素生成部340は、画素情報を画素処理部350に出力する。画素処理部350は、画素生成部340から受けた画素情報及びテクスチャユニット345のテクスチャ情報に基づいて、色の計算やテクスチャ座標の計算等を画素単位で実施する。例えば、画素処理部350等は、スキャンラインの画素情報を生成する際に、処理対象のスキャンラインに係る設定情報等を参照する。設定情報は、例えば、図形の変換行列、反射率等の素材情報および光源の位置情報等である。
画素除去部360は、画素処理部350により処理された画素情報のうち、2次元表示面DISに描画されない画素情報を除去する。ラインデプスバッファ410は、例えば、画素の奥行き(Z値)を格納する。画素除去部360は、例えば、ラインデプスバッファ410に格納されているZ値(画素の奥行き)に基づいてZテストを実施し、不要な画素情報を除去する。なお、除去されずに残った画素情報は、描画対象のスキャンラインの画像データGDATAに対応する。画素除去部360は、スキャンラインの画像データGDATAをラインバッファ400に格納する。
このようにして、処理対象のスキャンラインの画像データGDATAが生成され、表示回路500を介して、図1の表示ユニット11等に出力される。
ここで、前述した図4の頂点情報読み出し部310における外部メモリまたはキャッシュメモリからの頂点情報VINFの読み出し処理(頂点情報キャッシュ部610の処理)の詳細について説明する。頂点情報読み出し部310は、読み出し対象の頂点番号VN及びスキャンラインの開始情報SSを頂点情報キャッシュ部610に出力する。
図8は、本実施の形態例における頂点情報キャッシュ部610の構成を表す例図である。頂点情報キャッシュ部610は、制御部606、キャッシュタグCT、キャッシュメモリCM、最終使用ライン情報バッファ601、アドレスFIFO(First In First Out)603、カウンタ604、セレクタ回路602を有する。
図8の制御部606は、最終使用ライン情報バッファ601の最終使用ライン情報EL、及び、アドレスFIFO603またはカウンタ604から出力されるアドレス情報adに基づいて、キャッシュタグCTにおける各種フラグ及びアドレス情報adの制御処理を行う。また、制御部606は、頂点情報読み出し部310から処理対象のスキャンラインの開始情報SS及び頂点番号VNを取得すると共に、頂点情報読み出し部310にキャッシュメモリCMの読み出しアドレスad及び書き込み先アドレスadを出力する。また、キャッシュメモリCMは、図形作成部330から入力される読み出しアドレスad及び書き込みアドレスadに基づいて、頂点情報VINFが入出力される。
キャッシュタグCTは、図3で前述したとおり、2次元表示面DISに描画される図形の頂点全てについて、例えば、頂点番号に対応して、当該頂点番号に対応する頂点情報VINFがキャッシュメモリCMに格納される場合に、そのキャッシュメモリCMのアドレス情報を格納する。また、本実施の形態例のキャッシュタグCTは、図3に示すように、キャッシュメモリCMのアドレスに加えて、Emptyフラグ及びKeepフラグを有する。Emptyフラグの値は、対応する頂点番号の頂点情報VINFがキャッシュメモリCMに格納されているか否かを示し(格納されていない場合、True)、Keepフラグの値は、頂点情報VINFがキャッシュメモリCMに格納されている場合に、頂点情報VINFをキャッシュメモリCMに保持しておくか否かを示す(保持する場合、True)。
また、最終使用ライン情報バッファ601には、描画領域判定部150(図4)で抽出された最終使用ライン情報ELが格納される。なお、最終使用ライン情報バッファ601には、処理対象のスキャンラインに描画される図形を構成する頂点について最終使用ライン情報ELが保持されていてもよいし、全ての頂点について最終使用ライン情報ELが保持されていてもよい。
また、アドレスFIFO603には、キャッシュメモリCMに格納された頂点情報VINFがN個に達した後の、キャッシュメモリCMの空きアドレスがリストとして保持される。具体的に、キャッシュメモリCMから不要な頂点情報VINFが削除されたとき、制御部606によって、削除アドレスadがアドレスFIFO603に追加される。また、キャッシュメモリCMに新たな頂点情報VINFが書き込まれるとき、アドレスFIFO603の初めに追加されたアドレスadから順に、書き込みアドレスadとしてセレクタ回路602に出力される。
また、カウンタ604は、キャッシュメモリCMに格納される頂点情報VINFがN個に達するまでの間、キャッシュメモリCMに格納される頂点情報VINFの数をカウントすると共に、カウンタ値を書き込みアドレスadとしてセレクタ回路602に出力する。セレクタ回路602は、キャッシュメモリCMに格納された頂点情報VINFがN個に達するまでの間はカウンタ604から出力されるアドレスadを、達した後はアドレスFIFO603から出力されたアドレスadを選択して、制御部606に出力する。
続いて、図8の頂点情報キャッシュ部610の処理の流れについて、フローチャート図に基づいて説明する。
図9は、図8の頂点情報キャッシュ部610の処理を説明するフローチャート図である。この処理において、頂点情報キャッシュ部610は、初期フラグInitial(図8のセレクタ回路602に対応、1はカウンタ604、0はアドレスFIFO603を選択することを示す)、カウンタCNT(図8のカウンタ604に対応)を有する。初期フラグInitialの初期値はキャッシュメモリに記憶される頂点情報VINFがN個に達していないことを示す1、カウンタCNTの初期値はキャッシュメモリが空であることを示す0である(S10)。全てのスキャンラインについて、工程S11〜S20の処理が行われる。
頂点情報キャッシュ部610の制御部606は、処理対象のスキャンラインに描画される図形の描画命令に基づいて頂点番号を取得する。そして、制御部606は、頂点番号に基づいてキャッシュタグCTを参照し、対象の頂点番号に対応するEmptyフラグをチェックする(S11)。
EmptyフラグがFalseのとき(S12のNO)、キャッシュメモリCMに対象の頂点情報VINFが格納されていることを示すため、キャッシュヒットと判定される。そのため、制御部606は、キャッシュヒット情報を頂点情報読み出し部310に送信する(S14)。一方、EmptyフラグがTrueのとき(S12のYES)、キャッシュメモリCMに対象の頂点情報VINFが格納されていないことを示すため、キャッシュミスと判定される。そのため、制御部606は、キャッシュミス情報を頂点情報読み出し部310に送信する(S13)。
続いて、制御部606は、キャッシュヒットの場合はキャッシュメモリCMからの頂点情報VINFの読み出しアドレスad、キャッシュミスの場合はキャッシュメモリCMへの頂点情報VINFの書き込みアドレスadを決定する(S15)。ここで、工程S15について、次のフローチャート図に基づいて詳細に説明する。
図10は、図9のフローチャート図におけるアドレス決定処理(S15)の詳細を説明するフローチャート図である。
まず、キャッシュヒットの場合について説明する。キャッシュヒットの場合(S30のYES)、制御部606は、キャッシュタグCTに頂点番号に対応して格納されたアドレス情報adを読み出し(S42)、キャッシュヒット情報と共に頂点情報読み出し部310に出力する(S43)。
次に、キャッシュミス情報の場合について説明する。キャッシュミスの場合(S30のNO)、制御部606は、頂点情報読み出し部310にキャッシュミス情報と共に、キャッシュメモリCMの空きアドレスがある場合に空きアドレスを渡す(S31〜S41)。
具体的に、制御部606は、まず、初期フラグInitialが1か否かを判定する(S31)。初期フラグInitialが1の場合(S31のYES)、キャッシュメモリCMに格納された頂点情報の数が未だN個に達していないことを示す。この例において、キャッシュメモリCMに格納される頂点情報VINFの数がN個に達するまでの間、カウンタCNT値の示すアドレスadに頂点情報VINFが格納される。
そこで、制御部606は、キャッシュタグCTについて、対象の頂点番号のアドレスとしてカウンタCNTの値(ad)を格納すると共に、EmptyフラグをTrueからFalseに変更する(S32)。続いて、制御部606は、当該アドレスadをキャッシュミス情報と共に頂点情報読み出し部310に出力する(S33)。
続いて、制御部606は、カウンタCNTの値がキャッシュメモリCMのアドレス最大値と一致するか否かを判定する(S34)。一致する場合(S34のYES)、キャッシュメモリCMに格納される頂点情報VINFの数がN個に達したことを示す。そこで、制御部606は、初期フラグInitialを0に変更し(S36)、以降の処理では、カウンタCNTではなくアドレスFIFOに基づいて空きアドレスが取得されるように制御する。一方、カウンタCNTの値がキャッシュメモリCMのアドレス最大値と一致しない場合(S34のNO)、キャッシュメモリCMに格納される頂点情報VINFの数が未だN個に達していないことを示す。そのため、制御部606は、初期フラグInitialの値を変更せず、カウンタCNTの値をカウントアップする(S35)。
工程S31に戻り、初期フラグInitialが0であり(S31のNO)、キャッシュメモリCMに格納される頂点情報VINFの数がN個に達している場合、制御部606はアドレスFIFO603から空きアドレスを取得する。具体的に、制御部606は、アドレスFIFO603にアドレスが格納されているか否かを判定する(S37)。アドレスFIFO603が空の場合(S37のYES)、キャッシュメモリCMに空きがないことを示す。この場合、制御部606は、キャッシュメモリCMに頂点情報VINFを格納しない(S38)。そのため、制御部606は、キャッシュミス情報のみを頂点情報読み出し部310に出力する。
一方、アドレスFIFO603がアドレスを保持する場合(S37のNO)、制御部606は、アドレスFIFO603から取得したアドレスをキャッシュメモリCMの空きアドレスadとして取得する(S39)。このように、空きアドレスをアドレスFIFO603に保持しておくことにより、制御部606は、キャッシュメモリCMの空きアドレスを取得するために、キャッシュメモリCM及びキャッシュタグCTを検索する必要がない。制御部606は、アドレスFIFO603からアドレスを読み出すだけで、キャッシュメモリCMの空きアドレスを取得することができる。これにより、キャッシュメモリCMの空きアドレスの取得処理が高速になり、処理全体のスループットが向上する。
続いて、制御部606は、キャッシュタグCTについて、対象の頂点番号のアドレス情報として、アドレスFIFO603から取得したアドレスadを格納すると共に、EmptyフラグをTrueからFalseに変更する(S40)。そして、制御部606は、当該アドレスadをキャッシュミス情報と共に頂点情報読み出し部310に出力する(S41)。
このように、制御部606は、キャッシュヒットの場合、キャッシュヒット情報と共にキャッシュメモリCMの読み出しアドレスadを頂点情報読み出し部310に出力する。そして、図4で前述したとおり、図形作成部330によって、キャッシュメモリCMの読み出しアドレスadから頂点情報VINFが読み出される。
一方、制御部606は、キャッシュミスの場合、キャッシュミス情報と共に、キャッシュメモリCMに空きがある場合はキャッシュメモリCMへの書き込みアドレスadを頂点情報読み出し部310に出力する。そして、図4で前述したとおり、頂点情報VINFは外部メモリから読み出され、頂点処理が行われた頂点情報VINFが、図形作成部303によって、キャッシュメモリCMの書き込みアドレスadに格納される。
続いて、図9のフローチャート図の処理を、図5の具体例に基づいて説明する。
図11は、図5の具体例に基づくキャッシュタグCT1−1、CT1−2の遷移の一例を表す図である。同図において、キャッシュメモリCMには、頂点番号0、2〜4の頂点情報VINFが格納されており、キャッシュタグCT1−1には、頂点情報VINFが格納されるキャッシュメモリCMのアドレスが頂点番号に対応して格納される。そして、キャッシュメモリCMに頂点情報VINFが格納されている頂点番号0、2〜4のEmptyフラグにはFalse、頂点情報VINFが格納されていない頂点番号1、5のEmptyフラグにはTrueが指定される。
図11において、例えば、頂点番号0の頂点情報VINFを読み出す場合、制御部606はキャッシュタグCT1−1を参照し、頂点番号0のEmptyフラグを参照する(図9のS12)。この場合、頂点番号0のEmptyフラグがFalseであるためキャッシュヒットと判定され(図9のS12のNO)、キャッシュタグCTから読み出し対象のアドレス7番地が読み出され(図10のS42)、キャッシュヒット情報と共に(図9のS14)頂点情報読み出し部310へ送信される(図10のS43)。そして、図形作成部330によって、キャッシュメモリの7番地から頂点情報VINFが読み出される。
一方、頂点番号1の頂点情報VINFを読み出す場合、キャッシュタグCT1−1における頂点番号1のEmptyフラグはTrueであるため、キャッシュミスと判定される(図9のS12のYES)。そのため、頂点情報キャッシュ部610は、初期フラグInitialが1の場合は(図10のS31のYES)カウンタCNTの値を(図10のS32、S33)、初期フラグInitialが0の場合であって(図10のS31のNO)、アドレスFIFO603にアドレスがある場合は(図10のS37のNO)、アドレスFIFO603の初めに格納されたアドレスを、キャッシュメモリCMへの書き込みアドレスとして読み出す(図10のS39)。そして、アドレスはキャッシュミス情報と共に(図9のS13)頂点情報読み出し部310へ送信される(図10のS33、S41)。このとき、アドレスFIFO603が空の場合(図10のS37のYES)、キャッシュミス情報のみが出力される。
このように、本実施の形態例において、キャッシュタグCT1−1は、それぞれの頂点について、キャッシュメモリCMに頂点情報VINFが格納されている場合にそのアドレスを格納する。このため、頂点情報読み出し部310は、キャッシュタグCT1−1から頂点番号VINFを検索することなく、頂点番号に基づいてアドレスを逆引きすることで、キャッシュヒット/ミスの判定を高速に行い、キャッシュヒットの場合にキャッシュメモリCMにおける読み出しアドレスを高速に取得することができる。
ここで、図9のフローチャート図に戻り、続いて、キャッシュメモリCMにおける不要となる頂点情報VINFの削除処理(図9のS16〜S20)について説明する。キャッシュメモリCMへの書き込みアドレス、または、読み出しアドレスが決定すると(S15)、頂点情報キャッシュ部610の制御部606は、続いて、対象の頂点番号の最終使用ラインを最終使用ライン情報バッファ601から読み出し(S16)、処理対象のスキャンラインと最終使用ラインが一致するか否かを判定する(S17)。
一致する場合(S17のYES)、処理対象のスキャンラインが、対象の頂点番号の頂点情報VINFが使用される最後のスキャンラインであることを示す。従って、制御部606は、キャッシュタグCTにおいて、当該頂点番号に対応するKeepフラグを、保持しないことを示すFalseに変更する(S19)。一方、一致しない場合(S17のNO)、対象の頂点番号の頂点情報VINFは、処理対象のスキャンラインの後で処理されるスキャンラインで使用されることを示す。従って、制御部606は、キャッシュタグCTにおける対象の頂点番号に対応するKeepフラグを、保持を示すTrueに変更する(S18)。
そして、処理対象のスキャンラインに描画される全ての図形の描画命令について、工程S11〜S19を行うと、制御部606は、続いて、キャッシュメモリCMから不要な頂点情報VINFを削除する(S20)。具体的に、制御部606は、キャッシュタグCTを参照し、KeepフラグがFalse(保持しない)であって、EmptyフラグがFalse(キャッシュメモリに頂点情報が格納される)の頂点番号を検出する。即ち、キャッシュメモリCMに格納されており、次回以降に処理対象となるスキャンラインで使用されることのない頂点情報VINFが、削除対象の頂点情報VINFとして検出される。
また、制御部606は、キャッシュタグCTにおいて、頂点情報VINFを削除する対象の頂点番号のEmptyフラグをFalseからTrueに変更し、キャッシュメモリCMにおける削除アドレスをアドレスFIFO603に追加する。本実施の形態例における制御部606は、キャッシュタグCTのEmptyフラグの値に基づいてキャッシュヒット/ミス判定を行うため、頂点情報VINFの削除に当たり、キャッシュメモリCMの頂点情報VINF及びキャッシュタグCTにおけるアドレスを削除する必要がない。
以上のように、図9、図10のフローチャート図に基づいて、処理対象のスキャンラインについて、当該スキャンラインに描画される図形を構成する頂点の頂点情報VINFが読み出される。この処理が全てのスキャンラインについて行われる。
図9の工程S16〜S20の処理について、前述した図11に基づいて具体的に説明する。図11の例において、最終使用ライン情報バッファ601は前述した図6であり、図5の具体例に基づいて処理対象のスキャンラインがY16である場合を例示する。図5において、スキャンラインY16には図形Z1〜Z3が描画され、読み出し対象の頂点は頂点p0、p2〜p5である。
図6の最終使用ライン情報ELによると、頂点p0、p2〜p5のうち、頂点p0、p4の最終使用ラインは処理対象のスキャンラインと同じY16である(図9のS17のYES)。従って、制御部606は、図11のキャッシュタグCT1−1において、頂点番号0、4について頂点情報を読み出したとき、対応するKeepフラグを保持しておく必要がないことを示すFalseに制御する(S19)。また、制御部606は、最終使用ラインが処理対象のスキャンラインより後に処理されるスキャンラインを示す頂点番号2、3について、キャッシュタグCT1−1において、対応するKeepフラグを、保持を示すTrueに制御する(S18)。
そして、スキャンラインY16に係る頂点の頂点情報VINFが全て読み出されたとき、制御部606は、図11のキャッシュタグCT1−2において、EmptyフラグがFalse、かつ、KeepフラグがFalseの頂点番号0、4について、EmptyフラグをTrueに制御する(S20)。また、制御部606は、頂点番号0、4の頂点情報VINFが格納されていたキャッシュメモリCMのアドレス1番地、7番地をアドレスFIFOfl(図8の603)に追加する。この例において、アドレスFIFOflには、先にアドレス2番地、3番地が格納されている。
このように、制御部606は、最終使用ライン情報ELに基づいて、キャッシュメモリCMに保持しておく必要のない頂点情報VINFを検出する。また、頂点番号に対応してキャッシュタグCTにKeepフラグが設けられており、最終使用ラインが処理対象のスキャンラインと一致する頂点番号のKeepフラグが制御されることにより、制御部606は、Keepフラグを参照するだけで削除対象の頂点情報VINFを効率的に検出することができる。
また、制御部606は、キャッシュタグCTにおけるEmptyフラグを制御することで、擬似的にキャッシュメモリCMにおける頂点情報VINFを上書き可能にする制御を行う。これにより、例えば、キャッシュメモリCMからの頂点情報VINFの削除処理に時間を要する場合であっても、制御部606は高速に上書き可能制御を行うことができる。また、例えば、キャッシュタグCTにおけるEmptyフラグは、アドレス部よりも高速に書き換え可能なメモリで構成される。これにより、制御部606は、より高速に制御処理を行うことができる。
このように、制御部606は、最終使用ライン情報ELに基づいて、保持しておく必要のない頂点情報VINFを確実に、且つ、高速に検出できると共に、キャッシュメモリCMにおける削除対象の頂点情報VINFの制御処理を高速に行うことができる。これにより、キャッシュメモリCMにおける頂点情報VINFの一連の制御処理が高速に行われる。
以上説明してきたように、本実施の形態例における画像描画装置100は、スキャンライン毎に、画像データGDATAを生成し、ラインバッファ400に格納する。これにより、画像データGDATAを格納するラインバッファ400は、2次元表示面DISを分割したスキャンラインの1つ分のスキャンラインのサイズ分有していればよい。従って、本実施の形態例において、2次元表示面DISの全体の画素のデータ(画像データ)を格納するフレームバッファに比べて、ラインバッファ400のメモリサイズを小さくできる。
また、本実施の形態例におけるキャッシュタグCTは、各頂点に対応してキャッシュメモリCMのアドレスを有する(逆引きキャッシュタグ)。これにより、画像描画装置100は、キャッシュタグCTから対象の頂点の情報を検索する必要がなく、キャッシュタグCTにおける頂点のアドレス情報を直接参照することで高速にキャッシュヒット/ミスの判定を行うことができると共に、キャッシュヒットのとき、同時にキャッシュメモリCMのアドレスを取得できる。これにより、画像描画装置100は、キャッシュヒットの場合にキャッシュメモリCMの読み出し対象のアドレスを高速に取得することができる。
また、本実施の形態例における画像描画装置100は、各頂点について、当該頂点が構成する図形が描画されるスキャンラインのうち、後に処理されるスキャンラインの情報を最終使用ライン情報として抽出する。そして、画像描画装置100は、最終使用ラインが処理対象のスキャンラインを示す頂点の頂点情報VINFをキャッシュメモリCMから削除対象の頂点情報VINFとして検出する。これにより、画像描画装置100は、最終使用ライン情報に基づいて、キャッシュメモリCMに保持しておく必要のない頂点情報VINFを確実に削除対象とし、キャッシュメモリCM上で上書き可能に制御することができる。この結果、キャッシュメモリCMには次回以降に処理対象となるスキャンラインで使用される頂点情報VINFのみが保持され、キャッシュメモリCMのキャッシュヒット率が向上し、外部メモリへの読み出し処理回数が抑制される。
また、本実施の形態例における画像描画装置100は、キャッシュタグCTにKeepフラグを設け、削除対象とする頂点情報VINFに対応する頂点番号のKeepフラグを、保持しないことを示す値に制御しておく。これにより、画像描画装置100は、削除対象の頂点情報VINFの検出時に、各頂点のKeepフラグの値を参照するだけで、削除対象の頂点情報VINFを全て検出することができる。
また、本実施の形態例における画像描画装置100は、キャッシュタグCTにEmptyフラグを設ける。これにより、画像描画装置100は、キャッシュヒット/ミスの判定を、キャッシュタグ602における対象の頂点のEmptyフラグをチェックすることによって簡易に行うことができる。このため、画像描画装置100は、キャッシュメモリCMにおける頂点情報VINFを上書き可能にする制御を、Emptyフラグの制御によって実現できる。これにより、キャッシュメモリCMからの頂点情報VINFの削除処理、及び、キャッシュタグCTにおけるアドレス情報の削除処理に時間を要する場合であっても、高速、且つ、効率的に頂点情報VINFを上書き可能にする制御が行われる。
さらに、本実施の形態例における画像描画装置100は、キャッシュメモリCMの空きアドレスを格納するアドレスFIFO603を有する。これにより、画像描画装置100は、キャッシュメモリCM及びキャッシュタグCTを検索することなく、キャッシュメモリCMの空きアドレスを効率的に取得することができる。これにより、キャッシュメモリCMの空きアドレスの取得処理が高速になる。
なお、この例において、キャッシュタグCTはKeepフラグを有し、画像描画装置100は、Keepフラグを制御することによって、削除対象の頂点情報VINFを検出する。しかしながら、Keepフラグは必ずしも必要ではない。画像描画装置100は、Keepフラグを用いず、削除対象の頂点情報VINFの検出処理時に、頂点情報VINFを読み出した各頂点について最終使用ラインと処理対象のスキャンラインとを比較し、削除対象とするか否かを判定してもよい。
<第2の実施の形態例>
第1の実施の形態例では、各頂点についてそれぞれ情報を有するキャッシュタグ(逆引きキャッシュタグ)を使用する場合において、最終使用ライン情報に基づいて、不要な頂点情報VINFをキャッシュメモリCMから削除する場合について例示した。しかし、このキャッシュメモリCMにおける削除方法は、キャッシュメモリCMの各アドレスに対応して当該アドレスに格納される頂点番号を有するキャッシュタグを用いる場合についても有効である。本実施の形態例におけるキャッシュタグCT以外の構成については、第1の実施の形態例と同様である。
図12は、第2の実施の形態例におけるキャッシュタグCT2−1、CT2−2及びキャッシュメモリCM2−1、CM2−2の状態の一例を表す図である。同図上のキャッシュタグCT2−1は、同図上のキャッシュメモリCM2−1の各アドレスに対応して、当該アドレスに頂点情報VINFが格納される場合にその頂点番号を有する。例えば、キャッシュタグCT2−1によると、キャッシュメモリCM2−1の0番地に頂点番号2の頂点情報VINFが格納される。
続いて、図9のフローチャート図で前述した、キャッシュメモリCMにおける不要な頂点情報VINFの削除処理(図9のS16〜S20)について、図12の具体例に基づいて説明する。この例では、第1の実施の形態例と同様にして、図5の具体例に基づき、処理対象のスキャンラインがY16、最終使用ライン情報ELが図6である場合を例示する。
図5の具体例において、スキャンラインY16の処理では、頂点番号0、2〜4の頂点情報が読み出される。そして、各頂点番号に対応する最終使用ラインが読み出される(S16)。そして、頂点番号0、4の最終使用ラインはY16であり、処理対象のスキャンラインと一致するため(S17のYES)、対応するKeepフラグがFalseに制御される(図9のS17のYES、S19)。また、頂点番号1、3のKeepフラグについては、Trueに制御される(S17のNO、S18)。
そして、処理対象のスキャンラインY16に係る頂点の頂点情報VINFが全て読み出されたとき、制御部606は、図12のCT2−2のように、EmptyフラグがFalse、かつ、KeepフラグがFalseの頂点番号0、4のEmptyフラグを、Trueに制御する(S20)。これにより、擬似的に、キャッシュメモリCM2−2から頂点番号0、4の頂点情報VINFが削除される。
このように、本実施の形態例においても、キャッシュメモリCM2−2には、最終使用ライン情報ELに基づいて、次回以降に処理対象となるスキャンラインで使用される頂点情報VINFのみが保持される。この結果、キャッシュメモリCM2−2のキャッシュヒット率が向上し、外部メモリへの読み出し処理回数が抑制される。このように、最終使用ライン情報ELに基づくキャッシュメモリCMから削除対象の頂点情報VINFの検出方法は、いずれの形態のキャッシュタグCTについても有効である。
なお、本実施の形態例においても、Keepフラグは必ずしも必要ではない。画像描画装置100は、Keepフラグを用いず、削除対象の頂点情報VINFの検出時に、頂点情報VINFを読み出した各頂点について最終使用ライン情報ELと処理対象のスキャンラインとを比較し、削除対象とするか否かを判定してもよい。
なお、本実施の形態例における画像描画処理は、コンピューター読み取り可能な記録媒体にプログラムとして記憶され、当該プログラムをコンピューターが読み出して実行することによって行われてもよい。
以上の実施の形態をまとめると、次の付記のとおりである。
(付記1)
複数のスキャンラインを有する描画領域に図形を描画する画像描画装置であって、
処理対象の前記スキャンラインに描画される図形を判定し、判定した前記図形を構成する各頂点を抽出する描画位置判定手段と、
前記処理対象のスキャンラインについて、抽出された頂点の座標情報を含む頂点情報を、前記描画領域に描画される図形の頂点の頂点情報が記憶される頂点情報メモリから読み出す頂点情報読み出し手段と、
読み出した前記頂点情報に基づいて、前記処理対象のスキャンラインの画像データを生成する画像生成手段と、
前記画像生成手段によって生成された前記画像データを記憶するラインバッファと、を有し、
前記頂点情報読み出し手段は、
前記頂点情報を一時記憶するキャッシュメモリと、
前記描画領域に描画される図形の頂点全てについて、前記キャッシュメモリに前記頂点情報が記憶される場合に前記頂点情報が記憶されたアドレスを記憶するキャッシュタグと、
前記キャッシュタグを参照し、読み出し対象の頂点情報について前記アドレスが記憶されている場合は前記キャッシュメモリの当該アドレスから前記頂点情報を読み出し、記憶されていない場合は前記頂点情報メモリから読み出した頂点情報を前記キャッシュメモリに記憶させそのアドレスを前記キャッシュタグに記憶する制御手段と、
を有する画像描画装置。
(付記2)
付記1について、
前記描画位置判定手段は、さらに、前記頂点について、当該頂点が構成する前記図形が描画される前記スキャンラインのうち、処理順が後の前記スキャンラインを示す最終使用ライン情報を抽出し、
前記制御手段は、さらに、前記最終使用ライン情報が前記処理対象のスキャンラインを示す頂点情報を上書き可能にする画像描画装置。
(付記3)
付記2について、
前記キャッシュタグは、さらに、前記アドレスに加えてキープフラグを記憶し、
前記制御手段は、前記最終使用ライン情報が前記処理対象のスキャンラインを示す頂点情報の前記キープフラグを非保持を示す値に制御し、前記キープフラグの値が非保持を示す頂点情報を上書き可能にする画像描画装置。
(付記4)
付記2または3のいずれかにおいて、
前記キャッシュタグは、さらに、前記描画領域に描画される図形の頂点全てについて無効フラグを記憶し、
前記制御手段は、前記無効フラグを無効を示す値に制御することによって前記頂点情報を上書き可能にする画像描画装置。
(付記5)
付記4において、
前記キャッシュタグにおける前記無効フラグと前記アドレスとは異なる記憶手段に記憶され、前記無効フラグが記憶される記憶手段は、前記アドレスが記憶される記憶手段よりもアクセス速度が速い画像描画装置。
(付記6)
付記2乃至5のいずれかにおいて、
前記制御手段は、前記頂点情報を上書き可能にするときに当該頂点情報が記憶されたキャッシュメモリのアドレスを空きアドレスリストに追加し、前記読み出した頂点情報を前記キャッシュメモリに記憶させるときに当該空きアドレスリストから前記アドレスを取得する画像描画装置。
(付記7)
複数のスキャンラインを有する描画領域に図形を描画する画像描画装置であって、
処理対象の前記スキャンラインに描画される図形を判定し、判定した前記図形を構成する各頂点を抽出すると共に、当該頂点が構成する前記図形が描画される前記スキャンラインのうち、処理順が後の前記スキャンラインを示す最終使用ライン情報を抽出する描画位置判定手段と、
前記処理対象のスキャンラインについて、抽出された頂点の座標情報を含む頂点情報を、前記描画領域に描画される図形の頂点の頂点情報が記憶される頂点情報メモリから読み出す頂点情報読み出し手段と、
読み出した前記頂点情報に基づいて、前記処理対象のスキャンラインの画像データを生成する画像生成手段と、
前記画像生成手段によって生成された前記画像データを記憶するラインバッファと、を有し、
前記頂点情報読み出し手段は、
前記頂点情報を一時記憶するキャッシュメモリと、
前記頂点情報メモリから読み出した頂点情報を前記キャッシュメモリに記憶させ、前記キャッシュメモリへ記憶した前記頂点情報を読み出し、読み出した前記頂点情報が前記最終使用ライン情報と一致する場合に前記頂点情報を上書き可能にする制御手段と、
を有する画像描画装置。
(付記8)
付記1乃至7のいずれかにおいて、
前記画像描画装置は、さらに、
前記ラインバッファに生成された前記画像データを表示させる表示手段と、を有する画像描画装置。
(付記9)
複数のスキャンラインを有する描画領域における図形の描画処理をコンピューターに実行させるコンピューター読み取り可能な画像描画プログラムにおいて、
前記描画処理は、
処理対象の前記スキャンラインに描画される図形を判定し、判定した前記図形を構成する各頂点を抽出する描画位置判定工程と、
前記処理対象のスキャンラインについて、抽出された頂点の座標情報を含む頂点情報を、前記描画領域に描画される図形の頂点の頂点情報が記憶される頂点情報メモリから読み出す頂点情報読み出し工程と、
読み出した前記頂点情報に基づいて、前記処理対象のスキャンラインの画像データを生成してラインバッファに記憶する画像生成工程と、を有し、
前記頂点情報読み出し工程は、
前記頂点情報が一時記憶されるキャッシュメモリに対するキャッシュタグであって、前記描画領域に描画される図形の頂点全てについて、前記キャッシュメモリに前記頂点情報が記憶される場合に当該頂点情報が記憶されたアドレスが記憶される前記キャッシュタグを参照し、読み出し対象の頂点情報について前記アドレスが記憶されている場合は前記キャッシュメモリの当該アドレスから前記頂点情報を読み出し、記憶されていない場合は前記頂点情報メモリから読み出した頂点情報を前記キャッシュメモリに記憶させそのアドレスを前記キャッシュタグに記憶する制御工程と、
を有する画像描画プログラム。
(付記10)
複数のスキャンラインを有する描画領域における図形の描画処理をコンピューターに実行させるコンピューター読み取り可能な画像描画プログラムにおいて、
前記描画処理は、
処理対象の前記スキャンラインに描画される図形を判定し、判定した前記図形を構成する各頂点を抽出すると共に、当該頂点が構成する前記図形が描画される前記スキャンラインのうち、処理順が後の前記スキャンラインを示す最終使用ライン情報を抽出する描画位置判定工程と、
前記処理対象のスキャンラインについて、抽出された頂点の座標情報を含む頂点情報を、前記描画領域に描画される図形の頂点の頂点情報が記憶される頂点情報メモリから読み出す頂点情報読み出し工程と、
読み出した前記頂点情報に基づいて、前記処理対象のスキャンラインの画像データを生成してラインバッファに記憶する画像生成工程と、を有し、
前記頂点情報読み出し工程は、
前記頂点情報メモリから読み出した頂点情報を、前記頂点情報が一時記憶されるキャッシュメモリに記憶させ、前記キャッシュメモリへ記憶した前記頂点情報を読み出し、読み出した前記頂点情報が前記最終使用ライン情報と一致する場合に前記頂点情報を上書き可能にする制御工程と、
を有する画像描画プログラム。
(付記11)
複数のスキャンラインを有する描画領域に図形を描画する画像描画方法であって、
処理対象の前記スキャンラインに描画される図形を判定し、判定した前記図形を構成する各頂点を抽出する描画位置判定工程と、
前記処理対象のスキャンラインについて、抽出された頂点の座標情報を含む頂点情報を、前記描画領域に描画される図形の頂点の頂点情報が記憶される頂点情報メモリから読み出す頂点情報読み出し工程と、
読み出した前記頂点情報に基づいて、前記処理対象のスキャンラインの画像データを生成してラインバッファに記憶する画像生成工程と、を有し、
前記頂点情報読み出し工程は、
前記頂点情報が一時記憶されるキャッシュメモリに対するキャッシュタグであって、前記描画領域に描画される図形の頂点全てについて、前記キャッシュメモリに前記頂点情報が記憶される場合に当該頂点情報が記憶されたアドレスが記憶される前記キャッシュタグを参照し、読み出し対象の頂点情報について前記アドレスが記憶されている場合は前記キャッシュメモリの当該アドレスから前記頂点情報を読み出し、記憶されていない場合は前記頂点情報メモリから読み出した頂点情報を前記キャッシュメモリに記憶させそのアドレスを前記キャッシュタグに記憶する制御工程と、
を有する画像描画方法。
(付記12)
複数のスキャンラインを有する描画領域に図形を描画する画像描画方法であって、
処理対象の前記スキャンラインに描画される図形を判定し、判定した前記図形を構成する各頂点を抽出すると共に、当該頂点が構成する前記図形が描画される前記スキャンラインのうち、処理順が後の前記スキャンラインを示す最終使用ライン情報を抽出する描画位置判定工程と、
前記処理対象のスキャンラインについて、抽出された頂点の座標情報を含む頂点情報を、前記描画領域に描画される図形の頂点の頂点情報が記憶される頂点情報メモリから読み出す頂点情報読み出し工程と、
読み出した前記頂点情報に基づいて、前記処理対象のスキャンラインの画像データを生成してラインバッファに記憶する画像生成工程と、を有し、
前記頂点情報読み出し工程は、
前記頂点情報メモリから読み出した頂点情報を、前記頂点情報が一時記憶されるキャッシュメモリに記憶させ、前記キャッシュメモリへ記憶した前記頂点情報を読み出し、読み出した前記頂点情報が前記最終使用ライン情報と一致する場合に前記頂点情報を上書き可能にする制御工程と、
を有する画像描画方法。
100:画像描画装置、10:描画位置判定部、20:頂点読み出し部、30:画像生成部、310:頂点情報読み出し部、320:頂点処理部、330:図形作成部、340:画素生成部、350:画素処理部、360:画素除去部、410:ラインデプスバッファ、400:ラインバッファ、500:表示回路、345:テクスチャユニット、610:頂点キャッシュ部

Claims (9)

  1. 複数のスキャンラインを有する描画領域に図形を描画する画像描画装置であって、
    処理対象の前記スキャンラインに描画される図形を判定し、判定した前記図形を構成する各頂点を抽出する描画位置判定手段と、
    前記処理対象のスキャンラインについて、抽出された頂点の座標情報を含む頂点情報を、前記描画領域に描画される図形の頂点の頂点情報が記憶される頂点情報メモリから読み出す頂点情報読み出し手段と、
    読み出した前記頂点情報に基づいて、前記処理対象のスキャンラインの画像データを生成する画像生成手段と、
    前記画像生成手段によって生成された前記画像データを記憶するラインバッファと、を有し、
    前記頂点情報読み出し手段は、
    前記頂点情報を一時記憶するキャッシュメモリと、
    前記描画領域に描画される図形の頂点全てについて、前記キャッシュメモリに前記頂点情報が記憶される場合は前記キャッシュメモリの前記頂点情報が記憶されたアドレスを、前記頂点情報が記憶されない場合は記憶されていないことを示すフラグをそれぞれ記憶するキャッシュタグと、
    前記キャッシュタグを参照し、読み出し対象の頂点情報について前記アドレスが記憶されている場合は前記キャッシュメモリの当該アドレスから前記頂点情報を読み出し、記憶されていない場合は前記頂点情報メモリから読み出した頂点情報を前記キャッシュメモリに記憶させそのアドレスを前記キャッシュタグに記憶する制御手段と、を有する画像描画装置。
  2. 請求項1について、
    前記描画位置判定手段は、さらに、前記頂点について、当該頂点が構成する前記図形が描画される前記スキャンラインのうち、処理順が後の前記スキャンラインを示す最終使用ライン情報を抽出し、
    前記制御手段は、さらに、前記最終使用ライン情報が前記処理対象のスキャンラインを示す頂点情報を上書き可能にする画像描画装置。
  3. 請求項2について、
    前記キャッシュタグは、さらに、前記アドレスに加えてキープフラグを記憶し、
    前記制御手段は、前記最終使用ライン情報が前記処理対象のスキャンラインを示す頂点情報の前記キープフラグを非保持を示す値に制御し、前記キープフラグの値が非保持を示す頂点情報を上書き可能にする画像描画装置。
  4. 複数のスキャンラインを有する描画領域に図形を描画する画像描画装置であって、
    処理対象の前記スキャンラインに描画される図形を判定し、判定した前記図形を構成し一部の頂点が複数の図形によって共有される各頂点を抽出すると共に、当該頂点が構成する前記図形が描画される前記スキャンラインのうち、処理順が最終の前記スキャンラインを示す最終使用ライン情報を頂点毎に抽出する描画位置判定手段と、
    前記処理対象のスキャンラインについて、抽出された頂点の座標情報を含む頂点情報を、前記描画領域に描画される図形の頂点の頂点情報が記憶される頂点情報メモリから読み出す頂点情報読み出し手段と、
    読み出した前記頂点情報に基づいて、前記処理対象のスキャンラインの画像データを生成する画像生成手段と、
    前記画像生成手段によって生成された前記画像データを記憶するラインバッファと、を有し、
    前記頂点情報読み出し手段は、
    前記頂点情報を一時記憶するキャッシュメモリと、
    前記頂点情報メモリから読み出した頂点情報を前記キャッシュメモリに記憶させ、前記キャッシュメモリへ記憶した前記頂点情報を読み出し、読み出した前記頂点情報前記最終使用ライン情報が前記処理対象のスキャンラインと一致する場合に前記頂点情報を上書き可能にする制御手段と、
    を有する画像描画装置。
  5. 請求項1乃至4のいずれかにおいて、
    前記画像描画装置は、さらに、
    前記ラインバッファに生成された前記画像データを表示させる表示手段と、を有する画像描画装置。
  6. 複数のスキャンラインを有する描画領域における図形の描画処理をコンピューターに実行させるコンピューター読み取り可能な画像描画プログラムにおいて、
    前記描画処理は、
    処理対象の前記スキャンラインに描画される図形を判定し、判定した前記図形を構成する各頂点を抽出する描画位置判定工程と、
    前記処理対象のスキャンラインについて、抽出された頂点の座標情報を含む頂点情報を、前記描画領域に描画される図形の頂点の頂点情報が記憶される頂点情報メモリから読み出す頂点情報読み出し工程と、
    読み出した前記頂点情報に基づいて、前記処理対象のスキャンラインの画像データを生成してラインバッファに記憶する画像生成工程と、を有し、
    前記頂点情報読み出し工程は、
    前記頂点情報が一時記憶されるキャッシュメモリに対するキャッシュタグであって、前記描画領域に描画される図形の頂点全てについて、前記キャッシュメモリに前記頂点情報が記憶される場合は前記キャッシュメモリの当該頂点情報が記憶されたアドレスが、前記頂点情報が記憶されない場合は記憶されていないことを示すフラグがそれぞれ記憶される前記キャッシュタグを参照し、読み出し対象の頂点情報について前記アドレスが記憶されている場合は前記キャッシュメモリの当該アドレスから前記頂点情報を読み出し、記憶されていない場合は前記頂点情報メモリから読み出した頂点情報を前記キャッシュメモリに記憶させそのアドレスを前記キャッシュタグに記憶する制御工程と、
    を有する画像描画プログラム。
  7. 複数のスキャンラインを有する描画領域における図形の描画処理をコンピューターに実行させるコンピューター読み取り可能な画像描画プログラムにおいて、
    前記描画処理は、
    処理対象の前記スキャンラインに描画される図形を判定し、判定した前記図形を構成し一部の頂点が複数の図形によって共有される各頂点を抽出すると共に、当該頂点が構成する前記図形が描画される前記スキャンラインのうち、処理順が最終の前記スキャンラインを示す最終使用ライン情報を頂点毎に抽出する描画位置判定工程と、
    前記処理対象のスキャンラインについて、抽出された頂点の座標情報を含む頂点情報を、前記描画領域に描画される図形の頂点の頂点情報が記憶される頂点情報メモリから読み出す頂点情報読み出し工程と、
    読み出した前記頂点情報に基づいて、前記処理対象のスキャンラインの画像データを生成してラインバッファに記憶する画像生成工程と、を有し、
    前記頂点情報読み出し工程は、
    前記頂点情報メモリから読み出した頂点情報を、前記頂点情報が一時記憶される前記キャッシュメモリに記憶させ、前記キャッシュメモリへ記憶した前記頂点情報を読み出し、読み出した前記頂点情報前記最終使用ライン情報が前記処理対象のスキャンラインと一致する場合に前記頂点情報を上書き可能にする制御工程と、
    を有する画像描画プログラム。
  8. 複数のスキャンラインを有する描画領域に図形を描画する画像描画方法であって、
    処理対象の前記スキャンラインに描画される図形を判定し、判定した前記図形を構成する各頂点を抽出する描画位置判定工程と、
    前記処理対象のスキャンラインについて、抽出された頂点の座標情報を含む頂点情報を、前記描画領域に描画される図形の頂点の頂点情報が記憶される頂点情報メモリから読み出す頂点情報読み出し工程と、
    読み出した前記頂点情報に基づいて、前記処理対象のスキャンラインの画像データを生成してラインバッファに記憶する画像生成工程と、を有し、
    前記頂点情報読み出し工程は、
    前記頂点情報が一時記憶されるキャッシュメモリに対するキャッシュタグであって、前記描画領域に描画される図形の頂点全てについて、前記キャッシュメモリに前記頂点情報が記憶される場合は前記キャッシュメモリの当該頂点情報が記憶されたアドレスが、前記頂点情報が記憶されない場合は記憶されていないことを示すフラグがそれぞれ記憶される前記キャッシュタグを参照し、読み出し対象の頂点情報について前記アドレスが記憶されている場合は前記キャッシュメモリの当該アドレスから前記頂点情報を読み出し、記憶されていない場合は前記頂点情報メモリから読み出した頂点情報を前記キャッシュメモリに記憶させそのアドレスを前記キャッシュタグに記憶する制御工程と、
    を有する画像描画方法。
  9. 複数のスキャンラインを有する描画領域に図形を描画する画像描画方法であって、
    処理対象の前記スキャンラインに描画される図形を判定し、判定した前記図形を構成し一部の頂点が複数の図形によって共有される各頂点を抽出すると共に、当該頂点が構成する前記図形が描画される前記スキャンラインのうち、処理順が最終の前記スキャンラインを示す最終使用ライン情報を頂点毎に抽出する描画位置判定工程と、
    前記処理対象のスキャンラインについて、抽出された頂点の座標情報を含む頂点情報を、前記描画領域に描画される図形の頂点の頂点情報が記憶される頂点情報メモリから読み出す頂点情報読み出し工程と、
    読み出した前記頂点情報に基づいて、前記処理対象のスキャンラインの画像データを生成してラインバッファに記憶する画像生成工程と、を有し、
    前記頂点情報読み出し工程は、
    前記頂点情報メモリから読み出した頂点情報を、前記頂点情報が一時記憶される前記キャッシュメモリに記憶させ、前記キャッシュメモリへ記憶した前記頂点情報を読み出し、読み出した前記頂点情報前記最終使用ライン情報が前記処理対象のスキャンラインと一致する場合に前記頂点情報を上書き可能にする制御工程と、
    を有する画像描画方法。
JP2012005516A 2012-01-13 2012-01-13 画像描画装置、画像描画プログラム、及び、画像描画方法 Expired - Fee Related JP5845910B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2012005516A JP5845910B2 (ja) 2012-01-13 2012-01-13 画像描画装置、画像描画プログラム、及び、画像描画方法
US13/683,831 US9245370B2 (en) 2012-01-13 2012-11-21 Image drawing apparatus, computer-readable medium storing program, and method of the same
EP14153123.6A EP2738736B1 (en) 2012-01-13 2012-11-26 Image drawing apparatus with a cache memory
EP12194183.5A EP2615578B1 (en) 2012-01-13 2012-11-26 Image drawing apparatus with a cache memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012005516A JP5845910B2 (ja) 2012-01-13 2012-01-13 画像描画装置、画像描画プログラム、及び、画像描画方法

Publications (2)

Publication Number Publication Date
JP2013145465A JP2013145465A (ja) 2013-07-25
JP5845910B2 true JP5845910B2 (ja) 2016-01-20

Family

ID=47522287

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012005516A Expired - Fee Related JP5845910B2 (ja) 2012-01-13 2012-01-13 画像描画装置、画像描画プログラム、及び、画像描画方法

Country Status (3)

Country Link
US (1) US9245370B2 (ja)
EP (2) EP2615578B1 (ja)
JP (1) JP5845910B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2528263B (en) * 2014-07-14 2020-12-23 Advanced Risc Mach Ltd Graphics processing systems
CN111666318B (zh) * 2019-03-05 2023-10-27 阿里巴巴集团控股有限公司 图形绘制方法和装置以及电子设备

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0667982A (ja) 1992-08-14 1994-03-11 Nec Ibaraki Ltd アドレス変換方式
US5808627A (en) * 1994-04-22 1998-09-15 Apple Computer, Inc. Method and apparatus for increasing the speed of rendering of objects in a display system
JP3099940B2 (ja) 1995-12-25 2000-10-16 日本電気株式会社 3次元グラフィックス制御装置
JPH10222695A (ja) 1997-02-06 1998-08-21 Sony Corp 描画装置および描画方法
JPH1131236A (ja) * 1997-05-15 1999-02-02 Sega Enterp Ltd ポリゴンデータのソート方法及びこれを用いた画像処理装置
JP2000030081A (ja) 1998-07-14 2000-01-28 Hitachi Ltd 凹凸ポリゴンの描画方法および三次元描画装置
US6608625B1 (en) * 1998-10-14 2003-08-19 Hitachi, Ltd. Three dimensional graphic processor
US6972769B1 (en) 2004-09-02 2005-12-06 Nvidia Corporation Vertex texture cache returning hits out of order
JP2006135762A (ja) 2004-11-08 2006-05-25 Fujitsu Ltd パケット伝送制御装置及びパケット伝送制御方法
JP4219887B2 (ja) 2004-12-28 2009-02-04 富士通マイクロエレクトロニクス株式会社 画像処理装置及び画像処理方法
US7472227B2 (en) 2005-08-11 2008-12-30 International Business Machines Corporation Invalidating multiple address cache entries
US7952588B2 (en) 2006-08-03 2011-05-31 Qualcomm Incorporated Graphics processing unit with extended vertex cache
US8907964B2 (en) 2007-04-10 2014-12-09 Vivante Corporation System and method for dynamically reconfiguring a vertex cache
US8384728B2 (en) * 2007-09-14 2013-02-26 Qualcomm Incorporated Supplemental cache in a graphics processing unit, and apparatus and method thereof
US8436854B2 (en) * 2009-05-29 2013-05-07 Qualcomm Incorporated Graphics processing unit with deferred vertex shading
JP2011086235A (ja) 2009-10-19 2011-04-28 Fujitsu Ltd 画像処理装置、画像処理方法および画像処理プログラム

Also Published As

Publication number Publication date
US20130181981A1 (en) 2013-07-18
JP2013145465A (ja) 2013-07-25
EP2738736A1 (en) 2014-06-04
EP2615578B1 (en) 2017-03-29
EP2615578A1 (en) 2013-07-17
EP2738736B1 (en) 2016-11-23
US9245370B2 (en) 2016-01-26

Similar Documents

Publication Publication Date Title
US20230102320A1 (en) Tile-Based Graphics
US7697009B1 (en) Processing high numbers of independent textures in a 3-D graphics pipeline
KR100300972B1 (ko) 텍스춰매핑수행장치및텍스춰캐시의데이터억세스방법
TWI398771B (zh) 擷取資料的圖形處理器與方法
JP4861403B2 (ja) タイル化されたプリフェッチ及びキャッシングされたデプスバッファ
JP4880759B2 (ja) 3dグラフィック回路のための画素キャッシュ
US7027063B1 (en) Texture cache addressing
US9773476B2 (en) Cache memory system for a pixel shader and method of operating the same
KR100703709B1 (ko) 그래픽스 처리장치와 처리방법, 및 그 기록 매체
US6734867B1 (en) Cache invalidation method and apparatus for a graphics processing system
US9256536B2 (en) Method and apparatus for providing shared caches
US7348988B2 (en) Texture cache control using an adaptive missing data table in a multiple cache computer graphics environment
US11720499B2 (en) Selective generation of miss requests for cache lines
US9965827B2 (en) Graphics processing system for and method of storing and querying vertex attribute data in a cache
CN115794673A (zh) 系统级芯片non-Cacheable数据的访问方法、装置及电子设备
JP5845910B2 (ja) 画像描画装置、画像描画プログラム、及び、画像描画方法
KR102589298B1 (ko) 그래픽스 프로세싱 장치 및, 그래픽스 프로세싱 장치에서 캐시 바이패스를 제어하는 방법
JP2008305347A (ja) 干渉判定情報の生成方法及び装置
US6862028B2 (en) Bin pointer and state caching apparatus and method
US10515432B2 (en) Methods and apparatuses for managing graphics data using two-stage lookup tables in cache
JP4784446B2 (ja) 画像処理装置
US20240127526A1 (en) Texture sampling method and apparatus based on merge processing of texel requests
JP2003281564A (ja) 画像生成装置
JP2004133608A (ja) 画像生成装置
CN115809207A (zh) Cache中地址标记方法、装置、图形处理系统及电子设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140904

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150703

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150714

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150914

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20151027

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151109

R150 Certificate of patent or registration of utility model

Ref document number: 5845910

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees