(57)【特許請求の範囲】
【請求項１】
画像生成データを記憶し、行アドレスと列アドレスでアクセスされる主メモリ部および該主メモリ部に格納されているデータの一部を一時的に格納する補助メモリ部を有するメモリと、
上記メモリに設けられ、画像生成データのうち画素が表示される描画データと陰面消去に使用されるＺ座標との読み出し、または書き込みに用いられるリードライトポートと、
上記メモリに設けられ、上記画像生成データのうちディスプレイユニットに出力されるテクスチャデータの読み出しに用いられるリード専用ポートと、
各描画ピクセルに対応するテクスチャ座標で、上記テクスチャデータの物理アドレスを計算する座標変換手段とを有し、
上記座標変換手段は、所望のテクスチャデータが上記補助メモリ部にある間は、上記リード専用ポートを介して上記補助メモリ部から描画ピクセルに対応する上記テクスチャデータを読み出し、
所望のテクスチャデータが上記補助メモリ部にない間は、上記テクスチャデータの行の全てもしくは一部のデータを上記補助メモリ部に書き込み、上記リード専用ポートを介して上記補助メモリ部から上記所望のテクスチャデータを読み出す
ことを特徴とする画像生成装置。
【請求項２】
上記メモリは、
上記Ｚ座標および上記テクスチャデータおよび上記描画データを混在して格納するように操作されることを特徴とする請求項１に記載の画像生成装置。
【請求項３】
陰面消去するために上記テクスチャデータ、上記描画データ、および上記Ｚ座標が含まれている上記画像生成データを直線的に書き込む補間手段と、
各描画ピクセルのテクスチャデータの座標をメモリの１つの物理アドレスに変換するテクスチャ・マッピング・ユニットと、
上記補間手段および上記テクスチャ・マッピング・ユニットを介して上記テクスチャデータを上記メモリに供給するメモリ・インタフェース手段とをさらに有し、
上記メモリに含まれる描画データ・メモリおよび座標メモリの利用可能な自由な領域に上記テクスチャデータを格納する請求項１および請求項２に記載の画像生成装置。
【請求項４】
行アドレスと列アドレスでアクセスされる主メモリ部および該主メモリ部に格納されているデータの一部を一時的に格納する補助メモリ部を有するメモリに画像生成データを格納し、
上記画像生成データのうち画素が表示される描画データと陰面消去に使用されるＺ座標とをリードライトポートを介して、上記主メモリ部から読み出し、または上記主メモリ部に書き込み、
上記画像生成データのうちディスプレイユニットに出力されるテクスチャデータをリード専用ポートを介して、上記補助メモリから読み出し、
各描画ピクセルに対応するテクスチャ座標で、上記テクスチャデータの物理アドレスを座標変換手段により計算し、
上記座標変換手段は、所望のテクスチャデータが上記補助メモリ部にある間は、上記リード専用ポートを介して上記補助メモリ部から描画ピクセルに対応する上記テクスチャデータを読み出し、
所望のテクスチャデータが上記補助メモリ部にない間は、上記テクスチャデータの行の全てもしくは一部のデータを上記補助メモリ部に書き込み、上記リード専用ポートを介して上記補助メモリ部から上記所望のテクスチャデータを読み出す
ことを特徴とする画像生成方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、３次元コンピュータグラフィックス（３ＤＣＧ）において、比較的安価な構成で高速にテクスチャマッピングを行うことを可能とした画像生成装置およびその方法に関する。
【０００２】
【従来の技術】
近年、３ＤＣＧの応用分野は急激に拡大しており、ＣＡＤのみならず映像製作やビデオゲームなどにおいても広く利用されている。従って、３ＤＣＧシステムには、単に物体の３次元形状を２次元の画面上に表示するだけでなく、よりリアリティの高い画像を生成する能力が要求されてきている。グラフィックスの表現力を向上させる手法として、物体に絵や柄等を張り付けるテクスチャマッピングが上げられる。オブジェクトは三角形または正方形のような複数のプリミティブから構成される。テクスチャマッピングが各プリミティブ単位で実行される。３ＤＣＧシステムの中には、このテクスチャマッピングをハードウェアで実行するものもある。
【０００３】
図２０は、従来の画像生成装置の一例の概略構成を示すブロック図である。図２０において、１０１は、カラー値や座標やプリミティブの頂点のテクスチャ座標を受け取り、カラー値や座標値や各プリミティブにおけるテクスチャ座標の線形補間を行う補間部（以下、ＤＤＡ(Digital Differential Analyzer) 部と称する）、３０３はテクスチャデータを格納するメモリであるテクスチャメモリ部（以下、ＴＢＵＦ部と称する）、３０４−１は陰面消去に用いられるＺ座標を格納するメモリであるＺ座標メモリ部（以下、ＺＢＵＦ部と称する）、３０４−２は描画データを格納するメモリである描画データメモリ部（以下、ＦＢＵＦ部と称する）、３０１はＤＤＡ部１０１で得られた各描画ピクセルに対するテクスチャ座標をＴＢＵＦ部３０３の物理アドレスに変換しテクスチャマッピングを実行するテクスチャマッピング部（以下、ＴＭＡＰ部と称する）、３０２はＺＢＵＦ部３０４−１に対するＺ座標の読み出しや書き込み、およびＦＢＵＦ部３０４−２に対する描画データの読み出しや書き込みを行うメモリインターフェース部（以下、ＭＥＭＩＦ部と称する）である。
【０００４】
また、Ｄ１はＤＤＡ１０１に対するパラメータの設定やＴＢＵＦ３０３へのテクスチャのロードに用いられる信号線、Ｄ２およびＤ３は次段にデータを転送する信号線、Ｄ４は表示系へ表示データを転送する信号線、Ｂ３Ｘはテクスチャのロードおよびテクスチャデータの読み出しに用いられるバス、Ｂ１ＸはＺ座標の読み出しや書き込みに用いられるバス、Ｂ２Ｘは描画データの読み出しや書き込みに用いられるバスである。
【０００５】
以上のように構成された従来の画像生成装置について、その動作について説明する。ＤＤＡ部１０１には、例えば三角形のようなプリミティブ単位に、スクリーン座標、カラー値、テクスチャ座標の線形補間に必要なパラメータが設定される。各プリミティブごとに、カラー値、スクリーン座標、プリミティブの頂点のテクスチャ座標がパラメータとして、信号線Ｄ１を介してＤＤＡ部１０１に供給される。ＤＤＡ部１０１では、前記パラメータを用いて線形補間を行い、毎描画ピクセルごとのスクリーン座標、カラー値、テクスチャ座標を算出する。各描画ピクセルに対して算出されたスクリーン座標、カラー値、テクスチャ座標が信号線Ｄ２を介して、ＴＭＡＰ部３０１に供給される。ＴＭＡＰ部３０１では、ＤＤＡ部１０１で得たテクスチャ座標をＴＢＵＦ部３０３の物理アドレスに変換し、ＴＢＵＦ部３０３から物理アドレスに応じてテクスチャデータを読み出し、テクスチャマッピングを実行する。
【０００６】
スクリーン座標、カラー値、テクスチャデータがマッピングされるピクセルがＭＥＭＩＦ部３０２に供給される。ＭＥＭＩＦ部３０２では、ＴＭＡＰ部３０１でテクスチャマッピングを施された描画ピクセルのスクリーン座標の（Ｘ，Ｙ）座標を用いてＺＢＵＦ部３０４−１に格納された対応するＺ座標を読み出し、当該描画ピクセルのＺ座標と比較し、描画ピクセルが描かれれば、当該描画ピクセルのＺ座標を書き戻す。さらに、Ｚ比較にパスした描画ピクセルについては、当該描画ピクセルのスクリーン座標の（Ｘ，Ｙ）座標を用いて、必要とあればＦＢＵＦ部３０４−２に格納された描画データを読み出し、当該描画ピクセルのカラー値との間でロジカル・オペレーション等を実行した後、ＦＢＵＦ部３０４−２にカラー値を書き込む。また、表示を行う際には、ＭＥＭＩＦ部３０２は、ＦＢＵＦ部３０４−２に格納された描画データを順次読み出し、Ｄ４を介して表示系へ転送する。テクスチャデータがＤ１を介して供給され、ＤＤＡ部１０１とＴＭＡＰ部３０１を介してＴＢＵＦ部３０３にローディングされる。
【０００７】
図２１は、従来の画像生成装置の他の概略構成を示すブロック図である。図２１において、テクスチャデータは、Ｚ座標を格納するＺＢＵＦ部３０４−１や描画データを格納するＦＢＵＦ部３０４−２の空き領域に格納されている。また、テクスチャマッピングを実行するＴＭＡＰ部３０５には、テクスチャデータの一部を格納するテクスチャキャッシュ部（以下、ＴＣＡＣＨＥ部と称する）３０７が内蔵されている。ここで、Ｄ７はＺＢＵＦ部３０４−１やＦＢＵＦ部３０４−２から読み出されたテクスチャデータをＴＣＡＣＨＥ部３０７へ転送する信号線である。
【０００８】
図２１に示す従来の他の例は、テクスチャマッピングの動作を除いては、図２０に示した従来の画像生成装置と同様なので、ここではテクスチャマッピングの動作についてのみ説明する。ＴＣＡＣＨＥ部３０７は、通常ＳＲＡＭで構成されるため比較的小容量のメモリである。
【０００９】
テクスチャデータは、ＴＣＡＣＨＥ部３０７に収まるサイズの矩形の領域にあらかじめ分割され、ＺＢＵＦ部３０４−１やＦＢＵＦ部３０４−２の空き領域に格納される。ＴＭＡＰ部３０５は、描画ピクセルに対応するテクスチャデータがＴＣＡＣＨＥ部３０７にある場合には、ＴＣＡＣＨＥ部３０７からテクスチャデータを読み出し、テクスチャマッピングを実行する。描画ピクセルに対応するテクスチャデータがＴＣＡＣＨＥ部３０７にない場合には、必要とするテクスチャデータが属する矩形の領域を、ＺＢＵＦ部３０４−１またはＦＢＵＦ部３０４−２から順次読み出し、ＴＣＡＣＨＥ部３０７へロードした後、テクスチャマッピングを実行する。
【００１０】
図２２は、並列処理を行うようにした従来の画像生成装置のさらに他の例の概略構成を示すブロック図である。図２２において、１０１はカラー値や座標やプリミティブの頂点のテクスチャ座標を受け取り、カラー値や座標値や各プリミティブ単位、プリミティブにおけるテクスチャ座標の線形補間を行うＤＤＡ部、３０３ａおよび３０３ｂはテクスチャデータを格納するメモリであるＴＢＵＦ部、３０７−１および３０７−３は陰面消去に用いられるＺ座標を格納するメモリであるＺＢＵＦ部、３０７−２および３０７−４は描画データを格納するメモリであるＦＢＵＦ部、３０１ａおよび３０１ｂは１０１ａで得られた各描画ピクセルに対するテクスチャ座標を３０３ａおよび３０３ｂの物理アドレスに変換しテクスチャマッピングを実行するＴＭＡＰ部、３０２ａおよび３０２ｂはＺＢＵＦ部３０７−１および３０７−３に対するＺ座標の読み出しや書き込み、ＦＢＵＦ部３０７−２および３０７−４に対する描画データの読み出しや書き込みを行うＭＥＭＩＦ部である。
【００１１】
また、Ｄ１０はパラメータの設定やテクスチャのロードに用いられる信号線、Ｄ２０ａ、Ｄ２０ｂ、Ｄ３０ａおよびＤ３０ｂは次段にデータを転送する信号線、Ｄ４０は表示系へ表示データを転送する信号線、Ｂ３ＸａおよびＢ３Ｘｂはテクスチャのロードおよびテクスチャデータの読み出しに用いられるバス、Ｂ１ＸａおよびＢ１ＸｂはＺ座標の読み出しや書き込みに用いられるバス、Ｂ２ＸａおよびＢ２Ｘｂは描画データの読み出しや書き込みに用いられるバスである。
【００１２】
以上のように構成された従来の画像生成装置について、その動作について説明する。ＤＤＡ部１０１には、例えば三角形のようなプリミティブ単位に、スクリーン座標、カラー値、テクスチャ座標の線形補間に必要なパラメータが設定される。各プリミティブごとに、カラー値、スクリーン座標、プリミティブの頂点のテクスチャ座標がパラメータとして、信号線Ｄ１を介してＤＤＡ部１０１に供給される。ＤＤＡ部１０１では、前記パラメータを用いてプリミプリミティブにおいて線形補間を行う。この際、スクリーン座標のＹ座標が偶数である、つまり偶数スキャンラインに属する描画ピクセルとスクリーン座標のＹ座標値が奇数である描画ピクセルとを同時処理する、つまり、奇数スキャンラインに属する描画ピクセルが同時に処理される。それによって、各ラインのそれぞれの描画ピクセルのスクリーン座標、カラー値、テクスチャ座標が算出される。
【００１３】
偶数スキャンラインの各描画ピクセルのための算出されたスクリーン座標、カラー値、テクスチャ座標が信号線Ｄ２０ａを介してＴＭＡＰ部３０１ａを供給される。ＴＭＡＰ部３０１ａでは、ＤＤＡ部１０１で得た偶数スキャンラインに属する描画ピクセルのテクスチャ座標をＴＢＵＦ部３０３ａの物理アドレスに変換し、ＴＢＵＦ部３０３ａから物理アドレスに従ってテクスチャデータを読み出し、テクスチャマッピングを実行する。奇数スキャンラインの各描画ピクセルのための算出されたスクリーン座標、カラー値、テクスチャ座標が信号線Ｄ２０ｂを介してＴＭＡＰ部３０１ａに供給される。ＴＭＡＰ部３０１ｂでは、ＤＤＡ部１０１ａで得た奇数スキャンラインに属する描画ピクセルのテクスチャ座標をＴＢＵＦ部３０３ｂの物理アドレスに変換し、ＴＢＵＦ部３０３ｂから物理アドレスに従ってテクスチャデータを読み出し、テクスチャマッピングを実行する。
【００１４】
ＭＥＭＩＦ部３０２ａでは、ＴＭＡＰ部３０１ａでテクスチャマッピングを施された偶数スキャンラインに属する描画ピクセルのスクリーン座標の（Ｘ，Ｙ）座標を用いてＺＢＵＦ部３０７−１に格納された対応するＺ座標を読み出し、当該描画ピクセルのＺ座標と比較し、描画ピクセルが描かれれば、当該描画ピクセルのＺ座標を書き戻す。さらに、Ｚ比較にパスした描画ピクセルについては、当該描画ピクセルのスクリーン座標の（Ｘ，Ｙ）座標を用いて、必要とあればＦＢＵＦ部３０７−２に格納された描画データを読み出し、当該描画ピクセルのカラー値との間でロジカル・オペレーション等を実行した後、ＦＢＵＦ部３０７−２にカラー値を書き込む。
【００１５】
ＭＥＭＩＦ部３０２ｂでは、ＴＭＡＰ部３０１ｂでテクスチャマッピングを施された奇数スキャンラインに属する描画ピクセルのスクリーン座標の（Ｘ，Ｙ）座標を用いてＺＢＵＦ部３０７−３に格納された対応するＺ座標を読み出し、当該描画ピクセルのＺ座標と比較し、描画ピクセルが描かれれば、当該描画ピクセルのＺ座標を書き戻す。さらに、Ｚ比較にパスした描画ピクセルについては、当該描画ピクセルの（Ｘ，Ｙ）座標を用いて、必要とあればＦＢＵＦ部３０７−４に格納された描画データを読み出し、当該描画ピクセルのカラー値との間でロジカル・オペレーション等を実行した後、ＦＢＵＦ部３０７−４にカラー値を書き込む。また、表示を行う際には、ＭＥＭＩＦ部３０２ａおよび３０２ｂは、ＦＢＵＦ部３０７−２および３０７−４に格納された描画データを順次読み出し、Ｄ４０を介して表示系へ転送する。
【００１６】
以上述べたように、ＺＢＵＦ部３０７−１およびＦＢＵＦ部３０７−２には偶数スキャンラインに属するデータが格納され、ＺＢＵＦ部３０７−３およびＦＢＵＦ部３０７−４には奇数スキャンラインに属するデータが格納される。
【００１７】
次に、ＴＢＵＦ部３０３ａおよび３０３ｂに格納されるテクスチャデータについて説明する。図２３にスクリーン座標とテクスチャ座標との対応例を示す。図のように、スクリーン座標上で、Ｙ座標を変えずＸ座標のみを変化させても、テクスチャ座標上では、Ｕ座標もＶ座標も変化する。しかもその変化量は一様ではない。従って、偶数スキャンラインに属する描画ピクセルに対応するテクスチャデータと奇数スキャンラインに属する描画ピクセルに対応するテクスチャデータといったような分け方ができないため、ＴＢＵＦ部３０３ａと３０３ｂには全く同一のテクスチャデータを重複して格納している。
【００１８】
【発明が解決しようとする課題】
前述し、図２０に示した従来の画像生成装置の第１の例では、テクスチャデータがテクスチャ専用のメモリに格納されている。従って、Ｚバッファ法を使用しないアプリケーション、描画をシングルバッファで実現するアプリケーション、表示領域が小さいアプリケーションなどの場合に、Ｚ座標を格納するメモリや描画データを格納するメモリに空き領域があってもテクスチャデータの格納に利用できず、柔軟性に欠けるという問題点があった。
【００１９】
また、前述し、図２１に示した従来の画像生成装置の第２の例では、柔軟性はあるが、所望のテクスチャデータがＴＣＡＣＨＥ部３０７にない場合には、所望のテクスチャデータが属する矩形の領域がＺＢＵＦ部３０４−１またはＦＢＵＦ部３０４−２からＴＣＡＣＨＥ部３０７に転送されるまでテクスチャマッピングを実行できないとともに、その間、ＺＢＵＦ部３０４−１またはＦＢＵＦ部３０４−２に対するアクセスが停止するため、性能が低下するという問題点かあった。
【００２０】
さらに、前述した従来の画像生成装置の第３の例では、全く同一のテクスチャデータを重複して持たなければならないため、コストが増加するという問題点があった。
【００２１】
従って、この発明の目的は、上述した従来の画像生成装置の問題点を解決することにあり、比較的安価な構成で、柔軟性が高く高速にテクスチャマッピングを実行する画像生成装置およびその方法を提供することにある。
【００２２】
【課題を解決するための手段】
この目的を達成するために、この発明は、画像生成データを記憶し、行アドレスと列アドレスでアクセスされる主メモリ部および主メモリ部に格納されているデータの一部を一時的に格納する補助メモリ部を有するメモリと、
メモリに設けられ、画像生成データのうち画素が表示される描画データと陰面消去に使用されるＺ座標との読み出し、または書き込みに用いられるリードライトポートと、
メモリに設けられ、画像生成データのうちディスプレイユニットに出力されるテクスチャデータの読み出しに用いられるリード専用ポートと、
各描画ピクセルに対応するテクスチャ座標で、テクスチャデータの物理アドレスを計算する座標変換手段とを有し、
座標変換手段は、所望のテクスチャデータが補助メモリ部にある間は、リード専用ポートを介して補助メモリ部から描画ピクセルに対応するテクスチャデータを読み出し、
所望のテクスチャデータが補助メモリ部にない間は、テクスチャデータの行の全てもしくは一部のデータを補助メモリ部に書き込み、リード専用ポートを介して補助メモリ部から所望のテクスチャデータを読み出すことを特徴とする画像生成装置である。
【００２３】
また、この発明は、行アドレスと列アドレスでアクセスされる主メモリ部および主メモリ部に格納されているデータの一部を一時的に格納する補助メモリ部を有するメモリに画像生成データを格納し、
画像生成データのうち画素が表示される描画データと陰面消去に使用されるＺ座標とをリードライトポートを介して、主メモリ部から読み出し、または主メモリ部に書き込み、
画像生成データのうちディスプレイユニットに出力されるテクスチャデータをリード専用ポートを介して、補助メモリから読み出し、
各描画ピクセルに対応するテクスチャ座標で、テクスチャデータの物理アドレスを座標変換手段により計算し、
座標変換手段は、所望のテクスチャデータが補助メモリ部にある間は、リード専用ポートを介して補助メモリ部から描画ピクセルに対応するテクスチャデータを読み出し、
所望のテクスチャデータが補助メモリ部にない間は、テクスチャデータの行の全てもしくは一部のデータを補助メモリ部に書き込み、リード専用ポートを介して補助メモリ部から所望のテクスチャデータを読み出すことを特徴とする画像生成方法である。
【００２４】
ここで、メモリは行アドレスと列アドレスでアクセスされるＤＲＡＭ部と、ＤＲＡＭ部に格納されているデータの一部を一時的に格納する補助メモリ部を有し、座標変換手段は当該描画ピクセルに対応するテクスチャ（テクセル）を読み出す際に、所望のテクセルが補助メモリ部にある間は、読み出し専用ポートを介して補助メモリ部から読み出し、所望のテクセルが補助メモリ部にない場合には、当該テクセルが格納されている行の全てあるいは一部のデータを補助メモリ部に書き込み、読み出し専用ポートを介して補助メモリ部から読み出すことを特徴としている。
【００２５】
また、並列処理を行って高速化するために座標変換手段を複数個有する場合に、メモリが補助メモリ部を各々の座標変換手段に対応して複数個有するか、または補助メモリ部が各々の座標変換手段に対応して複数の読み出しポートを有し、複数の座標変換手段がメモリから同時にテクスチャデータを読み出すことを特徴としている。
【００２６】
この発明によれば、テクスチャデータをＺ座標を格納するメモリや描画データを格納するメモリの空き領域に格納することができ、メモリを柔軟かつ有効に利用できるとともに、高速にテクスチャマッピングを実行することができる。さらに、並列処理を行ってさらに高速化を図る場合でも、同一のテクスチャデータを複数持つ必要がなく、コストを削減することができる。
【００２７】
【発明の実施の形態】
以下、図面を参照してこの発明の実施形態について詳述する。図１はこの発明に係る画像生成装置の第１の実施形態の概略構成を示すブロック図である。図１において、各プリミティブに関するカラー値、スクリーン座標、プリミティブの頂点のテクスチャ座標がパラメーターとして、信号線Ｄ１を介してＤＤＡ部１０１に供給される。１０１はカラー値、座標値および各プリミティブ単位におけるテクスチャ座標の線形補間を行うＤＤＡ部、１０４−１は陰面消去に用いられるＺ座標を格納するメモリであるＺＢＵＦ部、１０４−２は描画データを格納するメモリであるＦＢＵＦ部であり、テクスチャデータは、ＺＢＵＦ部１０４−１およびＦＢＵＦ部１０４−２の空き領域に格納されている。
【００２８】
また、１０２はＤＤＡ部１０１で得られた各描画ピクセルに対するテクスチャ座標をＺＢＵＦ部１０４−１およびＦＢＵＦ部１０４−２の物理アドレスに変換しテクスチャマッピングを実行するＴＭＡＰ部、１０３はＺＢＵＦ部１０４−１に対するＺ座標の読み出しや書き込み、およびＦＢＵＦ部１０４−２に対する描画データの読み出しや書き込みを行うＭＥＭＩＦ部である。また、Ｄ１はパラメータの設定やテクスチャのロードに用いられる信号線、Ｄ２およびＤ３は次段にデータを転送する信号線、Ｄ４は表示系へ表示データを転送する信号線、Ｂ１はＺ座標の読み出しや書き込みに用いられるバス、Ｂ２は描画データの読み出しや書き込みに用いられるバスである。各描画ピクセルに対して算出されたスクリーン座標、カラー値、テクスチャ座標が信号線Ｄ２を介してＴＭＡＰ１０２部に供給される。
【００２９】
以上のように構成された画像生成装置について、以下その動作について説明する。ＤＤＡ部１０１の動作は、図２０および図２１に示した従来例におけるＤＤＡ部と同様なので説明を省略する。まず、テクスチャデータはＤＤＡ部１０１とＴＭＡＰ部１０２を通してＭＥＭＩＦ部１０３に送られ、ＺＢＵＦ部１０４−１およびＦＢＵＦ部１０４−２の空き領域にロードされる。ＴＭＡＰ部１０２では、ＤＤＡ部１０１で得たテクスチャ座標をＺＢＵＦ部１０４−１またはＦＢＵＦ部１０４−２の物理アドレスに変換し、ＺＢＵＦ部１０４−１およびＦＢＵＦ部１０４−２の読み出し専用ポートからＢ３を介してテクスチャデータを読み出し、テクスチャマッピングを実行する。
【００３０】
ＭＥＭＩＦ部１０３では、図２０および図２１に示した従来例におけるＭＥＭＩＦ部と同様の手順で、ＺＢＵＦ部１０４−１を用いたＺ比較と、ＦＢＵＦ部１０４−２に対する描画を行う。表示に関しても従来例と同様である。
【００３１】
次に、テクスチャマッピングの動作についてより詳細に説明する。ＺＢＵＦ部１０４−１およびＦＢＵＦ部１０４−２のメモリの内部構成を図２に示す。図２において、２０１は双方向のバッファ、２０２は行(Row) アドレスと列(Column)アドレスでアクセスされるＤＲＡＭ部、２０３は２０２に格納されているデータの一部を一時的に格納する補助メモリ部（ＡＵＸＭＥＭ部と称する）、２０４は読み出し用のバッファであり、２０４はバスＢ３に接続されている。また、ＺＢＵＦ部の場合には、双方向のバッファ２０１はバスＢ１に接続され、ＦＢＵＦ部の場合には、双方向のバッファ２０１はバスＢ２に接続される。Ｚ座標または描画データの読み出しや書き込みは双方向バッファ２０１を介して行われ、テクスチャデータの読み出しはバッファ２０４を介して行われる。
【００３２】
ＴＭＡＰ部１０２は所望のテクスチャデータがＺＢＵＦ部１０４−１またはＦＢＵＦ部１０４−２内のＡＵＸＭＥＭ部２０３にある場合には、ＴＭＡＰ部１０２で算出した物理アドレスをデコードすることによりＡＵＸＭＥＭ部２０３から所望のテクスチャデータを選択し、所望のテクスチャデータを格納している方のバッファ２０４をイネーブルしてＢ３を介して読み出し、テクスチャマッピングを実行する。
【００３３】
一方、所望のテクスチャデータがＺＢＵＦ部１０４−１およびＦＢＵＦ部１０４−２内のＡＵＸＭＥＭ部２０３にない場合には、ＴＭＡＰ部１０２はＭＥＭＩＦ部１０３に対してＡＤＲ（アドレス）信号線を介して所望のテクスチャデータの物理アドレスを与えるとともにＲＥＱ（リクエスト）信号線をアクティブにする。ＭＥＭＩＦ部１０３はＴＭＡＰ部から与えられた物理アドレスを用いて、ＺＢＵＦ部１０４−１またはＦＢＵＦ部１０４−２内のＤＲＡＭ部２０２における所望のテクスチャデータが属する行を活性化し、ＡＵＸＭＥＭ部２０３へ行全体のデータを同時に転送した後、ＲＤＹ（レディ）信号をアクティブにし転送完了を知らせる。ＴＭＡＰ部１０２は、ＲＤＹ信号がアクティブになると、前述した所望のテクスチャデータがＺＢＵＦ部１０４−１またはＦＢＵＦ部１０４−２内のＡＵＸＭＥＭ部２０３にある場合の手順でテクスチャデータを読み出し、テクスチャマッピングを実行する。
【００３４】
図９および図１０は、上述した第１の実施形態の動作を示すフローチャートである。図９は、ＴＭＡＰ部１０２の処理を示し、図１０がＭＥＭＩＦ部１０３の処理を示す。ＴＭＡＰ部１０２は、ステップＳ１で所望のテクスチャーデータがＡＵＸＭＥＭ部２０３に存在するかどうかを決定する。所望のテクスチャーデータが存在するときには、ＲＢＵＦ（読み出し用バッファ）およびバスＢ３を介してこのデータをＡＵＸＭＥＭ部２０３から読む（ステップＳ５）。
【００３５】
所望のテクスチャーデータがＡＵＸＭＥＭ部２０３に存在しないときは、ＡＤＲおよびＲＥＱをアクティブにし、ＭＥＭＩＦ部１０３に対してリクエスト信号を送り、所望のテクスチャーデータの物理アドレスを供給する（ステップＳ２）。ＭＥＭＩＦ部１０３は、ＴＭＡＰ部１０２からのリクエスト信号および物理アドレスを受け取る（ステップＳ７）。
【００３６】
ＭＥＭＩＦ部１０３は、受け取った物理アドレスに基づいてＤＲＡＭ部２０２中の所望のテクスチャーデータが属する行を活性化し、この行全体のデータをＡＵＸＭＥＭ部２０３へ転送する（ステップＳ８）。そして、ステップＳ９において、ＲＤＹ信号をアクティブにし、ＲＤＹ信号をＴＭＡＰ部１０２に送り、転送完了を知らせる（ステップＳ９）。
【００３７】
ＴＭＡＰ部１０２は、所望のテクスチャーデータの物理アドレスを送った後に動作待機状態（ステップＳ３）となる。そして、ＭＥＭＩＦ部１０３からのＲＤＹ信号を受け取る（ステップＳ４）。ＴＭＡＰ部１０２は、転送完了を知り、所望のテクスチャーデータがＡＵＸＭＥＭ部２０３に存在するときと同様に、ＡＵＸＭＥＭ部２０３から所望のテクスチャーデータを読み出す（ステップＳ５）。
【００３８】
以上のようにこの発明では、陰面消去に用いられるＺ座標を格納するメモリ（ＺＢＵＦ部）と表示装置上に表示されるべき描画データを格納するメモリ（ＦＢＵＦ部）がそれぞれＤＲＡＭ部と補助メモリ部を有し、ＤＲＡＭ部の１行分のデータを補助メモリ部へ一度に転送できる構成とされている。従って、この発明は、所望のテクスチャデータが補助メモリ部にない場合のペナルティが少ない。さらに、この発明は、両メモリが読み出し専用ポートを有し、描画データおよびＺ座標の読み出しあるいは書き込みと並行してテクスチャデータの読み出しを行う構成にすることにより、テクスチャデータを両メモリの空き領域に格納する柔軟性の高い構成をとりつつ高速なテクスチャマッピングを実現することができる。
【００３９】
図３は、この発明に係る画像生成装置の第２の実施形態の概略構成を示すブロック図である。図３において、１０１、１０２および１０３は図１に示した第１の実施形態と同様のＤＤＡ部、ＴＭＡＰ部、ＭＥＭＦ部である。また、信号線Ｄ１、Ｄ２、Ｄ３、Ｄ４、ＡＤＲ、ＲＥＱおよびＲＤＹも第１の実施形態と同様である。１０５−１から１０５−４は描画データ、Ｚ座標、テクスチャデータを格納するメモリ部（以下、ＭＥＭ部と称する）で、ＭＥＭ部の内部構成は図２に示したものと同様である。
【００４０】
Ｂ１０はＺ座標の読み出しや書き込みに用いられるバス、Ｂ２０は描画データの読み出しや書き込みに用いられるバス、Ｂ４１からＢ４４はＭＥＭ部１０５−１から１０５−４のそれぞれの内部のＲＷＢＵＦ２０１に接続されるバス、Ｂ３０はテクスチャデータの読み出しに用いられるバスで、ＭＥＭ部内部のＲＢＵＦ２０４に接続される。１０６−１から１０６−８は双方向のバッファ（以下、ＢＢと称する）である。
【００４１】
図１に示した第１の実施形態では、Ｚ座標の読み出しや書き込みに用いられるバスおよび描画データの読み出しや書き込みに用いられるバスとメモリの接続は固定化されており、Ｚ座標用のメモリと描画データ用のメモリが明確にわかれている。図３に示した第２の実施形態では、ＭＥＭ部１０５−１〜１０５−４に対して描画データ、Ｚ座標、テクスチャデータが混在して格納される。かかる図３に示す構成によって、Ｚ座標の読み出しや書き込みに用いられるバスおよび描画データの読み出しや書き込みに用いられるバスとメモリの接続を自由に変えることができ、より柔軟性を高めることができる。例えば、Ｚバッファ法を使用しないアプリケーションの場合には、ＭＥＭ部１０５−１から１０５−４全てを描画データとテクスチャデータの格納に使用することができ、より表示解像度の高い表示系に対応することができる。また、ＭＥＭ部１０５−１および１０５−２をＺ座標格納用メモリとし、ＭＥＭ部１０５−３および１０５−４を描画データ格納用メモリとして使用する場合には、それそれ２つのメモリバンクで構成されるから、メモリインターリーブの手法を用いれば、さらに高速な描画が可能となる。
【００４２】
図４は、この発明に係る画像生成装置の第３の実施形態の概略構成を示すブロック図である。図４において、４０１は画像データのロードを司る画像入力手段（以下、ＩＭＬＤ部と称する）である。実際には、ＩＭＬＤ部４０１は外部ビデオユニットまたは外部記憶ユニットのためのインターフェースである。ＩＭＬＤ部４０１は外部ビデオユニットまたは外部記憶ユニットとＭＥＭＩＦ部の間のタイミング制御や、ハンドシェークを担当する。４０２は画像データやテクスチャデータを格納するメモリ部（以下、ＩＢＵＦ部と称する）、Ｄ５およびＤ６は画像データのロードに用いられる信号線、Ｂ４は画像データのロードや画像データを表示する際の読み出しに用いられるバスである。他の構成は、図１に示す第１の実施形態と同じである。
【００４３】
以上のように構成された画像生成装置の第３の実施形態について、以下その動作について説明する。使用頻度が高くメモリ上になるべく常駐させたいテクスチャデータは、第１の実施形態と同様にＤＤＡ部１０１とＴＭＡＰ部１０２を通してＭＥＭＩＦ部１０３に送られ、ＺＢＵＦ部１０４−１およびＦＢＵＦ部１０４−２の空き領域にロードされる。一方、使用頻度が少ないか、頻繁に入れ替えを要するテクスチャデータについては、必要に応じて外部記憶装置から読み出され、Ｄ５を介してＩＭＬＤ部４０１に転送される。
【００４４】
ＩＭＬＤ部４０１はこのテクスチャデータをＤ６を介してＭＥＭＩＦ部１０３に転送し、ＭＲＥＭＩＦ部１０３はこのテクスチャデータをＢ４を介してＩＢＵＦ部４０２にロードする。また、ビデオ画像のように１秒間に３０回や６０回の書き換えを要する動画像データについても、同様の経路でＩＢＵＦ部４０２にロードされる。ＩＢＵＦ部４０２の内部構成は、ＺＢＵＦ部１０４−１およびＦＢＵＦ部１０４−２と同様である。ＩＢＵＦ部４０２にロードされたテクスチャデータあるいは動画像データは、第１の実施形態と同様の手順でＩＢＵＦ部４０２の読み出し専用ポートからＢ３を介して読み出され、テクスチャマッピングに用いられる。
【００４５】
以上のようにこの発明の第３の実施形態によれば、画像入力手段であるＩＭＬＤ部４０１を備え、描画データやＺ座標の読み出しあるいは書き込み、およびテクスチャデータの読み出しと並行して、テクスチャデータや動画像データのロードを行える構成とすることにより、ローカルメモリの容量を越える多くのテクスチャを使用するアプリケーションの場合に、テクスチャデータの入れ替えによる性能低下を最小限に抑えることができ、なおかつ動画像データを用いたテクスチャマッピングを実現することができる。
【００４６】
図５は、この発明に係る画像生成装置の第４の実施形態の概略構成を示すブロック図である。図５において、１０１ａはカラー値や座標値の線形補間を行うＤＤＡ部、１０７−１および１０７−３は陰面消去に用いられるＺ座標を格納するメモリであるＺＢＵＦ部、１０７−２および１０７−４は描画データを格納するメモリであるＦＢＵＦ部、１０２ａおよび１０２ｂはＤＤＡ部１０１ａで得られた各描画ピクセルに対するテクスチャ座標をＺＢＵＦ部１０７−１および１０７−３、ＦＢＵＦ部１０７−２および１０７−４の物理アドレスに変換しテクスチャマッピングを実行するＴＭＡＰ部、１０３ａおよび１０３ｂはＺＢＵＦ部１０７−１および１０７−３に対するＺ座標の読み出しや書き込み、ＦＢＵＦ部１０７−２および１０７−４に対する描画データの読み出しや書き込みを行うＭＥＭＩＦ部である。
【００４７】
また、信号線Ｄ１０、Ｄ２０ａ、Ｄ２０ｂ、Ｄ３０ａ、Ｄ３０ｂ、Ｄ４０は図２２に示した第３の従来例と同様に信号を転送するのに使用される。さらに、Ｂ３ａおよびＢ３ｂはテクスチャデータの読み出しに用いられるバス、Ｂ１ａおよびＢ１ｂはＺ座標の読み出しや書き込みに用いられるバス、Ｂ２ａおよびＢ２ｂは描画データの読み出しや書き込みに用いられるバスである。
【００４８】
以上のように構成された画像生成装置の第４の実施形態について、以下その動作について説明する。テクスチャマッピングの動作を除いては、図２２に示した第３の従来例と同様の動作がなされるので、ここではテクスチャマッピングの動作についてのみ説明する。ＺＢＵＦ部１０７−１、１０７−３、ＦＢＵＦ部１０７−２、１０７−４のメモリの内部構成を図６に示す。
【００４９】
図６において、２０１および２０２は図２で示した第１の実施形態と同様に、双方向バッファおよびＤＲＡＭ部である。２０３ａおよび２０３ｂはＤＲＡＭ部２０２に格納されているデータの一部を一時的に格納する補助メモリ部（ＡＵＸＭＥＭ部）であり、２０４ａおよび２０４ｂは読み出し用のバッファであり、ＲＢＵＦ部２０４ａはバスＢ３ａに接続され、読み出し用のバッファ２０４ｂはバスＢ３ｂに接続されている。
【００５０】
また、ＺＢＵＦ部１０７−１の場合には、双方向バッファ２０１がバスＢ１ａに接続され、ＺＢＵＦ部１０７−３の場合には、双方向バッファ２０１がバスＢ１ｂに接続され、ＦＢＵＦ部１０７−２の場合には、双方向バッファ２０１がバスＢ２ａに接続され、ＦＢＵＦ部１０７−４の場合には、双方向バッファ２０１がバスＢ２ｂに接続される。
【００５１】
Ｚ座標または描画データの読み出しや書き込みは双方向バッファ２０１を介して行われ、テクスチャデータの読み出しはバッファ２０４ａまたは２０４ｂを介して行われる。しかし、テクスチャデータはバッファ２０１を通して書かれている。ＴＭＡＰ部１０２ａは所望のテクスチャデータがＺＢＵＦ部１０７−１、１０７−３またはＦＢＵＦ部１０７−２、１０７−４内のＡＵＸＭＥＭ部２０３ａにある場合には、ＴＭＡＰ部１０２で算出した物理アドレスをデコードすることによりＡＵＸＭＥＭ部２０３ａから所望のテクスチャデータを選択し、所望のテクスチャデータを格納しているメモリのバッファ２０４ａをイネーブルしてＢ３ａを介して読み出し、テクスチャマッピングを実行する。
【００５２】
一方、所望のテクスチャデータがＺＢＵＦ部１０７−１、１０７−３およびＦＢＵＦ部１０７−２、１０７−４内のＡＵＸＭＥＭ部２０３ａにない場合には、ＴＭＡＰ部１０２ａは所望のテクスチャデータが格納されているメモリがＭＥＭＩＦ部１０３ａに接続されているときはＲＥＱａａをＭＥＭＩＦ部１０３ｂに接続されているときはＲＥＱａｂをアクティブにするとともにＡＤＲａ信号線を介して所望のテクスチャデータの物理アドレスを与える。
【００５３】
ＭＥＭＩＦ部１０３ａおよび１０３ｂはそれぞれＲＥＱａａ、ＲＥＱａｂがアクティブになると、ＴＭＡＰ部１０２ａから与えられた物理アドレスを用いて、それぞれＺＢＵＦ部１０７−１またはＦＢＵＦ部１０７−２、ＺＢＵＦ部１０７−３またはＦＢＵＦ部１０７−４内のＤＲＡＭ部２０２における所望のテクスチャデータが属する行を活性化し、ＡＵＸＭＥＭ部２０３ａへ行全体のデータを同時に転送した後、それぞれＲＤＹａａ、ＲＤＹａｂ信号をアクティブにし転送完了を知らせる。
【００５４】
ＴＭＡＰ部１０２ａは、ＲＤＹａａまたはＲＤＹａｂ信号がアクティブになると、前述した所望のテクスチャデータがＺＢＵＦ部１０７−１、１０７−３またはＦＢＵＦ部１０７−２、１０７−４内のＡＵＸＭＥＭ部２０３ａにある場合の手順でテクスチャデータを読み出し、テクスチャマッピングを実行する。ＴＭＡＰ部１０２ｂの動作についても同様である。
【００５５】
図１１、図１２および図１３に示すフローチャートは、図６に示す構成のメモリを使用した場合の動作を示す。図１１がＴＭＡＰ部１０２ａの処理を示す。ＴＭＡＰ部１０２ｂの処理は、カッコ内にサフィックスのみを示す。図１２は、ＭＥＭＩＦ部１０３ａの処理を示し、図１３は、ＭＥＭＩＦ部１０３ｂの処理を示す。
【００５６】
ＴＭＡＰ部１０２ａは、所望のテクスチャーデータがＡＵＸＭＥＭ部２０３ａ又は２０３ｂに存在するかどうかを決定する（ステップＳ１１）。所望のテクスチャーデータが存在するときには、ＲＢＵＦ２０４ａ又は２０４ｂとバスＢ３ａを介してＡＵＸＭＥＭ部２０３ａ又は２０３ｂからこのデータを読む（ステップＳ１７）。
【００５７】
所望のテクスチャーデータがＡＵＸＭＥＭ部２０３ａ又は２０３ｂに存在しないときは、ステップＳ１２において、所望のテクスチャーデータがＺ−ＢＵＦ１０７−１又はＺ−ＢＵＦ１０７−２のＤＲＡＭに存在するかどうかが決定される。若し、存在するならば、ステップＳ１３に処理が移り、ＡＤＲａおよびＲＥＱａａをアクティブにし、ＭＥＭＩＦ部１０３ａにリクエスト信号を送り、また、所望のテクスチャーデータの物理アドレスを送る（ステップＳ１３）。ＭＥＭＩＦ部１０３ａは、ＴＭＡＰ部１０２ａからのリクエスト信号および物理アドレスを受け取る（ステップＳ１９）。
【００５８】
ＭＥＭＩＦ部１０３ａは、受け取った物理アドレスに基づいてＤＲＡＭ部２０２中の所望のテクスチャーデータが属する行を活性化し、この行全体のデータをＡＵＸＭＥＭ部２０３ａ又は２０３ｂへ転送する（ステップＳ２０）。そして、ステップＳ２１において、ＲＤＹａａ信号をアクティブにし、ＲＤＹ信号をＴＭＡＰ部１０２ａに送り、転送完了を知らせる。そして、動作待機の状態となる（ステップＳ２２）。
【００５９】
ＴＭＡＰ部１０２ａは、所望のテクスチャーデータの物理アドレスを送った後に動作待機状態（ステップＳ１５）となる。そして、ＭＥＭＩＦ部１０３ａからのＲＤＹ信号を受け取る（ステップＳ１６）。ＴＭＡＰ部１０２ａは、転送完了を知り、所望のテクスチャーデータがＡＵＸＭＥＭ部２０３ａ又は２０３ｂに存在するときと同様に、ＡＵＸＭＥＭ部２０３ａ又は２０３ｂから所望のテクスチャーデータを読み出す（ステップＳ１７）。
【００６０】
所望のテクスチャーデータがＡＵＸＭＥＭ部２０３ａ又は２０３ｂに存在せず、また、ステップＳ１２において、所望のテクスチャーデータがＺ−ＢＵＦ１０７−１又はＺ−ＢＵＦ１０７−２のＤＲＡＭに存在しないときは、ＡＤＲａおよびＲＥＱａｂをアクティブにし、ＭＥＭＩＦ部１０３ｂにリクエスト信号を送り、また、所望のテクスチャーデータの物理アドレスを送る（ステップＳ１４）。ＭＥＭＩＦ部１０３ｂは、ＴＭＡＰ部１０２ａからのリクエスト信号および物理アドレスを受け取る（ステップＳ２４）。
【００６１】
ＭＥＭＩＦ部１０３ｂは、受け取った物理アドレスに基づいてＤＲＡＭ部２０２中の所望のテクスチャーデータが属する行を活性化し、この行全体のデータをＡＵＸＭＥＭ部２０３ａ又は２０３ｂへ転送する（ステップＳ２５）。そして、ステップＳ２６において、ＲＤＹａｂ信号をアクティブにし、ＲＤＹ信号をＴＭＡＰ部１０２ａに送り、転送完了を知らせる。そして、動作待機の状態となる（ステップＳ２７）。
【００６２】
ＴＭＡＰ部１０２ａは、所望のテクスチャーデータの物理アドレスを送った後に動作待機状態（ステップＳ１５）となる。そして、ＭＥＭＩＦ部１０３ｂからのＲＤＹ信号を受け取る（ステップＳ１６）。ＴＭＡＰ部１０２ａは、転送完了を知り、所望のテクスチャーデータがＡＵＸＭＥＭ部２０３ａ又は２０３ｂに存在するときと同様に、ＡＵＸＭＥＭ部２０３ａ又は２０３ｂから所望のテクスチャーデータを読み出す（ステップＳ１７）。
【００６３】
ＺＢＵＦ部１０７−１、１０７−３、ＦＢＵＦ部１０７−２、１０７−４のメモリの他の内部構成例を図７に示す。図７において、２０１、２０２、２０４ａ、および２０４ｂは図６に示したものと同様に、双方向バッファ、ＤＲＡＭ部、および読み出し用のバッファである。２０５はＤＲＡＭ部２０２に格納されているデータの一部を一時的に格納する補助メモリ部（ＡＵＸＭＥＭ部）であり、２つの読み出しポートを有し、ＴＭＡＰ部１０２ａおよび１０２ｂから要求される異なるテクスチャデータを同時に読み出すことができる。図７に示した内部構成のメモリを用いた場合の動作手順は、上述の図６に示した内部構成のメモリを用いた場合と同様である。
【００６４】
図１４、図１５および図１６に示すフローチャートは、図７に示す構成のメモリを使用した場合の動作を示す。図１４がＴＭＡＰ部１０２ａの処理を示す。ＴＭＡＰ部１０２ｂの処理は、カッコ内にサフィックスのみを示す。図１５は、ＭＥＭＩＦ部１０３ａの処理を示し、図１６は、ＭＥＭＩＦ部１０３ｂの処理を示す。
【００６５】
ＴＭＡＰ部１０２ａは、所望のテクスチャーデータがＡＵＸＭＥＭ部２０５に存在するかどうかを決定する（ステップＳ３１）。所望のテクスチャーデータが存在するときには、ＲＢＵＦ２０４ａ又は２０４ｂとバスＢ３ａを介してＡＵＸＭＥＭ部２０５からこのデータを読む（ステップＳ３７）。
【００６６】
所望のテクスチャーデータがＡＵＸＭＥＭ部２０５に存在しないときは、ステップＳ３２において、所望のテクスチャーデータがＺ−ＢＵＦ１０７−１又はＺ−ＢＵＦ１０７−２のＤＲＡＭに存在するかどうかが決定される。若し、存在するならば、ステップＳ３３に処理が移り、ＡＤＲａおよびＲＥＱａａをアクティブにし、ＭＥＭＩＦ部１０３ａにリクエスト信号を送り、また、所望のテクスチャーデータの物理アドレスを送る（ステップＳ３３）。ＭＥＭＩＦ部１０３ａは、ＴＭＡＰ部１０２ａからのリクエスト信号および物理アドレスを受け取る（ステップＳ３９）。
【００６７】
ＭＥＭＩＦ部１０３ａは、受け取った物理アドレスに基づいてＤＲＡＭ部２０２中の所望のテクスチャーデータが属する行を活性化し、この行全体のデータをＡＵＸＭＥＭ部２０５へ転送する（ステップＳ４０）。そして、ステップＳ４１において、ＲＤＹａａ信号をアクティブにし、ＲＤＹ信号をＴＭＡＰ部１０２ａに送り、転送完了を知らせる。そして、動作待機の状態となる（ステップＳ４２）。
【００６８】
ＴＭＡＰ部１０２ａは、所望のテクスチャーデータの物理アドレスを送った後に動作待機状態（ステップＳ３５）となる。そして、ＭＥＭＩＦ部１０３ａからのＲＤＹ信号を受け取る（ステップＳ３６）。ＴＭＡＰ部１０２ａは、転送完了を知り、所望のテクスチャーデータがＡＵＸＭＥＭ部２０５に存在するときと同様に、ＡＵＸＭＥＭ部２０５から所望のテクスチャーデータを読み出す（ステップＳ３７）。
【００６９】
所望のテクスチャーデータがＡＵＸＭＥＭ部２０５に存在せず、また、ステップＳ３２において、所望のテクスチャーデータがＺ−ＢＵＦ１０７−１又はＺ−ＢＵＦ１０７−２のＤＲＡＭに存在しないときは、ＡＤＲａおよびＲＥＱａｂをアクティブにし、ＭＥＭＩＦ部１０３ｂにリクエスト信号を送り、また、所望のテクスチャーデータの物理アドレスを送る（ステップＳ３４）。ＭＥＭＩＦ部１０３ｂは、ＴＭＡＰ部１０２ａからのリクエスト信号および物理アドレスを受け取る（ステップＳ４４）。
【００７０】
ＭＥＭＩＦ部１０３ｂは、受け取った物理アドレスに基づいてＤＲＡＭ部２０２中の所望のテクスチャーデータが属する行を活性化し、この行全体のデータをＡＵＸＭＥＭ部２０５へ転送する（ステップＳ４５）。そして、ステップＳ４６において、ＲＤＹａｂ信号をアクティブにし、ＲＤＹ信号をＴＭＡＰ部１０２ａに送り、転送完了を知らせる（ステップＳ４６）。そして、動作待機の状態となる（ステップＳ４７）。
【００７１】
ＴＭＡＰ部１０２ａは、所望のテクスチャーデータの物理アドレスを送った後に動作待機状態（ステップＳ３５）となる。そして、ＭＥＭＩＦ部１０３ｂからのＲＤＹ信号を受け取る（ステップＳ３６）。ＴＭＡＰ部１０２ａは、転送完了を知り、所望のテクスチャーデータがＡＵＸＭＥＭ部２０５に存在するときと同様に、ＡＵＸＭＥＭ部２０５から所望のテクスチャーデータを読み出す（ステップＳ３７）。
【００７２】
ＺＢＵＦ部１０７−１、１０７−３、ＦＢＵＦ部１０７−２、１０７−４のメモリのさらに他の内部構成例を図８に示す。図８において、２０６は入力信号Ｄ２０３およびＤ２０４と、出力信号Ｄ２０５およびＤ２０６の間の接続を切り換えるＳＷＩＴＣＨ部である。Ｄ２０１はＤＲＡＭ部２０２の１行分のデータをＡＵＸＭＥＭ部２０３ａに転送する信号線、Ｄ２０２はＡＵＸＭＥＭ部２０３ａに格納されている全てのデータをＡＵＸＭＥＭ部２０３ｂに転送する信号線、Ｄ２０３はＡＵＸＭＥＭ部２０３ａから選択されたデータをＳＷＩＴＣＨ部２０６に転送する信号線、Ｄ２０４はＡＵＸＭＥＭ部２０３ｂから選択されたデータをＳＷＩＴＣＨ部２０６に転送する信号線、Ｄ２０5 およびＤ２０6 はＳＷＩＴＣＨ部２０６の出力をＲＢＵＦ部２０４ａおよび２０４ｂに接続する信号線である。
【００７３】
その他は図６に示した内部構成例と同様である。ただし、図６に示した内部構成例ではＡＵＸＭＥＭ部２０３ａと２０３ｂが並列に接続されていたが、図８に示した内部構成例ではＡＵＸＭＥＭ部２０３ａと２０３ｂが直列に接続され、ＤＲＡＭ部２０２からＡＵＸＭＥＭ部２０３ｂへデータを直接転送する経路がない。以上のような内部構成にすることにより、ＡＵＸＭＥＭ部の配置やＤＲＡＭ部とＡＵＸＭＥＭ部間の配線が容易になり、図６に示した内部構成を有するメモリに比べてより小さいダイサイズで実現することができる。
【００７４】
図８に示した内部構成を有するメモリを使用した場合について、以下その動作について説明する。図６に示した内部構成例ではＴＭＡＰ部１０２ａはＡＵＸＭＥＭ部２０３ａの内容、ＴＭＡＰ部１０２ｂはＡＵＸＭＥＭ部２０３ｂの内容を参照するよう固定化されているが、図８の例の場合には、固定化されない。
【００７５】
今、ＴＭＡＰ部１０２ａはＡＵＸＭＥＭ部２０３ａを、ＴＭＡＰ部１０２ｂはＡＵＸＭＥＭ部２０３ｂを参照しているとする。このとき、ＴＭＡＰ部１０２ｂが必要とするテクスチャデータがＡＵＸＭＥＭ部２０３ｂになくなると、ＡＵＸＭＥＭ部２０３ａに格納されているデータの全てがＤ２０２を介してＡＵＸＭＥＭ部２０３ｂに転送され、ＴＭＡＰ部１０２ｂが必要とするテクスチャデータが属する行が活性化され、ＡＵＸＭＥＭ部２０３ａへ行全体のデータが転送される。
【００７６】
また、ＳＷＩＴＣＨ部２０６は信号線Ｄ２０３とＤ２０６、Ｄ２０４とＤ２０５がつながるよう接続を切り換える。転送完了後、ＴＭＡＰ部１０２ｂはＡＵＸＭＥＭ部２０３ａから所望のテクスチャデータを選択する。選択されたテクスチャデータは信号線Ｄ２０３、Ｄ２０６、Ｂ３ｂの経路で読み出される。一方、ＴＭＡＰ部１０２ａがＡＵＸＭＥＭ部２０３ａを参照し、ＴＭＡＰ部１０２ｂがＡＵＸＭＥＭ部２０３ｂを参照しているとき、ＴＭＡＰ部１０２ａが必要とするテクスチャデータがＡＵＸＭＥＭ部２０３ａになくった場合には、ＤＲＡＭ部２０２からＡＵＸＭＥＭ部２０３ａへの転送は行われるが、ＡＵＸＭＥＭ部２０３ａからＡＵＸＭＥＭ部２０３ｂへの転送は行われない。また、ＳＷＩＴＣＨ部２０６による接続の切り換えも行われない。
【００７７】
図１７、図１８および図１９に示すフローチャートは、図８に示す構成のメモリを使用した場合の動作を示す。図１７がＴＭＡＰ部１０２ａの処理を示す。ＴＭＡＰ部１０２ｂの処理は、カッコ内にサフィックスのみを示す。図１８は、ＭＥＭＩＦ部１０３ａの処理を示し、図１９は、ＭＥＭＩＦ部１０３ｂの処理を示す。
【００７８】
ＴＭＡＰ部１０２ａは、所望のテクスチャーデータがＡＵＸＭＥＭ部２０３ａ又は２０３ｂに存在するかどうかを決定する（ステップＳ５１）。所望のテクスチャーデータが存在するときには、ＲＢＵＦ２０４ａ又は２０４ｂとバスＢ３ａを介してＡＵＸＭＥＭ部２０３ａ又は２０３ｂからこのデータを読む（ステップＳ５７）。
【００７９】
所望のテクスチャーデータがＡＵＸＭＥＭ部２０３ａ又は２０３ｂに存在しないときは、ステップＳ５２において、所望のテクスチャーデータがＺ−ＢＵＦ１０７−１又はＺ−ＢＵＦ１０７−２のＤＲＡＭに存在するかどうかが決定される。若し、存在するならば、ステップＳ５３に処理が移り、ＡＤＲａおよびＲＥＱａａをアクティブにし、ＭＥＭＩＦ部１０３ａにリクエスト信号を送り、また、所望のテクスチャーデータの物理アドレスを送る（ステップＳ５３）。ＭＥＭＩＦ部１０３ａは、ＴＭＡＰ部１０２ａからのリクエスト信号および物理アドレスを受け取る（ステップＳ５９）。
【００８０】
ＭＥＭＩＦ部１０３ａは、受け取った物理アドレスに基づいてＤＲＡＭ部２０２中の所望のテクスチャーデータが属する行を活性化し、この行全体のデータをＡＵＸＭＥＭ部２０３ａへ転送する（ステップＳ６０）。このステップＳ６０において、若し、ＡＵＸＭＥＭ部２０３ａにデータが存在するならば、ＡＵＸＭＥＭ部２０３ａ中のデータをＡＵＸＭＥＭ部２０３ｂにシフトし、その後、データをＡＵＸＭＥＭ部２０３ａに転送する。そして、ステップＳ６１において、ＲＤＹａａ信号をアクティブにし、ＲＤＹ信号をＴＭＡＰ部１０２ａに送り、転送完了を知らせる。そして、動作待機の状態となる（ステップＳ６２）。
【００８１】
ＴＭＡＰ部１０２ａは、所望のテクスチャーデータの物理アドレスを送った後に動作待機状態（ステップＳ５５）となる。そして、ＭＥＭＩＦ部１０３ａからのＲＤＹ信号を受け取る（ステップＳ５６）。ＴＭＡＰ部１０２ａは、転送完了を知り、所望のテクスチャーデータがＡＵＸＭＥＭ部２０３ａ又は２０３ｂに存在するときと同様に、ＡＵＸＭＥＭ部２０３ａ又は２０３ｂから所望のテクスチャーデータを読み出す（ステップＳ５７）。
【００８２】
所望のテクスチャーデータがＡＵＸＭＥＭ部２０３ａ又は２０３ｂに存在せず、また、ステップＳ５２において、所望のテクスチャーデータがＺ−ＢＵＦ１０７−１又はＺ−ＢＵＦ１０７−２のＤＲＡＭに存在しないときは、ＡＤＲａおよびＲＥＱａｂをアクティブにし、ＭＥＭＩＦ部１０３ｂにリクエスト信号を送り、また、所望のテクスチャーデータの物理アドレスを送る（ステップＳ５４）。ＭＥＭＩＦ部１０３ｂは、ＴＭＡＰ部１０２ａからのリクエスト信号および物理アドレスを受け取る（ステップＳ６４）。
【００８３】
ＭＥＭＩＦ部１０３ｂは、受け取った物理アドレスに基づいてＤＲＡＭ部２０２中の所望のテクスチャーデータが属する行を活性化し、この行全体のデータをＡＵＸＭＥＭ部２０３ａ又は２０３ｂへ転送する（ステップＳ６５）。このステップＳ６５において、若し、ＡＵＸＭＥＭ部２０３ａにデータが存在するならば、ＡＵＸＭＥＭ部２０３ａ中のデータをＡＵＸＭＥＭ部２０３ｂにシフトし、その後、データをＡＵＸＭＥＭ部２０３ａに転送する。そして、ステップＳ６６において、ＲＤＹａｂ信号をアクティブにし、ＲＤＹ信号をＴＭＡＰ部１０２ａに送り、転送完了を知らせる。そして、動作待機の状態となる（ステップＳ６７）。
【００８４】
ＴＭＡＰ部１０２ａは、所望のテクスチャーデータの物理アドレスを送った後に動作待機状態（ステップＳ５５）となる。そして、ＭＥＭＩＦ部１０３ｂからのＲＤＹ信号を受け取る（ステップＳ５６）。ＴＭＡＰ部１０２ａは、転送完了を知り、所望のテクスチャーデータがＡＵＸＭＥＭ部２０３ａ又は２０３ｂに存在するときと同様に、ＡＵＸＭＥＭ部２０３ａ又は２０３ｂから所望のテクスチャーデータを読み出す（ステップＳ５７）。
【００８５】
以上のようにこの発明の第４の実施形態では、陰面消去に用いられるＺ座標を格納するメモリ（ＺＢＵＦ部）と、表示装置上に表示されるべき描画データを格納するメモリ（ＦＢＵＦ部）がＤＲＡＭ部と補助メモリ部を有し、なおかつ並列度に応じてこの補助メモリ部を複数個有するか、またはこの補助メモリ部が複数の読み出しポートを有する構成とされている。かかるこの発明の第４の実施形態によれば、複数のＴＭＡＰ部がテクスチャデータを同時に読み出すことができ、テクスチャデータを両メモリの空き領域に格納する柔軟性の高い構成をとりつつ、全く同一のテクスチャデータを重複して持つ必要がなく、比較的安価な構成で高速なテクスチャマッピングを実現することができる。
【００８６】
なお、図４に示した第３の実施形態では、Ｚ座標の読み出しや書き込みに用いられるバス、描画データの読み出しや書き込みに用いられるバスおよび画像データのロードに用いられるバスとメモリの接続は固定化されているが、図３に示した第２の実施形態のように、双方向のバッファを用いてバスとメモリの接続を自由に変えられるようにすることにより、柔軟性をより高めることができる。また、図４に示した第３の実施形態において、図３に示した第２の実施形態のように、メモリを複数のバンクで構成し、メモリインターリーブの手法を用いることにより、さらに高速な描画性能を実現することができる。
【００８７】
また、図５に示した第４の実施形態でも、Ｚ座標の読み出しや書き込みに用いられるバスおよび描画データの読み出しや書き込みに用いられるバスとメモリの接続は固定化されているが、図３に示した第２の実施形態のように、双方向のバッファを用いてバスとメモリの接続を自由に変えられるようにすることにより、柔軟性をより高めることができる。また、図５に示した第４の実施形態において、図３に示した第２の実施形態のように、メモリを複数のバンクで構成し、メモリインターリーブの手法を用いることにより、さらに高速な描画性能を実現することができる。
【００８８】
さらに、図５に示した第４の実施形態においても、図４に示した第３の実施形態のように画像入力手段を備えることにより、テクスチャデータの入れ替えによる性能低下を最小限に抑えることができ、なおかつ動画像データを用いたテクスチャマッピングを実現することができる。
【００８９】
【発明の効果】
以上説明したように、この発明では、表示装置上に表示されるべき描画データ、あるいは陰面消去に用いられるＺ座標を格納するメモリと、描画ピクセルに対応するテクスチャ座標からテクスチャデータの物理アドレスを算出する座標変換手段を有し、メモリがＤＲＡＭ部と補助メモリ部を有し、ＤＲＡＭ部の１行分の全てあるいは一部のデータを補助メモリ部へ一度に転送できる構成とされている。それによって、所望のテクスチャデータが補助メモリ部にない場合のペナルティを少ないものとできる。さらに、メモリが読み出し専用ポートを有し、描画データおよびＺ座標の読み出しあるいは書き込みと並行してテクスチャデータの読み出しを行う構成にすることにより、テクスチャデータを両メモリの空き領域に格納する柔軟性の高い構成をとりつつ高速なテクスチャマッピングを実現することができる。
【００９０】
また、座標変換手段を複数個有し、並列処理を行う場合に、並列度に応じて上述の補助メモリ部を複数個有するか、またはこの補助メモリ部が複数の読み出しポートを有する構成とすることにより、複数の座標変換手段がテクスチャデータを同時に読み出すことができ、全く同一のテクスチャデータを重複して持つ必要がなく、比較的安価な構成で高速なテクスチャマッピングを実現することができる。
【００９１】
さらに、画像入力手段を備え、描画データやＺ座標の読み出しあるいは書き込み、およびテクスチャデータの読み出しと並行して、テクスチャデータや動画像データのロードを行える構成とすることにより、ローカルメモリの容量を越える多くのテクスチャを使用するアプリケーションの場合でも、テクスチャデータの入れ替えによる性能低下を最小限に抑えることができ、なおかつ動画像データを用いたテクスチャマッピングを実現することができる。
【図面の簡単な説明】
【図１】この発明に係る画像生成装置の第１の実施形態の概略構成を示すブロック図である。
【図２】この発明に係る画像生成装置の第１の実施形態におけるメモリの内部構成を示すブロック図である。
【図３】この発明に係る画像生成装置の第２の実施形態の概略構成を示すブロック図である。
【図４】この発明に係る画像生成装置の第３の実施形態の概略構成を示すブロック図である。
【図５】この発明に係る画像生成装置の第４の実施形態の概略構成を示すブロック図である。
【図６】この発明に係る画像生成装置の第４の実施形態におけるメモリの内部構成を示すブロック図である。
【図７】この発明に係る画像生成装置の第４の実施形態におけるメモリの他の内部構成を示すブロック図である。
【図８】この発明に係る画像生成装置の第４の実施形態におけるメモリのさらに他の内部構成を示すブロック図である。
【図９】この発明に係る画像生成装置の第１の実施形態におけるＴＭＡＰ部１０２の処理を示すフローチャートである。
【図１０】この発明に係る画像生成装置の第１の実施形態におけるＭＥＭＩＦ部１０３の処理を示すフローチャートである。
【図１１】この発明に係る画像生成装置の第４の実施形態において図６に示す構成のメモリを使用した場合のＴＭＡＰ部１０２ａ（１０２ｂ）の処理を示すフローチャートである。
【図１２】この発明に係る画像生成装置の第４の実施形態において図６に示す構成のメモリを使用した場合のＭＥＭＩＦ部１０３ａの処理を示すフローチャートである。
【図１３】この発明に係る画像生成装置の第４の実施形態において図６に示す構成のメモリを使用した場合のＭＥＭＩＦ部１０３ｂの処理を示すフローチャートである。
【図１４】この発明に係る画像生成装置の第４の実施形態において図７に示す構成のメモリを使用した場合のＴＭＡＰ部１０２ａ（１０２ｂ）の処理を示すフローチャートである。
【図１５】この発明に係る画像生成装置の第４の実施形態において図７に示す構成のメモリを使用した場合のＭＥＭＩＦ部１０３ａの処理を示すフローチャートである。
【図１６】この発明に係る画像生成装置の第４の実施形態において図７に示す構成のメモリを使用した場合のＭＥＭＩＦ部１０３ｂの処理を示すフローチャートである。
【図１７】この発明に係る画像生成装置の第４の実施形態において図８に示す構成のメモリを使用した場合のＴＭＡＰ部１０２ａ（１０２ｂ）の処理を示すフローチャートである。
【図１８】この発明に係る画像生成装置の第４の実施形態において図８に示す構成のメモリを使用した場合のＭＥＭＩＦ部１０３ａの処理を示すフローチャートである。
【図１９】この発明に係る画像生成装置の第４の実施形態において図８に示す構成のメモリを使用した場合のＭＥＭＩＦ部１０３ｂの処理を示すフローチャートである。
【図２０】従来の画像生成装置の概略構成を示すブロック図である。
【図２１】従来の他の画像生成装置の概略構成を示すブロック図である。
【図２２】従来のさらに他の画像生成装置の概略構成を示すブロック図である。
【図２３】スクリーン座標とテクスチャ座標との対応を説明するための図である。
【符号の説明】
１０１，１０１ａ・・・補間部、１０２，１０２ａ，１０２ｂ，３０１，３０１ａ，３０１ｂ，３０５・・・座標変換手段、１０３，１０３ａ，１０３ｂ，３０２，３０２ａ，３０２ｂ，３０６・・・メモリインターフェース部、１０４−１，１０４−２・・・メモリ、１０５−１〜１０５−４・・・メモリ、１０６−１〜１０６−８・・・双方向バッファ、１０７−１〜１０７−４・・・メモリ、２０1 ・・・双方向バッファ、２０２・・・ＤＲＡＭ部、２０３，２０３ａ，２０３ｂ，２０５・・・補助メモリ部、２０４，２０４ａ，２０４ｂ・・・読み出しバッファ、２０６・・・接続切り換えスイッチ、３０３，３０３ａ，３０３ｂ・・・テクスチャメモリ、３０４−１，３０７−１，３０７−３・・・Ｚ座標メモリ、３０４−２，３０７−２，３０７−４・・・描画データメモリ、３０７・・・テクスチャキャッシュ、４０１・・・画像入力手段、４０２・・・画像データメモリ、Ｄ１，Ｄ２，Ｄ３，Ｄ４，Ｄ５，Ｄ６，Ｄ７・・・データ信号線、Ｄ１０，Ｄ２０ａ，Ｄ２０ｂ，Ｄ３０ａ，Ｄ３０ｂ，Ｄ４０・・・データ信号線、Ｄ２０1 〜Ｄ２０6 ・・・データ信号線、Ｂ１〜Ｂ４・・・バス、ＡＤＲ，ＲＥＱＲＤＹ，ＡＤＲａ，ＡＤＲｂ，ＲＥＱａａ，ＲＥＱａｂ，ＲＥＱｂａ，ＲＥＱｂｂ，ＲＤＹａａ，ＲＤＹａｂ，ＲＤＹｂａ，ＲＤＹｂｂ・・・制御信号線
【図１】
0003879189.tif 000002
【図２】
0003879189.tif 000003
【図３】
0003879189.tif 000004
【図４】
0003879189.tif 000005
【図５】
0003879189.tif 000006
【図６】
0003879189.tif 000007
【図７】
0003879189.tif 000008
【図８】
0003879189.tif 000009
【図９】
0003879189.tif 000010
【図１０】
0003879189.tif 000011
【図１１】
0003879189.tif 000012
【図１２】
0003879189.tif 000013
【図１３】
0003879189.tif 000014
【図１４】
0003879189.tif 000015
【図１５】
0003879189.tif 000016
【図１６】
0003879189.tif 000017
【図１７】
0003879189.tif 000018
【図１８】
0003879189.tif 000019
【図１９】
0003879189.tif 000020
【図２０】
0003879189.tif 000021
【図２１】
0003879189.tif 000022
【図２２】
0003879189.tif 000023
【図２３】
0003879189.tif 000024