JP5253118B2 - 画像生成システム、プログラム及び情報記憶媒体 - Google Patents

画像生成システム、プログラム及び情報記憶媒体 Download PDF

Info

Publication number
JP5253118B2
JP5253118B2 JP2008309517A JP2008309517A JP5253118B2 JP 5253118 B2 JP5253118 B2 JP 5253118B2 JP 2008309517 A JP2008309517 A JP 2008309517A JP 2008309517 A JP2008309517 A JP 2008309517A JP 5253118 B2 JP5253118 B2 JP 5253118B2
Authority
JP
Japan
Prior art keywords
image
effect
color
buffer
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2008309517A
Other languages
English (en)
Other versions
JP2010134671A (ja
Inventor
嘉樹 堂前
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Namco Ltd
Bandai Namco Entertainment Inc
Original Assignee
Namco Ltd
Namco Bandai Games Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Namco Ltd, Namco Bandai Games Inc filed Critical Namco Ltd
Priority to JP2008309517A priority Critical patent/JP5253118B2/ja
Publication of JP2010134671A publication Critical patent/JP2010134671A/ja
Application granted granted Critical
Publication of JP5253118B2 publication Critical patent/JP5253118B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Generation (AREA)

Description

本発明は、画像生成システム、プログラム及び情報記憶媒体に関する。
従来より、仮想的な3次元空間であるオブジェクト空間において仮想カメラ(所与の視点)から見える画像を生成する画像生成システム(ゲームシステム)が知られており、いわゆる仮想現実を体験できるものとして人気が高い。格闘ゲームを楽しむことができる画像生成システムを例に取れば、プレーヤは、操作部(ゲームコントローラ等)を用いて移動体(キャラクタ等)に関する操作(攻撃操作、防御操作、移動操作等)を行い、他のプレーヤ(コンピュータプレーヤも含まれる)の移動体と格闘するゲームを楽しむ。
ところで、上述した画像生成システムに関し、オブジェクト空間を仮想カメラから見た原画像に対して、炎や煙や閃光などのパーティクルを表現するエフェクト画像を合成することにより視覚効果が高い画像を生成する手法が知られているが、エフェクト画像は描画する際の処理負荷が重いものが多いため、エフェクト画像の解像度を原画像よりも低くして原画像に合成する手法が提案されている(非特許文献1参照)。
川瀬 正樹、泥OUBLE-S.T.E.A.L.におけるリアルタイムCG表現技法煤A[online]、2002年、株式会社ぶんか社ゲーム開発事業部、[平成20年11月14日検索]、インターネット<URL:http://www.bunkasha-games.com/cedec2002/kawase_ppt.html>
しかしながら、このような従来の手法では、エフェクト画像を描画する際の処理負荷は軽減されるものの、エフェクト画像と重なる領域の原画像の解像度も低くなってしまうことにより、画像が劣化してしまうという問題が発生していた。
本出願は上記事情に鑑みてなされたものであり、その目的は、エフェクト画像を描画する際の処理負荷を軽減しつつ、画像の劣化を回避することができるようにした画像生成システム、プログラム及び情報記憶媒体を提供することにある。
(1)本発明は、
画像を生成するための画像生成システムであって、
オブジェクト空間に設定されたオブジェクトを仮想カメラから見た原画像を第1カラーバッファに描画する処理を行う原画像描画部と、
前記原画像と前記原画像の色を調整するためのエフェクト画像とを合成するエフェクト処理を行うエフェクト処理部とを含み、
前記エフェクト処理部は前記エフェクト処理として、
前記第1カラーバッファに描画された前記原画像を前記第1カラーバッファよりも解像度が低い第2カラーバッファに描画する処理と、
前記エフェクト画像を前記第2カラーバッファに描画する処理と、
前記エフェクト画像を描画するピクセルを指定するステンシル画像を、前記原画像の奥行き値と前記エフェクト画像の奥行き値とに基づいて、前記第2カラーバッファよりも解像度が高いステンシルバッファに描画する処理と、
前記第2カラーバッファに描画された前記エフェクト画像を、前記ステンシル画像に基づいて前記第1カラーバッファに描画する処理と、
を行うことを特徴とする画像生成システムに関するものである。また本発明は、上記各部としてコンピュータを機能させるプログラム及びそのようなプログラムを記憶するコンピュータが読み取り可能な情報記憶媒体に関するものである。
本発明では、原画像の奥行き値とエフェクト画像の奥行き値とに基づいてステンシル画像が描画されるため、仮想カメラから見てエフェクト画像の手前にオブジェクトが重なる場合に、当該オブジェクトに対応するピクセルについては描画しないピクセルとして指定し、当該オブジェクトと重ならないエフェクト画像に対応するピクセルについては描画するピクセルとして指定するステンシル画像が描画される。従って本発明では、このような場合に、第1カラーバッファのピクセルのうち、仮想カメラから見てエフェクト画像の手前に重なるオブジェクトに対応するピクセルについては、第1カラーバッファに描画された原画像が残り、当該オブジェクトと重ならないエフェクト画像に対応するピクセルについては、第2カラーバッファに描画されたエフェクト画像が描画される。こうして本発明によれば、エフェクト画像を描画する際の処理負荷を軽減しつつ、画像の劣化を回避することができる。
(2)また本発明の画像生成システム、プログラム及び情報記憶媒体では、
前記エフェクト処理部は、
前記エフェクト画像の位置を前記仮想カメラから見て特定オブジェクトよりも奥に設定する処理を行うようにしてもよい。
このようにすれば、複数のエフェクト画像が仮想カメラから見て特定オブジェクトの手前と奥とで特定オブジェクトと重なるように設定されることがないため、エフェクト画像を第2カラーバッファに描画する際に、原画像の奥行き値とエフェクト画像の奥行き値とに基づいて描画しなくとも、ステンシル画像により画像の劣化を回避することができる。
(3)また本発明の画像生成システム、プログラム及び情報記憶媒体では、
前記エフェクト処理部は、
前記原画像の奥行き値と前記エフェクト画像の奥行き値とに基づいて、前記エフェクト画像を前記第2カラーバッファに描画する処理を行うようにしてもよい。
このようにすれば、複数のエフェクト画像が特定オブジェクトの手前と奥に仮想カメラから見て特定オブジェクトと重なるように設定されても、エフェクト画像を第2カラーバッファに描画する際に、原画像の奥行き値とエフェクト画像の奥行き値とに基づいて描画することにより、これらの前後関係を正確に描画しつつ、ステンシル画像により画像の劣化を回避することができる。
(4)また本発明の画像生成システム、プログラム及び情報記憶媒体では、
前記エフェクト処理部は、
前記仮想カメラから見て前記特定オブジェクトよりも手前に設定される第1エフェクト画像について前記エフェクト処理を行う第1エフェクト処理と、前記仮想カメラから見て前記特定オブジェクトよりも奥に設定される第2エフェクト画像について前記エフェクト処理を行う第2エフェクト処理とを行うようにしてもよい。
このようにすれば、第1エフェクト画像と第2エフェクト画像とが特定オブジェクトの手前と奥に仮想カメラから見て特定オブジェクトと重なるように設定されても、第1エフェクト画像についての第1エフェクト処理と第2エフェクト画像についての第2エフェクト処理とが行われることにより、エフェクト画像を第2カラーバッファに描画する際に、原画像の奥行き値とエフェクト画像の奥行き値とに基づいて描画しなくとも、これらの前後関係を正確に描画しつつ、ステンシル画像により画像の劣化を回避することができる。
(5)また本発明の画像生成システム、プログラム及び情報記憶媒体では、
前記エフェクト処理部は、
エフェクト用テクスチャをエフェクト用オブジェクトにマッピングすることにより前記エフェクト画像を前記第2カラーバッファに描画する処理を行い、
前記エフェクト用オブジェクトの奥行き値に基づいて、前記ステンシル画像を前記ステンシルバッファに描画する処理を行うようにしてもよい。
このようにすれば、ステンシル画像を描画する際の処理負荷を軽減することができる。
(6)また本発明の画像生成システム、プログラム及び情報記憶媒体では、
前記エフェクト処理部は、
前記エフェクト用オブジェクトの形状に基づいて、前記ステンシル画像を前記ステンシルバッファに描画する処理を行うようにしてもよい。
このようにすれば、ステンシル画像を描画する際の処理負荷を更に軽減することができる。
(7)また本発明の画像生成システム、プログラム及び情報記憶媒体では、
前記エフェクト処理部は、
前記エフェクト用テクスチャに基づいて、前記ステンシル画像を前記ステンシルバッファに描画する処理を行うようにしてもよい。
このようにすれば、エフェクト用テクスチャに対応する詳細なステンシル画像が描画されることにより、画像の劣化を更に回避することができる。
以下、本発明の実施形態について説明する。なお、以下に説明する本発明の実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本発明の実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
1.第1実施形態
1−1.構成
図1に第1実施形態の画像生成システム(ゲームシステム)の機能ブロック図の例を示す。なお本実施形態の画像生成システムは図1の構成要素(各部)の一部を省略した構成としてもよい。
操作部10は、プレーヤがプレーヤオブジェクト(移動体オブジェクトの一例、プレーヤが操作するプレーヤキャラクタなど)の操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。
記憶部20は、処理部100や通信部70などのワーク領域となるもので、その機能はRAM(メインメモリ22)、VRAM(ビデオメモリ24)などにより実現できる。
情報記憶媒体30(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などにより実現できる。処理部100は、情報記憶媒体30に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体30には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。
携帯型情報記憶装置40は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置40としては、メモリカードや携帯型ゲーム装置などにより実現できる。
表示部50は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。
音出力部60は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
通信部70は外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部70を介して情報記憶媒体30(あるいは記憶部20のメインメモリ22)に配信してもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含めることができる。
処理部100(プロセッサ)は、操作部10からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、イベント発生条件が満たされた場合にイベントを発生させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部100は、記憶部20内のメインメモリ22をワーク領域として各種処理を行う。処理部100の機能は、各種プロセッサ(CPU(メインプロセッサ)、GPU(描画プロセッサ)、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
そして処理部100は、オブジェクト空間設定部110、移動・動作処理部112、仮想カメラ制御部114、描画部120、音生成部130を含む。なおこれらの一部を省略する構成としてもよい。
オブジェクト空間設定部110は、オブジェクトデータ記憶部22Aに記憶されているオブジェクトデータに基づいて、キャラクタ、車、建物、樹木、柱、壁、コース(道路)、マップ(地形)などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト)や、光が進行する方向や強さや色を示す光源をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義)を決定し、決定された位置(X、Y、Z)に決定された回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトや光源を配置する。
移動・動作処理部112は、オブジェクト(キャラクタ、車、又は飛行機等)の移動・動作演算(移動・動作シミュレーション)を行う。すなわち操作部10によりプレーヤが入力した操作データや、プログラム(移動・動作アルゴリズム)や、各種データ(モーションデータ)などに基づいて、オブジェクトをオブジェクト空間内で移動させたり、オブジェクトを動作(モーション、アニメーション)させる処理を行う。具体的には、オブジェクトの移動情報(位置、回転角度、速度、或いは加速度)や動作情報(オブジェクトを構成する各パーツの位置、或いは回転角度)を、1フレーム(1/60秒)毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。
仮想カメラ制御部114は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の制御処理を行う。具体的には、仮想カメラの位置(X、Y、Z)又は回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置、視線方向あるいは画角を制御する処理)を行う。
例えば仮想カメラによりオブジェクト(例えばキャラクタ、車)を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度(仮想カメラの向き)を制御する。この場合には、移動・動作処理部112で得られたオブジェクトの位置、回転角度又は速度などの情報(所定の制御情報の一例)に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させたりする制御を行ってもよい。この場合には、仮想カメラの位置(移動経路)又は回転角度を特定するための仮想カメラデータ(所定の制御情報の一例)に基づいて仮想カメラを制御する。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
描画部120は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部50に出力する。いわゆる3次元ゲーム画像を生成する場合には、まずオブジェクト(モデル)の各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を含むオブジェクトデータ(モデルデータ)がオブジェクトデータ記憶部22Aから入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理(頂点シェーダによるシェーディング)が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うようにしてもよい。頂点処理では、頂点処理プログラム(頂点シェーダプログラム、第1のシェーダプログラム)に従って、頂点の移動処理や、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、あるいは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更(更新、調整)する。そして、頂点処理後の頂点データに基づいてラスタライズ(走査変換)が行われ、ポリゴン(プリミティブ)の面とピクセル(画素)とが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル(表示画面を構成するフラグメント)を描画するピクセル処理(ピクセルシェーダによるシェーディング、フラグメント処理)が行われる。ピクセル処理では、ピクセル処理プログラム(ピクセルシェーダプログラム、第2のシェーダプログラム)に従って、テクスチャの読出し(テクスチャマッピング)、色データの設定/変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの描画色を決定し、透視変換されたオブジェクトの描画色をレンダリングターゲット(ピクセル単位で画像情報を記憶できるバッファ。メインメモリ22のフレームバッファ22B、ビデオメモリ24の第1カラーバッファ24A、第2カラーバッファ24B、ステンシルバッファ24Eなど)に出力(描画)する。すなわち、ピクセル処理では、画像情報(色(色値、輝度値)、法線、α値等)をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として1画面に表示できるように画像を生成することができる。
なお頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン(プリミティブ)の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ(頂点シェーダやピクセルシェーダ)により実現される。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、従来のハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
そして描画部120は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング、ステンシルテスト等を行う。
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後(透視投影変換後)のオブジェクトデータ(オブジェクトの頂点の位置座標、テクスチャ座標、色データ(輝度データ)、法線ベクトル、或いはα値等)は、メインメモリ22のオブジェクトデータ記憶部22Aに保存される。
光源計算としては、光源に設定される各種パラメータ(光源の強さ、色、位置、光源ベクトルなど)、オブジェクト(プリミティブ)や頂点に設定される各種パラメータ(反射属性、法線などのベクトルなど)、仮想カメラに設定される各種パラメータ(視線ベクトル、視点の位置など)に基づいて光の反射をシミュレートし、頂点毎に基本色(ディフューズ)と鏡面反射成分(スペキュラ)とを求める。
テクスチャマッピングは、ビデオメモリ24のテクスチャ記憶部24Cに記憶されるテクスチャ(テクセル値、UV座標値)をオブジェクトにマッピングするための処理である。具体的には、オブジェクトの頂点に設定(付与)されるテクスチャ座標等を用いてビデオメモリ24のテクスチャ記憶部24Cからテクスチャ(色(RGB)、α値などの表面プロパティ)を読み出す。そして、2次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間、トライリニア補間などを行う。
隠面消去処理としては、描画ピクセルの奥行き値(Z値)が格納されるデプスバッファ24D(奥行きバッファ)を用いた奥行き比較法(デプステスト、Zテスト)による隠面消去処理を行う。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、デプスバッファ24Dに格納される奥行き値をピクセルごとに参照する。そして参照されたデプスバッファ24Dの奥行き値と、プリミティブの描画ピクセルでの奥行き値とを比較し、描画ピクセルでの奥行き値が、仮想カメラから見て手前側となる奥行き値(例えば小さな奥行き値)である場合には、その描画ピクセルの描画処理を行うとともにデプスバッファ24Dの奥行き値を新たな奥行き値に更新する。
αブレンディングとしては、α値(A値)に基づく半透明合成処理(通常αブレンディング、加算αブレンディング又は減算αブレンディング等)を行う。例えば通常αブレンディングの場合には下式(1)〜(3)の処理を行う。
=(1−α)×R+α×R (1)
=(1−α)×G+α×G (2)
=(1−α)×B+α×B (3)
また、加算αブレンディングの場合には下式(4)〜(6)の処理を行う。なお単純加算の場合はα=1として下式(4)〜(6)の処理を行う。
=R+α×R (4)
=G+α×G (5)
=B+α×B (6)
また、減算αブレンディングの場合には下式(7)〜(9)の処理を行う。なお単純減算の場合はα=1として下式(7)〜(9)の処理を行う。
=R−α×R (7)
=G−α×G (8)
=B−α×B (9)
ここで、R、G、Bは、フレームバッファ22Bあるいは第1カラーバッファ24A、第2カラーバッファ24Bに既に描画されている画像(原画像)のRGB成分(色値)であり、R、G、Bは、フレームバッファ22Bあるいは第1カラーバッファ24A、第2カラーバッファ24Bに描画すべき画像のRGB成分である。また、R、G、Bは、αブレンディングにより得られる画像のRGB成分である。なお、α値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度(透明度、不透明度と等価)、バンプ情報などとして使用できる。
ステンシルテストとしては、ステンシルバッファ24Eの値(ステンシル画像)と、任意に設定できるステンシル参照値とを、任意に設定できる比較関数に基づいてピクセルごとに比較し、第1カラーバッファ24Aの画像や第2カラーバッファ24Bの画像の各ピクセルのデータを以降の処理において用いるか破棄するかを決定する処理を行う。例えば、ステンシルバッファ24Eのピクセルのうち「1」が格納されたピクセルについては、第2カラーバッファ24Bの色を以降の処理において用い、ステンシルバッファ24Eのピクセルのうち「0」が格納されたピクセルについては、第2カラーバッファ24Bの色を以降の処理において用いないようにすることができる。
そして本実施形態では描画部120は、原画像描画部122と、エフェクト処理部124とを含む。
原画像描画部122は、上述のようにして、オブジェクト空間を仮想カメラから見た原画像を、第1カラーバッファ24Aに描画する処理を行う。
エフェクト処理部124は、処理部100によるゲーム処理の結果に基づいて、爆発や炎上などのイベントが発生した場合に、原画像に対して炎や煙や閃光などを表現するエフェクト画像を合成するエフェクト処理を行う。
具体的にはエフェクト処理部124はエフェクト処理として、まず、第1カラーバッファ24Aに描画された原画像を構成する各ピクセルの色(RGB成分)を、第1カラーバッファ24Aよりも解像度が低い(ピクセル数が少ない、サイズが小さい)第2カラーバッファ24B(縮小バッファ)に描画(コピー)する処理を行う。本実施形態では、第2カラーバッファ24Bの解像度は第1カラーバッファ24Aの解像度の2分の1倍(ピクセル数、サイズは4分の1倍)となっている。
そしてエフェクト処理部124は、原画像の色を調整するためのエフェクト画像を第2カラーバッファ24Bに描画する処理を行う。詳細にはエフェクト処理部124は、上述したオブジェクト空間設定部110として機能し、ゲーム処理の結果により決定されるオブジェクト空間における爆発や炎上などが発生した位置(ワールド座標系)に、矩形のポリゴンにより構成されたエフェクト用オブジェクトを設定する。そしてエフェクト処理部124は、このエフェクト用オブジェクトについて上述したジオメトリ処理を行い、このエフェクト用オブジェクトに炎や煙や閃光などを表現するエフェクト用テクスチャをマッピングしつつ、デプステストを行わずにエフェクト画像を第2カラーバッファ24Bに描画する処理を行う。
するとエフェクト処理部124は、第1カラーバッファ24Aにおいてエフェクト画像を描画するピクセルを指定するステンシル画像を、エフェクト用オブジェクトの形状に基づいて、第2カラーバッファ24Bよりも解像度が高いステンシルバッファ24Eに描画する処理を行う。本実施形態では、ステンシルバッファ24Eの解像度は第2カラーバッファ24Bの解像度の2倍(ピクセル数、サイズは4倍)となっており、第1カラーバッファ24Aの解像度と同一となっている。
詳細にはエフェクト処理部124は、上述したオブジェクト空間設定部110として機能し、ゲーム処理の結果により決定されるオブジェクト空間における爆発や炎上などが発生した位置(ワールド座標系)にエフェクト用オブジェクトを設定する。そしてエフェクト処理部124は、このエフェクト用オブジェクトについて上述したジオメトリ処理を行い、デプスバッファ24Dに格納された原画像の奥行き値と、エフェクト処理部124が設定するエフェクト用オブジェクトの位置に含まれる奥行き値(エフェクト画像の奥行き値の一例)との比較結果に基づいてデプステストを行いながら、仮想カメラから見えるエフェクト用オブジェクトの形状をステンシル画像としてステンシルバッファ24Eに描画する処理を行う。本実施形態ではエフェクト処理部124は、ステンシルバッファ24Eのピクセルのうちエフェクト用オブジェクトが最も手前になるピクセルについて「1」を格納し、エフェクト用オブジェクトが最も手前ではないピクセルについて「0」を格納することにより、ステンシル画像を描画する。
なおエフェクト処理部124は、エフェクト用オブジェクトの位置(エフェクト画像の位置の一例)を、仮想カメラから見て特定オブジェクト(キャラクタなど)よりも常に奥となるように設定する処理を行うようにしてもよい。この場合にはエフェクト処理部124は、仮想カメラの位置と特定オブジェクトの位置とに基づいて、エフェクト用オブジェクトの位置を仮想カメラから見て特定オブジェクトよりも常に奥となるように設定するようにしてもよいし、エフェクト用オブジェクトの位置や移動範囲が、仮想カメラから見て特定オブジェクトよりも常に奥となるような領域に予め設定されているようにしてもよい。
そしてエフェクト処理部124は、上述のようにして第2カラーバッファ24Bに描画されたエフェクト画像を、ステンシル画像に基づいてステンシルテストを行いながら、第1カラーバッファ24Bに描画する処理を行う。本実施形態ではエフェクト処理部124は、ステンシル画像において「1」が格納されたピクセルについては、第2カラーバッファ24Bの色を第1カラーバッファ24Aに描画し、ステンシル画像において「0」が格納されたピクセルについては、第1カラーバッファ24Aの原画像の色を更新せずにそのまま残す。
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部60に出力する。
なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて分散処理により生成してもよい。
1−2.本実施形態の手法
次に本実施形態の手法について、従来の手法と比較しながら図面を用いて説明する。
1−2−1.従来の手法
図2は、従来の画像生成システムにおいて採用されている、エフェクト画像を描画する際の処理負荷を軽減させる手法を説明するための図である。図2では、仮想カメラから見て黒い球体オブジェクト(特定オブジェクトの一例)の奥(裏)に煙を表現するエフェクト画像を合成する例を挙げて説明する。まず図2のA1のように、従来の手法では、オブジェクト空間に設定された球体オブジェクトを仮想カメラから見た原画像の各ピクセルの色が、最終的な表示画像の解像度を有する第1カラーバッファ24Aに描画され、原画像の各ピクセルの奥行き値が、第1カラーバッファ24Aと同一の解像度を有する第1デプスバッファ24D1に格納される。
そして図2のA2のように、第1カラーバッファ24Aに描画された原画像の各ピクセルの色が、第1カラーバッファ24Aの2分の1倍の解像度の第2カラーバッファ24Bに縮小コピーされ、第1デプスバッファ24D1に描画された原画像の各ピクセルの奥行き値が、第1デプスバッファ24D1の2分の1倍の解像度の第2デプスバッファ24D2に縮小コピーされる。なお縮小コピーの手法としては、第1カラーバッファ24Aの2行2列の4つのピクセルのうち1つのピクセルの色が第2カラーバッファ24Bの1つのピクセルの色としてコピーされるようにしてもよいし、第1カラーバッファ24Aの4つのピクセルの色の平均値が第2カラーバッファ24Bの1つのピクセルの色としてコピーされるようにしてもよい。
すると図2のA3のように、ゲーム処理の結果により決定されるオブジェクト空間における爆発や炎上などが発生した位置(ワールド座標系)に基づいて、第2カラーバッファ24Bに煙を表現するエフェクト画像が描画される。図2の例では、図3(A)に示すように、頂点データのα値がα=1.0(不透明)に設定された矩形のポリゴンにより構成されるエフェクト用オブジェクトが設定される。そして、各テクセルに煙の粒子の色と0.0〜1.0の値をとるα値が設定された煙を表現するエフェクト用テクスチャが、このエフェクト用オブジェクトに対してマッピングされることによりエフェクト画像が第2カラーバッファ24Bに描画される。詳細にはエフェクト用テクスチャは、煙の粒子の色が設定されているテクセルには0.0<α≦1.0となるα値が設定され、煙の粒子の色が設定されていないテクセルにはα=0.0となるα値が設定されている。そして、図2の例では、図3(B)に示すように、10枚程度のエフェクト用オブジェクトが向きを変えながら重ねて設定され、各エフェクト用オブジェクトにエフェクト用テクスチャがマッピングされることにより、一様ではない自然な煙を表現するエフェクト画像が描画されるようにしている。
従って図2の例では、原画像の色と10枚程度のエフェクト用テクスチャの色とがαブレンディングにより合成される。しかも図2の例では、原画像の色にエフェクト用テクスチャの色が合成される際には、光源計算や質感表現などに用いられる各種パラメータがピクセル毎に参照されるため、各ピクセルの処理負荷は非常に重いものとなる。しかし図2の例では、第2カラーバッファ24Bに縮小コピーされた原画像に対してエフェクト画像を描画するため、第1カラーバッファ24Aの原画像に対してエフェクト画像を描画するよりも処理負荷が大幅に軽減されている。
また図2の例では、エフェクト画像が第2カラーバッファ24Bに描画される際には、エフェクト用オブジェクトの奥行き値と、第2デプスバッファ24D2に格納された原画像の奥行き値との比較結果に基づいてデプステストが行われる。図2の例では、ゲーム処理の結果により煙が発生する位置が仮想カメラから見て球体オブジェクトの奥となっているため、球体オブジェクトの奥にエフェクト用オブジェクトが設定されている。従って図2のA3のように、第2カラーバッファ24Bのピクセルのうち、仮想カメラから見てエフェクト用オブジェクトの手前に重なる球体オブジェクトに対応するピクセルについては、球体オブジェクトの色が描画され、仮想カメラから見て球体オブジェクトと重ならないエフェクト用オブジェクトに対応するピクセルについては、エフェクト画像の色が描画される。
そして図2の例では、第2カラーバッファ24Bの画像のうちエフェクト画像が抽出され、これが第1カラーバッファ24Aの解像度に合わせて2倍に拡大されて、図2のA4のように、第1カラーバッファ24Aにおけるエフェクト画像に対応する位置(ピクセル)に合成される。こうして図2の例では、エフェクト画像を描画する際の処理負荷を軽減しつつ、第1カラーバッファ24Aに描画された原画像にエフェクト画像を合成している。
しかしこのような従来の手法では、第1カラーバッファ24Aの原画像に対して合成されるエフェクト画像とは、第2カラーバッファ24Bの画像において抽出されたエフェクト用オブジェクトに対応する画像が2倍に拡大されたものであるため、図4に示すように、球体オブジェクトとエフェクト画像との境界付近のピクセルの色が滲んだように描画されてしまう。特に図4において線で囲まれた部分においては、オブジェクトの色が描画されるべきピクセルにエフェクト画像の色が描画されてしまい、エフェクト画像の色が描画されるべきピクセルにオブジェクトの色が描画されてしまっている状態が顕著に表れている。
1−2−2.本実施形態の手法の特徴
次に、本実施形態の手法の特徴について説明する。図5は、本実施形態の画像生成システムにおいて採用されている手法を説明するための図である。図5においても図2と同様に、仮想カメラから見て黒い球体オブジェクトの奥(裏)に煙を表現するエフェクト画像を合成する例を挙げて説明する。まず図5のB1のように、本実施形態の手法でも従来の手法と同様に、オブジェクト空間に設定された球体オブジェクトを仮想カメラから見た原画像の各ピクセルの色が、最終的な表示画像の解像度を有する第1カラーバッファ24Aに描画され、原画像の各ピクセルの奥行き値が、第1カラーバッファ24Aと同一の解像度を有するデプスバッファ24Dに格納される。更に本実施形態では、図5のB1のように、第1カラーバッファ24Aと同一の解像度を有するステンシルバッファ24Eの各ピクセルの値が0にリセットされる。
そして図5のB2のように、第1カラーバッファ24Aに描画された原画像の各ピクセルの色が、第1カラーバッファ24Aの2分の1倍の解像度の第2カラーバッファ24Bに縮小コピーされる。しかし、本実施形態の手法では従来の手法と異なり、デプスバッファ24Dに描画された原画像の各ピクセルの奥行き値は縮小コピーされない。
すると図5のB3のように、第2カラーバッファ24Bに煙を表現するエフェクト画像が描画される。本実施形態の手法でも従来の手法と同様に、図3(A)に示すエフェクト用オブジェクトが、ゲーム処理の結果により決定されるオブジェクト空間における爆発や炎上などが発生した位置(ワールド座標系)に設定され、このエフェクト用オブジェクトに対してエフェクト用テクスチャがマッピングされることによりエフェクト画像が第2カラーバッファ24Bに描画される。ここで本実施形態でも図3(B)に示すように、10枚程度のエフェクト用オブジェクトが向きを変えながら重ねて設定され、各エフェクト用オブジェクトにエフェクト用テクスチャがマッピングされることにより、一様ではない自然な煙を表現するエフェクト画像が描画されるようにしている。
そして本実施形態の手法でも従来の手法と同様に、原画像の色と10枚程度のエフェクト用テクスチャの色とがαブレンディングにより合成され、この際には、光源計算や質感表現などに用いられる各種パラメータがピクセル毎に参照される。
しかし本実施形態の手法では従来の手法と異なり、エフェクト画像が第2カラーバッファ24Bに描画される際には、エフェクト用オブジェクトの奥行き値と、第2デプスバッファ24D2に格納された原画像の奥行き値との比較結果に基づいてデプステストが行われない。従って図5の例では、ゲーム処理の結果により決定される煙が発生する位置が仮想カメラから見て球体オブジェクトの奥となっているが、デプステストが行われないため、図5のB3のように、第2カラーバッファ24Bに描画されている原画像の色にエフェクト画像の色が上書きされたように描画される。
更に本実施形態の手法では従来の手法と異なり、図5のB4のように、第1カラーバッファ24Aにおいてエフェクト画像を描画するピクセルを指定するステンシル画像がステンシルバッファ24Eに描画される。詳細には本実施形態では、ゲーム処理の結果により決定される煙が発生する位置(ワールド座標系)に基づいて、エフェクト用オブジェクトが設定される。そして、デプスバッファ24Dに格納された原画像の奥行き値と、エフェクト用オブジェクトの位置に含まれる奥行き値との比較結果に基づいてデプステストが行われながら、矩形のエフェクト用オブジェクトがステンシルバッファ24Eに描画される。本実施形態では、ステンシルバッファ24Eのピクセルのうちエフェクト用オブジェクトが最も手前になるピクセルについて「1」が格納され、エフェクト用オブジェクトが最も手前ではないピクセルについて「0」が格納される。これにより図5のB4のように、10枚程度のエフェクト用オブジェクトが重なっている領域に対応するピクセルのうち球体オブジェクトに対応するピクセルを除くピクセルについて「1」(白)が格納され、その他のピクセルについて「0」が格納されたステンシル画像が描画される。
そして本実施形態の手法では従来の手法と異なり、第2カラーバッファ24Bの全てのピクセルについて、上述のようにして描画されたステンシル画像に基づいてステンシルテストが行われる。そして、ステンシルテストをパスしたピクセルについては、図5のB5のように、第2カラーバッファ24Bの色が第1カラーバッファ24Bに拡大コピーされる。本実施形態では、ステンシル画像において「1」が格納されたピクセルについては、第2カラーバッファ24Bの色が第1カラーバッファ24Aに描画され、ステンシル画像において「0」が格納されたピクセルについては、第1カラーバッファ24Aの原画像の色が更新されずにそのまま残る。
従って本実施形態の手法によれば、エフェクト画像が第1カラーバッファ24Aの原画像に対して合成される際に、第1カラーバッファ24Aと同一の解像度のステンシルバッファ24Eに描画されたステンシル画像によって球体オブジェクトに対応するピクセルがマスクされるので、球体オブジェクトの色が描画されるべきピクセルにエフェクト画像の色が描画されることがない。更に本実施形態の手法によれば、第2カラーバッファ24Bのエフェクト画像は、図5のB3のように、第2カラーバッファ24Bに描画されている原画像の色にエフェクト画像の色が上書きされたように描画されるので、第1カラーバッファ24Aに拡大コピーされても、エフェクト画像の色が描画されるべきピクセルに球体オブジェクトの色が描画されることがない。
すなわち本実施形態の手法によれば、第1カラーバッファ24Aの原画像に対して合成されるエフェクト画像とは、第2カラーバッファ24Bの画像のうちエフェクト用オブジェクトに対応する画像が2倍に拡大されたものであるが、図6に示すように、球体オブジェクトとエフェクト画像との境界付近のピクセルの色が互いに滲むように描画されることがなく、従来の手法と比して画像の劣化が著しく回避されている。
1−3.本実施形態の処理
次に、本実施形態の処理の一例について図7のフローチャートを用いて説明する。図7に示すように、本実施形態の画像生成システムは、まず、フレームの更新タイミングが到来すると(ステップS10でY)、ステンシルバッファ24Eの全ピクセルの値を「0」にリセットする(ステップS12)。そして、第1カラーバッファ24Aの原画像の色を第2カラーバッファ24Bに縮小コピーする(ステップS14)。そして、ゲーム処理の結果により決定されるオブジェクト空間における位置にエフェクト用オブジェクトを設定し、エフェクト用オブジェクトにエフェクト用テクスチャをマッピングしつつ、デプステストを行わずにエフェクト画像の色を第2カラーバッファ24Bに描画する(ステップS16)。そして、デプスバッファ24Dの原画像の奥行き値とエフェクト用オブジェクトの奥行き値との比較結果に基づいてデプステストを行いながら、エフェクト用オブジェクトが最も手前となるピクセルを「1」とするステンシル画像をステンシルバッファEに描画する(ステップS18)。すると、第1カラーバッファ24Aのピクセルのうち、ステンシル画像において「1」が設定されたピクセルについて、第2カラーバッファ24Bに描画されたエフェクト画像の色を描画する(ステップS20)。
1−4.ハードウェア構成例
次に、本実施形態の画像生成システムを実現するハードウェアの構成の一例について図8を用いて説明する。なお図8では、主要な構成のみを図示しており、図8に示されていないハードウェア(メモリコントローラやスピーカなど)を必要に応じて設けることができる。
メインプロセッサ200は、光ディスク272(CD、DVD、ブルーレイディスク等の情報記憶媒体)に格納されたプログラム、通信インターフェース280を介して転送されたプログラム、或いはハードディスク260に格納されたプログラムなどに基づき動作し、内部バスb4を介してアクセス可能なメインメモリ240を作業領域(ワーク領域)としてゲーム処理、画像処理、音処理などの種々の処理を実行する。
メインプロセッサ200は、1基のプロセッサ210と複数のベクトルプロセッサ212で構成される。プロセッサ210は、OSの実行、ハードウェアリソースの管理、ゲーム処理、ベクトルプロセッサ212の動作管理などの種々の処理を実行する。またベクトルプロセッサ212は、ベクトル演算に特化したプロセッサであり、主にジオメトリ処理、画像データや音データのコーデック処理などの処理を実行する。
描画プロセッサ220は、内部バスb1(第1の内部バス)を介してビデオメモリ230にアクセス可能に形成されている。また描画プロセッサ220は、描画プロセッサ220とメインプロセッサ200を接続する内部バスb2(第2の内部バス)と、メインプロセッサ200内部のバスb3と、メインプロセッサ200とメインメモリ240を接続する内部バスb4を介してメインメモリ240にアクセス可能に形成されている。すなわち描画プロセッサ220はビデオメモリ230と、メインメモリ240とをレンダリングターゲットとして利用することができる。
描画プロセッサ220は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算(ベクトル演算)を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ200で動作するプログラムが、その処理を描画プロセッサ220に指示する。
また描画プロセッサ220は、ジオメトリ処理後のオブジェクト(ポリゴンや曲面などのプリミティブ面で構成されるオブジェクト)の画像のレンダリング処理を高速に実行するものである。マルチパスレンダリング処理の際には、描画プロセッサ220は、描画データ(頂点データや他のパラメータ)等に基づいて、Zバッファ234などを利用した陰面消去を行いながら、画像をビデオメモリ230又はメインメモリ240の一方のメモリにレンダリングする。そしてビデオメモリ230又はメインメモリ240の一方のメモリに記憶された画像に基づき他方のメモリに新たな画像をレンダリングする処理を必要なレンダリングパスの回数だけ行う。描画プロセッサ220は、上記マルチパスレンダリング処理として、グレアフィルタ処理、モーションブラー処理、被写界深度処理、フォグ処理等のフィルタ処理(エフェクト処理)を行うことができる。
そして、最後のレンダリングパスで画像がビデオメモリ230に設けられたフレームバッファ232にレンダリングされると、その画像をディスプレイ250に出力する。また最後のレンダリングパスで画像がメインメモリ240にレンダリングされた場合には当該画像をフレームバッファ232にコピー(書き込み)した上でディスプレイ250に出力する。
ハードディスク260にはシステムプログラム、セーブデータ、個人データなどが格納される。
光学ドライブ270は、プログラム、画像データ、或いは音データなどが格納される光ディスク272(情報記憶媒体)を駆動し、これらのプログラム、データへのアクセスを可能にする。
通信インターフェース280は、ネットワークを介して外部との間でデータ転送を行うためのインターフェースである。この場合に、通信インターフェース280に接続されるネットワークとしては、通信回線(アナログ電話回線、ISDN)、高速シリアルバスなどを考えることができる。そして、通信回線を利用することでインターネットを介したデータ転送が可能になる。また、高速シリアルバスを利用することで、他の画像生成システムとの間でのデータ転送が可能になる。
上述したように本実施形態の画像生成システム(コンピュータ)は、内部バスb1(第1の内部バス)を介してビデオメモリ230にアクセス可能であるとともに、内部バスb2(第2の内部バス)を介してメインメモリ240にアクセス可能である描画プロセッサ220を含んで構成されており、描画プロセッサ220は、光ディスク272(情報記憶媒体の一例)あるいはハードディスク260(情報記憶媒体の一例)に格納されているシェーダプログラムに従って種々のシェーダ処理を実行する。
なお、本実施形態の各部(各手段)は、その全てを、ハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
そして、本実施形態の各部をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア(コンピュータ)を本実施形態の各部として機能させるためのプログラムが格納されることになる。より具体的には、上記プログラムが、ハードウェアである各プロセッサ200、220等に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ200、220等は、その指示と渡されたデータとに基づいて、本発明の各部を実現することになる。
2.第2実施形態
2−1.構成
次に、第2実施形態の画像生成システム(ゲームシステム)について説明する。以下では、図1を参照しながら、第2実施形態の画像生成システムにおける機能ブロックの構成を説明するが、第1実施形態の画像生成システムにおける機能ブロックの構成と同様の点については詳細な説明を省略し、主要な相違点について説明する。
本実施形態では上記第1実施形態と異なり、図1のデプスバッファ24は、第1カラーバッファ24Aと解像度が同一の第1デプスバッファ24D1と、第2カラーバッファ24Bと解像度が同一の第2デプスバッファ24D2とを含んでいる。
そして本実施形態ではエフェクト処理部124は、まず、第1カラーバッファ24Aに描画された原画像を構成する各ピクセルの色を第2カラーバッファ24Bに描画(縮小コピー)する処理を行うとともに、第1デプスバッファ24D1に描画された原画像を構成する各ピクセルの奥行き値を、第2デプスバッファ24D2(縮小バッファ)に描画(縮小コピー)する処理を行う。
更に本実施形態ではエフェクト処理部124は、第1実施形態と異なり、エフェクト画像を第2カラーバッファに描画する処理を行う際にデプステストを行う。詳細にはエフェクト処理部124は、ゲーム処理の結果により決定されるオブジェクト空間における爆発や炎上などが発生した位置(ワールド座標系)に、頂点データのα値が不透明に設定された矩形のポリゴンにより構成されたエフェクト用オブジェクトを設定する。そしてエフェクト処理部124は、このエフェクト用オブジェクトについて上述したジオメトリ処理を行い、このエフェクト用オブジェクトに炎や煙や閃光などを表現するエフェクト用テクスチャをマッピングしつつ、第2デプスバッファ24D2の原画像の奥行き値とエフェクト用オブジェクトの奥行き値との比較結果に基づいてデプステストを行いながら、エフェクト画像の色を第2カラーバッファ24Bに描画する処理を行う。
2−2.本実施形態の手法の特徴
次に、本実施形態の手法の特徴について説明する。上述した第1実施形態の画像生成システムでは、図5のB3のように、第2カラーバッファ24Bに描画されている原画像の色にエフェクト画像の色が上書きされたように描画されるので、球体オブジェクトと、仮想カメラから見て球体オブジェクトよりも手前に設定される第1エフェクト画像と、仮想カメラから見て球体オブジェクトよりも奥に設定される第2エフェクト画像とが重なる場合には、これらの前後関係が正確に描画されない不都合が発生する場合がある。そこで本実施形態の画像生成システムでは、このような不都合が発生しないようにしている。
図9は、本実施形態の画像生成システムにおいて採用されている手法を説明するための図である。図9でも図5と同様に、仮想カメラから見て黒い球体オブジェクトの奥(裏)に煙を表現するエフェクト画像を合成する例を挙げて説明する。まず図9のC1のように、本実施形態の手法でも第1実施形態の手法と同様に、オブジェクト空間に設定された球体オブジェクトを仮想カメラから見た原画像の各ピクセルの色が、最終的な表示画像の解像度を有する第1カラーバッファ24Aに描画され、原画像の各ピクセルの奥行き値が、第1カラーバッファ24Aと同一の解像度を有する第1デプスバッファ24D1に格納される。そして図9のC1のように、第1カラーバッファ24Aと同一の解像度を有するステンシルバッファ24Eの各ピクセルの値が0にリセットされる。
そして図9のC2のように、第1カラーバッファ24Aに描画された原画像の各ピクセルの色が、第1カラーバッファ24Aの2分の1倍の解像度の第2カラーバッファ24Bに縮小コピーされる。そして、本実施形態の手法では第1実施形態の手法と異なり、第1デプスバッファ24D1に描画された原画像の各ピクセルの奥行き値が、第1デプスバッファ24D1の2分の1倍の解像度の第2デプスバッファ24D2に縮小コピーされる。
すると図9のC3のように、第2カラーバッファ24Bに煙を表現するエフェクト画像が描画される。本実施形態の手法でも第1実施形態の手法と同様に、図3(A)に示すエフェクト用オブジェクトが設定され、このエフェクト用オブジェクトに対してエフェクト用テクスチャがマッピングされることによりエフェクト画像が第2カラーバッファ24Bに描画される。そして図3(B)に示すように、10枚程度のエフェクト用オブジェクトが向きを変えながら重ねて設定され、各エフェクト用オブジェクトにエフェクト用テクスチャがマッピングされることにより、一様ではない自然な煙を表現するエフェクト画像が描画されるようにしている。
そして本実施形態の手法でも第1実施形態の手法と同様に、原画像の色と10枚程度のエフェクト用テクスチャの色とがαブレンディングにより合成され、この際には、光源計算や質感表現などに用いられる各種パラメータがピクセル毎に参照される。
しかし本実施形態の手法では第1実施形態の手法と異なり、エフェクト画像が第2カラーバッファ24Bに描画される際には、エフェクト用オブジェクトの奥行き値と、第2デプスバッファ24D2に格納された原画像の奥行き値との比較結果に基づいてデプステストが行われる。図9の例では、ゲーム処理の結果により煙が発生する位置が仮想カメラから見て球体オブジェクトの奥となっているため、球体オブジェクトの奥にエフェクト用オブジェクトが設定されている。従って図9のC3のように、第2カラーバッファ24Bのピクセルのうち、仮想カメラから見てエフェクト用オブジェクトの手前に重なる球体オブジェクトに対応するピクセルについては、球体オブジェクトの色が描画され、仮想カメラから見て球体オブジェクトと重ならないエフェクト用オブジェクトに対応するピクセルについては、エフェクト画像の色が描画される。
そして本実施形態の手法では第1実施形態の手法と同様に、図9のC4のように、第1カラーバッファ24Aにおいてエフェクト画像を描画するピクセルを指定するステンシル画像がステンシルバッファ24Eに描画される。詳細には本実施形態の手法でも第1実施形態の手法と同様に、ゲーム処理の結果により決定される煙が発生する位置に基づいて、エフェクト用オブジェクトが設定される。そして、デプスバッファ24Dに格納された原画像の奥行き値と、エフェクト用オブジェクトの位置に含まれる奥行き値との比較結果に基づいてデプステストを行いながら、矩形のエフェクト用オブジェクトがステンシルバッファ24Eに描画される。
そして本実施形態の手法でも第1実施形態の手法と同様に、第2カラーバッファ24Bの全てのピクセルについて、上述のようにして描画されたステンシル画像に基づいてステンシルテストが行われる。そして、図9のC5のように、ステンシル画像において「1」が格納されたピクセルについては、第2カラーバッファ24Bの色が第1カラーバッファ24Aに描画され、ステンシル画像において「0」が格納されたピクセルについては、第1カラーバッファ24Aの原画像の色が更新されずにそのまま残る。
従って本実施形態の手法によれば、エフェクト画像が第1カラーバッファ24Aの原画像に対して合成される際に、第1カラーバッファ24Aと同一の解像度のステンシルバッファ24Eに描画されたステンシル画像によって球体オブジェクトに対応するピクセルがマスクされるので、球体オブジェクトの色が描画されるべきピクセルにエフェクト画像の色が描画されることがない。一方、本実施形態における第2カラーバッファ24Bのエフェクト画像は、図9のC3のように、デプステストによって前後関係が判定されて描画されるので、第1カラーバッファ24Aに拡大コピーされると、エフェクト画像の色が描画されるべきピクセルに球体オブジェクトの色が描画されることがある。しかし本実施形態の手法によれば、第2カラーバッファ24Bのエフェクト画像はデプステストによって前後関係が判定されているので、第1エフェクト画像と第2エフェクト画像とが仮想カメラから見て特定オブジェクトの手前と奥とで特定オブジェクトと重なるように設定されても、これらの前後関係が正確に描画されない不都合が発生することがない。
すなわち本実施形態の手法によれば、複数のエフェクト画像を球体オブジェクトとの位置関係に関わらず設定することができるとともに、図10に示すように、球体オブジェクトとエフェクト画像との境界付近において、エフェクト画像の色が球体オブジェクトの色に対して滲むように描画されることがなく、従来の手法と比して画像の劣化が十分に回避されている。
2−3.本実施形態の処理
次に、本実施形態の処理の一例について図11のフローチャートを用いて説明する。図11に示すように、本実施形態の画像生成システムは、まず、フレームの更新タイミングが到来すると(ステップS110でY)、ステンシルバッファ24Eの全ピクセルの値を「0」にリセットする(ステップS112)。そして、第1カラーバッファ24Aの原画像の色を第2カラーバッファ24Bに縮小コピーするとともに、第1デプスバッファ24D1の原画像の奥行き値を第2デプスバッファ24D2にコピーする(ステップS114)。そして、ゲーム処理の結果により決定されるオブジェクト空間における位置にエフェクト用オブジェクトを設定し、エフェクト用オブジェクトにエフェクト用テクスチャをマッピングしつつ、第2デプスバッファ24D2の原画像の奥行き値とエフェクト用オブジェクトの奥行き値との比較結果に基づいてデプステストを行いながら、エフェクト画像の色を第2カラーバッファ24Bに描画する(ステップS116)。そして、第1デプスバッファ24D1の原画像の奥行き値とエフェクト用オブジェクトの奥行き値との比較結果に基づいて、エフェクト用オブジェクトが最も手前となるピクセルを「1」とするステンシル画像をステンシルバッファEに描画する(ステップS118)。すると、第1カラーバッファ24Aのピクセルのうち、ステンシル画像において「1」が設定されたピクセルについて、第2カラーバッファ24Bに描画されたエフェクト画像の色を描画する(ステップS120)。
3.変形例
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。またグレアフィルタの手法は、本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。
また上記実施形態では、エフェクト処理部124が1フレームについて1回のエフェクト処理を行う例を挙げて説明したが、エフェクト処理部124が1フレームについて複数回のエフェクト処理を行うようにしてもよい。例えば、仮想カメラから見て特定オブジェクトよりも手前に設定される第1エフェクト画像についてエフェクト処理を行う第1エフェクト処理と、仮想カメラから見て特定オブジェクトよりも奥に設定される第2エフェクト画像についてエフェクト処理を行う第2エフェクト処理とを行うようにしてもよい。この場合にはエフェクト処理部124が、第1カラーバッファ24Aに描画された原画像を第2カラーバッファ24Bに縮小コピーするとともに、第2カラーバッファ24Bと同一の解像度を有する第3カラーバッファにも縮小コピーしておき、第1エフェクト処理ではエフェクト画像のレンダリングターゲットとして第2カラーバッファ24Bを用い、第2エフェクト処理ではエフェクト画像のレンダリングターゲットとして第3カラーバッファを用いるようにしてもよい。
このようにすれば、第1エフェクト画像と第2エフェクト画像とが仮想カメラから見て特定オブジェクトの手前と奥とで特定オブジェクトと重なるように設定されても、第1エフェクト画像についての第1エフェクト処理と第2エフェクト画像についての第2エフェクト処理とが行われることにより、エフェクト画像を第2カラーバッファおよび第3カラーバッファに描画する処理を行う際に原画像の奥行き値とエフェクト画像の奥行き値とに基づいてデプステストを行わなくともこれらの前後関係を正確に描画しつつ、ステンシル画像により画像の劣化を回避することができる。
また上記実施形態では、エフェクト処理部124が、仮想カメラから見えるエフェクト用オブジェクトの形状をステンシル画像としてステンシルバッファ24Eに描画する処理を行う例を挙げて説明したが、エフェクト処理部124が、エフェクト用テクスチャに基づいて、ステンシル画像をステンシルバッファ24Eに描画する処理を行うようにしてもよい。詳細にはエフェクト処理部124が、仮想カメラから見えるエフェクト用オブジェクトにエフェクト用テクスチャをマッピングし、エフェクト用テクスチャがマッピングされた領域のうち色が設定されているピクセルすなわちα値が0よりも大きいピクセルに「1」を格納し、α値が0であるピクセルに「0」を格納することにより、ステンシル画像をステンシルバッファ24Eに描画する処理を行うようにしてもよい。このようにすれば、エフェクト用テクスチャに対応する詳細なステンシル画像を描画することにより、画像の劣化を更に回避することができる。
また上記実施形態では、エフェクト処理部124が、爆発や炎上などのイベントが発生した場合に、原画像に対して炎や煙や閃光などを表現するエフェクト画像を合成するエフェクト処理を行う例を挙げて説明したが、キャラクタが特定の技を使用する場合に、キャラクタの背後にオーラを表現するエフェクト画像を合成するようにしてもよいし、キャラクタが相手キャラクタの攻撃を受けた場合に、ダメージを表現するエフェクト画像を合成するようにしてもよい。
またエフェクト処理部124は、キャラクタが相手キャラクタに対して攻撃を行ったり、相手キャラクタから攻撃を受けた場合に、当該攻撃の種類や、当該攻撃が相手キャラクタまたはキャラクタにヒットしたか否かに応じて、エフェクト用オブジェクトの位置を仮想カメラから見て特定オブジェクトよりも奥となるように設定するようにしてもよいし、更に、操作部10に入力された方向情報に基づいて決定される攻撃方向が仮想カメラから見て奥方向に向く所定範囲の方向である場合に、エフェクト用オブジェクトの位置を仮想カメラから見て特定オブジェクトよりも奥となるように設定するようにしてもよい。
またエフェクト用オブジェクトの位置や移動範囲は、キャラクタの位置を示す代表点のみならず、キャラクタの手先や足先などの端部よりも仮想カメラから見て奥となる領域に設定されるようにしてもよい。例えば、キャラクタの端部の移動範囲を含むバウンディングボリュームをキャラクタに対して設定するとともに、このバウンディングボリュームとエフェクト用オブジェクトとのヒットチェックを行い、エフェクト用オブジェクトの位置を仮想カメラから見てこのバウンディングボリュームよりも奥となるように設定するようにしてもよい。
また原画像が描画される第1カラーバッファ24Aと、エフェクト画像が合成される第1カラーバッファ24Aとは、物理的に同一のバッファを用いてもよいし、異なるバッファを用いてもよい。
また本発明は種々のゲーム(格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等)に適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
第1実施形態の画像生成システムの機能ブロック図。 従来の画像生成システムの手法の説明図。 従来の画像生成システムの手法の説明図。 従来の画像生成システムの手法の説明図。 第1実施形態の手法の説明図。 第1実施形態で生成される画像の一例を示す図。 第1実施形態の処理の流れを示すフローチャート。 第1実施形態の画像生成システムのハードウェア構成例。 第2実施形態の手法の説明図。 第2実施形態で生成される画像の一例を示す図。 第2実施形態の処理の流れを示すフローチャート。
符号の説明
10 操作部、20 記憶部、22 メインメモリ、
22A オブジェクトデータ記憶部、22B フレームバッファ、
24 ビデオメモリ、24A 第1カラーバッファ、24B 第2カラーバッファ、
24C テクスチャ記憶部、24D デプスバッファ、30 情報記憶媒体、
40 携帯型情報記憶装置、50 表示部、60 音出力部、70 通信部
100 処理部、110 オブジェクト空間設定部、112 移動・動作処理部、
114 仮想カメラ制御部、120 描画部、122 原画像描画部、
124 エフェクト処理部、130 音生成部

