(57)【要約】【課題】様々な状況に対応した適切な半透明オブジェクトの描画を行うことができる画像生成システム、プログラム、及び情報記憶媒体を提供すること。【解決手段】オブジェクトに対応するピクセルの透明度情報の値が所与の基準範囲にあるか否かを判定し、前記透明度情報の値が前記基準範囲にあると判定された場合には、前記ピクセルの奥行き情報を描画せずに、前記透明度情報に基づき前記ピクセルの色情報を描画し、前記透明度情報の値が前記基準範囲にないと判定された場合には、前記ピクセルの奥行き情報を描画し、前記透明度情報に基づき前記ピクセルの色情報を描画する。【選択図】図４
2008310377.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクト空間において仮想カメラから見える画像を生成するためのプログラムであって、
オブジェクト空間にオブジェクトを設定するオブジェクト空間設定部と、
前記オブジェクトに対応するピクセルの透明度情報の値が所与の基準範囲にあるか否かを判定する判定部と、
前記透明度情報の値が前記基準範囲にあると判定された場合には、前記ピクセルの奥行き情報を描画せずに、前記透明度情報に基づき前記ピクセルの色情報を描画し、
前記透明度情報の値が前記基準範囲にないと判定された場合には、前記ピクセルの奥行き情報を描画し、前記透明度情報に基づき前記ピクセルの色情報を描画する描画部と、
してコンピュータを機能させることを特徴とするプログラム。
【請求項２】
請求項１において、
前記基準範囲が、最も透明度の高い値を含む範囲であり、且つ最も透明度の低い値を含まない範囲であることを特徴とするプログラム。
【請求項３】
請求項１又は２において、
前記オブジェクトに対応する前記基準範囲を記憶する記憶部と、
してコンピュータを機能させ、
前記判定部は、
前記透明度情報の値が、前記記憶部に記憶された前記基準範囲にあるか否かを判定することを特徴とするプログラム。
【請求項４】
請求項３において、
前記記憶部に記憶された前記基準範囲を変更する変更部と、
してコンピュータを機能させることを特徴とするプログラム。
【請求項５】
請求項４において、
前記変更部は、
仮想カメラのオブジェクト空間における位置に基づき前記記憶部に記憶された前記基準範囲を変更することを特徴とするプログラム。
【請求項６】
請求項４において、
前記変更部は、
前記オブジェクトのオブジェクト空間における位置に基づき前記記憶部に記憶された前記基準範囲を変更することを特徴とするプログラム。
【請求項７】
コンピュータ読み取り可能な情報記憶媒体であって、請求項１乃至６のいずれかのプログラムを記録したことを特徴とする情報記憶媒体。
【請求項８】
オブジェクト空間において仮想カメラから見える画像を生成するための画像生成システムであって、
オブジェクト空間にオブジェクトを設定するオブジェクト空間設定部と、
前記オブジェクトに対応するピクセルの透明度情報の値が所与の基準範囲にあるか否かを判定する判定部と、
前記透明度情報の値が前記基準範囲にあると判定された場合には、前記ピクセルの奥行き情報を描画せずに、前記透明度情報に基づき前記ピクセルの色情報を描画し、
前記透明度情報の値が前記基準範囲にないと判定された場合には、前記ピクセルの奥行き情報を描画し、前記透明度情報に基づき前記ピクセルの色情報を描画する描画部と、
を含むことを特徴とする画像生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像生成システム、プログラム、及び情報記憶媒体に関する。
【背景技術】
【０００２】
従来から、オブジェクトが配置設定されるオブジェクト空間（仮想的な３次元空間）内において仮想カメラ（所与の視点）から見える画像を生成する画像生成システムが知られており、いわゆる仮想現実を体験できるものとして人気が高い。
【０００３】
このような画像生成システムにおいて、奥行き情報を参照するＺバッファ法によりオブジェクトの描画を行う場合に、半透明の部分を含むオブジェクトを正しく描画するための手法として、α値（透明度情報）が所定の条件を満たすか否かを判定して描画モードを切り替える手法が知られている（例えば特許文献１参照）。
【特許文献１】特開平１１−１０２１７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記画像生成システムでは、上記条件が予めハードウェアに実装されていたため、設定できる条件の自由度が少なく様々な状況に対応した描画モードの切り替えが行えないという問題点があった。
【０００５】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、様々な状況に対応した適切な半透明オブジェクトの描画を行うことができる画像生成システム、プログラム、及び情報記憶媒体を提供することにある。
【課題を解決するための手段】
【０００６】
（１）本発明は、オブジェクト空間において仮想カメラから見える画像を生成するためのプログラムであって、
オブジェクト空間にオブジェクトを設定するオブジェクト空間設定部と、
前記オブジェクトに対応するピクセルの透明度情報の値が所与の基準範囲にあるか否かを判定する判定部と、
前記透明度情報の値が前記基準範囲にあると判定された場合には、前記ピクセルの奥行き情報を描画せずに、前記透明度情報に基づき前記ピクセルの色情報を描画し、
前記透明度情報の値が前記基準範囲にないと判定された場合には、前記ピクセルの奥行き情報を描画し、前記透明度情報に基づき前記ピクセルの色情報を描画する描画部と、
してコンピュータを機能させることを特徴とする。
【０００７】
また本発明は上記各部を含む画像生成システムに関係する。また本発明はコンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶した情報記憶媒体に関係する。
【０００８】
本発明によれば、ピクセルの透明度情報の値が所与の基準範囲にあるか否かを判定して、奥行き情報と色情報を描画するモードと、奥行き情報を描画せず色情報を描画するモードとを切り替える処理を行うことで、適切な半透明オブジェクトの描画を行うことができる。
【０００９】
（２）また本発明に係るプログラム及び情報記憶媒体では、
前記基準範囲が、最も透明度の高い値を含む範囲であり、且つ最も透明度の低い値を含まない範囲であることを特徴とする。
【００１０】
本発明によれば、半透明オブジェクトを描画した後に当該オブジェクトよりも奥に位置するオブジェクトをさらに描画する場合においても、適切な描画処理を行うことができる。
【００１１】
（３）また本発明に係るプログラム及び情報記憶媒体では、
前記オブジェクトに対応する前記基準範囲を記憶する記憶部と、
してコンピュータを機能させ、
前記判定部は、
前記透明度情報の値が、前記記憶部に記憶された前記基準範囲にあるか否かを判定することを特徴とする。
【００１２】
本発明において、オブジェクトに対応する基準情報は、オブジェクトが複数ある場合に、各オブジェクトに対応付けられて記憶される基準情報を含む。
【００１３】
また本発明において、透明度情報の値が記憶部に記憶された前記基準範囲にあるか否かを判定するとは、オブジェクトに対応する透明度情報の値が当該オブジェクトに対応付けられて記憶された基準範囲にあるか否かを判定する場合を含む。
【００１４】
本発明によれば、オブジェクト毎に最適な基準範囲を設定しておくことができ、適切な半透明オブジェクトの描画を行うことができる。
【００１５】
（４）また本発明に係るプログラム及び情報記憶媒体では、
前記記憶部に記憶された前記基準範囲を変更する変更部と、
してコンピュータを機能させることを特徴とする。
【００１６】
本発明によれば、描画時の状況に応じた適切な基準範囲を設定することができ、適切な半透明オブジェクトの描画を行うことができる。
【００１７】
（５）また本発明に係るプログラム及び情報記憶媒体では、
前記変更部は、
仮想カメラのオブジェクト空間における位置に基づき前記記憶部に記憶された前記基準範囲を変更することを特徴とする。
【００１８】
本発明によれば、仮想カメラの位置に応じた適切な基準範囲を設定することができ、適切な半透明オブジェクトの描画を行うことができる。
【００１９】
（６）また本発明に係るプログラム及び情報記憶媒体では、
前記変更部は、
前記オブジェクトのオブジェクト空間における位置に基づき前記記憶部に記憶された前記基準範囲を変更することを特徴とする。
【００２０】
本発明によれば、オブジェクトの位置に応じた適切な基準範囲を設定することができ、適切な半透明オブジェクトの描画を行うことができる。
【発明を実施するための最良の形態】
【００２１】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００２２】
１．構成
図１に本実施形態の画像生成システム（ゲームシステム）の機能ブロック図の例を示す。なお本実施形態の画像生成システムは図１の構成要素（各部）の一部を省略した構成としてもよい。
【００２３】
操作部１６０は、プレーヤがプレーヤオブジェクト（移動体オブジェクトの一例、プレーヤが操作するプレーヤ車両）の操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などにより実現できる。
【００２４】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００２５】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００２６】
携帯型情報記憶装置１９４は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などがある。通信部１９６は外部（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００２７】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバ）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（記憶部１７０）に配信してもよい。このようなホスト装置（サーバ）の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００２８】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部１００は記憶部１７０内の主記憶部１７２をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００２９】
処理部１００は、オブジェクト空間設定部１１０、移動・動作処理部１１２、仮想カメラ制御部１１４、基準範囲変更部１１６、描画部１２０、音生成部１３０を含む。なおこれらの一部を省略する構成としてもよい。
【００３０】
オブジェクト空間設定部１１０は、キャラクタ、建物、球場、車、樹木、柱、壁、マップ（地形）などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。特に、本実施形態では、記憶部１７０のオブジェクトデータ記憶部１７６に、オブジェクト空間内のオブジェクト（移動体オブジェクト、背景オブジェクト）のオブジェクトデータが記憶されており、これらのオブジェクトをオブジェクト空間に配置する処理を行う。
【００３１】
特に本実施形態では、オブジェクトデータ記憶部１７６は、各オブジェクトに対応する基準範囲を記憶する。また基準範囲をオブジェクトに対応付けずに記憶するようにしてもよい。またオブジェクトデータ記憶部１７６は、各仮想カメラに対応する基準範囲を記憶するようにしてもよい。本実施形態では、基準範囲として、最も透明度の高い値を０とし最も透明度の低い値を１とすると、０以上１未満の任意の範囲（例えば０以上０．２以下の範囲）が設定され記憶される。
【００３２】
移動・動作処理部１１２は、オブジェクト（キャラクタ、車、電車又は飛行機等）の移動・動作演算（移動・動作シミュレーション）を行う。すなわち操作部１６０によりプレーヤが入力した操作データや、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、オブジェクトをオブジェクト空間内で移動させたり、オブジェクトを動作（モーション、アニメーション）させたりする処理を行う。具体的には、オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（オブジェクトを構成する各パーツの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。また演算したオブジェクトの移動情報や動作情報は、オブジェクトデータ記憶部１７６に記憶される。
【００３３】
仮想カメラ制御部１１４は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を演算して制御する処理（視点位置、視線方向あるいは画角を制御する処理）を行う。演算した仮想カメラの移動情報（位置、回転角度）は、オブジェクトデータ記憶部１７６に記憶される。
【００３４】
例えば仮想カメラによりオブジェクト（例えばキャラクタ、ボール、車）を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。この場合には、移動・動作処理部１１２で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【００３５】
描画部１２０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。いわゆる３次元ゲーム画像を生成する場合には、まずオブジェクト（モデル）の各頂点の頂点データ（頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）を含むオブジェクトデータ（モデルデータ）が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理（頂点シェーダによるシェーディング）が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理（テッセレーション、曲面分割、ポリゴン分割）を行うようにしてもよい。頂点処理では、頂点処理プログラム（頂点シェーダプログラム、第１のシェーダプログラム）に従って、頂点の移動処理や、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、あるいは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更（更新、調整）する。そして、頂点処理後の頂点データに基づいてラスタライズ（走査変換）が行われ、ポリゴン（プリミティブ）の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル（表示画面を構成するフラグメント）を描画するピクセル処理（ピクセルシェーダによるシェーディング、フラグメント処理）が行われる。ピクセル処理では、ピクセル処理プログラム（ピクセルシェーダプログラム、第２のシェーダプログラム）に従って、テクスチャの読出し（テクスチャマッピング）、色データの設定／変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色（色情報）を描画バッファ１７４（ピクセル単位で画像情報を記憶できるバッファ。フレームバッファ、ＶＲＡＭ、レンダリングターゲット）に出力（描画）する。すなわち、ピクセル処理では、画像情報（色、法線、輝度、α値等）をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として１画面に表示できるように画像を生成することができる。
【００３６】
なお頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン（プリミティブ）の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ（頂点シェーダやピクセルシェーダ）により実現される。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、従来のハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【００３７】
そして描画部１２０は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【００３８】
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後（透視投影変換後）のオブジェクトデータ（オブジェクトの頂点の位置座標、テクスチャ座標、色データ（輝度データ）、法線ベクトル、或いはα値等）は、オブジェクトデータ記憶部１７６に保存される。
【００３９】
テクスチャマッピングは、記憶部１７０のテクスチャ記憶部１７８に記憶されるテクスチャ（テクセル値）をオブジェクトにマッピングするための処理である。具体的には、オブジェクトの頂点に設定（付与）されるテクスチャ座標等を用いて記憶部１７０のテクスチャ記憶部１７８からテクスチャ（色（ＲＧＢ）、α値などの表面プロパティ）を読み出す。そして、２次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
【００４０】
隠面消去処理としては、描画ピクセルのＺ値（奥行き情報、深度値）が格納されるＺバッファ１７９（奥行きバッファ）を用いたＺバッファ法（奥行き比較法、Ｚテスト）による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Ｚバッファ１７９に格納されるＺ値を参照する。そして参照されたＺバッファ１７９のＺ値と、プリミティブの描画ピクセルでのＺ値とを比較し、描画ピクセルでのＺ値が、仮想カメラから見て手前側となるＺ値（例えば小さなＺ値）である場合には、その描画ピクセルの描画処理を行うとともにＺバッファ１７９のＺ値を新たなＺ値に更新する。
【００４１】
αブレンディング（α合成）は、α値（Ａ値、透明度情報）に基づく半透明合成処理（通常αブレンディング、加算αブレンディング又は減算αブレンディング等）のことである。例えば通常αブレンディングの場合には下式（１）〜（３）の処理を行う。
ＲＱ＝（１−α）×Ｒ１＋α×Ｒ２    （１）
ＧＱ＝（１−α）×Ｇ１＋α×Ｇ２    （２）
ＢＱ＝（１−α）×Ｂ１＋α×Ｂ２    （３）
【００４２】
ここで、Ｒ１、Ｇ１、Ｂ１は、描画バッファ１７４に既に描画されている画像（原画像）のＲＧＢ成分であり、Ｒ２、Ｇ２、Ｂ２は、描画バッファ１７４に描画すべき画像のＲＧＢ成分である。また、ＲＱ、ＧＱ、ＢＱは、αブレンディングにより得られる画像のＲＧＢ成分である。なお、α値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、透明度情報（半透明度情報、不透明度情報と等価）、バンプ情報などとして使用できる。
【００４３】
さらに本実施形態では描画部１２０が、判定部１２２を含む。
【００４４】
判定部１２２は、オブジェクトに対応するピクセルの透明度情報の値が所与の基準範囲にあるか否かを判定する。具体的には、描画ピクセルの透明度情報の値（α値）がオブジェクトデータ記憶部１７６に記憶された基準範囲にあるか否かを判定する。
【００４５】
また判定部１２２は、オブジェクトに対応するピクセルの透明度情報の値が、オブジェクトデータ記憶部１７６に記憶された当該オブジェクトに対応する基準範囲にあるか否かを判定してもよい。
【００４６】
また判定部１２２は、ピクセルの透明度情報の値が、現在の仮想カメラに対応付けて記憶された基準範囲にあるか否かを判定してもよい。
【００４７】
描画部１２０は、判定部１２２によって前記透明度情報の値が前記基準範囲にあると判定された場合には、描画ピクセルの奥行き情報（Ｚ値）を描画せずに、前記透明度情報に基づき前記ピクセルの色情報を描画バッファ１７４に描画し、判定部１２２によって前記透明度情報の値が前記基準範囲にないと判定された場合には、前記ピクセルの奥行き情報をＺバッファ１７９に描画し（Ｚバッファ１７９のＺ値を前記ピクセルのＺ値に更新し）、前記透明度情報に基づき前記ピクセルの色情報を描画バッファ１７４に描画する。
【００４８】
基準範囲変更部（変更部）１１６は、オブジェクトデータ記憶部１７６に記憶された基準範囲を変更（更新）する。
【００４９】
また基準範囲変更部１１６は、仮想カメラ制御部１１４によって演算された仮想カメラの位置（オブジェクトデータ記憶部１７６に記憶された仮想カメラの移動情報）に基づき、オブジェクトデータ記憶部１７６に記憶された基準範囲を変更してもよい。
【００５０】
また基準範囲変更部１１６は、移動・動作処理部１１２によって演算されたオブジェクトの位置（オブジェクトデータ記憶部１７６に記憶されたオブジェクトの移動情報）に基づき、オブジェクトデータ記憶部１７６に記憶された基準範囲を変更してもよい。
【００５１】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００５２】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて分散処理により生成してもよい。
【００５３】
２．本実施形態の手法
図２は、本実施形態の処理例について説明するための図である。
【００５４】
図２に示す例においては、画像２１０が既に描画バッファ１７４に描画されており、この上に画像２２０における領域２２２（ポリゴン）を描画し、さらにその上に画像２４０における領域２４２（ポリゴン）を描画する処理を行っている。
【００５５】
ここで領域２２２における領域２２４のα値（透明度情報）は０．０〜０．２（値０．０に近いほどより透明になり、値１．０に近いほどより不透明になる）の範囲の値であり、領域２２２における領域２２６のα値は０．２〜１．０の範囲の値であり、領域２１２、２４２のα値は１．０である。
【００５６】
また領域２１２のＺ値（奥行き情報）は１．０（値０．０に近いほどより手前に位置し、値１．０に近いほどより奥に位置する）であり、領域２４２のＺ値は０．５であり、領域２２２のＺ値は０．０である。すなわちオブジェクト空間において、仮想カメラからみて奥から領域２１２、領域２４２、領域２２２の順で各領域が位置している。またこの例では、α値の基準範囲として０．０〜０．２（０．２以下）の範囲が設定されている。
【００５７】
画像２３０は、描画バッファ１７４に描画された画像２１０に対して領域２２２を描画したときに得られる画像である。ここでは領域２２２のＺ値が、画像２１０における領域２１２のＺ値よりも小さいため、領域２１２と重なる部分において領域２２２の色が画像２１０に対して描画されている。但し領域２２２における領域２２４のα値が小さい（透明度が高い）ためα値に基づく半透明合成処理の結果、領域２２４の色として領域２１２の色（に近い色）が画像２１０に対して描画されている。また領域２２４のα値は上記基準範囲内であるため、領域２２４のＺ値は画像２１０に対して描画されず、領域２２６のＺ値のみが画像２１０に対して描画される。すなわち画像２３０における領域２３２のＺ値は０．０であり、領域２３４（領域２３２以外の領域）のＺ値は１．０である。
【００５８】
画像２５０は、描画バッファ１７４に描画された画像２３０に対して領域２４２を描画したときに得られる画像である。ここでは領域２４２のＺ値が、画像２３０における領域２３４のＺ値よりも小さく、領域２３２のＺ値よりも大きいため、領域２３４と重なる部分においては領域２４２の色が画像２３０に対して描画され、領域２３２と重なる部分においては領域２４２の色は描画されない。
【００５９】
このように本実施形態では、半透明の領域を含むポリゴン（オブジェクト）を描画する場合に、当該領域のα値が基準範囲にあるか否かを判定して、基準範囲にない場合には色情報とＺ値とを描画する第１の描画モードで描画し、基準範囲にある場合にはＺ値を描画せずに色情報を描画する第２の描画モードで描画する。
【００６０】
図３は、本実施形態の処理例と比較するための処理例である。
【００６１】
画像３３０は、描画バッファ１７４に描画された画像２１０に対して画像２２０における領域２２２を第１の描画モード（色情報とＺ値とを描画するモード）のみで描画したときに得られる画像である。ここでは領域２２２における領域２２４のＺ値は領域２２６のＺ値と同様に画像２１０に対して描画される。すなわち画像２３０における領域３３２のＺ値は０．０であり、領域３３２以外の領域のＺ値は１．０である。
【００６２】
画像３５０は、描画バッファ１７４に描画された画像３３０に対して画像２４０における領域２４２を描画したときに得られる画像である。ここでは領域２４２のＺ値が、画像３３０における領域３３２のＺ値よりも大きいため、領域３３２と重なる部分において領域２４２の色は画像３３０に対して描画されない。従って画像３５０においては、領域３５２に領域２４２の色が描画されずに、領域２４２よりも奥にあるはずの領域２１２の色が残ってしまい、図２に示した画像２５０と比較して見た目上不自然な画像となってしまう。
【００６３】
このように半透明の領域を含むオブジェクト（画像２２０における領域２２２）を描画した後に、当該オブジェクトよりも仮想カメラから見て奥に位置するオブジェクト（画像２４０における領域２４２）を描画した場合に見た目に不自然な画像となってしまう場合があるが、本実施形態によればこのような場合であっても、オブジェクトを奥に位置するオブジェクトから順にソートする処理を行ってから描画する等の処理負担をかけずに適切な描画処理を行うことができる。
【００６４】
次に、本実施形態の処理によって得られた画像（元画像）に対して、元画像のＺ値（奥行き情報）を用いたポストエフェクト処理を行う場合について説明する。ここでは半透明の領域を含むオブジェクト（画像２２０における領域２２２）を描画して得られた図２に示す画像２３０（元画像）に対して被写界深度処理を行う場合について説明する。
【００６５】
被写界深度処理を行う場合には、まず元画像に対してぼかし処理を行ってぼかし画像を生成する。次に元画像のＺ値に基づきぼかし画像を合成する範囲を決定し、元画像の決定した範囲にぼかし画像を合成する処理を行う。このときＺ値が大きい（奥に位置する）範囲がぼかし画像を合成する範囲として決定される。
【００６６】
図２に示す画像２３０においては、領域２３２のＺ値が小さく（値０．０）、領域２３４のＺ値が大きい（値１．０）ので、ぼかし画像を合成する範囲として領域２３４（領域２３２以外の領域）が決定される。従って図２に示す画像２３０に対して被写界深度処理を行った場合には、画像２３０の領域２３４（領域２３２以外の領域）にぼかし画像が合成されることになり、より手前に位置する領域２３２がはっきり見え、より奥に位置する領域２３４がぼけて見える画像が生成される。
【００６７】
一方、半透明の領域を含むオブジェクト（画像２２０における領域２２２）を第１の描画モード（色情報とＺ値とを描画するモード）のみで描画して得られた図３に示す画像３３０においては、領域３３２のＺ値が小さく（値０．０）、領域３３２以外の領域のＺ値が大きい（値１．０）ので、ぼかし画像を合成する範囲として領域３３２以外の領域が決定される。従って図３に示す画像３３０に対して被写界深度処理を行った場合には、画像３３０の領域３３２以外の領域にぼかし画像が合成されることになり、領域３３２がはっきり見え、領域３３２以外の領域がぼけて見える画像が生成される。従って画像３３０における領域２１２（領域２２２よりも奥に位置する領域）の色が描画された部分のうち、領域３３２に含まれない部分についてのみぼけて見え、領域３３２に含まれる部分についえてははっきり見える画像が生成されてしまい、図２に示す画像２５０に対して被写界深度処理を行う場合と比較して見た目上不自然な画像となってしまう。
【００６８】
このように本実施形態によれば、半透明の領域を含むオブジェクト（画像２２０における領域２２２）が描画された元画像に対して、元画像のＺ値を用いたポストエフェクト処理を行う場合にも、適切な描画処理を行うことができる。
【００６９】
３．本実施形態の処理
次に、本実施形態の詳細な処理例について図４のフローチャートを用いて説明する。
【００７０】
まず描画するオブジェクトを選択し、当該オブジェクトが半透明オブジェクトであるか否かを判定する（ステップＳ１０）。具体的には記憶部に各オブジェクトに対応付けて半透明オブジェクトであるか否かを示す情報が記憶され、当該情報を参照して上記判定を行う。
【００７１】
ステップＳ１０において、描画するオブジェクトが半透明オブジェクトであると判定された場合には、当該オブジェクトに対応するピクセルのうち１のピクセルを選択し、当該ピクセルのＺ値とＺバッファに格納されたＺ値とを比較して、当該ピクセルのＺ値が手前側となるＺ値か否かを判定する（ステップＳ１２）。
【００７２】
ステップＳ１２において、当該ピクセルのＺ値が手前側となるＺ値であると判定した場合には、記憶部に記憶された基準範囲を参照して、当該ピクセルのα値が当該基準範囲にあるか否かを判断する（ステップＳ１４）。このとき描画しているオブジェクトに対応付けられた基準範囲を参照するようにしてもよいし、描画で使用している仮想カメラに対応付けられた基準範囲を参照するようにしてもよい。またオブジェクトの位置、仮想カメラの位置等に基づき変更された基準範囲を参照し、上記判断を行ってもよい。
【００７３】
ステップＳ１４において、当該ピクセルのα値が基準範囲にあると判定した場合には、ステップＳ１６の処理を行わず、ステップＳ１８の処理に進む。またステップＳ１４において、当該ピクセルのα値が基準範囲にないと判定した場合には、当該ピクセルのＺ値をＺバッファに描画する（ＺバッファのＺ値を当該ピクセルの値に更新する）（ステップＳ１６）。
【００７４】
次に、当該ピクセルのα値に基づきαブレンディング処理を行い、得られた色情報を描画バッファに描画する（ステップＳ１８）。ここで色情報と当該ピクセルのα値を描画バッファに描画するようにしてもよい。
【００７５】
次に、描画しているオブジェクトに対応する全てのピクセルについて処理を行ったか否かを判断し（ステップＳ２０）、全てのピクセルについて処理を行っていない場合にはステップＳ１２に戻り、当該オブジェクトに対応する次のピクセルを選択し、当該オブジェクトに対応する全てのピクセルについて処理が終了するまでステップＳ１２以下の処理を繰り返す。
【００７６】
ステップＳ２０において、全てのピクセルについて処理を行ったと判断した場合には、描画すべき全てのオブジェクトについて処理を行ったか否かを判断し（ステップＳ２２）、全てのオブジェクトついて処理を行っていない場合にはステップＳ１０に戻り、描画する次のオブジェクトを選択し、全てのオブジェクトについて処理が終了するまでステップＳ１２以下の処理を繰り返す。
【００７７】
ステップＳ１０において、選択したオブジェクトが半透明オブジェクトでないと判断した場合には、当該オブジェクトに対応するピクセルのうち１のピクセルを選択し、当該ピクセルのＺ値とＺバッファに格納されたＺ値とを比較して、当該ピクセルのＺ値が手前側となるＺ値か否かを判定する（ステップＳ２４）。
【００７８】
ステップＳ２４において、当該ピクセルのＺ値が手前側となるＺ値であると判定した場合には、当該ピクセルのα値に基づきαブレンディング処理を行い、得られた色情報を描画バッファに描画するとともに当該ピクセルのＺ値をＺバッファに描画する（ＺバッファのＺ値を当該ピクセルの値に更新する）。
【００７９】
次に、描画しているオブジェクトに対応する全てのピクセルについて処理を行ったか否かを判断し（ステップＳ２８）、全てのピクセルについて処理を行っていない場合にはステップＳ２４に戻り、当該オブジェクトに対応する次のピクセルを選択し、全てのピクセルについて処理が終了するまでステップＳ２４以下の処理を繰り返す。全てのピクセルについて処理を行ったと判断した場合には、ステップＳ２２に進む。
【００８０】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。また接触痕跡の表現手法も、本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。
【００８１】
また本発明は種々のゲーム（レーシングゲーム、格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等）に適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【００８２】
【図１】本実施形態の画像生成システムの機能ブロック図。
【図２】本実施形態の手法の説明図。
【図３】本実施形態の手法の説明図。
【図４】本実施形態のゲーム装置の処理例を示すフローチャート。
【符号の説明】
【００８３】
１０  ゲーム装置
１００  処理部
１１０  オブジェクト空間設定部
１１２  移動・動作処理部
１１４  仮想カメラ制御部
１１６  基準範囲変更部
１２０  描画部
１２２  判定部
１４０  音生成部
１６０  操作部
１７０  記憶部
１８０  情報記憶媒体
１９０  表示部
１９２  音出力部
１９４  携帯型情報記憶装置
１９６  通信部
【図１】
2008310377.tif 000003
【図４】
2008310377.tif 000004
【図２】
2008310377.tif 000005
【図３】
2008310377.tif 000006