(57)【特許請求の範囲】
【請求項１】
ゲームに登場するキャラクタ及び物を表現した三次元表示物を視点座標系の投影面に透視投影変換することで得られた画像をディスプレイ上に表示するために、前記ディスプレイに表示する画像を記憶するフレームバッファ、前記三次元表示物の奥行き情報を記憶するＺバッファ、テクスチャマッピングに用いられるテクチャデータを記憶するテクスチャバッファのうち少なくとも２つに共有され、前記共有バッファに割り当てられる容量がゲーム進行状況に応じて可変であるメモリ領域を備えるゲーム装置であって、
前記共有バッファに割り当てられる容量を、前記ディスプレイの一画素に対する前記奥行き情報に対する要求値である要求ビット長に応じて変更するとともに、前記ディスプレイへの画像表示領域、同時発色数、三次元表示物間の奥行き判定精度のいずれかが変化する際に変更するメモリ領域制御手段を備えることを特徴とするゲーム装置。
【請求項２】
前記共有バッファに割り当てられる容量を、前記ディスプレイ表示に対する要求画素数に応じて変更することを特徴とする請求項１に記載のゲーム装置。
【請求項３】
前記要求ビット長は、同時発色数に対する要求値であることを特徴とする請求項１記載のゲーム装置。
【請求項４】
前記共有バッファに割り当てられる容量を、ステージ切換時または場面切換時に変更することを特徴とする請求項１記載のゲーム装置。
【請求項５】
前記共有バッファに割り当てられる容量を、ゲーム開始前のアトラクト画面表示時、ゲーム開始後のキャラクタ選択時、屋内における室内ステージから室外ステージへの場面移行時又はその逆の時、屋内ステージから屋外ステージへの場面移行時又はその逆の時に変更することを特徴とする請求項１記載のゲーム装置。
【請求項６】
ゲームに登場するキャラクタ及び物を表現した三次元表示物を視点座標系の投影面に透視投影変換することで得られた画像をディスプレイ上に表示するために、前記ディスプレイに表示する画像を記憶するフレームバッファ、前記三次元表示物の奥行き情報を記憶するＺバッファ、テクスチャマッピングに用いられるテクチャデータを記憶するテクスチャバッファのうち少なくとも２つに共有され、前記共有バッファに割り当てられる容量がゲーム進行状況に応じて可変であるメモリ領域と、メモリ領域制御手段とを備えるゲーム装置おける画像生成方法であって、
前記メモリ領域制御手段が、前記共有バッファに割り当てられる容量を、前記ディスプレイの一画素に対する前記奥行き情報に対する要求値である要求ビット長に応じて変更するとともに、前記ディスプレイへの画像表示領域、同時発色数、三次元表示物間の奥行き判定精度のいずれかが変化する際に変更することを特徴とする画像生成方法。
【請求項７】
前記メモリ領域制御手段が、前記共有バッファに割り当てられる容量を、前記ディスプレイ表示に対する要求画素数に応じて変更することを特徴とする請求項６に記載の画像生成方法。
【請求項８】
前記要求ビット長は、同時発色数に対する要求値であることを特徴とする請求項６記載の画像生成方法。
【請求項９】
前記メモリ領域制御手段が、前記共有バッファに割り当てられる容量を、ステージ切換時または場面切換時に変更することを特徴とする請求項６記載の画像生成方法。
【請求項１０】
前記メモリ領域制御手段が、前記共有バッファに割り当てられる容量を、ゲーム開始前のアトラクト画面表示時、ゲーム開始後のキャラクタ選択時、屋内における室内ステージから室外ステージへの場面移行時又はその逆の時、屋内ステージから屋外ステージへの場面移行時又はその逆の時に変更することを特徴とする請求項６記載の画像生成方法。
【請求項１１】
ゲームに登場するキャラクタ及び物を表現した三次元表示物を視点座標系の投影面に透視投影変換することで得られた画像をディスプレイ上に表示するために、前記ディスプレイに表示する画像を記憶するフレームバッファ、前記三次元表示物の奥行き情報を記憶するＺバッファ、テクスチャマッピングに用いられるテクチャデータを記憶するテクスチャバッファのうち少なくとも２つに共有され、前記共有バッファに割り当てられる容量がゲーム進行状況に応じて可変であるメモリ領域を備えるゲーム装置上のコンピュータにメモリ領域制御を行わせるプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記共有バッファに割り当てられる容量を、前記ディスプレイの一画素に対する前記奥行き情報に対する要求値である要求ビット長に応じて変更するとともに、前記ディスプレイへの画像表示領域、同時発色数、三次元表示物間の奥行き判定精度のいずれかが変化する際に変更するステップを前記コンピュータに行わせることを特徴とするプログラムを記録した記録媒体。
【請求項１２】
前記共有バッファに割り当てられる容量を、前記ディスプレイ表示に対する要求画素数に応じて変更するステップをさらに前記コンピュータに行わせることを特徴とする請求項１１記載のプログラムを記録した記録媒体。
【請求項１３】
前記要求ビット長は、同時発色数に対する要求値であることを特徴とする請求項１１記載のプログラムを記録した記録媒体。
【請求項１４】
前記共有バッファに割り当てられる容量を、ステージ切換時または場面切換時に変更するステップをさらに前記コンピュータに行わせることを特徴とする請求項１１記載のプログラムを記録した記録媒体。
【請求項１５】
前記共有バッファに割り当てられる容量を、ゲーム開始前のアトラクト画面表示時、ゲーム開始後のキャラクタ選択時、屋内における室内ステージから室外ステージへの場面移行時又はその逆の時、屋内ステージから屋外ステージへの場面移行時又はその逆の時に変更するステップをさらに前記コンピュータに行わせることを特徴とする請求項１１記載のプログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、三次元表示物を視点座標系の投影面に透視投影変換することで得られた画像をディスプレイ上に表示する画像生成装置、ゲーム装置、画像生成方法、及び記録媒体に係わり、特に、フレームバッファ，Ｚバッファ，及びテクスチャバッファのうち少なくとも２つに共有されるメモリ領域の効率的な割り当てに関するものである。
【０００２】
【従来の技術】
従来より、例えば三次元ゲームあるいは飛行機及び各種乗物の操縦シミュレータ等に使用される画像生成装置として種々のものが知られている。
このような画像生成装置では、図１１に示す三次元物体３００に関する画像情報が、あらかじめ装置に記憶されている。
この三次元物体３００は、プレーヤ（観者）３０２がスクリーン３０６を介して見ることができる風景等の表示物を表すものであり、この表示物である三次元物体３００の画像情報をスクリーン３０６上に透視投影変換することにより視界画像（投影画像）３０８をスクリーン３０６上に画像表示している。
【０００３】
この装置では、プレーヤ３０２が、操作パネル３０４により回転，並進等の操作を行うと、あるいは、プレーヤ３０２の操作によらずにプログラムで制御されることにより、プレーヤ３０２又はプレーヤ３０２の搭乗する移動体の位置，方向が変化し、この変化に伴い三次元物体３００の画像がスクリーン３０６上でどのように見えるかを求める演算処理が行われる。
この演算処理は、プレーヤ３０２の操作に追従してリアルタイムで行われる。これによりプレーヤ３０２は、プレーヤ自身又はプレーヤ自身の搭乗する移動体の位置，方向の変化に伴う風景等の変化を疑似三次元画像としてリアルタイムに見ることが可能となり、仮想的な三次元空間を疑似体験できることとなる。
【０００４】
【発明が解決しようとする課題】
この種の画像生成装置は、通常、三次元物体３００に関する画像情報を記憶するＶＲＡＭ（Video Random Access Memory）を備えている。
このＶＲＡＭは、記憶すべき情報の種別に応じてメモリ領域が分割されており、その一例をあげれば、ディスプレイに表示する画像を記憶するフレームバッファ，三次元物体３００の奥行き情報を記憶するＺバッファ，及びテクスチャマッピングに用いられるテクチャデータを記憶するテクスチャバッファの３つにメモリ領域が分割されている。
【０００５】
ところで、近年、高画質化や同時発色数の増加等、画質に対するユーザの要求が厳しくなっている。ところが、プログラムの設計段階においては、限られた記憶容量のＶＲＡＭ（例えば、ゲーム装置では４ＭＢ）を如何なる配分でフレームバッファ，Ｚバッファ，テクスチャバッファのそれぞれに割り当てるかを固定的に決めていたため、ユーザの要求する画質と、設計者が設計した各バッファの使用可能容量内で表示可能な画質との間にギャップを生じることがあった。
また、各バッファの使用可能容量は、プログラム設計段階で固定されて、使用時に変更することができなかったため、例えば、場面転換に富んだゲーム装置に使用される場合には、ＶＲＡＭ内のメモリ領域が必ずしも効率的に使用されているとは言えなかった。
【０００６】
例えば、奥行き情報（いわゆる、Ｚ値）を格納するＺバッファについては、一画素に対して、８，１６，２４，３２ビットから適宜のビット長を選択することが可能であるが、奥行き情報の精度を上げれば上げるほど（ビット長を長くすれば長くするほど）、Ｚバッファの必要容量が増大するため、奥行き情報に対する一画素当たりの要求ビット長を設計段階で３２ビットに固定してしまうと、ＶＲＡＭ容量に上限がある以上、フレームバッファやテクスチャバッファの使用可能容量を圧迫する結果を招いてしまう。
【０００７】
ところが、奥行き情報の要求ビット長を設計段階で短く設定してしまうと、その分だけ、奥行き判定時の演算結果に誤差を含み易くなるため、奥行き判定の精度低下を招く。
例えば、屋内ステージでは奥行き情報に対する一画素当たりの要求ビット長は１６ビットで十分であるが、遠くに延びる道路や遠方の建物が見えるような屋外ステージへ場面が移ると、奥行き情報の要求ビット長は２４又は３２ビットでないと不十分である。
【０００８】
しかしながら、キャラクタ選択画面等のように、ディスプレイに表示すべき三次元物体の描画順序が予め決まっていたり、二次元物体しか表示しないような場面では、Ｚバッファを必要としない場合が生じる。
かかる場合に、Ｚバッファの容量を減らし、その分だけテクスチャバッファの使用可能容量を増やすことができれば、高画質のテクスチャをＶＲＡＭ内に格納することができるようになり、高画質な画像表示が可能になる。
【０００９】
また、グレー・スケールの世界を表現する場合のように、フルカラー（例えば、８ビットでは２５６色）を使わない場面では、フレームバッファの容量を減らし、その分だけ他のバッファ容量を増やすことができる。
本発明は、このような事情に鑑みてなされたものであり、その目的とするところは、限られた画像表示用のメモリ領域を有効活用することにある。
【００１０】
【課題を解決するための手段】
上記課題を解決するために、以下の手段を採用した。
本発明は、三次元表示物を視点座標系の投影面に透視投影変換することで得られた画像をディスプレイ上に表示する画像生成装置であって、前記ディスプレイに表示する画像を記憶するフレームバッファ，前記三次元表示物の奥行き情報を記憶するＺバッファ，テクスチャマッピングに用いられるテクチャデータを記憶するテクスチャバッファのうち少なくとも２つに共有されるメモリ領域を備えると共に、これら共有バッファに割り当てられる容量が可変とされていることを特徴とする。
【００１１】
本発明は、三次元表示物を視点座標系の投影面に透視投影変換することで得られた画像をディスプレイ上に表示する画像生成方法であって、前記ディスプレイに表示する画像を記憶するフレームバッファ，前記三次元表示物の奥行き情報を記憶するＺバッファ，テクスチャマッピングに用いられるテクチャデータを記憶するテクスチャバッファのうち少なくとも２つにメモリ領域を共有させると共に、これら共有バッファに割り当てる容量を可変制御することを特徴とする。
【００１２】
本発明は、三次元表示物を視点座標系の投影面に透視投影変換することで得られた画像をディスプレイ上に表示させるプログラムを記録したコンピュータ読み取り可能な記録媒体であって、前記ディスプレイに表示する画像を記憶するフレームバッファ，前記三次元表示物の奥行き情報を記憶するＺバッファ，テクスチャマッピングに用いられるテクチャデータを記憶するテクスチャバッファのうち少なくとも２つにメモリ領域を共有させると共に、これら共有バッファに割り当てる容量を可変制御するステップを備えたことを特徴とする。
【００１３】
以上のように構成することで、フレームバッファ，Ｚバッファ，テクスチャバッファのうち少なくとも２つの共有バッファに割り当てられる使用可能容量が設計時の容量に固定されることがなくなり、ディスプレイへ表示する画像に対して各共有バッファが必要とする容量に応じて、各共有バッファに割り当てられる使用可能容量を増減させることができるので、画像表示用のメモリ領域の効率的な活用が可能となる。
【００１４】
本発明は、画像生成装置において、各共有バッファに割り当てられる容量は、ディスプレイ表示に対する要求画素数に応じて変更可能とされていることを特徴とする。
【００１５】
本発明は、画像生成方法において、各共有バッファに割り当てる容量を、ディスプレイ表示に対する要求画素数に応じて可変制御することを特徴とする。
【００１６】
本発明は、記録媒体において、各共有バッファに割り当てる容量を、ディスプレイ表示に対する要求画素数に応じて可変制御するステップを備えたことを特徴とする。
【００１７】
以上のように構成することで、ディスプレイへの画像表示に際し、例えば、シネマ・スコープのように上下が狭い横長の画面を表示する場合には、ディスプレイ表示に対する要求画素数を減らすことにより、フレームバッファやＺバッファの必要容量を減らし、これにより、テクスチャバッファの使用可能容量を増やすことが可能になる。
【００１８】
本発明は、画像生成装置において、各共有バッファに割り当てられる容量は、ディスプレイの一画素に対する要求ビット長に応じて変更可能とされていることを特徴とする。
【００１９】
本発明は、画像生成方法において、各共有バッファに割り当てる容量を、ディスプレイの一画素に対する要求ビット長に応じて可変制御することを特徴とする。
【００２０】
本発明は、記録媒体において、各共有バッファに割り当てる容量を、ディスプレイの一画素に対する要求ビット長に応じて可変制御するステップを備えたことを特徴とする。
【００２１】
以上のように構成することで、ディスプレイへの画像表示に際し、例えば、ゲーム開始前のアトラクト画面や、ゲーム開始後のキャラクタ選択画面のように、三次元表示物の精密な奥行き判定を必要としない場合や、グレー・スケールの世界を表現する場合のようにフルカラーを同時発色させない場合には、ディスプレイの一画素に対する要求ビット長を短くすることにより、フレームバッファやＺバッファの必要容量を減らし、これにより、テクスチャバッファの使用可能容量を増やすことが可能になる。
【００２２】
本発明は、画像生成装置において、前記要求ビット長は、前記奥行き情報に対する要求値であることを特徴とする。
【００２３】
本発明は、画像生成方法において、前記要求ビット長を、前記奥行き情報に対する要求値に設定することを特徴とする。
【００２４】
本発明は、記録媒体において、前記要求ビット長を、前記奥行き情報に対する要求値に設定するステップを備えたことを特徴とする。
【００２５】
以上のように構成することで、ディスプレイへの画像表示に際し、例えば、ゲーム開始前のアトラクト画面や、ゲーム開始後のキャラクタ選択画面のように、奥行き判定を必要としない場合や、屋内ステージにおける室内表示画面のように高精度の奥行き判定を必要としない場合には、奥行き情報に対するディスプレイ一画素当たりの要求ビット長を短くすることにより、Ｚバッファの必要容量を減らし、これにより、フレームバッファやテクスチャバッファの使用可能容量を増やすことが可能になる。
【００２６】
本発明は、画像生成装置において、前記要求ビット長は、同時発色数に対する要求値であることを特徴とする。
【００２７】
本発明は、画像生成方法において、前記要求ビット長を、同時発色数に対する要求値に設定することを特徴とする。
【００２８】
本発明は、記録媒体において、前記要求ビット長を、同時発色数に対する要求値に設定するステップを備えたことを特徴とする。
【００２９】
以上のように構成することで、ディスプレイへの画像表示に際し、例えば、グレー・スケールの世界を表示する場合のようにフルカラーを同時発色させない場合には、同時発色数に対するディスプレイ一画素当たりの要求ビット長を短くすることにより、フレームバッファの必要容量を減らし、これにより、Ｚバッファやテクスチャバッファの使用可能容量を増やすことが可能になる。
【００３０】
本発明は、前記三次元表示物がゲームに登場するキャラクタ及び物とされる画像生成装置を備えたゲーム装置であって、各共有バッファに割り当てられる容量は、ゲーム進行状況に応じて可変とされていることを特徴とする。
【００３１】
本発明は、前記三次元表示物をゲームに登場するキャラクタ及び物とした画像生成方法において、各共有バッファに割り当てる容量を、ゲーム進行状況に応じて可変制御することを特徴とする。
【００３２】
本発明は、前記三次元表示物をゲームに登場するキャラクタ及び物とした記録媒体において、各共有バッファに割り当てる容量を、ゲーム進行状況に応じて可変制御するステップを備えたことを特徴とする。
【００３３】
以上のように構成することで、ゲーム進行状況に応じて場面が変化するゲーム装置においても、ディスプレイへ表示する画像に対して各共有バッファが必要とする容量に応じて、各共有バッファに割り当てられる使用可能容量を増減させることができるので、画像表示用のメモリ領域の効率的な活用が可能となる。
【００３４】
本発明は、ゲーム装置において、前記共有バッファに割り当てられる容量は、ディスプレイへの画像表示領域，同時発色数，三次元表示物間の奥行き判定精度のいずれかが変化する際に変更可能とされていることを特徴とする。
【００３５】
本発明は、画像生成方法において、前記共有バッファに割り当てる容量を、ディスプレイへの画像表示領域，同時発色数，三次元表示物間の奥行き判定精度のいずれかが変化する際に可変制御することを特徴とする。
【００３６】
本発明は、記録媒体において、前記共有バッファに割り当てる容量を、ディスプレイへの画像表示領域，同時発色数，三次元表示物間の奥行き判定精度のいずれかが変化する際に可変制御するステップを備えたことを特徴とする。
【００３７】
以上のように構成することで、ディスプレイへの画像表示領域が狭くて済むような場面を表示する場合、例えば、シネマ・スコープのように上下が狭い横長の画面を表示する場合には、ディスプレイ表示に対する要求画素数を減らすことにより、フレームバッファやＺバッファの必要容量を減らし、これにより、テクスチャバッファの使用可能容量を増やすことが可能になる。
【００３８】
また、同時発色数が少なくて済むような場合、例えば、グレー・スケールの世界を表現する場合のようにフルカラーを同時発色させない場合や、奥行き判定がいらないか、判定精度が低くてもよいような場面を表示する場合、例えば、ゲーム開始前のアトラクト画面や、ゲーム開始後のキャラクタ選択画面を表示する場合には、ディスプレイの一画素に対する要求ビット長を短くすることにより、フレームバッファやＺバッファの必要容量を減らし、これにより、テクスチャバッファの使用可能容量を増やすことが可能になる。
【００３９】
本発明は、ゲーム装置において、前記共有バッファに割り当てられる容量は、ステージ切換時または場面切換時に変更可能とされていることを特徴とする。
【００４０】
本発明は、画像生成方法において、前記共有バッファに割り当てる容量を、ステージ切換時または場面切換時に可変制御することを特徴とする。
【００４１】
本発明は、記録媒体において、前記共有バッファに割り当てる容量を、ステージ切換時または場面切換時に可変制御するステップを備えたことを特徴とする。
【００４２】
以上のように構成することで、各バッファの必要容量が変わり得るステージ切換時又は場面切換時に、切換後のステージ又は場面において各バッファが必要とする容量に応じて、各バッファの使用可能容量を効率的に分配しておくことが可能になる。
【００４３】
本発明は、ゲーム装置において、前記共有バッファに割り当てられる容量は、ゲーム開始前のアトラクト画面表示時，ゲーム開始後のキャラクタ選択時，屋内おける室内ステージから室外ステージへの場面移行時又はその逆の時，屋内ステージから屋外ステージへの場面移行時又はその逆の時に変更可能とされていることを特徴とする。
【００４４】
本発明は、画像生成方法において、前記共有バッファに割り当てられる容量を、ゲーム開始前のアトラクト画面表示時，ゲーム開始後のキャラクタ選択時，屋内における室内ステージから室外ステージへの場面移行時又はその逆の時，屋内ステージから屋外ステージへの場面移行時又はその逆の時に可変制御することを特徴とする。
【００４５】
本発明は、記録媒体において、前記共有バッファに割り当てられる容量を、ゲーム開始前のアトラクト画面表示時，ゲーム開始後のキャラクタ選択時，屋内における室内ステージから室外ステージへの場面移行時又はその逆の時，屋内ステージから屋外ステージへの場面移行時又はその逆の時に可変制御するステップを備えたことを特徴とする。
【００４６】
以上のように構成すれば、ゲーム開始前のアトラクト画面表示時や、ゲーム開始後のキャラクタ選択時のように、精密な奥行き判定を必要としない場合には、奥行き情報に対するディスプレイ一画素当たりの要求ビット長を短くすることにより、Ｚバッファの必要容量を減らし、これにより、フレームバッファやテクスチャバッファの使用可能容量を増やすことが可能になる。
【００４７】
また、屋内における室内ステージから室外ステージへの場面移行時や、屋内ステージから屋外ステージへの場面移行時のように、高精度の奥行き判定を必要としない場面から必要とする場面へ移行する場合には、Ｚバッファの使用可能容量を増やすことにより、奥行き情報のビット長を長くし、これにより、高精度の奥行き判定が可能になる。
【００４８】
これとは逆に、屋内における室外ステージから室内ステージへの場面移行時や、屋外ステージから屋内ステージへの場面移行時のように、高精度の奥行き判定を必要とする場面から必要しない場面へ移行する場合には、奥行き情報のビット長を短くすることにより、Ｚバッファの使用可能容量を減らし、これにより、フレームバッファやテクスチャバッファの使用可能容量を増やすことが可能になる。
【００４９】
【発明の実施の形態】
以下、本発明の一実施の形態について、図面と共に説明する。
本実施の形態による画像生成装置は、立体モデルを単位図形であるポリゴン（例えば、三角形等の多角形）の組み合わせとして表現し、このポリゴンを描画することで、ディスプレイに立体モデルを表示する装置である。
【００５０】
この画像生成装置は、図１に示すように、制御部１，ディスプレイ２，ＲＯＭ（Read-Only Memory）３，ＲＡＭ（Random Access Memory）４，ＤＭＡ（Direct Memory Access Channel）コントローラ５，ディスクコントローラ６，及びディスク装置７，ＶＲＡＭ（メモリ領域）８を主たる構成要素としている。
制御部１は更に、コプロセッサ１１１及びジオメトリプロセッサ１１２が接続されたメインプロセッサ１１と、ディスプレイ２やＶＲＡＭ８が接続された描画プロセッサ１２とを備え、これらプロセッサ１１，１２やＲＯＭ３，ＲＡＭ４等の各要素の制御等、システム全体の制御を行う。
【００５１】
メインプロセッサ１１は、例えば、ゲームの進行状況に応じて、ＲＡＭ４から必要なグラフィックデータを読み出し、このグラフィックデータに対して座標変換，クリッピング，輝度計算等の処理を行い、ポリゴンデータを作成する。
これら演算は、コプロセッサ１１１及びジオメトリプロセッサ１１２にて高速に行われ、作成されたポリゴンデータは、メインバス９を介して描画プロセッサ１２に出力される。
【００５２】
ポリゴンデータは、ポリゴンの各３頂点におけるデータ（ｘ，ｙ，ｚ，Ｒ，Ｇ，Ｂ，α）を含んでいる。
ここでのデータ（ｘ，ｙ，ｚ）は各頂点の三次元座標、データ（Ｒ，Ｇ，Ｂ）は赤，緑，青の輝度値、データ（α）は透過率を指定するための混合係数を示している。
【００５３】
本実施の形態によるＶＲＡＭ８は、ディスプレイ２に表示する画像を記憶しておくためのフレームバッファ８１，三次元表示物の奥行き情報（いわゆる、Ｚ値）を記憶しておくためのＺバッファ８２，及びテクスチャマッピングに用いられるテクチャデータを記憶しておくためのテクスチャバッファ８３の３つに共有されており、これら３つのバッファ８１，８２，８３に割り当てられる記憶領域の大きさ、すなわち、使用可能容量は、メインプロセッサ１１からの指令に基づき、動的に可変制御することができるようになっている。
【００５４】
図２は、ＶＲＡＭ８内における各バッファ８１，８２，８３の使用可能容量を可変制御するための手順を示すフローチャートであり、このフローチャートは、例えば、ステージ切換時あるいは場面転換時に実行される。
本実施の形態において、「ステージ切換時」とは、例えば、ディスプレイ２へ表示する画像が屋内ステージから屋外ステージへ移行する時やその逆の時、同じ屋内においても、室内ステージから室外ステージへ移行する時やその逆の時をいい、また、「場面転換時」とは、フレームバッファ８１に記憶されている情報の少なくとも一部が変化する時をいう。
【００５５】
新しいステージへ移行すると、まず、ステップＳ１において、三次元表示物を構成している複数のポリゴンを表示するにあたって、隠面消去等のためのに奥行き判定精度のレベルがどの程度必要かを決定する。
本実施の形態において、奥行き判定精度のレベルは、高レベル，中レベル，低レベルの３段階が用意されている。
【００５６】
奥行き判定精度が「高レベル」とは、例えば、図７に示す屋外ステージや図８に示す屋内における室外ステージのように、視点から近い立体モデル（図７では岸壁５０１、図８では標的５１１）と、非常に遠い立体モデル（図７では建物５０２、図８では窓５１２）とが混在しているような場合、すなわち、非常に離れたＺ値を持つ立体モデルが混在している場合や、これとは逆に、奥行き方向（Ｚ方向に）に小数点レベルの非常に接近したＺ値を持つ立体モデルが混在しているような場合が該当し、これらの場合に、Ｚバッファ８２のビット長は３２ビットに設定される。
【００５７】
これに対し、奥行き判定精度が「低レベル」とは、図９に示すゲーム開始前の画面のように、予め描画する立体モデル（図９ではロケット発射台５２１，ロケット５２２，ゲームタイトル５２３）の描画順序がソーティングされているために、ポリゴン毎に奥行き情報を保持しておく必要のない場合や、ゲーム開始時のキャラク選択画面のように、三次元空間を描画する必要がなく、二次元モデルだけを描画すればよい場合が該当し、これらの場合に、Ｚバッファ８２のビット長は８ビットに設定される。
【００５８】
そして、「中レベル」は、これら「高レベル」と「低レベル」の中間の判定精度であり、例えば、図１０に示す屋内における室内ステージのように、非常に離れた又は接近したＺ値を持つ立体モデル（図１０では標的５３１，テーブル５３２）が混在していないような場合が該当し、Ｚバッファ８２の要求ビット長は１６ビット又は２４ビットに設定される。
【００５９】
ここで、「中レベル」を「中レベル１」と「中レベル２」とに細分化し、「中レベル１」におけるＺバッファ８２の要求ビット長を１６ビットに、また、「中レベル ２」におけるＺバッファ８２の要求ビット長を２４ビットに設定しても構わない。
以下では、説明の便宜上、「中レベル」におけるＺバッファ８２の要求ビット長を１６ビットに設定した場合を説明する。
【００６０】
ステップＳ１で奥行き判定精度のレベルが決定されると、ステップＳ２において、奥行き判定精度が「高レベル」，「中レベル」，「低レベル」のいずれに属するかが判定される。
ステップＳ２の判定結果が「高レベル」の場合は、ステップＳ３に進み、Ｚバッファ８２のビット長を３２ビットに設定する。
【００６１】
また、ステップＳ２の判定結果が「中レベル」の場合は、ステップＳ４に進み、Ｚバッファ８２のビット長を１６ビットに設定する。
さらに、ステップＳ２の判定結果が「低レベル」の場合は、ステップＳ５に進み、Ｚバッファ８２のビット長を８ビットに設定する。
【００６２】
次に、ステップＳ６では、奥行き判定精度のレベルに応じたＺバッファ８２の必要容量を算出する。具体的には、新しいステージに対して要求されている解像度に、ステップＳ３〜ステップＳ５のいずれかの処理で設定されたＺバッファ８２のビット長を乗じて求める。
例えば、６４０×５１２ピクセルの解像度が要求されており、かつ、Ｚバッファ８２のビット長が８ビットに設定された場合には、Ｚバッファ８２の必要容量＝６４０×５１２×８＝３２０ＫＢとなる。
【００６３】
次いで、ステップＳ７では、フレームバッファ８１の必要容量を算出する。具体的には、新しいステージに対して要求されている解像度に、同時発色数に対する要求ビット長を乗じて求める。
例えば、６４０×５１２ピクセルの解像度が要求されており、かつ、同時発色数としてフルカラーが要求されている場合、すなわち、同時発色数に対する要求ビット長が３２ビットである場合は、フレームバッファ８１の必要容量＝６４０×２５６×３２×２＝１２８０ＫＢとなる。なお、この算出式においては、インターレース表示を行う場合の例を示している。
【００６４】
ステップＳ８では、テクスチャバッファ８３の使用可能容量を算出する。具体的には、ＶＲＡＭ容量からステップＳ６で算出したＺバッファ８２の必要容量とステップＳ７で算出したフレームバッファ８１の必要容量を減じて求める。
例えば、ＶＲＡＭ容量が４ＭＢである場合は、テクスチャバッファ８３の使用可能容量＝４０９６−（３２０＋１２８０）＝２４９６ＫＢとなる。
【００６５】
以上説明したように、本実施の形態によれば、ＶＲＡＭ８内における各共有バッファ８１，８２，８３に割り当てられる容量が、例えば、ゲーム開始前のアトラクト画面（図９）を表示する時，屋内における室内ステージから室外ステージへの場面移行時（図１０から図８への場面移行時）又はその逆の時（図８から図１０への場面移行時），屋内ステージから屋外ステージへの場面移行時（図８又は図１０から図９への場面移行時）又はその逆の時（図９から図８又は図９への場面移行時）に可変とされている。
【００６６】
従って、ゲーム開始前のアトラクト画面を表示する時には、奥行き判定を必要としないため、奥行き情報に対するディスプレイ一画素当たりの要求ビット長を８ビットに設定することにより、Ｚバッファ８２の必要容量を減らして、フレームバッファ８１やテクスチャバッファ８３の使用可能容量を増やすことが可能になる。
【００６７】
また、屋内における室内ステージから室外ステージへの場面移行時や、屋内ステージから屋外ステージへの場面移行時のように、高精度の奥行き判定を必要としない場面から必要とする場面へ移行する場合には、Ｚバッファ８２の使用可能容量を増やし、奥行き情報に対するディスプレイ一画素当たりの要求ビット長を３２ビットに設定することにより、高精度の奥行き判定が可能になる。
【００６８】
これとは逆に、屋内における室外ステージから室内ステージへの場面移行時や、屋外ステージから屋内ステージへの場面移行時のように、高精度の奥行き判定を必要とする場面から必要しない場面へ移行する場合には、奥行き情報のビット長を３２ビットから１６ビットに短くすることにより、Ｚバッファ８２の使用可能容量を減らして、フレームバッファ８１やテクスチャバッファ８３の使用可能容量を増やすことが可能になる。
【００６９】
以下、図３〜図６を用いて、解像度，同時発色数，Ｚバッファ８２の要求ビット長等を変化させた場合に、各共有バッファ８１，８２，８３の容量がどのように変化するかについて、４つの実施例をあげて説明する。
【００７０】
（実施例１）
本実施例におけるＶＲＡＭ，解像度，同時発色数，Ｚバッファ８２の要求ビット長，フレームバッファ８１の設定は、以下の通りである。
ＶＲＡＭ容量          ；４ＭＢ（４０９６ＫＢyte）
解像度                ；６４０×５１２pixcel
同時発色数            ；３２bitフルカラー
（内訳：Ｒ ８bit，Ｇ ８bit，Ｂ ８bit，α ８bit）
Ｚバッファ要求ビット長；８bit
フレームバッファ      ；インターレース表示のため、０ライン及び１ラインをそれぞれ基準とする２種類を用意。
【００７１】
この場合、Ｚバッファ８２の必要容量は、解像度にＺバッファ要求ビット長を乗じた値になるから、
６４０×５１２×８bit＝３２０ＫＢ
となる。
一方、フレームバッファ８１の必要容量は、解像度の二分の一に同時発色数とライン数を乗じた値になるから、
６４０×２５６×３２bit×２＝１２８０ＫＢ
となる。
【００７２】
そして、テクスチャバッファ８３の使用可能容量は、ＶＲＡＭ容量からＺバッファ８２及びフレームバッファ８１の必要容量を減じた値になるから、
４０９６ＫＢ−（３２０ＫＢ＋１２８０ＫＢ）＝２４９６ＫＢ
となる。
この状態を概念的に図示すれば、図３の通りとなり、Ｚバッファ８２は小、フレームバッファ８１は中、テクスチャバッファ８３は大という関係になる。
【００７３】
（実施例２）
本実施例におけるＶＲＡＭ，解像度，同時発色数，Ｚバッファ８２の要求ビット長，フレームバッファ８１の設定は、以下の通りである。
ＶＲＡＭ容量          ；４ＭＢ（４０９６ＫＢyte）
解像度                ；６４０×５１２pixcel
同時発色数            ；３２bitフルカラー
（内訳：Ｒ ８bit，Ｇ ８bit，Ｂ ８bit，α ８bit）
Ｚバッファ要求ビット長；３２bit
フレームバッファ      ；インターレース表示のため、０ライン及び１ラインをそれぞれ基準とする２種類を用意。
【００７４】
この場合、Ｚバッファ８２の必要容量は、解像度にＺバッファ８２の要求ビット長を乗じた値になるから、
６４０×５１２×３２bit＝１２８０ＫＢ
となる。
一方、フレームバッファ８１の必要容量は、解像度の二分の一に同時発色数とライン数を乗じた値になるから、
６４０×２５６×３２bit×２＝１２８０ＫＢ
となる。
【００７５】
そして、テクスチャバッファ８３の使用可能容量は、ＶＲＡＭ容量からＺバッファ８２及びフレームバッファ８１の必要容量を減じた値になるから、
４０９６ＫＢ−（１２８０ＫＢ＋１２８０ＫＢ）＝１５３６ＫＢ
となる。
この状態を概念的に図示すれば、図４の通りとなり、Ｚバッファ８２は中、フレームバッファ８１は中、テクスチャバッファ８３は小という関係になる。
【００７６】
（実施例３）
本実施例におけるＶＲＡＭ，解像度，同時発色数，Ｚバッファ８２の要求ビット長，フレームバッファ８１の設定は、以下の通りである。
ＶＲＡＭ容量          ；４ＭＢ（４０９６ＫＢyte）
解像度                ；３２０×２５６pixcel
同時発色数            ；３２bitフルカラー
（内訳：Ｒ ８bit，Ｇ ８bit，Ｂ ８bit，α ８bit）
Ｚバッファ要求ビット長；３２bit
フレームバッファ      ；インターレース表示のため、０ライン及び１ラインをそれぞれ基準とする２種類を用意。
【００７７】
この場合、Ｚバッファ８２の必要容量は、解像度にＺバッファ８２の要求ビット長を乗じた値になるから、
３２０×２５６×３２bit＝３２０ＫＢ
となる。
一方、フレームバッファ８１の必要容量は、解像度の二分の一に同時発色数とライン数を乗じた値になるから、
３２０×１２８×３２bit×２＝３２０ＫＢ
となる。
【００７８】
そして、テクスチャバッファ８３の使用可能容量は、ＶＲＡＭ容量からＺバッファ８２及びフレームバッファ８１の必要容量を減じた値になるから、
４０９６ＫＢ−（３２０ＫＢ＋３２０ＫＢ）＝３４５６ＫＢ
となる。
この状態を概念的に図示すれば、図５の通りとなり、Ｚバッファ８２は小、フレームバッファ８１は小、テクスチャバッファ８３は大という関係になる。
【００７９】
（実施例４）
本実施例におけるＶＲＡＭ，解像度，同時発色数，Ｚバッファ８２の要求ビット長，フレームバッファ８１の設定は、以下の通りである。
ＶＲＡＭ容量          ；４ＭＢ（４０９６ＫＢyte）
解像度                ；３２０×２５６pixcel
同時発色数            ；３２bitフルカラー
（内訳：Ｒ ８bit，Ｇ ８bit，Ｂ ８bit，α ８bit）
Ｚバッファ要求ビット長；８bit
フレームバッファ      ；インターレース表示のため、０ライン及び１ラインをそれぞれ基準とする２種類を用意。
【００８０】
この場合、Ｚバッファ８２の必要容量は、解像度にＺバッファ８２の要求ビット長を乗じた値になるから、
３２０×２５６×８bit＝８０ＫＢ
となる。
一方、フレームバッファ８１の必要容量は、解像度の二分の一に同時発色数とライン数を乗じた値になるから、
３２０×１２８×３２bit×２＝３２０ＫＢ
となる。
【００８１】
そして、テクスチャバッファ８３の使用可能容量は、ＶＲＡＭ容量からＺバッファ８２及びフレームバッファ８１の必要容量を減じた値になるから、
４０９６ＫＢ−（８０ＫＢ＋３２０ＫＢ）＝３６９６ＫＢ
となる。
この状態を概念的に図示すれば、図６の通りとなり、Ｚバッファ８２は小、フレームバッファ８１は小、テクスチャバッファ８３は大という関係になる。
【００８２】
実施例１は、Ｚバッファ８２の要求ビット長が８ビットの場合、すなわち、奥行き判定を全く必要としない場面や、厳密な奥行き判定を必要としない場面を表示する場合の例である。
この場合は、Ｚバッファ８２の必要容量が少なくて済むため、その減らすことのできる分だけ、テクスチャバッファ８３の使用可能容量が増す。
従って、テクスチャバッファ８３に記憶しておくことのできるテクスチャ数や一テクスチャの大きさを増大させ得て、表示スピードの向上が図られることとなる。
【００８３】
実施例２は、Ｚバッファ８２の要求ビット長が３２ビットの場合、すなわち、厳密な奥行き判定を必要とする場面を表示する場合の例である。
この場合は、実施例１に比してＺバッファ８２の必要容量が増えるため、その増分を確保しつつ、テクスチャバッファ８３の使用可能容量を減らしている。
従って、ポリゴン単位での奥行き判定を厳密に行い得るようになり、リアリティのある画像表示が可能となる。
【００８４】
実施例３は、実施例２と同様に、Ｚバッファ８２の要求ビット長が３２ビットの場合、すなわち、厳密な奥行き判定を必要とする場合であるが、実施例２よりも解像度が低いため、Ｚバッファ８２及びフレームバッファ８１の必要容量が実施例２よりも少なくて済み、その分だけ更に、テクスチャバッファ８３の使用可能容量が増している。
従って、表示スピードの高速化と、リアリティのある画像表示とを両立させることが可能となる。
【００８５】
実施例４は、実施例１と同様に、Ｚバッファ８２の要求ビット長が８ビットの場合、すなわち、奥行き判定を全く必要としない場合や、厳密な奥行き判定を必要としない場合であるが、実施例１よりも解像度が低いため、フレームバッファ８１の必要容量が実施例１よりも少なくて済み、その分だけ更に、テクスチャバッファ８３の使用可能容量が増す。
従って、表示スピードの更なる高速化が可能となる。
【００８６】
なお、これら４つの実施例では、解像度と同時発色数を不変、すなわち、フレームバッファ８１の必要容量を不変にして、残りのＺバッファ８２及びテクスチャバッファ８３の使用可能容量が増減した例であったが、このような例に限らず、解像度や同時発色数を増減、すなわち、フレームバッファ８１の必要容量を増減させつつ、残りのＺバッファ８２及びテクスチャバッファ８３の使用可能容量を増減させても構わない。
【００８７】
【発明の効果】
以上の説明から明らかなように、本発明によれば、以下の効果を得ることができる。
（１）ディスプレイへ表示する画像に対して各共有バッファが必要とする容量に応じて、各共有バッファに割り当てられる使用可能容量を増減させ得るので、画像表示用のメモリ領域を効率的に活用することができる。
【００８８】
（２）ディスプレイの要求表示領域に応じて、ディスプレイ表示に対する要求画素数を減らすことにより、フレームバッファやＺバッファの必要容量を減らし、これにより、テクスチャバッファの使用可能容量を増やすことが可能になるので、高画質のテクスチャをポリゴンにマッピングすることができる。
【００８９】
（３）ディスプレイの要求同時発色数や要求奥行き判定精度に応じて、ディスプレイ一画素に対する要求ビット長を短くすることにより、フレームバッファやＺバッファの必要容量を減らし、これにより、テクスチャバッファの使用可能容量を増やすことが可能になるので、高画質のテクスチャをポリゴンにマッピングすることができる。
【図面の簡単な説明】
【図１】  本発明による画像生成装置の一実施の形態を示す全体構成図である。
【図２】  制御部からＶＲＡＭに対して行われるバッファ可変制御の制御フローを示すフローチャートである。
【図３】  実施例１に対応するＶＲＡＭ内のバッファ共有割合を概念的に示す図である。
【図４】  実施例２に対応するＶＲＡＭ内のバッファ共有割合を概念的に示す図である。
【図５】  実施例３に対応するＶＲＡＭ内における各バッファの共有割合を概念的に示す図である。
【図６】  実施例４に対応するＶＲＡＭ内における各バッファの共有割合を概念的に示す図である。
【図７】  ディスプレイ一画素に対するＺバッファの要求ビット長が３２ビットに設定される屋外ステージの一例を示す図である。
【図８】  ディスプレイ一画素に対するＺバッファの要求ビット長が３２ビットに設定される屋内における室外ステージの一例を示す図である。
【図９】  ディスプレイ一画素に対するＺバッファの要求ビット長が８ビットに設定されるゲーム開始前のアトラクト画面の一例を示す図である。
【図１０】  ディスプレイ一画素に対するＺバッファの要求ビット長が１６ビットに設定される屋内における室内ステージの一例を示す図である。
【図１１】  画像生成装置における三次元演算処理を説明するための図である。
【符号の説明】
１  制御部
８  ＶＲＡＭ（メモリ領域）
１１  メインプロセッサ
８１  フレームバッファ
８２  Ｚバッファ
８３  テクスチャバッファ
【図１】
0004519290.tif 000002
【図２】
0004519290.tif 000003
【図３】
0004519290.tif 000004
【図４】
0004519290.tif 000005
【図５】
0004519290.tif 000006
【図６】
0004519290.tif 000007
【図７】
0004519290.tif 000008
【図８】
0004519290.tif 000009
【図９】
0004519290.tif 000010
【図１０】
0004519290.tif 000011
【図１１】
0004519290.tif 000012