Claims (8)

  1. 画像を生成するためのプログラムであって、
    オブジェクト空間に設定されたオブジェクトを仮想カメラから見た原画像を第1カラーバッファに描画する処理を行う原画像描画部と、
    前記原画像と前記原画像の色を調整するためのエフェクト画像とを合成するエフェクト処理を行うエフェクト処理部としてコンピュータを機能させ、
    前記エフェクト処理部は前記エフェクト処理として、
    前記第1カラーバッファに描画された前記原画像を前記第1カラーバッファよりも解像度が低い第2カラーバッファに描画する処理と、
    前記エフェクト画像を前記第2カラーバッファに描画する処理と、
    前記第2カラーバッファに描画された前記エフェクト画像を描画するピクセルを指定するステンシル画像を、前記原画像の奥行き値と前記エフェクト画像の奥行き値とに基づいて、前記第2カラーバッファよりも解像度が高いステンシルバッファに描画する処理と、
    前記第2カラーバッファに描画された前記エフェクト画像を、前記ステンシル画像に基づいて前記第1カラーバッファに描画する処理と、
    を行うことを特徴とするプログラム。
  2. 請求項1において、
    前記エフェクト処理部は、
    前記エフェクト画像の位置を前記仮想カメラから見て特定オブジェクトよりも奥に設定する処理を行うことを特徴とするプログラム。
  3. 請求項1において、
    前記エフェクト処理部は、
    前記原画像の奥行き値と前記エフェクト画像の奥行き値とに基づいて、前記エフェクト画像を前記第2カラーバッファに描画する処理を行うことを特徴とするプログラム。
  4. 請求項1において、
    前記エフェクト処理部は、
    前記仮想カメラから見て特定オブジェクトよりも手前に設定される第1エフェクト画像について前記エフェクト処理を行う第1エフェクト処理と、前記仮想カメラから見て前記特定オブジェクトよりも奥に設定される第2エフェクト画像について前記エフェクト処理を行う第2エフェクト処理とを行うことを特徴とするプログラム。
  5. 請求項1〜4のいずれかにおいて、
    前記エフェクト処理部は、
    エフェクト用テクスチャをエフェクト用オブジェクトにマッピングすることにより前記エフェクト画像を前記第2カラーバッファに描画する処理を行い、
    前記エフェクト用オブジェクトの奥行き値に基づいて、前記ステンシル画像を前記ステンシルバッファに描画する処理を行うことを特徴とするプログラム。
  6. 請求項5において、
    前記エフェクト処理部は、
    前記エフェクト用オブジェクトの形状に基づいて、前記ステンシル画像を前記ステンシルバッファに描画する処理を行うことを特徴とするプログラム。
  7. 請求項5において、
    前記エフェクト処理部は、
    前記エフェクト用テクスチャに基づいて、前記ステンシル画像を前記ステンシルバッファに描画する処理を行うことを特徴とするプログラム。
  8. 画像を生成するための画像生成システムであって、
    オブジェクト空間に設定されたオブジェクトを仮想カメラから見た原画像を第1カラーバッファに描画する処理を行う原画像描画部と、
    前記原画像と前記原画像の色を調整するためのエフェクト画像とを合成するエフェクト処理を行うエフェクト処理部とを含み、
    前記エフェクト処理部は前記エフェクト処理として、
    前記第1カラーバッファに描画された前記原画像を前記第1カラーバッファよりも解像度が低い第2カラーバッファに描画する処理と、
    前記エフェクト画像を前記第2カラーバッファに描画する処理と、
    前記エフェクト画像を描画するピクセルを指定するステンシル画像を、前記原画像の奥行き値と前記エフェクト画像の奥行き値とに基づいて、前記第2カラーバッファよりも解像度が高いステンシルバッファに描画する処理と、
    前記第2カラーバッファに描画された前記エフェクト画像を、前記ステンシル画像に基づいて前記第1カラーバッファに描画する処理と、
    を行うことを特徴とする画像生成システム。
