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