(57)【要約】【課題】  手書きの絵画のように陰影や影を表現することができるプログラム、情報記憶媒体及び画像生成システムを提供する。【解決手段】  透視変換後のオブジェクトを描画して元画像を生成し、元画像の各ピクセルの色である元色（Ｒｗ、Ｇｗ、Ｂｗ）に基づいて、元色に対応する影色（Ｒｃ、Ｇｃ、Ｂｃ）を設定し、オブジェクトの陰影情報を求めて、元色と、元色に対応する影色とを、陰影情報に基づいて合成する。【選択図】      図３
2006277488.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクト空間を所与の視点から見た画像を生成するためのプログラムであって、
透視変換後のオブジェクトを描画して元画像を生成する描画部と、
前記元画像の各ピクセルの色である元色に基づいて、該元色に対応する影色を設定する影色設定部と、
前記オブジェクトの陰影情報を求める陰影情報演算部と、
前記元色と、該元色に対応する前記影色とを、前記陰影情報に基づいて合成する色合成部として、
コンピュータを機能させることを特徴とするプログラム。
【請求項２】
請求項１において、
前記影色設定部が、
前記元色を構成するＲＧＢ表色系の各色成分に所与の変換係数を乗算する処理を行って前記影色を設定し、
Ｒ成分に乗算される前記変換係数をＫｒ、Ｇ成分に乗算される前記変換係数をＫｇ、Ｂ成分に乗算される前記変換係数をＫｂとすると、Ｋｂ＞Ｋｒ＞Ｋｇの関係を有することを特徴とするプログラム。
【請求項３】
請求項２において、
前記影色設定部が、
前記変換係数を乗算して求められた各色成分の値に対して、さらに所与の補正係数Ｂｒ、Ｂｇ、Ｂｂを累乗する累乗補正をして、累乗補正後の各色成分の値に基づき、前記影色を設定することを特徴とするプログラム。
【請求項４】
請求項３において、
前記影色設定部が、
前記変換係数を乗算して求められた各色成分の値と、前記累乗補正後の各色成分の値とを、前記元色の明度に応じて設定される所与の補間パラメータＬに基づいて線形補間し、線形補間後の値に基づき前記影色を設定することを特徴とするプログラム。
【請求項５】
請求項４において、
前記影色設定部が、
前記元色を構成するＲＧＢ表色系の各色成分の最大値及び最小値に基づいて前記補間パラメータＬを求めることを特徴とするプログラム。
【請求項６】
請求項４または５において、
前記影色設定部が、
前記変換係数を乗算して求められた色成分からなる色変換画像と、前記色変換画像のピクセルの色成分を累乗補正した色成分からなる色補正画像とを、前記補間パラメータＬをα値としてαブレンディングすることを特徴とするプログラム。
【請求項７】
請求項１〜６のいずれかにおいて、
前記色合成部が、
前記元画像と、前記元画像の各ピクセルを前記影色で描画した影色画像とを、前記陰影情報から得られるα値を用いてαブレンディングすることを特徴とするプログラム。
【請求項８】
オブジェクト空間を所与の視点から見た画像を生成するためのプログラムであって、
透視変換後のオブジェクトにテクスチャをマッピングするテクスチャマッピング部と、
前記テクスチャがマッピングされたオブジェクトを描画して画像を生成する描画部として、
コンピュータを機能させ、
前記テクスチャマッピング部が、
所与の元色を用いて生成された前記オブジェクトの元画像と、前記元色に対応する影色を用いて生成された前記オブジェクトの影色画像とを、前記オブジェクトの陰影情報に基づいて、αブレンディングすることにより生成された前記テクスチャをテクスチャマッピングすることを特徴とするプログラム。
【請求項９】
請求項８において、
前記影色は、前記元色を構成するＲＧＢ表色系の各色成分に対して所与の変換係数を乗算して求められており、
Ｒ成分に乗算される前記変換係数をＫｒ、Ｇ成分に乗算される前記変換係数をＫｇ、Ｂ成分に乗算される前記変換係数をＫｂとすると、Ｋｂ＞Ｋｒ＞Ｋｇの関係を有することを特徴とするプログラム。
【請求項１０】
請求項９において、
前記影色は、前記変換係数を乗算して求められた各色成分の値に対して、さらに所与の補正係数Ｂｒ、Ｂｇ、Ｂｂを累乗する累乗補正をして求められていることを特徴とするプログラム。
【請求項１１】
請求項１０において、
前記影色は、前記変換係数を乗算して求められた各色成分の値と、前記累乗補正後の各色成分の値とを、前記元色の明度に応じて設定される所与の補間パラメータＬに基づいて線形補間して求められていることを特徴とするプログラム。
【請求項１２】
請求項１１において、
前記補間パラメータＬは、前記元色を構成するＲＧＢ表色系の各色成分の最大値及び最小値に基づいて求められていることを特徴とするプログラム。
【請求項１３】
コンピュータにより読取可能な情報記憶媒体であって、請求項１〜１２のいずれかに記載のプログラムを記憶することを特徴とする情報記憶媒体。
【請求項１４】
オブジェクト空間を所与の視点から見た画像を生成するための画像生成システムであって、
透視変換後のオブジェクトを描画して元画像を生成する描画部と、
前記元画像の各ピクセルの色である元色に基づいて、該元色に対応する影色を設定する影色設定部と、
前記オブジェクトの陰影情報を求める陰影情報演算部と、
前記元色と、該元色に対応する前記影色とを、前記陰影情報に基づいて合成する色合成部と、
を含むことを特徴とする画像生成システム。
【請求項１５】
オブジェクト空間を所与の視点から見た画像を生成するための画像生成システムであって、
透視変換後のオブジェクトにテクスチャをマッピングするテクスチャマッピング部と、
前記テクスチャがマッピングされたオブジェクトを描画して画像を生成する描画部と、
を含み、
前記テクスチャマッピング部が、
所与の元色を用いて生成された前記オブジェクトの元画像と、前記元色に対応する影色を用いて生成された前記オブジェクトの影色画像とを、前記オブジェクトの陰影情報に基づいて、αブレンディングすることにより生成された前記テクスチャをテクスチャマッピングすることを特徴とする画像生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体及び画像生成システムに関する。
【背景技術】
【０００２】
従来より、仮想的な３次元空間であるオブジェクト空間内において仮想カメラ（所与の視点）から見える画像を生成する画像生成システム（ゲームシステム）が知られている。ロールプレイングゲーム（ＲＰＧ）を楽しむことができる画像生成システムを例にとれば、プレーヤは、自身の分身であるキャラクタ（オブジェクト）を操作してオブジェクト空間内のマップ上で移動させ、敵キャラクタと対戦したり、他のキャラクタと対話したり、様々な町を町を訪れたりすることでゲームを楽しむ。
【０００３】
また近年、仮想現実感を追求した画像を生成するフォトリアルレンダリングに対して、例えばトゥーンシェーディングなどのような漫画や絵画を模した手書き調の画像を生成するノンフォトリアリスティックレンダリング（ＮＰＲ）が注目されており、さまざまな画像生成手法が開発されている。
【０００４】
このような画像生成手法において、例えば、キャラクタや背景の画像を生成する場合に、陰（シェード；Ｓｈａｄｅ）や影（シャドウ；Ｓｈａｄｏｗ）をオブジェクトに付与した際に、オブジェクトを表現する色が黒色などの特定の色方向に減色した色で偏って表現されていた。特に手書き調の表現を行おうとする場合、陰の色や影の色を決定するプロセスは人間の視覚特性によるところが大きく、従来の考え方では、このような特性に基づく色表現を実現する手法が見出されていなかった。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、上記事情に鑑みてなされたものであり、その目的は、手書きの絵画のように陰影や影を表現することができるプログラム、情報記憶媒体及び画像生成システムを提供することにある。
【課題を解決するための手段】
【０００６】
本発明は、オブジェクト空間を所与の視点から見た画像を生成するための画像生成システムであって、透視変換後のオブジェクトを描画して元画像を生成する描画部と、前記元画像の各ピクセルの色である元色に基づいて、該元色に対応する影色を設定する影色設定部と、前記オブジェクトの陰影情報を求める陰影情報演算部と、前記元色と、該元色に対応する前記影色とを、前記陰影情報に基づいて合成する色合成部と、を含む画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータにより読取可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【０００７】
陰影情報は、オブジェクト空間にオブジェクトを配置したときに、光源からの光線とオブジェクトのなす角度に応じて、そのオブジェクト自体に現れる陰（シェード）の部分の輝度や、そのオブジェクトの影響を受けて他のオブジェクトに現れる影（シャドウ）の部分の輝度に基づいて求められる情報である。従って、本明細書では、陰影という場合、陰（シェード）と影（シャドウ）とを含む用語として用いる。
【０００８】
本発明によれば、元色（元画像のピクセルの描画色）に対応した影色が設定される。影色は、元色を単調減色したものではなく、元色の明るさに応じて色ごとに設定される色である。そして、本発明では、光源計算などによって求められたオブジェクトの陰影情報に基づき、元色と影色とを合成することによって、オブジェクトに対して、手書きの絵画のように陰影を施した画像を生成することができる。
【０００９】
また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記影色設定部が、前記元色を構成するＲＧＢ表色系の各色成分に所与の変換係数を乗算する処理を行って前記影色を設定し、Ｒ成分に乗算される前記変換係数をＫｒ、Ｇ成分に乗算される前記変換係数をＫｇ、Ｂ成分に乗算される前記変換係数をＫｂとすると、Ｋｂ＞Ｋｒ＞Ｋｇの関係を有していてもよい。また影色は、上記影色設定手法に基づいて求められていてもよい。このようにすれば、ＲＧＢ表色系の色成分において、人が色の明るさの変化を敏感に感じやすいＧ成分ほど大きく減色されるようになり、あたかも人間の感性に基づいて選択されたかのような影色を設定することができる。
【００１０】
また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記影色設定部が、前記変換係数を乗算して求められた各色成分の値に対して、さらに所与の補正係数Ｂｒ、Ｂｇ、Ｂｂを累乗する累乗補正をして、累乗補正後の各色成分の値に基づき、前記影色を設定するようにしてもよい。また影色は、上記影色設定手法に基づいて求められていてもよい。元色の明るさに応じて影色を設定しても、全ての元色に対して適切な影色が設定できるわけではなく、ごく一部の元色に対しては不自然な影色が設定されてしまうことがある。しかし、変換後の値に補正係数を累乗するようにすれば、不自然な色で設定されてしまうおそれのある色についても人間の視覚特性に応じた自然な色合いに影色を補正することができる。
【００１１】
また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記影色設定部が、前記変換係数を乗算して求められた各色成分の値と、前記累乗補正後の各色成分の値とを、前記元色の明度に応じて設定される所与の補間パラメータＬに基づいて線形補間し、線形補間後の値に基づき前記影色を設定するようにしてもよい。また影色は、上記影色設定手法に基づいて求められていてもよい。このようにすれば、元色が明るい色であるほど累乗補正の効果を強くすることができ、自然な色合いの影色を設定することができるようになる。
【００１２】
また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記影色設定部が、前記元色を構成するＲＧＢ表色系の各色成分の最大値及び最小値に基づいて前記補間パラメータＬを求めるようにしてもよい。また影色は、上記影色設定手法に基づいて求められていてもよい。このようにすれば、元色の明度に応じて値が変化する補間パラメータＬを求めることができる。
【００１３】
また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記影色設定部が、前記変換係数を乗算して求められた色成分からなる色変換画像と、前記色変換画像のピクセルの色成分を累乗補正した色成分からなる色補正画像とを、前記補間パラメータＬをα値としてαブレンディングするようにしてもよい。また影色は、上記影色設定手法に基づいて求められていてもよい。このようにすれば、αブレンディングという簡便な処理で元色に対応する適切な影色を設定することができる。
【００１４】
また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記色合成部が、前記元画像と、前記元画像の各ピクセルを前記影色で描画した影色画像とを、前記陰影情報から得られるα値を用いてαブレンディングするようにしてもよい。このようにすれば、αブレンディングという簡便な処理で影色による陰影や影を施したオブジェクトを表現した画像を生成することができる。
【００１５】
また本発明は、オブジェクト空間を所与の視点から見た画像を生成するための画像生成システムであって、透視変換後のオブジェクトにテクスチャをマッピングするテクスチャマッピング部と、前記テクスチャがマッピングされたオブジェクトを描画して画像を生成する描画部と、を含み、前記テクスチャマッピング部が、所与の元色を用いて生成された前記オブジェクトの元画像と、前記元色に対応する影色を用いて生成された前記オブジェクトの影色画像とを、前記オブジェクトの陰影情報に基づいて、αブレンディングすることにより生成された前記テクスチャをテクスチャマッピングする画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータにより読取可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。本発明によれば、オブジェクトに対して、手書きの絵画のように陰影を施した画像を生成することができる。
【発明を実施するための最良の形態】
【００１６】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００１７】
１．構成
図１に本実施形態の画像生成システム（ゲームシステム）の機能ブロック図の例を示す。なお本実施形態の画像生成システムは図１の構成要素（各部）の一部を省略した構成としてもよい。
【００１８】
操作部１６０は、プレーヤがプレーヤオブジェクト（プレーヤが操作するプレーヤキャラクタ）の操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などにより実現できる。
【００１９】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００２０】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００２１】
携帯型情報記憶装置１９４は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などがある。通信部１９６は外部（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００２２】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（記憶部１７０）に配信してもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００２３】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部１００は記憶部１７０内の主記憶部１７２をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００２４】
処理部１００は、オブジェクト空間設定部１１０、移動・動作処理部１１２、仮想カメラ制御部１１４、画像生成部１２０、音生成部１３０を含む。なおこれらの一部を省略する構成としてもよい。
【００２５】
オブジェクト空間設定部１１０は、キャラクタ、建物、球場、車、樹木、柱、壁、マップ（地形）などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるパーツオブジェクト、あるいは複数のパーツオブジェクトで構成されるモデルオブジェクトなど）をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００２６】
移動・動作処理部１１２は、オブジェクト（キャラクタ、車、又は飛行機等）の移動・動作演算（移動・動作シミュレーション）を行う。すなわち操作部１６０によりプレーヤが入力した操作データや、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、オブジェクトをオブジェクト空間内で移動させたり、オブジェクトを動作（モーション、アニメーション）させる処理を行う。具体的には、オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（各パーツオブジェクトの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【００２７】
仮想カメラ制御部１１４は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置や視線方向を制御する処理）を行う。
【００２８】
例えば仮想カメラによりオブジェクト（例えばキャラクタ、ボール、車）を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。この場合には、移動・動作処理部１１２で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【００２９】
画像生成部１２０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。いわゆる３次元ゲーム画像を生成する場合には、まず、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、透視変換、或いは光源計算等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ（オブジェクトの頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）が作成される。描画データは、主記憶部１７２に保存される。そして、この描画データ（オブジェクトデータ）に基づいて、透視変換後（ジオメトリ処理後）のオブジェクト（１又は複数プリミティブ面）を描画バッファ１７４（フレームバッファ、ワークバッファ（中間バッファ）等。ピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ）に描画する。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として１画面に表示できるように生成する。
【００３０】
画像生成部１２０は、頂点シェーダ１２０ＶＳおよびピクセルシェーダ１２０ＰＳを含む。
【００３１】
頂点シェーダ１２０ＶＳは、オブジェクトの各頂点の頂点データ（頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）を含む頂点リストが入力され、入力された頂点リストに含まれる頂点データに基づいて、頂点シェーディング（広義には、頂点処理）を行う。なお頂点シェーディングを行う際に、必要に応じてポリゴンを再分割するための頂点生成処理（テッセレーション、曲面分割、ポリゴン分割）を行うようにしてもよい。また頂点シェーディングでは、頂点シェーダプログラム（広義には、第１のシェーダプログラム）に従って、頂点の移動処理や、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、あるいは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データが変更（更新、調整）される。そして、頂点シェーディング後の頂点データに基づいてラスタライズ（走査変換）が行われる。
【００３２】
ピクセルシェーダ１２０ＰＳは、画像を構成するピクセル（画面を構成するフラグメント）を描画するピクセルシェーディング（広義には、ピクセル処理、フラグメント処理）を行う。ピクセルシェーディングでは、ピクセルシェーダプログラム（第２のシェーダプログラム）に従って、テクスチャの読出し（テクスチャマッピング）、色データ（輝度値、α値）の設定／変更、αブレンディング（半透明合成）、アンチエイリアス等の各種処理を行って、最終的な表示画像のピクセルの描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ１７４（フレームバッファやワークバッファ（中間バッファ）などのピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ）に出力（描画）する。すなわち、ピクセルシェーディングでは、ピクセル単位で画像情報（色、法線、輝度、α値等）を設定あるいは変更する処理を行う。
【００３３】
ピクセルシェーダ１２０ＰＳは、陰影情報演算部１２１、影色設定部１２３、色合成部１２５、描画部１２７を含む。
【００３４】
陰影情報演算部１２１は、頂点シェーダ１２０ＶＳで行われた光源計算の結果得られる頂点ごとの陰影情報に基づいて、オブジェクトの描画ピクセルごとの陰影情報を演算する処理を行う。具体的には、輝度情報（広義には、色情報）や法線ベクトル情報を走査線情報に基づいて線形補間処理するなどして、ピクセル単位での陰影情報を求めることができる。
【００３５】
影色設定部１２３は、元色（元画像の各ピクセルの色）に基づいて、元色に対応する影色を設定する処理を行う。具体的には、元色を構成するＲＧＢ成分についての色情報（輝度情報）に所与の変換係数を乗算する処理を行って、影色を構成するＲＧＢ成分についての色情報（輝度情報）を求める処理を行う。変換係数は、Ｒ成分（広義には、第１の色成分）、Ｇ成分（広義には、第２の色成分）、Ｂ成分（広義には、第３の色成分）の各色成分に対して固有の係数Ｋｒ，Ｋｇ，Ｋｂを与えることができる。また影色を設定する際には、上記変換係数を乗算したＲＧＢ成分の値に対して、さらに所与の補正係数を累乗する累乗補正を行ってもよい。補正係数は、Ｒ成分、Ｇ成分、Ｂ成分の各色成分に対して固有の係数Ｂｒ，Ｂｇ，Ｂｂを与えることができる。また上記変換係数を乗算したＲＧＢ成分の値と、上記累乗補正後のＲＧＢ成分の値とを、所与の補間パラメータＬに基づいて線形補間することにより、影色を構成するＲＧＢ成分の色情報を求めるようにしてもよい。線形補間は、上記補間パラメータＬをα値としたαブレンディングによって実現することができる。補間パラメータＬは、例えば、元色の明度に応じた値とすることができる。
【００３６】
色合成部１２５は、ピクセルシェーダ１２０ＰＳのαブレンディング機能を利用して、元画像と元画像の各ピクセルを影色で描画した影色画像とを陰影情報に基づいて合成する。すなわち、色合成部１２５は、陰影情報から得られるα値を用いて、元画像のピクセルの色である元色と、影色画像のピクセルの色である影色とをピクセル単位で合成する色合成処理を行う。なお、ここでいう「色を合成する」という概念は、元画像におけるオブジェクトの陰影部分に対応する描画ピクセルを元色に対応する影色に入れ替えることも含むものとする。すなわち、α値に基づいて、元色と影色とを合成する場合に、描画ピクセルへの一方の色の適用率が０％であっても、「合成」という用語を用いるものとする。
【００３７】
なおαブレンディングとは、α値（Ａ値）に基づく半透明合成処理（通常αブレンディング、加算αブレンディング又は減算αブレンディング等）のことである。例えば通常αブレンディングの場合には下式（１）〜（３）の処理を行う。
【００３８】
ＲＱ＝（１−α）＊Ｒ１＋α＊Ｒ２    （１）
ＧＱ＝（１−α）＊Ｇ１＋α＊Ｇ２    （２）
ＢＱ＝（１−α）＊Ｂ１＋α＊Ｂ２    （３）
また、加算αブレンディングの場合には下式（４）〜（６）の処理を行う。
【００３９】
ＲＱ＝Ｒ１＋α＊Ｒ２                （４）
ＧＱ＝Ｇ１＋α＊Ｇ２                （５）
ＢＱ＝Ｂ１＋α＊Ｂ２                （６）
また、減算αブレンディングの場合には下式（７）〜（９）の処理を行う。
【００４０】
ＲＱ＝Ｒ１−α＊Ｒ２                （７）
ＧＱ＝Ｇ１−α＊Ｇ２                （８）
ＢＱ＝Ｂ１−α＊Ｂ２                （９）
ここで、Ｒ１、Ｇ１、Ｂ１は、描画バッファ１７４に既に描画されている画像（元画像）のＲＧＢ成分であり、Ｒ２、Ｇ２、Ｂ２は、描画バッファ１７４に描画すべき画像（影色画像）のＲＧＢ成分である。また、ＲＱ、ＧＱ、ＢＱは、αブレンディングにより得られる画像のＲＧＢ成分である。なお、α値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度（透明度、不透明度と等価）、バンプ情報などとして使用できる。
【００４１】
描画部１２７は、オブジェクトの描画処理を行う。具体的には、ジオメトリ処理により作成された描画データ（プリミティブ面データ）に基づいて、透視変換後（スクリーン座標変換後）のオブジェクト（１又は複数のプリミティブ面）を描画バッファ１７４（フレームバッファ、ワークバッファ（中間バッファ）等）に描画する。これにより、オブジェクト空間内において仮想カメラから見える画像を生成する。描画部１２６は、オブジェクトに対して通常のテクスチャをマッピングした元画像をフレームバッファに描画する。
【００４２】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００４３】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて分散処理により生成してもよい。
【００４４】
また図２に本実施形態の画像生成システムの機能ブロックの変形例を示す。図１の機能ブロックは、リアルタイムに（フレーム更新ごとに）オブジェクトの陰影情報を計算して、影色を設定する手法に適しているが、図２に示すシステムでは、予め元色で作成された画像と元色に対応する影色で作成された画像とをオブジェクトの陰影情報に基づいて合成することにより作成したテクスチャを透視変換されたオブジェクトにテクスチャマッピングすることによって、画像を生成する。元色で作成した画像と影色で作成した画像とを合成したテクスチャは、テクスチャ記憶部１７６に格納しておく。この図２に示される画像生成システムは、例えば、光源位置が固定された背景の画像を作成する際に、背景オブジェクトにマッピングされるテクスチャを予め作成しておく場合等に適している。なおキャラクタオブジェクトに対してマッピングされるテクスチャに適用してもよい。以下、図１に示す機能ブロックとの主要な相違点について説明する。具体的には、画像生成部１２０の機能について説明する。なお描画部１２７については、図１に示す画像生成システムと同様の機能を有するため、詳細な説明は省略する。
【００４５】
図２に示される画像生成システムでは、画像生成部１２０が、ジオメトリ処理部１２２、テクスチャマッピング部１２４、描画部１２７を含む。すなわちジオメトリ処理部１２２が、オブジェクトをスクリーン座標系に透視変換し、テクスチャマッピング部１２４が、透視変換されたオブジェクトに所与のテクスチャをマッピングする。描画部１２７は、テクスチャがマッピングされたオブジェクトの画像を描画バッファ１７４に描画する。
【００４６】
ジオメトリ処理部１２２は、オブジェクトに対してジオメトリ処理を行う。より具体的には、座標変換、クリッピング処理、透視変換、或いは光源計算等のジオメトリ処理を行う。そして、ジオメトリ処理後（透視変換後）のオブジェクトデータ（オブジェクトの頂点の位置座標、テクスチャ座標、色データ、法線ベクトル、或いはα値等）は、記憶部１７０の主記憶部１７２に保存される。
【００４７】
テクスチャマッピング部１２４は、テクスチャ記憶部１７６に記憶されるテクスチャ（テクセル値）をオブジェクトにマッピングするための処理を行う。具体的には、オブジェクトの頂点に設定（付与）されるテクスチャ座標等を用いてテクスチャ記憶部１７６からテクスチャ（色、α値などの表面プロパティ）を読み出す。そして、２次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理やバイリニア補間（テクセル補間）などを行う。図２に示される画像生成システムでは、テクスチャ記憶部１７６に、元色と元色に対応する影色を用いて、シェーディングやシャドウイングが施されたオブジェクトを表現するためのテクスチャが記憶されている。
【００４８】
２．本実施形態の手法
次に本実施形態の手法について図面を用いて説明する。
【００４９】
２．１  影色を用いた色合成手法
本実施形態では、元画像のピクセルの描画色ごとに設定される影色を用いて、元画像のピクセルの描画色とその色に対応する影色とをオブジェクトの陰影情報に基づいて合成する色合成手法を採用する。以下、図３を用いて、具体的に説明する。
【００５０】
まず元画像としてオブジェクトに模様のみのテクスチャをマッピングした画像を作成する。「模様のみ」というのは、シェーディング（陰影付け）やシャドウイング（影付け）を行っていないということである。この元画像の各ピクセルの色を元色とする。また、元画像のαプレーンには、オブジェクトに対して光源計算の結果得られた陰影情報をα値として設定した陰影画像を作成する。なお、元画像および陰影画像はフレームバッファに描画しておくことができる。なお必要に応じて、ワークバッファに描画してもよい。この陰影画像は、光源計算の結果明るい部分であるほど値が高く（１に近づく）、暗い部分であるほど値が低く（０に近づく）なるようにα値を設定したグレースケール画像である。なお、陰影情報は、元色及び影色の適用率を決めるパラメータであるので、極端な例としては、２値化されていてもよく、陰影部分（α＝０）、非陰影部分（α＝１）としてもよい。このようにした場合には、元色で描画されたピクセルと影色で描画されたピクセルとの入れ替え処理により最終画像が作成される。
【００５１】
次に、元画像から影色画像を作成するために、元画像のコピー画像を作成しておく。コピー画像は、フレームバッファとは異なるワークバッファに描画しておくことができる。そして、元画像のコピー画像の描画ピクセルの色に対応する影色を求めて、影色画像を作成する。影色画像は、元画像のコピー画像を描画したワークバッファに重ねて描画してもよいし、別のワークバッファに描画してもよい。
【００５２】
次に、元画像と影色画像とを、元画像のαプレーンに描かれた陰影画像の陰影情報を参照して、αブレンディングによりピクセル単位で合成していき、オブジェクトの陰影部分が元色と影色との合成色で描画された画像を生成することができる。具体的には、元画像の色情報を（Ｒｗ，Ｇｗ，Ｂｗ）とし、影色画像の色情報を（Ｒｃ、Ｇｃ、Ｂｃ）とすると、最終的に得られるオブジェクトの画像の色情報（Ｒｎ、Ｇｎ、Ｂｎ）は下式（Ａ１）〜（Ａ３）により求められる。
【００５３】
Ｒｎ＝Ｒｗ＊α＋Ｒｃ＊（１−α）      （Ａ１）
Ｇｎ＝Ｇｗ＊α＋Ｇｃ＊（１−α）      （Ａ２）
Ｂｎ＝Ｂｗ＊α＋Ｂｃ＊（１−α）      （Ａ３）
従来の考え方で陰影表現を行うと、単純に元画像の色（元色）と陰影画像の色（グレースケール色）とを掛け合わせる処理となるため、オブジェクトに施される陰影はきれいな陰影の色にならず、全体的に黒っぽく落ち込んだ色となってしまう。しかしながら、本実施形態の色合成手法によれば、元色を単調減色したものではなく、元色の明るさに応じて色ごとに設定され影色を用いた陰影表現が可能となる。そして、本実施形態の色合成手法によれば、光源計算などによって求められたオブジェクトの陰影情報に基づき、元画像と影色画像とのαブレンディングを利用して元色と影色とを合成するという簡便な処理によって、オブジェクトに対して、手書きの絵画のように陰影を施した画像を生成することができる。
【００５４】
２．２  影色の設定手法
また本実施形態では、影色（Ｒｃ、Ｇｃ、Ｂｃ）を元画像の描画ピクセルの色（元色（Ｒｗ、Ｇｗ、Ｂｗ））から求める影色設定手法を採用する。
【００５５】
具体的には、図４に示すように、元色を構成するＲＧＢ表色系の各色成分に所与の変換係数Ｋｒ，Ｋｇ，Ｋｂを乗算する処理を行って影色を設定することができる。すなわち、第１のワークバッファに描画された元画像のコピー画像（Ｒｗ、Ｇｗ、Ｂｗ）に基づいて色変換画像（Ｒ１、Ｇ１、Ｂ１）を作成する。この色変換画像は、元画像のコピー画像とは異なるバッファ（第２のワークバッファ）に描画しておくことができる。この場合、元色のＲ成分（Ｒｗ）に乗算される変換係数をＫｒ、元色のＧ成分（Ｇｗ）に乗算される変換係数をＫｇ、元色のＢ成分（Ｂｗ）に乗算される変換係数をＫｂとすると、Ｋｂ＞Ｋｒ＞Ｋｇの関係を有するような変換係数を元画像のピクセルのＲＧＢ成分についての色情報（輝度情報）に乗算する。例えば、ＲＧＢ成分をグレースケール変換する際の変換式における各成分に乗算される係数をＧｒ（〜０．２９９）、Ｇｇ（〜０．５８７）、Ｇｂ（〜０．１１４）とすると、これらの係数Ｇｒ、Ｇｇ、Ｇｂに基づき、変換係数Ｋｒ、Ｋｇ、Ｋｂを求めることができる。具体的には、Ｋｒ＝１−Ｇｒ（〜０．７０１）、Ｋｇ＝１−Ｇｇ（〜０．４１３）、Ｋｂ＝１−Ｇｂ（〜０．８８６）とすることができる。
【００５６】
このようにグレースケール変換時に各色成分に乗算される係数の割合に応じて、各色成分の減色の度合いを決定するようにしたのは、以下の理由からである。
【００５７】
まず手書きの絵画では、例えば、元色が白色である場合には、その部分に表される陰影は必ずしも黒色や灰色ではなく赤みがかった色や、青みがかった色で表現されることが多い。また元色が肌色である場合には、陰影の色は、肌色を単純に黒方向に減色した色ではなく、赤みがかった色で表現されることが多い。これは例えば、物体が壁際にあるときの影の色は、光が壁に反射してあたる光を受けていて、反射光は、壁の色、例えば赤い色の壁であればその赤色の影響を受けた色の影が見えるというのが現実の世界での現象に近いと考えられる。また例えば、机の上にある物体については、机の色の影響を受けた影の色が見えるはずである。このように陰影の色表現は作者の感性、すなわち人間の視覚特性に依存するところが大きいため、本願発明者らは、手書きの絵画では、作者の画風によって陰影の色表現に法則性があるであろうと考えた。またグレースケール画像では、元色の明るさに応じてグレースケール変換色の輝度が設定される。また人間の視覚特性は、一般に色味の変化よりも明るさの変化に対して敏感である。これらの事実から、本願発明者らは、ＲＧＢ表色系の各色成分において、Ｇ成分が最も元色の明るさに影響を与えており、Ｒ成分、Ｂ成分と順に元色の明るさへの寄与度が少ないと考えた。そして、元色のＲＧＢ成分の各色成分をグレースケール変換係数の値の大きさに応じて減色させると、実際に人間が元色に対応する影色として選択するであろう色を設定できるのではないかと考察した。すなわち、元色を減色する（輝度を下げる）に際して、色の明るさに関して影響の少ない色成分は人の感性においても影色を決定する場合に影響度が低いという考え方である。そこで、本手法のように、元色の各色成分に乗算される変換係数Ｋｒ，Ｋｇ，ＫｂをＫｂ＞Ｋｒ＞Ｋｇの関係を有するように設定することにより、元色のＧ成分が最も減色され、Ｇ成分、Ｒ成分、Ｂ成分の順に減色の度合いが小さくなり、適切な影色を設定することができ、画像の質感を飛躍的に向上させることができる。
【００５８】
しかしながら、上記のようにＲＧＢ表色系の各色成分の明るさへの影響度に応じて元色に対応する影色を画一的に求めたのでは、一部の元色については適切な影色とならない場合がある。そこで、影色が明るい色であるほどその補正量が大きくなるように色補正をするようにしてもよい。具体的には、図４に示すように、上記変換係数Ｋｒ，Ｋｇ，Ｋｂを乗算したＲＧＢ色成分の値（Ｒ１、Ｇ１、Ｂ１）に対して、さらに所与の補正係数Ｂｒ，Ｂｇ，Ｂｂを累乗する累乗補正を行ってもよい。すなわち、第２のワークバッファに描画された色変換画像（Ｒ１、Ｇ１、Ｂ１）に基づいて色補正画像（Ｒ２、Ｇ２、Ｂ２）を作成する。この色補正画像は、色変換画像とは異なるバッファ（第１のワークバッファ）に描画しておくことができる。このようにすれば、不自然な色で設定されてしまうおそれのある色についても人間の視覚特性に応じた自然な色合いに影色を補正することができる。なお累乗補正を行う場合には、例えば、Ｒ成分の値（Ｒ１）やＢ成分の値（Ｂ１）がＧ成分の値（Ｇ１）に比べて大きく補正されるようにＢｒ，Ｂｇ、Ｂｂを設定することができる。
【００５９】
また影色を設定する際には、図４に示すように、変換係数Ｋｒ，Ｋｇ，Ｋｂを乗算して求められた各色成分の値（Ｒ１、Ｇ１、Ｂ１）と、累乗補正後の各色成分の値（Ｒ２、Ｇ２、Ｂ２）とを、元色（元画像を構成する各ピクセルの描画色）の明度に応じて設定される所与の補間パラメータＬに基づいて線形補間（例えば、αブレンディング）するようにしてもよい。この場合、線形補間後の値（Ｒｃ、Ｇｃ、Ｂｃ）に基づき影色が設定される。なお補間パラメータＬは、元画像を構成する各ピクセルの色を構成する各色成分の最大値及び最小値に基づいて求められる。例えば、ＲＧＢ表色系の色成分をＨＬＳ表色系の色成分に変換する処理を行えば、ＨＬＳ表色系のＬ成分（明度）を補間パラメータＬとして算出することができる。この補間パラメータＬを設定した画像（補間パラメータ設定画像）は、色補正画像のαプレーン（第１のワークバッファのαプレーン）に描画することができる。すなわち、元画像の各ピクセルの最も明るい色と最も暗い色との平均から元画像の明度を求めて、この明度に応じて累乗補正の適用率を元画像の色に応じて変更させることにより、図４に示すようなα合成処理（広義には、線形補間処理）によって、影色（Ｒｃ、Ｇｃ、Ｂｃ）を求めることができる。具体的には、影色の色情報（Ｒｃ、Ｂｃ、Ｇｃ）は下式（Ｂ１）〜（Ｂ３）により求められる。
【００６０】
Ｒｃ＝Ｒ１＊（１−Ｌ）＋Ｒ２＊Ｌ      （Ｂ１）
Ｇｃ＝Ｇ１＊（１−Ｌ）＋Ｇ２＊Ｌ      （Ｂ２）
Ｂｃ＝Ｂ１＊（１−Ｌ）＋Ｂ２＊Ｌ      （Ｂ３）
このようにすれば、元色が明るい色であるほど累乗補正の効果を強くすることができ、さらにαブレンディングという簡便な処理で元色に対応する適切な影色を設定することができる。なお、補間パラメータＬは、元画像をグレースケール変換して、元色をグレースケール変換して求めた輝度情報から得ることもできる。
【００６１】
３．本実施形態の処理
次に、本実施形態の詳細な処理例について図５及び図６のフローチャートを用いて説明する。
【００６２】
図５に示すように、まずフレーム更新（１／６０秒）更新のタイミングか否かを判断する（ステップＳ１０）。そしてフレーム更新のタイミングである場合には（ステップＳ１０でＹＥＳ）、ゲーム演算処理を行う（ステップＳ１１）。すなわち、プレーヤの操作入力に応じて、オブジェクトの配置設定処理、オブジェクトの移動・動作処理、仮想カメラの制御処理等を行う。
【００６３】
次に、頂点シェーダ用及びピクセルシェーダ用のシェーダプログラムの転送とシェーダプログラムを実行して描画処理行うために必要な各種パラメータの設定及び転送を行う（ステップＳ１２、Ｓ１３）。そして、オブジェクトの頂点リストを頂点シェーダへ転送し（ステップＳ１４）、ステップＳ１３で転送した頂点シェーダプログラム及びピクセルシェーダプログラムを順次を実行する（ステップＳ１５、Ｓ１６）。
【００６４】
頂点シェーダおよびピクセルシェーダでは、図６のフローチャートに従ってシェーダプログラムを実行する。まず、フレームバッファにオブジェクトを描画して元画像を生成する（ステップＳ２０）。次に、オブジェクトの陰影情報をα値として、フレームバッファのαプレーンに陰影画像を描画する（ステップＳ２１）。このとき明るい部分ほど０に近づき、暗い部分ほど１に近づくように、α値をオブジェクトの陰影情報に基づいて設定する。次に第１のワークバッファにフレームバッファの元画像をコピーする（ステップＳ２２）。このコピーされた元画像に基づいて、図４に示すように、影色画像を作成していく。
【００６５】
まず、第１のワークバッファにコピーされた元画像を色変換画像に変換して第２のワークバッファに描画する（ステップＳ２３）。すなわち、元画像のピクセルの各色成分の輝度値に変換係数Ｋｒ、Ｋｇ、Ｋｂを乗算する処理を行って、色変換画像のピクセルの色成分の輝度値が求められる。次に、第１のワークバッファにコピーされた元画像の色から補間パラメータＬを求めて、第１のワークバッファのαプレーンに代入する（ステップＳ２４）。すなわち、元画像の全ピクセルのＲＧＢ成分の輝度値の最大値及び最小値に基づいて、元画像の明度を算出し、この明度を補間パラメータＬとすることができる。次に、第２のワークバッファの色変換画像に対して、累乗補正を行った色補正画像を第１のワークバッファに描画する（ステップＳ２５）。そして、第２のワークバッファの色変換画像と、第１のワークバッファの色補正画像とを、第１のワークバッファのαプレーンを参照してα合成（αブレンディング）し、合成された影色画像を第２のワークバッファに描画する（ステップＳ２６）。
【００６６】
最終的には、フレームバッファの元画像と第２のワークバッファの影色画像とをフレームバッファのαプレーンを参照してα合成（αブレンディング）する（ステップＳ２７）。すなわち、オブジェクトの陰影情報を合成比率として、元画像と影色画像とを合成する。
【００６７】
４．ハードウェア構成
図７に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ９００は、ＤＶＤ９８２（情報記憶媒体。ＣＤでもよい。）に格納されたプログラム、通信インターフェース９９０を介してダウンロードされたプログラム、或いはＲＯＭ９５０に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、マトリクス演算（ベクトル演算）を高速に実行する。例えばオブジェクトを移動させたり動作（モーション）させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【００６８】
ジオメトリプロセッサ９０４は、メインプロセッサ９００上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ９０６は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセラレートする。これにより、オープニング画面やゲーム画面において、ＭＰＥＧ方式等で圧縮された動画像を表示できる。
【００６９】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画（レンダリング）処理を実行する。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０を利用して、描画データ（頂点データや他のパラメータ）を描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると描画プロセッサ９１０は、描画データやテクスチャに基づいて、Ｚバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ９２２に描画する。また描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行う。頂点シェーダやピクセルシェーダなどのプログラマブルシェーダも描画プロセッサ９１０に実装されており、本実施形態の手法を実現するシェーダプログラムに従って、頂点データの作成・変更（更新）やピクセル（あるいはフラグメント）の描画色の決定を行う。１フレーム分の画像がフレームバッファ９２２に書き込まれるとその画像はディスプレイ９１２に表示される。
【００７０】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などのゲーム音を生成し、スピーカ９３２を介して出力する。ゲームコントローラ９４２やメモリカード９４４からのデータはシリアルインターフェース９４０を介して入力される。
【００７１】
ＲＯＭ９５０にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納される。なおＲＯＭ９５０の代わりにハードディスクを利用してもよい。ＲＡＭ９６０は各種プロセッサの作業領域となる。ＤＭＡコントローラ９７０は、プロセッサ、メモリ間でのＤＭＡ転送を制御する。ＤＶＤドライブ９８０（ＣＤドライブでもよい。）は、プログラム、画像データ、或いは音データなどが格納されるＤＶＤ９８２（ＣＤでもよい。）にアクセスする。通信インターフェース９９０はネットワーク（通信回線、高速シリアルバス）を介して外部との間でデータ転送を行う。
【００７２】
なお本実施形態の各部（各手段）の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【００７３】
そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア（コンピュータ）を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【００７４】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語（元色、Ｒ成分、Ｇ成分、Ｂ成分など）として引用された用語（元画像の各ピクセルの色、第１の色成分、第２の色成分、第３の色成分など）は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。また色合成手法や影色設定手法等は、本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。
【００７５】
また本実施の形態では、オブジェクトに対して陰影を施す場合を例に採り説明したが、本発明はこれに限定されず、例えば、オブジェクトのハイライト表現をする場合にも用いることもできる。この場合には、陰影情報の代わりにハイライト情報（鏡面反射情報）を求めて、元色（Ｒｃ、Ｇｃ、Ｂｃ）から鏡面反射色（スペキュラー。（Ｒｗ、Ｇｗ、Ｂｗ））を求めることができる。すなわち、上記で説明した影色を元色として、元色より明るい鏡面反射色を求めるようにすることができる。
【００７６】
また本発明は種々のゲーム（格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等）に適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【００７７】
【図１】本実施形態の画像生成システムの機能ブロック図。
【図２】本実施形態の画像生成システムの変形例の機能ブロック図。
【図３】本実施形態の手法の説明図。
【図４】本実施形態の手法の説明図。
【図５】本実施形態の具体的な処理例を示すフローチャート。
【図６】本実施形態の具体的な処理例を示すフローチャート。
【図７】ハードウェア構成の例。
【符号の説明】
【００７８】
１００  処理部、
１１０  オブジェクト空間設定部、１１２  移動・動作処理部、
１１４  仮想カメラ制御部、
１２０  画像生成部、１２０ＶＳ  頂点シェーダ、１２０ＰＳ  ピクセルシェーダ、
１２１  陰影情報演算部、１２３  影色設定部、１２５  色合成部、
１２２  ジオメトリ処理部、１２４  テクスチャマッピング部、１２７  描画部、
１３０  音生成部、１６０  操作部、
１７０  記憶部、１７２  主記憶部、１７４  描画バッファ、
１７６  テクスチャ記憶部、１８０  情報記憶媒体、１９４  携帯型情報記憶装置、
１９０  表示部、１９２  音出力部、１９６  通信部
【図１】
2006277488.tif 000003
【図２】
2006277488.tif 000004
【図３】
2006277488.tif 000005
【図４】
2006277488.tif 000006
【図５】
2006277488.tif 000007
【図６】
2006277488.tif 000008
【図７】
2006277488.tif 000009