JP2008309517A 2008-12-04 2008-12-04 画像生成システム、プログラム及び情報記憶媒体 Active JP5253118B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008309517A JP5253118B2 (ja) 2008-12-04 2008-12-04 画像生成システム、プログラム及び情報記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008309517A JP5253118B2 (ja) 2008-12-04 2008-12-04 画像生成システム、プログラム及び情報記憶媒体

Publications (2)

Publication Number Publication Date
JP2010134671A JP2010134671A (ja) 2010-06-17
JP5253118B2 true JP5253118B2 (ja) 2013-07-31

Family

ID=42345915

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008309517A Active JP5253118B2 (ja) 2008-12-04 2008-12-04 画像生成システム、プログラム及び情報記憶媒体

Country Status (1)

Country Link
JP (1) JP5253118B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10713756B2 (en) 2018-05-01 2020-07-14 Nvidia Corporation HW-assisted upscaling and multi-sampling using a high resolution depth buffer
US11012694B2 (en) 2018-05-01 2021-05-18 Nvidia Corporation Dynamically shifting video rendering tasks between a server and a client

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6000389B2 (ja) * 2015-02-18 2016-09-28 株式会社藤商事 遊技機

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3694468B2 (ja) * 2001-05-16 2005-09-14 大日本印刷株式会社 画像生成装置及び記憶媒体
JP4704615B2 (ja) * 2001-06-25 2011-06-15 株式会社バンダイナムコゲームス 画像生成システム、プログラム及び情報記憶媒体
JP2006195882A (ja) * 2005-01-17 2006-07-27 Namco Bandai Games Inc プログラム、情報記憶媒体、及び画像生成システム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10713756B2 (en) 2018-05-01 2020-07-14 Nvidia Corporation HW-assisted upscaling and multi-sampling using a high resolution depth buffer
US11012694B2 (en) 2018-05-01 2021-05-18 Nvidia Corporation Dynamically shifting video rendering tasks between a server and a client

