(57)【要約】【課題】エフェクト画像を描画する際の処理負荷を軽減しつつ、画像の劣化を回避することができるようにした画像生成システム、プログラム及び情報記憶媒体を提供すること。【解決手段】オブジェクト空間を仮想カメラから見た画像を生成するための画像生成システムである。この画像生成システムは、エフェクト処理として、第１カラーバッファ２４Ａに描画された原画像を第１カラーバッファ２４Ａよりも解像度が低い第２カラーバッファ２４Ｂに描画する処理と、エフェクト画像を第２カラーバッファ２４Ｂに描画する処理と、第２カラーバッファ２４Ｂに描画されたエフェクト画像を描画するピクセルを指定するステンシル画像を、原画像の奥行き値とエフェクト画像の奥行き値とに基づいて、第２カラーバッファ２４Ｂよりも解像度が高いステンシルバッファ２４Ｅに描画する処理と、第２カラーバッファ２４Ｂに描画されたエフェクト画像を、ステンシル画像に基づいて第１カラーバッファ２４Ａに描画する処理と、を行う。【選択図】図５
2010134671.tif 000002
【特許請求の範囲】
【請求項１】
画像を生成するためのプログラムであって、
オブジェクト空間に設定されたオブジェクトを仮想カメラから見た原画像を第１カラーバッファに描画する処理を行う原画像描画部と、
前記原画像と前記原画像の色を調整するためのエフェクト画像とを合成するエフェクト処理を行うエフェクト処理部としてコンピュータを機能させ、
前記エフェクト処理部は前記エフェクト処理として、
前記第１カラーバッファに描画された前記原画像を前記第１カラーバッファよりも解像度が低い第２カラーバッファに描画する処理と、
前記エフェクト画像を前記第２カラーバッファに描画する処理と、
前記第２カラーバッファに描画された前記エフェクト画像を描画するピクセルを指定するステンシル画像を、前記原画像の奥行き値と前記エフェクト画像の奥行き値とに基づいて、前記第２カラーバッファよりも解像度が高いステンシルバッファに描画する処理と、
前記第２カラーバッファに描画された前記エフェクト画像を、前記ステンシル画像に基づいて前記第１カラーバッファに描画する処理と、
を行うことを特徴とするプログラム。
【請求項２】
請求項１において、
前記エフェクト処理部は、
前記エフェクト画像の位置を前記仮想カメラから見て特定オブジェクトよりも奥に設定する処理を行うことを特徴とするプログラム。
【請求項３】
請求項１において、
前記エフェクト処理部は、
前記原画像の奥行き値と前記エフェクト画像の奥行き値とに基づいて、前記エフェクト画像を前記第２カラーバッファに描画する処理を行うことを特徴とするプログラム。
【請求項４】
請求項１において、
前記エフェクト処理部は、
前記仮想カメラから見て前記特定オブジェクトよりも手前に設定される第１エフェクト画像について前記エフェクト処理を行う第１エフェクト処理と、前記仮想カメラから見て前記特定オブジェクトよりも奥に設定される第２エフェクト画像について前記エフェクト処理を行う第２エフェクト処理とを行うことを特徴とするプログラム。
【請求項５】
請求項１〜４のいずれかにおいて、
前記エフェクト処理部は、
エフェクト用テクスチャをエフェクト用オブジェクトにマッピングすることにより前記エフェクト画像を前記第２カラーバッファに描画する処理を行い、
前記エフェクト用オブジェクトの奥行き値に基づいて、前記ステンシル画像を前記ステンシルバッファに描画する処理を行うことを特徴とするプログラム。
【請求項６】
請求項５において、
前記エフェクト処理部は、
前記エフェクト用オブジェクトの形状に基づいて、前記ステンシル画像を前記ステンシルバッファに描画する処理を行うことを特徴とするプログラム。
【請求項７】
請求項５において、
前記エフェクト処理部は、
前記エフェクト用テクスチャに基づいて、前記ステンシル画像を前記ステンシルバッファに描画する処理を行うことを特徴とするプログラム。
【請求項８】
コンピュータにより読み取り可能な情報記憶媒体であって、請求項１〜７のいずれかに記載されたプログラムを記憶することを特徴とする情報記憶媒体。
【請求項９】
画像を生成するための画像生成システムであって、
オブジェクト空間に設定されたオブジェクトを仮想カメラから見た原画像を第１カラーバッファに描画する処理を行う原画像描画部と、
前記原画像と前記原画像の色を調整するためのエフェクト画像とを合成するエフェクト処理を行うエフェクト処理部とを含み、
前記エフェクト処理部は前記エフェクト処理として、
前記第１カラーバッファに描画された前記原画像を前記第１カラーバッファよりも解像度が低い第２カラーバッファに描画する処理と、
前記エフェクト画像を前記第２カラーバッファに描画する処理と、
前記エフェクト画像を描画するピクセルを指定するステンシル画像を、前記原画像の奥行き値と前記エフェクト画像の奥行き値とに基づいて、前記第２カラーバッファよりも解像度が高いステンシルバッファに描画する処理と、
前記第２カラーバッファに描画された前記エフェクト画像を、前記ステンシル画像に基づいて前記第１カラーバッファに描画する処理と、
を行うことを特徴とする画像生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像生成システム、プログラム及び情報記憶媒体に関する。
【背景技術】
【０００２】
従来より、仮想的な３次元空間であるオブジェクト空間において仮想カメラ（所与の視点）から見える画像を生成する画像生成システム（ゲームシステム）が知られており、いわゆる仮想現実を体験できるものとして人気が高い。格闘ゲームを楽しむことができる画像生成システムを例に取れば、プレーヤは、操作部（ゲームコントローラ等）を用いて移動体（キャラクタ等）に関する操作（攻撃操作、防御操作、移動操作等）を行い、他のプレーヤ（コンピュータプレーヤも含まれる）の移動体と格闘するゲームを楽しむ。
【０００３】
ところで、上述した画像生成システムに関し、オブジェクト空間を仮想カメラから見た原画像に対して、炎や煙や閃光などのパーティクルを表現するエフェクト画像を合成することにより視覚効果が高い画像を生成する手法が知られているが、エフェクト画像は描画する際の処理負荷が重いものが多いため、エフェクト画像の解像度を原画像よりも低くして原画像に合成する手法が提案されている（非特許文献１参照）。
【非特許文献１】川瀬  正樹、泥OUBLE-S.T.E.A.L.におけるリアルタイムCG表現技法煤A［online］、２００２年、株式会社ぶんか社ゲーム開発事業部、［平成２０年１１月１４日検索］、インターネット＜URL：http://www.bunkasha-games.com/cedec2002/kawase_ppt.html＞
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、このような従来の手法では、エフェクト画像を描画する際の処理負荷は軽減されるものの、エフェクト画像と重なる領域の原画像の解像度も低くなってしまうことにより、画像が劣化してしまうという問題が発生していた。
【０００５】
本出願は上記事情に鑑みてなされたものであり、その目的は、エフェクト画像を描画する際の処理負荷を軽減しつつ、画像の劣化を回避することができるようにした画像生成システム、プログラム及び情報記憶媒体を提供することにある。
【課題を解決するための手段】
【０００６】
（１）本発明は、
画像を生成するための画像生成システムであって、
オブジェクト空間に設定されたオブジェクトを仮想カメラから見た原画像を第１カラーバッファに描画する処理を行う原画像描画部と、
前記原画像と前記原画像の色を調整するためのエフェクト画像とを合成するエフェクト処理を行うエフェクト処理部とを含み、
前記エフェクト処理部は前記エフェクト処理として、
前記第１カラーバッファに描画された前記原画像を前記第１カラーバッファよりも解像度が低い第２カラーバッファに描画する処理と、
前記エフェクト画像を前記第２カラーバッファに描画する処理と、
前記エフェクト画像を描画するピクセルを指定するステンシル画像を、前記原画像の奥行き値と前記エフェクト画像の奥行き値とに基づいて、前記第２カラーバッファよりも解像度が高いステンシルバッファに描画する処理と、
前記第２カラーバッファに描画された前記エフェクト画像を、前記ステンシル画像に基づいて前記第１カラーバッファに描画する処理と、
を行うことを特徴とする画像生成システムに関するものである。また本発明は、上記各部としてコンピュータを機能させるプログラム及びそのようなプログラムを記憶するコンピュータが読み取り可能な情報記憶媒体に関するものである。
【０００７】
本発明では、原画像の奥行き値とエフェクト画像の奥行き値とに基づいてステンシル画像が描画されるため、仮想カメラから見てエフェクト画像の手前にオブジェクトが重なる場合に、当該オブジェクトに対応するピクセルについては描画しないピクセルとして指定し、当該オブジェクトと重ならないエフェクト画像に対応するピクセルについては描画するピクセルとして指定するステンシル画像が描画される。従って本発明では、このような場合に、第１カラーバッファのピクセルのうち、仮想カメラから見てエフェクト画像の手前に重なるオブジェクトに対応するピクセルについては、第１カラーバッファに描画された原画像が残り、当該オブジェクトと重ならないエフェクト画像に対応するピクセルについては、第２カラーバッファに描画されたエフェクト画像が描画される。こうして本発明によれば、エフェクト画像を描画する際の処理負荷を軽減しつつ、画像の劣化を回避することができる。
【０００８】
（２）また本発明の画像生成システム、プログラム及び情報記憶媒体では、
前記エフェクト処理部は、
前記エフェクト画像の位置を前記仮想カメラから見て特定オブジェクトよりも奥に設定する処理を行うようにしてもよい。
【０００９】
このようにすれば、複数のエフェクト画像が仮想カメラから見て特定オブジェクトの手前と奥とで特定オブジェクトと重なるように設定されることがないため、エフェクト画像を第２カラーバッファに描画する際に、原画像の奥行き値とエフェクト画像の奥行き値とに基づいて描画しなくとも、ステンシル画像により画像の劣化を回避することができる。
【００１０】
（３）また本発明の画像生成システム、プログラム及び情報記憶媒体では、
前記エフェクト処理部は、
前記原画像の奥行き値と前記エフェクト画像の奥行き値とに基づいて、前記エフェクト画像を前記第２カラーバッファに描画する処理を行うようにしてもよい。
【００１１】
このようにすれば、複数のエフェクト画像が特定オブジェクトの手前と奥に仮想カメラから見て特定オブジェクトと重なるように設定されても、エフェクト画像を第２カラーバッファに描画する際に、原画像の奥行き値とエフェクト画像の奥行き値とに基づいて描画することにより、これらの前後関係を正確に描画しつつ、ステンシル画像により画像の劣化を回避することができる。
【００１２】
（４）また本発明の画像生成システム、プログラム及び情報記憶媒体では、
前記エフェクト処理部は、
前記仮想カメラから見て前記特定オブジェクトよりも手前に設定される第１エフェクト画像について前記エフェクト処理を行う第１エフェクト処理と、前記仮想カメラから見て前記特定オブジェクトよりも奥に設定される第２エフェクト画像について前記エフェクト処理を行う第２エフェクト処理とを行うようにしてもよい。
【００１３】
このようにすれば、第１エフェクト画像と第２エフェクト画像とが特定オブジェクトの手前と奥に仮想カメラから見て特定オブジェクトと重なるように設定されても、第１エフェクト画像についての第１エフェクト処理と第２エフェクト画像についての第２エフェクト処理とが行われることにより、エフェクト画像を第２カラーバッファに描画する際に、原画像の奥行き値とエフェクト画像の奥行き値とに基づいて描画しなくとも、これらの前後関係を正確に描画しつつ、ステンシル画像により画像の劣化を回避することができる。
【００１４】
（５）また本発明の画像生成システム、プログラム及び情報記憶媒体では、
前記エフェクト処理部は、
エフェクト用テクスチャをエフェクト用オブジェクトにマッピングすることにより前記エフェクト画像を前記第２カラーバッファに描画する処理を行い、
前記エフェクト用オブジェクトの奥行き値に基づいて、前記ステンシル画像を前記ステンシルバッファに描画する処理を行うようにしてもよい。
【００１５】
このようにすれば、ステンシル画像を描画する際の処理負荷を軽減することができる。
【００１６】
（６）また本発明の画像生成システム、プログラム及び情報記憶媒体では、
前記エフェクト処理部は、
前記エフェクト用オブジェクトの形状に基づいて、前記ステンシル画像を前記ステンシルバッファに描画する処理を行うようにしてもよい。
【００１７】
このようにすれば、ステンシル画像を描画する際の処理負荷を更に軽減することができる。
【００１８】
（７）また本発明の画像生成システム、プログラム及び情報記憶媒体では、
前記エフェクト処理部は、
前記エフェクト用テクスチャに基づいて、前記ステンシル画像を前記ステンシルバッファに描画する処理を行うようにしてもよい。
【００１９】
このようにすれば、エフェクト用テクスチャに対応する詳細なステンシル画像が描画されることにより、画像の劣化を更に回避することができる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施形態について説明する。なお、以下に説明する本発明の実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本発明の実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００２１】
１．第１実施形態
１−１．構成
図１に第１実施形態の画像生成システム（ゲームシステム）の機能ブロック図の例を示す。なお本実施形態の画像生成システムは図１の構成要素（各部）の一部を省略した構成としてもよい。
【００２２】
操作部１０は、プレーヤがプレーヤオブジェクト（移動体オブジェクトの一例、プレーヤが操作するプレーヤキャラクタなど）の操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。
【００２３】
記憶部２０は、処理部１００や通信部７０などのワーク領域となるもので、その機能はＲＡＭ（メインメモリ２２）、ＶＲＡＭ（ビデオメモリ２４）などにより実現できる。
【００２４】
情報記憶媒体３０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体３０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体３０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００２５】
携帯型情報記憶装置４０は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置４０としては、メモリカードや携帯型ゲーム装置などにより実現できる。
【００２６】
表示部５０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。
【００２７】
音出力部６０は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００２８】
通信部７０は外部（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００２９】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部７０を介して情報記憶媒体３０（あるいは記憶部２０のメインメモリ２２）に配信してもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００３０】
処理部１００（プロセッサ）は、操作部１０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、イベント発生条件が満たされた場合にイベントを発生させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部１００は、記憶部２０内のメインメモリ２２をワーク領域として各種処理を行う。処理部１００の機能は、各種プロセッサ（ＣＰＵ（メインプロセッサ）、ＧＰＵ（描画プロセッサ）、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００３１】
そして処理部１００は、オブジェクト空間設定部１１０、移動・動作処理部１１２、仮想カメラ制御部１１４、描画部１２０、音生成部１３０を含む。なおこれらの一部を省略する構成としてもよい。
【００３２】
オブジェクト空間設定部１１０は、オブジェクトデータ記憶部２２Ａに記憶されているオブジェクトデータに基づいて、キャラクタ、車、建物、樹木、柱、壁、コース（道路）、マップ（地形）などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト）や、光が進行する方向や強さや色を示す光源をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義）を決定し、決定された位置（Ｘ、Ｙ、Ｚ）に決定された回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトや光源を配置する。
【００３３】
移動・動作処理部１１２は、オブジェクト（キャラクタ、車、又は飛行機等）の移動・動作演算（移動・動作シミュレーション）を行う。すなわち操作部１０によりプレーヤが入力した操作データや、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、オブジェクトをオブジェクト空間内で移動させたり、オブジェクトを動作（モーション、アニメーション）させる処理を行う。具体的には、オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（オブジェクトを構成する各パーツの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【００３４】
仮想カメラ制御部１１４は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置、視線方向あるいは画角を制御する処理）を行う。
【００３５】
例えば仮想カメラによりオブジェクト（例えばキャラクタ、車）を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。この場合には、移動・動作処理部１１２で得られたオブジェクトの位置、回転角度又は速度などの情報（所定の制御情報の一例）に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させたりする制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は回転角度を特定するための仮想カメラデータ（所定の制御情報の一例）に基づいて仮想カメラを制御する。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【００３６】
描画部１２０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部５０に出力する。いわゆる３次元ゲーム画像を生成する場合には、まずオブジェクト（モデル）の各頂点の頂点データ（頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）を含むオブジェクトデータ（モデルデータ）がオブジェクトデータ記憶部２２Ａから入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理（頂点シェーダによるシェーディング）が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理（テッセレーション、曲面分割、ポリゴン分割）を行うようにしてもよい。頂点処理では、頂点処理プログラム（頂点シェーダプログラム、第１のシェーダプログラム）に従って、頂点の移動処理や、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、あるいは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更（更新、調整）する。そして、頂点処理後の頂点データに基づいてラスタライズ（走査変換）が行われ、ポリゴン（プリミティブ）の面とピクセル（画素）とが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル（表示画面を構成するフラグメント）を描画するピクセル処理（ピクセルシェーダによるシェーディング、フラグメント処理）が行われる。ピクセル処理では、ピクセル処理プログラム（ピクセルシェーダプログラム、第２のシェーダプログラム）に従って、テクスチャの読出し（テクスチャマッピング）、色データの設定／変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの描画色を決定し、透視変換されたオブジェクトの描画色をレンダリングターゲット（ピクセル単位で画像情報を記憶できるバッファ。メインメモリ２２のフレームバッファ２２Ｂ、ビデオメモリ２４の第１カラーバッファ２４Ａ、第２カラーバッファ２４Ｂ、ステンシルバッファ２４Ｅなど）に出力（描画）する。すなわち、ピクセル処理では、画像情報（色（色値、輝度値）、法線、α値等）をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として１画面に表示できるように画像を生成することができる。
【００３７】
なお頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン（プリミティブ）の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ（頂点シェーダやピクセルシェーダ）により実現される。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、従来のハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【００３８】
そして描画部１２０は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング、ステンシルテスト等を行う。
【００３９】
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後（透視投影変換後）のオブジェクトデータ（オブジェクトの頂点の位置座標、テクスチャ座標、色データ（輝度データ）、法線ベクトル、或いはα値等）は、メインメモリ２２のオブジェクトデータ記憶部２２Ａに保存される。
【００４０】
光源計算としては、光源に設定される各種パラメータ（光源の強さ、色、位置、光源ベクトルなど）、オブジェクト（プリミティブ）や頂点に設定される各種パラメータ（反射属性、法線などのベクトルなど）、仮想カメラに設定される各種パラメータ（視線ベクトル、視点の位置など）に基づいて光の反射をシミュレートし、頂点毎に基本色（ディフューズ）と鏡面反射成分（スペキュラ）とを求める。
【００４１】
テクスチャマッピングは、ビデオメモリ２４のテクスチャ記憶部２４Ｃに記憶されるテクスチャ（テクセル値、ＵＶ座標値）をオブジェクトにマッピングするための処理である。具体的には、オブジェクトの頂点に設定（付与）されるテクスチャ座標等を用いてビデオメモリ２４のテクスチャ記憶部２４Ｃからテクスチャ（色（ＲＧＢ）、α値などの表面プロパティ）を読み出す。そして、２次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間、トライリニア補間などを行う。
【００４２】
隠面消去処理としては、描画ピクセルの奥行き値（Ｚ値）が格納されるデプスバッファ２４Ｄ（奥行きバッファ）を用いた奥行き比較法（デプステスト、Ｚテスト）による隠面消去処理を行う。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、デプスバッファ２４Ｄに格納される奥行き値をピクセルごとに参照する。そして参照されたデプスバッファ２４Ｄの奥行き値と、プリミティブの描画ピクセルでの奥行き値とを比較し、描画ピクセルでの奥行き値が、仮想カメラから見て手前側となる奥行き値（例えば小さな奥行き値）である場合には、その描画ピクセルの描画処理を行うとともにデプスバッファ２４Ｄの奥行き値を新たな奥行き値に更新する。
【００４３】
αブレンディングとしては、α値（Ａ値）に基づく半透明合成処理（通常αブレンディング、加算αブレンディング又は減算αブレンディング等）を行う。例えば通常αブレンディングの場合には下式（１）〜（３）の処理を行う。
【００４４】
ＲＱ＝（１−α）×Ｒ１＋α×Ｒ２    （１）
ＧＱ＝（１−α）×Ｇ１＋α×Ｇ２    （２）
ＢＱ＝（１−α）×Ｂ１＋α×Ｂ２    （３）
【００４５】
また、加算αブレンディングの場合には下式（４）〜（６）の処理を行う。なお単純加算の場合はα＝１として下式（４）〜（６）の処理を行う。
【００４６】
ＲＱ＝Ｒ１＋α×Ｒ２                （４）
ＧＱ＝Ｇ１＋α×Ｇ２                （５）
ＢＱ＝Ｂ１＋α×Ｂ２                （６）
【００４７】
また、減算αブレンディングの場合には下式（７）〜（９）の処理を行う。なお単純減算の場合はα＝１として下式（７）〜（９）の処理を行う。
【００４８】
ＲＱ＝Ｒ１−α×Ｒ２                （７）
ＧＱ＝Ｇ１−α×Ｇ２                （８）
ＢＱ＝Ｂ１−α×Ｂ２                （９）
【００４９】
ここで、Ｒ１、Ｇ１、Ｂ１は、フレームバッファ２２Ｂあるいは第１カラーバッファ２４Ａ、第２カラーバッファ２４Ｂに既に描画されている画像（原画像）のＲＧＢ成分（色値）であり、Ｒ２、Ｇ２、Ｂ２は、フレームバッファ２２Ｂあるいは第１カラーバッファ２４Ａ、第２カラーバッファ２４Ｂに描画すべき画像のＲＧＢ成分である。また、ＲＱ、ＧＱ、ＢＱは、αブレンディングにより得られる画像のＲＧＢ成分である。なお、α値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度（透明度、不透明度と等価）、バンプ情報などとして使用できる。
【００５０】
ステンシルテストとしては、ステンシルバッファ２４Ｅの値（ステンシル画像）と、任意に設定できるステンシル参照値とを、任意に設定できる比較関数に基づいてピクセルごとに比較し、第１カラーバッファ２４Ａの画像や第２カラーバッファ２４Ｂの画像の各ピクセルのデータを以降の処理において用いるか破棄するかを決定する処理を行う。例えば、ステンシルバッファ２４Ｅのピクセルのうち「１」が格納されたピクセルについては、第２カラーバッファ２４Ｂの色を以降の処理において用い、ステンシルバッファ２４Ｅのピクセルのうち「０」が格納されたピクセルについては、第２カラーバッファ２４Ｂの色を以降の処理において用いないようにすることができる。
【００５１】
そして本実施形態では描画部１２０は、原画像描画部１２２と、エフェクト処理部１２４とを含む。
【００５２】
原画像描画部１２２は、上述のようにして、オブジェクト空間を仮想カメラから見た原画像を、第１カラーバッファ２４Ａに描画する処理を行う。
【００５３】
エフェクト処理部１２４は、処理部１００によるゲーム処理の結果に基づいて、爆発や炎上などのイベントが発生した場合に、原画像に対して炎や煙や閃光などを表現するエフェクト画像を合成するエフェクト処理を行う。
【００５４】
具体的にはエフェクト処理部１２４はエフェクト処理として、まず、第１カラーバッファ２４Ａに描画された原画像を構成する各ピクセルの色（ＲＧＢ成分）を、第１カラーバッファ２４Ａよりも解像度が低い（ピクセル数が少ない、サイズが小さい）第２カラーバッファ２４Ｂ（縮小バッファ）に描画（コピー）する処理を行う。本実施形態では、第２カラーバッファ２４Ｂの解像度は第１カラーバッファ２４Ａの解像度の２分の１倍（ピクセル数、サイズは４分の１倍）となっている。
【００５５】
そしてエフェクト処理部１２４は、原画像の色を調整するためのエフェクト画像を第２カラーバッファ２４Ｂに描画する処理を行う。詳細にはエフェクト処理部１２４は、上述したオブジェクト空間設定部１１０として機能し、ゲーム処理の結果により決定されるオブジェクト空間における爆発や炎上などが発生した位置（ワールド座標系）に、矩形のポリゴンにより構成されたエフェクト用オブジェクトを設定する。そしてエフェクト処理部１２４は、このエフェクト用オブジェクトについて上述したジオメトリ処理を行い、このエフェクト用オブジェクトに炎や煙や閃光などを表現するエフェクト用テクスチャをマッピングしつつ、デプステストを行わずにエフェクト画像を第２カラーバッファ２４Ｂに描画する処理を行う。
【００５６】
するとエフェクト処理部１２４は、第１カラーバッファ２４Ａにおいてエフェクト画像を描画するピクセルを指定するステンシル画像を、エフェクト用オブジェクトの形状に基づいて、第２カラーバッファ２４Ｂよりも解像度が高いステンシルバッファ２４Ｅに描画する処理を行う。本実施形態では、ステンシルバッファ２４Ｅの解像度は第２カラーバッファ２４Ｂの解像度の２倍（ピクセル数、サイズは４倍）となっており、第１カラーバッファ２４Ａの解像度と同一となっている。
【００５７】
詳細にはエフェクト処理部１２４は、上述したオブジェクト空間設定部１１０として機能し、ゲーム処理の結果により決定されるオブジェクト空間における爆発や炎上などが発生した位置（ワールド座標系）にエフェクト用オブジェクトを設定する。そしてエフェクト処理部１２４は、このエフェクト用オブジェクトについて上述したジオメトリ処理を行い、デプスバッファ２４Ｄに格納された原画像の奥行き値と、エフェクト処理部１２４が設定するエフェクト用オブジェクトの位置に含まれる奥行き値（エフェクト画像の奥行き値の一例）との比較結果に基づいてデプステストを行いながら、仮想カメラから見えるエフェクト用オブジェクトの形状をステンシル画像としてステンシルバッファ２４Ｅに描画する処理を行う。本実施形態ではエフェクト処理部１２４は、ステンシルバッファ２４Ｅのピクセルのうちエフェクト用オブジェクトが最も手前になるピクセルについて「１」を格納し、エフェクト用オブジェクトが最も手前ではないピクセルについて「０」を格納することにより、ステンシル画像を描画する。
【００５８】
なおエフェクト処理部１２４は、エフェクト用オブジェクトの位置（エフェクト画像の位置の一例）を、仮想カメラから見て特定オブジェクト（キャラクタなど）よりも常に奥となるように設定する処理を行うようにしてもよい。この場合にはエフェクト処理部１２４は、仮想カメラの位置と特定オブジェクトの位置とに基づいて、エフェクト用オブジェクトの位置を仮想カメラから見て特定オブジェクトよりも常に奥となるように設定するようにしてもよいし、エフェクト用オブジェクトの位置や移動範囲が、仮想カメラから見て特定オブジェクトよりも常に奥となるような領域に予め設定されているようにしてもよい。
【００５９】
そしてエフェクト処理部１２４は、上述のようにして第２カラーバッファ２４Ｂに描画されたエフェクト画像を、ステンシル画像に基づいてステンシルテストを行いながら、第１カラーバッファ２４Ｂに描画する処理を行う。本実施形態ではエフェクト処理部１２４は、ステンシル画像において「１」が格納されたピクセルについては、第２カラーバッファ２４Ｂの色を第１カラーバッファ２４Ａに描画し、ステンシル画像において「０」が格納されたピクセルについては、第１カラーバッファ２４Ａの原画像の色を更新せずにそのまま残す。
【００６０】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部６０に出力する。
【００６１】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて分散処理により生成してもよい。
【００６２】
１−２．本実施形態の手法
次に本実施形態の手法について、従来の手法と比較しながら図面を用いて説明する。
【００６３】
１−２−１．従来の手法
図２は、従来の画像生成システムにおいて採用されている、エフェクト画像を描画する際の処理負荷を軽減させる手法を説明するための図である。図２では、仮想カメラから見て黒い球体オブジェクト（特定オブジェクトの一例）の奥（裏）に煙を表現するエフェクト画像を合成する例を挙げて説明する。まず図２のＡ１のように、従来の手法では、オブジェクト空間に設定された球体オブジェクトを仮想カメラから見た原画像の各ピクセルの色が、最終的な表示画像の解像度を有する第１カラーバッファ２４Ａに描画され、原画像の各ピクセルの奥行き値が、第１カラーバッファ２４Ａと同一の解像度を有する第１デプスバッファ２４Ｄ１に格納される。
【００６４】
そして図２のＡ２のように、第１カラーバッファ２４Ａに描画された原画像の各ピクセルの色が、第１カラーバッファ２４Ａの２分の１倍の解像度の第２カラーバッファ２４Ｂに縮小コピーされ、第１デプスバッファ２４Ｄ１に描画された原画像の各ピクセルの奥行き値が、第１デプスバッファ２４Ｄ１の２分の１倍の解像度の第２デプスバッファ２４Ｄ２に縮小コピーされる。なお縮小コピーの手法としては、第１カラーバッファ２４Ａの２行２列の４つのピクセルのうち１つのピクセルの色が第２カラーバッファ２４Ｂの１つのピクセルの色としてコピーされるようにしてもよいし、第１カラーバッファ２４Ａの４つのピクセルの色の平均値が第２カラーバッファ２４Ｂの１つのピクセルの色としてコピーされるようにしてもよい。
【００６５】
すると図２のＡ３のように、ゲーム処理の結果により決定されるオブジェクト空間における爆発や炎上などが発生した位置（ワールド座標系）に基づいて、第２カラーバッファ２４Ｂに煙を表現するエフェクト画像が描画される。図２の例では、図３（Ａ）に示すように、頂点データのα値がα＝１．０（不透明）に設定された矩形のポリゴンにより構成されるエフェクト用オブジェクトが設定される。そして、各テクセルに煙の粒子の色と０．０〜１．０の値をとるα値が設定された煙を表現するエフェクト用テクスチャが、このエフェクト用オブジェクトに対してマッピングされることによりエフェクト画像が第２カラーバッファ２４Ｂに描画される。詳細にはエフェクト用テクスチャは、煙の粒子の色が設定されているテクセルには０．０＜α≦１．０となるα値が設定され、煙の粒子の色が設定されていないテクセルにはα＝０．０となるα値が設定されている。そして、図２の例では、図３（Ｂ）に示すように、１０枚程度のエフェクト用オブジェクトが向きを変えながら重ねて設定され、各エフェクト用オブジェクトにエフェクト用テクスチャがマッピングされることにより、一様ではない自然な煙を表現するエフェクト画像が描画されるようにしている。
【００６６】
従って図２の例では、原画像の色と１０枚程度のエフェクト用テクスチャの色とがαブレンディングにより合成される。しかも図２の例では、原画像の色にエフェクト用テクスチャの色が合成される際には、光源計算や質感表現などに用いられる各種パラメータがピクセル毎に参照されるため、各ピクセルの処理負荷は非常に重いものとなる。しかし図２の例では、第２カラーバッファ２４Ｂに縮小コピーされた原画像に対してエフェクト画像を描画するため、第１カラーバッファ２４Ａの原画像に対してエフェクト画像を描画するよりも処理負荷が大幅に軽減されている。
【００６７】
また図２の例では、エフェクト画像が第２カラーバッファ２４Ｂに描画される際には、エフェクト用オブジェクトの奥行き値と、第２デプスバッファ２４Ｄ２に格納された原画像の奥行き値との比較結果に基づいてデプステストが行われる。図２の例では、ゲーム処理の結果により煙が発生する位置が仮想カメラから見て球体オブジェクトの奥となっているため、球体オブジェクトの奥にエフェクト用オブジェクトが設定されている。従って図２のＡ３のように、第２カラーバッファ２４Ｂのピクセルのうち、仮想カメラから見てエフェクト用オブジェクトの手前に重なる球体オブジェクトに対応するピクセルについては、球体オブジェクトの色が描画され、仮想カメラから見て球体オブジェクトと重ならないエフェクト用オブジェクトに対応するピクセルについては、エフェクト画像の色が描画される。
【００６８】
そして図２の例では、第２カラーバッファ２４Ｂの画像のうちエフェクト画像が抽出され、これが第１カラーバッファ２４Ａの解像度に合わせて２倍に拡大されて、図２のＡ４のように、第１カラーバッファ２４Ａにおけるエフェクト画像に対応する位置（ピクセル）に合成される。こうして図２の例では、エフェクト画像を描画する際の処理負荷を軽減しつつ、第１カラーバッファ２４Ａに描画された原画像にエフェクト画像を合成している。
【００６９】
しかしこのような従来の手法では、第１カラーバッファ２４Ａの原画像に対して合成されるエフェクト画像とは、第２カラーバッファ２４Ｂの画像において抽出されたエフェクト用オブジェクトに対応する画像が２倍に拡大されたものであるため、図４に示すように、球体オブジェクトとエフェクト画像との境界付近のピクセルの色が滲んだように描画されてしまう。特に図４において線で囲まれた部分においては、オブジェクトの色が描画されるべきピクセルにエフェクト画像の色が描画されてしまい、エフェクト画像の色が描画されるべきピクセルにオブジェクトの色が描画されてしまっている状態が顕著に表れている。
【００７０】
１−２−２．本実施形態の手法の特徴
次に、本実施形態の手法の特徴について説明する。図５は、本実施形態の画像生成システムにおいて採用されている手法を説明するための図である。図５においても図２と同様に、仮想カメラから見て黒い球体オブジェクトの奥（裏）に煙を表現するエフェクト画像を合成する例を挙げて説明する。まず図５のＢ１のように、本実施形態の手法でも従来の手法と同様に、オブジェクト空間に設定された球体オブジェクトを仮想カメラから見た原画像の各ピクセルの色が、最終的な表示画像の解像度を有する第１カラーバッファ２４Ａに描画され、原画像の各ピクセルの奥行き値が、第１カラーバッファ２４Ａと同一の解像度を有するデプスバッファ２４Ｄに格納される。更に本実施形態では、図５のＢ１のように、第１カラーバッファ２４Ａと同一の解像度を有するステンシルバッファ２４Ｅの各ピクセルの値が０にリセットされる。
【００７１】
そして図５のＢ２のように、第１カラーバッファ２４Ａに描画された原画像の各ピクセルの色が、第１カラーバッファ２４Ａの２分の１倍の解像度の第２カラーバッファ２４Ｂに縮小コピーされる。しかし、本実施形態の手法では従来の手法と異なり、デプスバッファ２４Ｄに描画された原画像の各ピクセルの奥行き値は縮小コピーされない。
【００７２】
すると図５のＢ３のように、第２カラーバッファ２４Ｂに煙を表現するエフェクト画像が描画される。本実施形態の手法でも従来の手法と同様に、図３（Ａ）に示すエフェクト用オブジェクトが、ゲーム処理の結果により決定されるオブジェクト空間における爆発や炎上などが発生した位置（ワールド座標系）に設定され、このエフェクト用オブジェクトに対してエフェクト用テクスチャがマッピングされることによりエフェクト画像が第２カラーバッファ２４Ｂに描画される。ここで本実施形態でも図３（Ｂ）に示すように、１０枚程度のエフェクト用オブジェクトが向きを変えながら重ねて設定され、各エフェクト用オブジェクトにエフェクト用テクスチャがマッピングされることにより、一様ではない自然な煙を表現するエフェクト画像が描画されるようにしている。
【００７３】
そして本実施形態の手法でも従来の手法と同様に、原画像の色と１０枚程度のエフェクト用テクスチャの色とがαブレンディングにより合成され、この際には、光源計算や質感表現などに用いられる各種パラメータがピクセル毎に参照される。
【００７４】
しかし本実施形態の手法では従来の手法と異なり、エフェクト画像が第２カラーバッファ２４Ｂに描画される際には、エフェクト用オブジェクトの奥行き値と、第２デプスバッファ２４Ｄ２に格納された原画像の奥行き値との比較結果に基づいてデプステストが行われない。従って図５の例では、ゲーム処理の結果により決定される煙が発生する位置が仮想カメラから見て球体オブジェクトの奥となっているが、デプステストが行われないため、図５のＢ３のように、第２カラーバッファ２４Ｂに描画されている原画像の色にエフェクト画像の色が上書きされたように描画される。
【００７５】
更に本実施形態の手法では従来の手法と異なり、図５のＢ４のように、第１カラーバッファ２４Ａにおいてエフェクト画像を描画するピクセルを指定するステンシル画像がステンシルバッファ２４Ｅに描画される。詳細には本実施形態では、ゲーム処理の結果により決定される煙が発生する位置（ワールド座標系）に基づいて、エフェクト用オブジェクトが設定される。そして、デプスバッファ２４Ｄに格納された原画像の奥行き値と、エフェクト用オブジェクトの位置に含まれる奥行き値との比較結果に基づいてデプステストが行われながら、矩形のエフェクト用オブジェクトがステンシルバッファ２４Ｅに描画される。本実施形態では、ステンシルバッファ２４Ｅのピクセルのうちエフェクト用オブジェクトが最も手前になるピクセルについて「１」が格納され、エフェクト用オブジェクトが最も手前ではないピクセルについて「０」が格納される。これにより図５のＢ４のように、１０枚程度のエフェクト用オブジェクトが重なっている領域に対応するピクセルのうち球体オブジェクトに対応するピクセルを除くピクセルについて「１」（白）が格納され、その他のピクセルについて「０」が格納されたステンシル画像が描画される。
【００７６】
そして本実施形態の手法では従来の手法と異なり、第２カラーバッファ２４Ｂの全てのピクセルについて、上述のようにして描画されたステンシル画像に基づいてステンシルテストが行われる。そして、ステンシルテストをパスしたピクセルについては、図５のＢ５のように、第２カラーバッファ２４Ｂの色が第１カラーバッファ２４Ｂに拡大コピーされる。本実施形態では、ステンシル画像において「１」が格納されたピクセルについては、第２カラーバッファ２４Ｂの色が第１カラーバッファ２４Ａに描画され、ステンシル画像において「０」が格納されたピクセルについては、第１カラーバッファ２４Ａの原画像の色が更新されずにそのまま残る。
【００７７】
従って本実施形態の手法によれば、エフェクト画像が第１カラーバッファ２４Ａの原画像に対して合成される際に、第１カラーバッファ２４Ａと同一の解像度のステンシルバッファ２４Ｅに描画されたステンシル画像によって球体オブジェクトに対応するピクセルがマスクされるので、球体オブジェクトの色が描画されるべきピクセルにエフェクト画像の色が描画されることがない。更に本実施形態の手法によれば、第２カラーバッファ２４Ｂのエフェクト画像は、図５のＢ３のように、第２カラーバッファ２４Ｂに描画されている原画像の色にエフェクト画像の色が上書きされたように描画されるので、第１カラーバッファ２４Ａに拡大コピーされても、エフェクト画像の色が描画されるべきピクセルに球体オブジェクトの色が描画されることがない。
【００７８】
すなわち本実施形態の手法によれば、第１カラーバッファ２４Ａの原画像に対して合成されるエフェクト画像とは、第２カラーバッファ２４Ｂの画像のうちエフェクト用オブジェクトに対応する画像が２倍に拡大されたものであるが、図６に示すように、球体オブジェクトとエフェクト画像との境界付近のピクセルの色が互いに滲むように描画されることがなく、従来の手法と比して画像の劣化が著しく回避されている。
【００７９】
１−３．本実施形態の処理
次に、本実施形態の処理の一例について図７のフローチャートを用いて説明する。図７に示すように、本実施形態の画像生成システムは、まず、フレームの更新タイミングが到来すると（ステップＳ１０でＹ）、ステンシルバッファ２４Ｅの全ピクセルの値を「０」にリセットする（ステップＳ１２）。そして、第１カラーバッファ２４Ａの原画像の色を第２カラーバッファ２４Ｂに縮小コピーする（ステップＳ１４）。そして、ゲーム処理の結果により決定されるオブジェクト空間における位置にエフェクト用オブジェクトを設定し、エフェクト用オブジェクトにエフェクト用テクスチャをマッピングしつつ、デプステストを行わずにエフェクト画像の色を第２カラーバッファ２４Ｂに描画する（ステップＳ１６）。そして、デプスバッファ２４Ｄの原画像の奥行き値とエフェクト用オブジェクトの奥行き値との比較結果に基づいてデプステストを行いながら、エフェクト用オブジェクトが最も手前となるピクセルを「１」とするステンシル画像をステンシルバッファＥに描画する（ステップＳ１８）。すると、第１カラーバッファ２４Ａのピクセルのうち、ステンシル画像において「１」が設定されたピクセルについて、第２カラーバッファ２４Ｂに描画されたエフェクト画像の色を描画する（ステップＳ２０）。
【００８０】
１−４．ハードウェア構成例
次に、本実施形態の画像生成システムを実現するハードウェアの構成の一例について図８を用いて説明する。なお図８では、主要な構成のみを図示しており、図８に示されていないハードウェア（メモリコントローラやスピーカなど）を必要に応じて設けることができる。
【００８１】
メインプロセッサ２００は、光ディスク２７２（ＣＤ、ＤＶＤ、ブルーレイディスク等の情報記憶媒体）に格納されたプログラム、通信インターフェース２８０を介して転送されたプログラム、或いはハードディスク２６０に格納されたプログラムなどに基づき動作し、内部バスｂ４を介してアクセス可能なメインメモリ２４０を作業領域（ワーク領域）としてゲーム処理、画像処理、音処理などの種々の処理を実行する。
【００８２】
メインプロセッサ２００は、１基のプロセッサ２１０と複数のベクトルプロセッサ２１２で構成される。プロセッサ２１０は、ＯＳの実行、ハードウェアリソースの管理、ゲーム処理、ベクトルプロセッサ２１２の動作管理などの種々の処理を実行する。またベクトルプロセッサ２１２は、ベクトル演算に特化したプロセッサであり、主にジオメトリ処理、画像データや音データのコーデック処理などの処理を実行する。
【００８３】
描画プロセッサ２２０は、内部バスｂ１（第１の内部バス）を介してビデオメモリ２３０にアクセス可能に形成されている。また描画プロセッサ２２０は、描画プロセッサ２２０とメインプロセッサ２００を接続する内部バスｂ２（第２の内部バス）と、メインプロセッサ２００内部のバスｂ３と、メインプロセッサ２００とメインメモリ２４０を接続する内部バスｂ４を介してメインメモリ２４０にアクセス可能に形成されている。すなわち描画プロセッサ２２０はビデオメモリ２３０と、メインメモリ２４０とをレンダリングターゲットとして利用することができる。
【００８４】
描画プロセッサ２２０は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ２００で動作するプログラムが、その処理を描画プロセッサ２２０に指示する。
【００８５】
また描画プロセッサ２２０は、ジオメトリ処理後のオブジェクト（ポリゴンや曲面などのプリミティブ面で構成されるオブジェクト）の画像のレンダリング処理を高速に実行するものである。マルチパスレンダリング処理の際には、描画プロセッサ２２０は、描画データ（頂点データや他のパラメータ）等に基づいて、Ｚバッファ２３４などを利用した陰面消去を行いながら、画像をビデオメモリ２３０又はメインメモリ２４０の一方のメモリにレンダリングする。そしてビデオメモリ２３０又はメインメモリ２４０の一方のメモリに記憶された画像に基づき他方のメモリに新たな画像をレンダリングする処理を必要なレンダリングパスの回数だけ行う。描画プロセッサ２２０は、上記マルチパスレンダリング処理として、グレアフィルタ処理、モーションブラー処理、被写界深度処理、フォグ処理等のフィルタ処理（エフェクト処理）を行うことができる。
【００８６】
そして、最後のレンダリングパスで画像がビデオメモリ２３０に設けられたフレームバッファ２３２にレンダリングされると、その画像をディスプレイ２５０に出力する。また最後のレンダリングパスで画像がメインメモリ２４０にレンダリングされた場合には当該画像をフレームバッファ２３２にコピー（書き込み）した上でディスプレイ２５０に出力する。
【００８７】
ハードディスク２６０にはシステムプログラム、セーブデータ、個人データなどが格納される。
【００８８】
光学ドライブ２７０は、プログラム、画像データ、或いは音データなどが格納される光ディスク２７２（情報記憶媒体）を駆動し、これらのプログラム、データへのアクセスを可能にする。
【００８９】
通信インターフェース２８０は、ネットワークを介して外部との間でデータ転送を行うためのインターフェースである。この場合に、通信インターフェース２８０に接続されるネットワークとしては、通信回線（アナログ電話回線、ＩＳＤＮ）、高速シリアルバスなどを考えることができる。そして、通信回線を利用することでインターネットを介したデータ転送が可能になる。また、高速シリアルバスを利用することで、他の画像生成システムとの間でのデータ転送が可能になる。
【００９０】
上述したように本実施形態の画像生成システム（コンピュータ）は、内部バスｂ１（第１の内部バス）を介してビデオメモリ２３０にアクセス可能であるとともに、内部バスｂ２（第２の内部バス）を介してメインメモリ２４０にアクセス可能である描画プロセッサ２２０を含んで構成されており、描画プロセッサ２２０は、光ディスク２７２（情報記憶媒体の一例）あるいはハードディスク２６０（情報記憶媒体の一例）に格納されているシェーダプログラムに従って種々のシェーダ処理を実行する。
【００９１】
なお、本実施形態の各部（各手段）は、その全てを、ハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【００９２】
そして、本実施形態の各部をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア（コンピュータ）を本実施形態の各部として機能させるためのプログラムが格納されることになる。より具体的には、上記プログラムが、ハードウェアである各プロセッサ２００、２２０等に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ２００、２２０等は、その指示と渡されたデータとに基づいて、本発明の各部を実現することになる。
【００９３】
２．第２実施形態
２−１．構成
次に、第２実施形態の画像生成システム（ゲームシステム）について説明する。以下では、図１を参照しながら、第２実施形態の画像生成システムにおける機能ブロックの構成を説明するが、第１実施形態の画像生成システムにおける機能ブロックの構成と同様の点については詳細な説明を省略し、主要な相違点について説明する。
【００９４】
本実施形態では上記第１実施形態と異なり、図１のデプスバッファ２４は、第１カラーバッファ２４Ａと解像度が同一の第１デプスバッファ２４Ｄ１と、第２カラーバッファ２４Ｂと解像度が同一の第２デプスバッファ２４Ｄ２とを含んでいる。
【００９５】
そして本実施形態ではエフェクト処理部１２４は、まず、第１カラーバッファ２４Ａに描画された原画像を構成する各ピクセルの色を第２カラーバッファ２４Ｂに描画（縮小コピー）する処理を行うとともに、第１デプスバッファ２４Ｄ１に描画された原画像を構成する各ピクセルの奥行き値を、第２デプスバッファ２４Ｄ２（縮小バッファ）に描画（縮小コピー）する処理を行う。
【００９６】
更に本実施形態ではエフェクト処理部１２４は、第１実施形態と異なり、エフェクト画像を第２カラーバッファに描画する処理を行う際にデプステストを行う。詳細にはエフェクト処理部１２４は、ゲーム処理の結果により決定されるオブジェクト空間における爆発や炎上などが発生した位置（ワールド座標系）に、頂点データのα値が不透明に設定された矩形のポリゴンにより構成されたエフェクト用オブジェクトを設定する。そしてエフェクト処理部１２４は、このエフェクト用オブジェクトについて上述したジオメトリ処理を行い、このエフェクト用オブジェクトに炎や煙や閃光などを表現するエフェクト用テクスチャをマッピングしつつ、第２デプスバッファ２４Ｄ２の原画像の奥行き値とエフェクト用オブジェクトの奥行き値との比較結果に基づいてデプステストを行いながら、エフェクト画像の色を第２カラーバッファ２４Ｂに描画する処理を行う。
【００９７】
２−２．本実施形態の手法の特徴
次に、本実施形態の手法の特徴について説明する。上述した第１実施形態の画像生成システムでは、図５のＢ３のように、第２カラーバッファ２４Ｂに描画されている原画像の色にエフェクト画像の色が上書きされたように描画されるので、球体オブジェクトと、仮想カメラから見て球体オブジェクトよりも手前に設定される第１エフェクト画像と、仮想カメラから見て球体オブジェクトよりも奥に設定される第２エフェクト画像とが重なる場合には、これらの前後関係が正確に描画されない不都合が発生する場合がある。そこで本実施形態の画像生成システムでは、このような不都合が発生しないようにしている。
【００９８】
図９は、本実施形態の画像生成システムにおいて採用されている手法を説明するための図である。図９でも図５と同様に、仮想カメラから見て黒い球体オブジェクトの奥（裏）に煙を表現するエフェクト画像を合成する例を挙げて説明する。まず図９のＣ１のように、本実施形態の手法でも第１実施形態の手法と同様に、オブジェクト空間に設定された球体オブジェクトを仮想カメラから見た原画像の各ピクセルの色が、最終的な表示画像の解像度を有する第１カラーバッファ２４Ａに描画され、原画像の各ピクセルの奥行き値が、第１カラーバッファ２４Ａと同一の解像度を有する第１デプスバッファ２４Ｄ１に格納される。そして図９のＣ１のように、第１カラーバッファ２４Ａと同一の解像度を有するステンシルバッファ２４Ｅの各ピクセルの値が０にリセットされる。
【００９９】
そして図９のＣ２のように、第１カラーバッファ２４Ａに描画された原画像の各ピクセルの色が、第１カラーバッファ２４Ａの２分の１倍の解像度の第２カラーバッファ２４Ｂに縮小コピーされる。そして、本実施形態の手法では第１実施形態の手法と異なり、第１デプスバッファ２４Ｄ１に描画された原画像の各ピクセルの奥行き値が、第１デプスバッファ２４Ｄ１の２分の１倍の解像度の第２デプスバッファ２４Ｄ２に縮小コピーされる。
【０１００】
すると図９のＣ３のように、第２カラーバッファ２４Ｂに煙を表現するエフェクト画像が描画される。本実施形態の手法でも第１実施形態の手法と同様に、図３（Ａ）に示すエフェクト用オブジェクトが設定され、このエフェクト用オブジェクトに対してエフェクト用テクスチャがマッピングされることによりエフェクト画像が第２カラーバッファ２４Ｂに描画される。そして図３（Ｂ）に示すように、１０枚程度のエフェクト用オブジェクトが向きを変えながら重ねて設定され、各エフェクト用オブジェクトにエフェクト用テクスチャがマッピングされることにより、一様ではない自然な煙を表現するエフェクト画像が描画されるようにしている。
【０１０１】
そして本実施形態の手法でも第１実施形態の手法と同様に、原画像の色と１０枚程度のエフェクト用テクスチャの色とがαブレンディングにより合成され、この際には、光源計算や質感表現などに用いられる各種パラメータがピクセル毎に参照される。
【０１０２】
しかし本実施形態の手法では第１実施形態の手法と異なり、エフェクト画像が第２カラーバッファ２４Ｂに描画される際には、エフェクト用オブジェクトの奥行き値と、第２デプスバッファ２４Ｄ２に格納された原画像の奥行き値との比較結果に基づいてデプステストが行われる。図９の例では、ゲーム処理の結果により煙が発生する位置が仮想カメラから見て球体オブジェクトの奥となっているため、球体オブジェクトの奥にエフェクト用オブジェクトが設定されている。従って図９のＣ３のように、第２カラーバッファ２４Ｂのピクセルのうち、仮想カメラから見てエフェクト用オブジェクトの手前に重なる球体オブジェクトに対応するピクセルについては、球体オブジェクトの色が描画され、仮想カメラから見て球体オブジェクトと重ならないエフェクト用オブジェクトに対応するピクセルについては、エフェクト画像の色が描画される。
【０１０３】
そして本実施形態の手法では第１実施形態の手法と同様に、図９のＣ４のように、第１カラーバッファ２４Ａにおいてエフェクト画像を描画するピクセルを指定するステンシル画像がステンシルバッファ２４Ｅに描画される。詳細には本実施形態の手法でも第１実施形態の手法と同様に、ゲーム処理の結果により決定される煙が発生する位置に基づいて、エフェクト用オブジェクトが設定される。そして、デプスバッファ２４Ｄに格納された原画像の奥行き値と、エフェクト用オブジェクトの位置に含まれる奥行き値との比較結果に基づいてデプステストを行いながら、矩形のエフェクト用オブジェクトがステンシルバッファ２４Ｅに描画される。
【０１０４】
そして本実施形態の手法でも第１実施形態の手法と同様に、第２カラーバッファ２４Ｂの全てのピクセルについて、上述のようにして描画されたステンシル画像に基づいてステンシルテストが行われる。そして、図９のＣ５のように、ステンシル画像において「１」が格納されたピクセルについては、第２カラーバッファ２４Ｂの色が第１カラーバッファ２４Ａに描画され、ステンシル画像において「０」が格納されたピクセルについては、第１カラーバッファ２４Ａの原画像の色が更新されずにそのまま残る。
【０１０５】
従って本実施形態の手法によれば、エフェクト画像が第１カラーバッファ２４Ａの原画像に対して合成される際に、第１カラーバッファ２４Ａと同一の解像度のステンシルバッファ２４Ｅに描画されたステンシル画像によって球体オブジェクトに対応するピクセルがマスクされるので、球体オブジェクトの色が描画されるべきピクセルにエフェクト画像の色が描画されることがない。一方、本実施形態における第２カラーバッファ２４Ｂのエフェクト画像は、図９のＣ３のように、デプステストによって前後関係が判定されて描画されるので、第１カラーバッファ２４Ａに拡大コピーされると、エフェクト画像の色が描画されるべきピクセルに球体オブジェクトの色が描画されることがある。しかし本実施形態の手法によれば、第２カラーバッファ２４Ｂのエフェクト画像はデプステストによって前後関係が判定されているので、第１エフェクト画像と第２エフェクト画像とが仮想カメラから見て特定オブジェクトの手前と奥とで特定オブジェクトと重なるように設定されても、これらの前後関係が正確に描画されない不都合が発生することがない。
【０１０６】
すなわち本実施形態の手法によれば、複数のエフェクト画像を球体オブジェクトとの位置関係に関わらず設定することができるとともに、図１０に示すように、球体オブジェクトとエフェクト画像との境界付近において、エフェクト画像の色が球体オブジェクトの色に対して滲むように描画されることがなく、従来の手法と比して画像の劣化が十分に回避されている。
【０１０７】
２−３．本実施形態の処理
次に、本実施形態の処理の一例について図１１のフローチャートを用いて説明する。図１１に示すように、本実施形態の画像生成システムは、まず、フレームの更新タイミングが到来すると（ステップＳ１１０でＹ）、ステンシルバッファ２４Ｅの全ピクセルの値を「０」にリセットする（ステップＳ１１２）。そして、第１カラーバッファ２４Ａの原画像の色を第２カラーバッファ２４Ｂに縮小コピーするとともに、第１デプスバッファ２４Ｄ１の原画像の奥行き値を第２デプスバッファ２４Ｄ２にコピーする（ステップＳ１１４）。そして、ゲーム処理の結果により決定されるオブジェクト空間における位置にエフェクト用オブジェクトを設定し、エフェクト用オブジェクトにエフェクト用テクスチャをマッピングしつつ、第２デプスバッファ２４Ｄ２の原画像の奥行き値とエフェクト用オブジェクトの奥行き値との比較結果に基づいてデプステストを行いながら、エフェクト画像の色を第２カラーバッファ２４Ｂに描画する（ステップＳ１１６）。そして、第１デプスバッファ２４Ｄ１の原画像の奥行き値とエフェクト用オブジェクトの奥行き値との比較結果に基づいて、エフェクト用オブジェクトが最も手前となるピクセルを「１」とするステンシル画像をステンシルバッファＥに描画する（ステップＳ１１８）。すると、第１カラーバッファ２４Ａのピクセルのうち、ステンシル画像において「１」が設定されたピクセルについて、第２カラーバッファ２４Ｂに描画されたエフェクト画像の色を描画する（ステップＳ１２０）。
【０１０８】
３．変形例
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。またグレアフィルタの手法は、本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。
【０１０９】
また上記実施形態では、エフェクト処理部１２４が１フレームについて１回のエフェクト処理を行う例を挙げて説明したが、エフェクト処理部１２４が１フレームについて複数回のエフェクト処理を行うようにしてもよい。例えば、仮想カメラから見て特定オブジェクトよりも手前に設定される第１エフェクト画像についてエフェクト処理を行う第１エフェクト処理と、仮想カメラから見て特定オブジェクトよりも奥に設定される第２エフェクト画像についてエフェクト処理を行う第２エフェクト処理とを行うようにしてもよい。この場合にはエフェクト処理部１２４が、第１カラーバッファ２４Ａに描画された原画像を第２カラーバッファ２４Ｂに縮小コピーするとともに、第２カラーバッファ２４Ｂと同一の解像度を有する第３カラーバッファにも縮小コピーしておき、第１エフェクト処理ではエフェクト画像のレンダリングターゲットとして第２カラーバッファ２４Ｂを用い、第２エフェクト処理ではエフェクト画像のレンダリングターゲットとして第３カラーバッファを用いるようにしてもよい。
【０１１０】
このようにすれば、第１エフェクト画像と第２エフェクト画像とが仮想カメラから見て特定オブジェクトの手前と奥とで特定オブジェクトと重なるように設定されても、第１エフェクト画像についての第１エフェクト処理と第２エフェクト画像についての第２エフェクト処理とが行われることにより、エフェクト画像を第２カラーバッファおよび第３カラーバッファに描画する処理を行う際に原画像の奥行き値とエフェクト画像の奥行き値とに基づいてデプステストを行わなくともこれらの前後関係を正確に描画しつつ、ステンシル画像により画像の劣化を回避することができる。
【０１１１】
また上記実施形態では、エフェクト処理部１２４が、仮想カメラから見えるエフェクト用オブジェクトの形状をステンシル画像としてステンシルバッファ２４Ｅに描画する処理を行う例を挙げて説明したが、エフェクト処理部１２４が、エフェクト用テクスチャに基づいて、ステンシル画像をステンシルバッファ２４Ｅに描画する処理を行うようにしてもよい。詳細にはエフェクト処理部１２４が、仮想カメラから見えるエフェクト用オブジェクトにエフェクト用テクスチャをマッピングし、エフェクト用テクスチャがマッピングされた領域のうち色が設定されているピクセルすなわちα値が０よりも大きいピクセルに「１」を格納し、α値が０であるピクセルに「０」を格納することにより、ステンシル画像をステンシルバッファ２４Ｅに描画する処理を行うようにしてもよい。このようにすれば、エフェクト用テクスチャに対応する詳細なステンシル画像を描画することにより、画像の劣化を更に回避することができる。
【０１１２】
また上記実施形態では、エフェクト処理部１２４が、爆発や炎上などのイベントが発生した場合に、原画像に対して炎や煙や閃光などを表現するエフェクト画像を合成するエフェクト処理を行う例を挙げて説明したが、キャラクタが特定の技を使用する場合に、キャラクタの背後にオーラを表現するエフェクト画像を合成するようにしてもよいし、キャラクタが相手キャラクタの攻撃を受けた場合に、ダメージを表現するエフェクト画像を合成するようにしてもよい。
【０１１３】
またエフェクト処理部１２４は、キャラクタが相手キャラクタに対して攻撃を行ったり、相手キャラクタから攻撃を受けた場合に、当該攻撃の種類や、当該攻撃が相手キャラクタまたはキャラクタにヒットしたか否かに応じて、エフェクト用オブジェクトの位置を仮想カメラから見て特定オブジェクトよりも奥となるように設定するようにしてもよいし、更に、操作部１０に入力された方向情報に基づいて決定される攻撃方向が仮想カメラから見て奥方向に向く所定範囲の方向である場合に、エフェクト用オブジェクトの位置を仮想カメラから見て特定オブジェクトよりも奥となるように設定するようにしてもよい。
【０１１４】
またエフェクト用オブジェクトの位置や移動範囲は、キャラクタの位置を示す代表点のみならず、キャラクタの手先や足先などの端部よりも仮想カメラから見て奥となる領域に設定されるようにしてもよい。例えば、キャラクタの端部の移動範囲を含むバウンディングボリュームをキャラクタに対して設定するとともに、このバウンディングボリュームとエフェクト用オブジェクトとのヒットチェックを行い、エフェクト用オブジェクトの位置を仮想カメラから見てこのバウンディングボリュームよりも奥となるように設定するようにしてもよい。
【０１１５】
また原画像が描画される第１カラーバッファ２４Ａと、エフェクト画像が合成される第１カラーバッファ２４Ａとは、物理的に同一のバッファを用いてもよいし、異なるバッファを用いてもよい。
【０１１６】
また本発明は種々のゲーム（格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等）に適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【０１１７】
【図１】第１実施形態の画像生成システムの機能ブロック図。
【図２】従来の画像生成システムの手法の説明図。
【図３】従来の画像生成システムの手法の説明図。
【図４】従来の画像生成システムの手法の説明図。
【図５】第１実施形態の手法の説明図。
【図６】第１実施形態で生成される画像の一例を示す図。
【図７】第１実施形態の処理の流れを示すフローチャート。
【図８】第１実施形態の画像生成システムのハードウェア構成例。
【図９】第２実施形態の手法の説明図。
【図１０】第２実施形態で生成される画像の一例を示す図。
【図１１】第２実施形態の処理の流れを示すフローチャート。
【符号の説明】
【０１１８】
１０  操作部、２０  記憶部、２２  メインメモリ、
２２Ａ  オブジェクトデータ記憶部、２２Ｂ  フレームバッファ、
２４  ビデオメモリ、２４Ａ  第１カラーバッファ、２４Ｂ  第２カラーバッファ、
２４Ｃ  テクスチャ記憶部、２４Ｄ  デプスバッファ、３０  情報記憶媒体、
４０  携帯型情報記憶装置、５０  表示部、６０  音出力部、７０  通信部
１００  処理部、１１０  オブジェクト空間設定部、１１２  移動・動作処理部、
１１４  仮想カメラ制御部、１２０  描画部、１２２  原画像描画部、
１２４  エフェクト処理部、１３０  音生成部
【図１】
2010134671.tif 000003
【図７】
2010134671.tif 000004
【図８】
2010134671.tif 000005
【図１１】
2010134671.tif 000006
【図２】
2010134671.tif 000007
【図３】
2010134671.tif 000008
【図４】
2010134671.tif 000009
【図５】
2010134671.tif 000010
【図６】
2010134671.tif 000011
【図９】
2010134671.tif 000012
【図１０】
2010134671.tif 000013