Also Published As

Publication number Publication date
JP2010134671A (ja) 2010-06-17

Similar Documents

Publication Publication Date Title
JP4804120B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4804122B2 (ja) プログラム、テクスチャデータ構造、情報記憶媒体及び画像生成システム
JP2006195882A (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4305903B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2007164557A (ja) プログラム、情報記録媒体および画像生成システム
JP5253118B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4073031B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP2008077408A (ja) プログラム、情報記憶媒体及び画像生成システム
JP4754384B2 (ja) プログラム、情報記録媒体および画像生成システム
JP2006323512A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4743770B2 (ja) 画像生成システム、プログラム、及び情報記憶媒体
JP2001143099A (ja) 画像生成システム及び情報記憶媒体
JP4913399B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP4488346B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4528008B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP2010033299A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2010033288A (ja) 画像生成システム、プログラム及び情報記憶媒体
US20070115279A1 (en) Program, information storage medium, and image generation system
US7724255B2 (en) Program, information storage medium, and image generation system
JP2010033295A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2008077406A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2010033302A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2010231364A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2010033253A (ja) プログラム、情報記憶媒体および画像生成システム
JP2006323514A (ja) 画像生成システム、プログラム及び情報記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111014

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130307

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130327

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130416

R150 Certificate of patent or registration of utility model

Ref document number: 5253118

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160426

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250