(57)【要約】【課題】リムライトを実現できるプログラム、情報記憶媒体、画像生成システム等を提供すること。【解決手段】画像生成システムは、オブジェクト空間設定部と、テクスチャを記憶するテクスチャ記憶部と、テクスチャがマッピングされるオブジェクトを描画して、オブジェクト空間において仮想カメラから見える画像を生成する画像生成部を含む。テクスチャ記憶部は、元絵テクスチャとリムライト用テクスチャを記憶する。画像生成部は、元絵テクスチャとリムライト用テクスチャをオブジェクトにマルチテクスチャマッピングすることで、オブジェクトの輪郭にリムライトの効果が付与された画像を生成する。【選択図】図４
2010277407.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクト空間の設定処理を行うオブジェクト空間設定部と、
テクスチャを記憶するテクスチャ記憶部と、
前記テクスチャ記憶部から読み出されたテクスチャがマッピングされるオブジェクトを描画して、前記オブジェクト空間において仮想カメラから見える画像を生成する画像生成部として、
コンピュータを機能させ、
前記テクスチャ記憶部は、
元絵テクスチャとリムライト用テクスチャを記憶し、
前記画像生成部は、
前記元絵テクスチャと前記リムライト用テクスチャをオブジェクトにマルチテクスチャマッピングすることで、オブジェクトの輪郭にリムライトの効果が付与された画像を生成することを特徴とするプログラム。
【請求項２】
請求項１において、
前記画像生成部は、
前記元絵テクスチャがマッピングされるオブジェクトを描画し、次に前記リムライト用テクスチャがマッピングされるオブジェクトを描画して、オブジェクトの輪郭にリムライトの効果が付与された画像を生成することを特徴とするプログラム。
【請求項３】
請求項１又は２において、
テクスチャ座標を演算するテクスチャ座標演算部として、
コンピュータを更に機能させ、
前記テクスチャ座標演算部は、
オブジェクトの頂点に設定された法線ベクトルに基づいて、前記リムライト用テクスチャをマッピングするためのリムライト用テクスチャ座標を求め、
前記画像生成部は、
求められた前記リムライト用テクスチャ座標に基づいて、オブジェクトに対して前記リムライト用テクスチャをマッピングすることを特徴とするプログラム。
【請求項４】
請求項３において、
前記テクスチャ記憶部は、
低い輝度のテクセル値が設定される第１のテクスチャ領域と、前記第１のテクスチャ領域の周囲に設けられ前記第１のテクスチャ領域よりも高い輝度のテクセル値が設定される第２のテクスチャ領域とを有する前記リムライト用テクスチャを記憶し、
前記テクスチャ座標演算部は、
前記仮想カメラのカメラ座標系において前記仮想カメラの視線方向に沿った座標軸を第３の座標軸とし、前記第３の座標軸に直交する座標軸を第１、第２の座標軸とした場合に、前記法線ベクトルの方向が前記第３の座標軸に沿った方向である場合には、前記第１のテクスチャ領域のテクセル値が読み出され、前記法線ベクトルの方向が前記第３の座標軸に直交する方向である場合には、前記第２のテクスチャ領域のテクセル値が読み出されるように、前記リムライト用テクスチャ座標を求めることを特徴とするプログラム。
【請求項５】
請求項４において、
前記テクスチャ座標演算部は、
前記法線ベクトルを（Ｎｘ、Ｎｙ、Ｎｚ）とし、前記リムライト用テクスチャ座標を（Ｕ、Ｖ）とし、前記第１のテクスチャ領域の中心部の座標を（ａ、ｂ）とした場合に、Ｕ＝（Ｎｘ＋２ａ）／２、Ｖ＝（Ｎｙ＋２ｂ）／２の演算式によりリムライト用テクスチャ座標を求めることを特徴とするプログラム。
【請求項６】
請求項３乃至５のいずれかにおいて、
前記テクスチャ記憶部は、
前記第１のテクスチャ領域ではその中心部から所定距離内の範囲に対して、前記第２のテクスチャ領域よりも低い輝度のテクセル値が設定された前記リムライト用テクスチャを記憶することを特徴とするプログラム。
【請求項７】
請求項３乃至６のいずれかにおいて、
前記テクスチャ記憶部は、
前記第１、第２のテクスチャ領域の境界の領域では、前記境界に近づくにつれて輝度が高くなるように前記第１のテクスチャ領域のテクセル値が設定された前記リムライト用テクスチャを記憶することを特徴とするプログラム。
【請求項８】
請求項３乃至７のいずれかにおいて、
前記画像生成部は、
前記第２のテクスチャ領域のテクセル値として設定される色情報を変更する処理を行うことを特徴とするプログラム。
【請求項９】
請求項８において、
前記色情報変更部は、
ゲームに登場するオブジェクトの種類、オブジェクトが登場するゲームステージ、及びオブジェクトについて発生するゲームイベントの少なくとも１つであるゲーム状況に応じて、前記第２のテクスチャ領域のテクセル値として設定される色情報を変更する処理を行うことを特徴とするプログラム。
【請求項１０】
請求項３乃至９のいずれかにおいて、
前記テクスチャ記憶部は、
前記第１、第２のテクスチャ領域の境界がギザギザ状に設定された前記リムライト用テクスチャを記憶することを特徴とするプログラム。
【請求項１１】
請求項１乃至１０のいずれかにおいて、
前記画像生成部は、
前記オブジェクト空間に設定された光源の方向と前記仮想カメラの視線方向との間の方向関係に応じて、オブジェクトの輪郭に付与されるリムライト効果の輝度が変更される画像を生成することを特徴とするプログラム。
【請求項１２】
請求項１１において、
前記画像生成部は、
前記方向関係に応じて設定されたα値を用いたαブレンディングにより、前記元絵テクスチャがマッピングされたオブジェクトが描画される領域に対して、前記リムライト用テクスチャがマッピングされたオブジェクトを描画することで、前記方向関係に応じてリムライト効果の輝度が変更される画像を生成することを特徴とするプログラム。
【請求項１３】
請求項１乃至１２のいずれかにおいて、
前記画像生成部は、
前記オブジェクト空間に設定された光源の色に応じて、オブジェクトの輪郭に付与されるリムライト効果の色が変更される画像を生成することを特徴とするプログラム。
【請求項１４】
請求項１３において、
前記画像生成部は、
複数のリムライト用テクスチャの中から、前記光源の色に対応するテクスチャを選択することで、リムライト効果の色が変更された画像を生成することを特徴とするプログラム。
【請求項１５】
請求項１３において、
前記画像生成部は、
複数のインデックスカラー・テクスチャマッピング用のルックアップテーブルの中から、前記光源の色に対応するルックアップテーブルを選択することで、リムライト効果の色が変更された画像を生成することを特徴とするプログラム。
【請求項１６】
コンピュータ読み取り可能な情報記憶媒体であって、請求項１乃至１５のいずれかに記載のプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項１７】
オブジェクト空間の設定処理を行うオブジェクト空間設定部と、
テクスチャを記憶するテクスチャ記憶部と、
前記テクスチャ記憶部から読み出されたテクスチャがマッピングされるオブジェクトを描画して、前記オブジェクト空間において仮想カメラから見える画像を生成する画像生成部とを含み、
前記テクスチャ記憶部は、
元絵テクスチャとリムライト用テクスチャを記憶し、
前記画像生成部は、
前記元絵テクスチャと前記リムライト用テクスチャをオブジェクトにマルチテクスチャマッピングすることで、オブジェクトの輪郭にリムライトの効果が付与された画像を生成することを特徴とする画像生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体及び画像生成システム等に関する。
【背景技術】
【０００２】
従来より、キャラクタ等のオブジェクトが配置設定されるオブジェクト空間内（仮想的な３次元空間）において仮想カメラ（所与の視点）から見える画像を生成する画像生成システム（ゲームシステム）が知られており、いわゆる仮想現実を体験できるものとして人気が高い。
【０００３】
このような画像生成システムでは、オブジェクトの輪郭（リム）に光りが回り込んだ様子を表現するリムライトと呼ばれる手法を採用する場合がある。このようなリムライトを実現する従来例として特許文献１に開示される技術がある。この従来技術では、ぼかし処理等のポストフィルタ処理を行うことでリムライト（グレア）表現を実現している。
【０００４】
一方、高機能な画像生成システムでは、いわゆるピクセルシェーダとしてリムライトのシェーダが用意されている場合がある。しかしながら、このようなリムライトのピクセルシェーダを備えない画像生成システムでは、このようなリムライト表現を実現することが難しかった。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−４３６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の幾つかの態様によれば、リムライト表現を実現できるプログラム、情報記憶媒体、画像生成システム等を提供できる。
【課題を解決するための手段】
【０００７】
本発明の一態様は、オブジェクト空間の設定処理を行うオブジェクト空間設定部と、テクスチャを記憶するテクスチャ記憶部と、前記テクスチャ記憶部から読み出されたテクスチャがマッピングされるオブジェクトを描画して、前記オブジェクト空間において仮想カメラから見える画像を生成する画像生成部とを含み、前記テクスチャ記憶部は、元絵テクスチャとリムライト用テクスチャを記憶し、前記画像生成部は、前記元絵テクスチャと前記リムライト用テクスチャをオブジェクトにマルチテクスチャマッピングすることで、オブジェクトの輪郭にリムライトの効果が付与された画像を生成する画像生成システムに関係する。また本発明の一態様は、上記各部としてコンピュータを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。
【０００８】
本発明の一態様によれば、オブジェクトにマッピングされるテクスチャとして元絵テクスチャとリムライト用テクスチャが用意される。そして、これらの元絵テクスチャとリムライト用テクスチャをオブジェクトにマッピングすることで、オブジェクトの輪郭にリムライト効果が付与された画像が生成される。従って、元絵テクスチャとリムライト用テクスチャを用いた簡素な処理でリムライトを実現できるようになる。
【０００９】
また本発明の一態様では、前記画像生成部は、前記元絵テクスチャがマッピングされるオブジェクトを描画し、次に前記リムライト用テクスチャがマッピングされるオブジェクトを描画して、オブジェクトの輪郭にリムライトの効果が付与された画像を生成してもよい。
【００１０】
このようにすれば、元絵テクスチャがマッピングされるオブジェクトの描画後に、例えば同一形状のオブジェクトにリムライト用テクスチャをマッピングして描画するという処理を行うことで、元絵テクスチャとリムライト用テクスチャのマルチテクスチャマッピングを実現できる。
【００１１】
また本発明の一態様では、テクスチャ座標を演算するテクスチャ座標演算部を含み（テクスチャ座標演算部としてコンピュータを更に機能させ）、前記テクスチャ座標演算部は、オブジェクトの頂点に設定された法線ベクトルに基づいて、前記リムライト用テクスチャをマッピングするためのリムライト用テクスチャ座標を求め、前記画像生成部は、求められた前記リムライト用テクスチャ座標に基づいて、オブジェクトに対して前記リムライト用テクスチャをマッピングしてもよい。
【００１２】
このようにすれば、オブジェクトの頂点に設定された法線ベクトルによりリムライト用テクスチャ座標を求め、このリムライト用テクスチャ座標を用いてリムライト用テクスチャをオブジェクトにマッピングできるようになる。
【００１３】
また本発明の一態様では、前記テクスチャ記憶部は、低い輝度のテクセル値が設定される第１のテクスチャ領域と、前記第１のテクスチャ領域の周囲に設けられ前記第１のテクスチャ領域よりも高い輝度のテクセル値が設定される第２のテクスチャ領域とを有する前記リムライト用テクスチャを記憶し、前記テクスチャ座標演算部は、前記仮想カメラのカメラ座標系において前記仮想カメラの視線方向に沿った座標軸を第３の座標軸とし、前記第３の座標軸に直交する座標軸を第１、第２の座標軸とした場合に、前記法線ベクトルの方向が前記第３の座標軸に沿った方向である場合には、前記第１のテクスチャ領域のテクセル値が読み出され、前記法線ベクトルの方向が前記第３の座標軸に直交する方向である場合には、前記第２のテクスチャ領域のテクセル値が読み出されるように、前記リムライト用テクスチャ座標を求めてもよい。
【００１４】
このようにすれば、仮想カメラの視線方向と法線ベクトルの方向関係に応じて動的に変化するリムライト用テクスチャ座標を用いて、オブジェクトにリムライト用テクスチャをマッピングできる。このとき、リムライト用テクスチャの第１のテクスチャ領域のテクセル値は低い輝度に設定され、第２のテクスチャ領域のテクセル値は高い輝度に設定される。そして法線ベクトルの方向が、仮想カメラの視線方向に対応する第３の座標軸に沿った方向である場合には、第１のテクスチャ領域の低い輝度のテクセル値が読み出され、第３の座標軸に直交する方向である場合には、第２のテクスチャ領域の高い輝度のテクセル値が読み出されるようになる。従って、法線ベクトルの方向が仮想カメラの視線方向と直交するオブジェクトの輪郭領域には、高い輝度が設定されるようになり、オブジェクトの輪郭にリムライト効果が付与された画像を生成できる。
【００１５】
また本発明の一態様では、前記テクスチャ座標演算部は、前記法線ベクトルを（Ｎｘ、Ｎｙ、Ｎｚ）とし、前記リムライト用テクスチャ座標を（Ｕ、Ｖ）とし、前記第１のテクスチャ領域の中心部の座標を（ａ、ｂ）とした場合に、Ｕ＝（Ｎｘ＋２ａ）／２、Ｖ＝（Ｎｙ＋２ｂ）／２の演算式によりリムライト用テクスチャ座標を求めてもよい。
【００１６】
このようにすれば、例えば法線ベクトルの方向が、仮想カメラの視線方向となる第３の座標軸に沿った方向である場合には、例えばＮｘ＝０、Ｎｙ＝０になることで、Ｕ＝ａ、Ｖ＝ｂになり、第１のテクスチャ領域の中心部に設定された低い輝度のテクセル値が読み出されるようになる。一方、法線ベクトルの方向が第３の座標軸に直交する方向である場合には、例えばＮｘ＝１．０、Ｎｙ＝０になったり、Ｎｘ＝０、Ｎｙ＝１．０になることで、第２のテクスチャ領域に設定された高い輝度のテクセル値が読み出されるようになり、オブジェクトの輪郭のリムライト表現を実現できる。
【００１７】
また本発明の一態様では、前記テクスチャ記憶部は、前記第１のテクスチャ領域ではその中心部から所定距離内の範囲に対して、前記第２のテクスチャ領域よりも低い輝度のテクセル値が設定された前記リムライト用テクスチャを記憶してもよい。
【００１８】
このようにすれば、オブジェクトの輪郭領域を除く領域に対しては、リムライト用テクスチャのテクセル値が低い輝度に設定されることで、元絵テクスチャの画像が表示され、オブジェクトの輪郭領域では、リムライト用テクスチャが強く反映された画像が表示されるようになる。
【００１９】
また本発明の一態様では、前記テクスチャ記憶部は、前記第１、第２のテクスチャ領域の境界の領域では、前記境界に近づくにつれて輝度が高くなるように前記第１のテクスチャ領域のテクセル値が設定された前記リムライト用テクスチャを記憶してもよい。
【００２０】
このようにすれば、オブジェクトの輪郭領域において輝度が急激に変化することによる画質の劣化を効果的に防止できる。
【００２１】
また本発明の一態様では、前記画像生成部は、前記第２のテクスチャ領域のテクセル値として設定される色情報を変更する処理を行ってもよい。
【００２２】
このようにすれば、第２のテクスチャ領域への色情報の設定により、オブジェクトの輪郭に付与されるリムライト効果の色を変更できるようになり、多様な画像表現を実現できる。
【００２３】
また本発明の一態様では、前記色情報変更部は、ゲームに登場するオブジェクトの種類、オブジェクトが登場するゲームステージ、及びオブジェクトについて発生するゲームイベントの少なくとも１つであるゲーム状況に応じて、前記第２のテクスチャ領域のテクセル値として設定される色情報を変更する処理を行ってもよい。
【００２４】
このようにすれば、ゲーム状況に応じて、オブジェクトの輪郭に付与されるリムライト効果の色を変更できるようになり、ゲーム表現のバラエティ度を増すことができる。
【００２５】
また本発明の一態様では、前記テクスチャ記憶部は、前記第１、第２のテクスチャ領域の境界がギザギザ状に設定された前記リムライト用テクスチャを記憶してもよい。
【００２６】
このようにすれば、オブジェクトの輪郭における光の回り込み具合が、輪郭の各場所において異なって見える画像を生成できるようになる。
【００２７】
また本発明の一態様では、前記画像生成部は、前記オブジェクト空間に設定された光源の方向と前記仮想カメラの視線方向との間の方向関係に応じて、オブジェクトの輪郭に付与されるリムライト効果の輝度が変更される画像を生成してもよい。
【００２８】
このようにすれば、仮想カメラの見る角度や、光源との位置関係に応じて、オブジェクトの輪郭に付与されるリムライトの輝度が動的に変化するようになり、よりリアルな画像を生成できる。
【００２９】
また本発明の一態様では、前記画像生成部は、前記方向関係に応じて設定されたα値を用いたαブレンディングにより、前記元絵テクスチャがマッピングされたオブジェクトが描画される領域に対して、前記リムライト用テクスチャがマッピングされたオブジェクトを描画することで、前記方向関係に応じてリムライト効果の輝度が変更される画像を生成してもよい。
【００３０】
このようにすれば、光源の方向と仮想カメラの視線方向との間の方向関係に応じて変化するα値を利用して、この方向関係に応じてリムライト効果の輝度が変更される画像を生成できるようになる。
【００３１】
また本発明の一態様では、前記画像生成部は、前記オブジェクト空間に設定された光源の色に応じて、オブジェクトの輪郭に付与されるリムライト効果の色が変更される画像を生成してもよい。
【００３２】
このようにすれば、オブジェクトの輪郭に付与されるリムライト効果の色を、光源の色に対応する色に設定できるようになり、光源の色がオブジェクトの輪郭に回り込んだ様子をリアルに表現できる。
【００３３】
また本発明の一態様では、前記画像生成部は、複数のリムライト用テクスチャの中から、前記光源の色に対応するテクスチャを選択することで、リムライト効果の色が変更された画像を生成してもよい。
【００３４】
このようにすれば、光源の色に対応した複数のリムライト用テクスチャの差し替え処理により、リムライト効果の色が変更された画像を生成できるようになる。
【００３５】
また本発明の一態様では、前記画像生成部は、複数のインデックスカラー・テクスチャマッピング用のルックアップテーブルの中から、前記光源の色に対応するルックアップテーブルを選択することで、リムライト効果の色が変更された画像を生成してもよい。
【００３６】
このようにすれば、光源の色に対応した複数のルックアップテーブルの差し替え処理により、リムライト効果の色が変更された画像を生成できるようになる。
【図面の簡単な説明】
【００３７】
【図１】本実施形態の画像生成システムの構成例。
【図２】図２（Ａ）〜図２（Ｃ）は元絵テクスチャを用いたオブジェクトの描画処理の説明図。
【図３】図３（Ａ）、図３（Ｂ）はリムライト用テクスチャを用いたオブジェクトの描画処理の説明図。
【図４】図４（Ａ）、図４（Ｂ）はリムライトを実現する本実施形態の手法の説明図。
【図５】図５（Ａ）、図５（Ｂ）はリムライト用テクスチャのテクスチャ座標の演算手法の説明図。
【図６】図６（Ａ）、図６（Ｂ）はリムライト用テクスチャ及びリムライト効果が付与されたオブジェクトの画像の例。
【図７】リムライト用テクスチャの第２のテクスチャ領域の色情報を変更してリムライト効果の色を変更する手法の説明図。
【図８】リムライト用テクスチャの第１、第２のテクスチャ領域の境界をギザギザ形状にする手法の説明図。
【図９】図９（Ａ）、図９（Ｂ）は、仮想カメラの視線方向と光源の方向の方向関係に基づいてリムライト用テクスチャの輝度を変更する手法の説明図。
【図１０】図１０（Ａ）、図１０（Ｂ）は、仮想カメラの視線方向と光源の方向の方向関係に基づいてリムライト用テクスチャの輝度を変更する手法の説明図。
【図１１】図１１（Ａ）〜図１１（Ｃ）は、仮想カメラの視線方向と光源の方向の方向関係により求められたα値を用いてαブレンディング処理を行う手法の説明図。
【図１２】リムライト用テクスチャの差し替えによりリムライト効果の色を変更する手法の説明図。
【図１３】図１３（Ａ）、図１３（Ｂ）はインデックスカラー・テクスチャマッピングのルックアップテーブルの差し替えによりリムライト効果の色を変更する手法の説明図。
【図１４】本実施形態の詳細な処理例のフローチャート。
【発明を実施するための形態】
【００３８】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００３９】
１．構成
図１に本実施形態の画像生成システム（ゲームシステム）のブロック図の例を示す。なお本実施形態の画像生成システムは図１の構成要素（各部）の一部を省略した構成としてもよい。
【００４０】
操作部１６０は、プレーヤが操作データを入力するためのものであり、その機能は、方向キー、操作ボタン、アナログスティック、レバー、各種センサ（角速度センサ、加速度センサ等）、マイク、或いはタッチパネル型ディスプレイなどにより実現できる。
【００４１】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＤＲＡＭ、ＶＲＡＭ）などにより実現できる。そしてゲームプログラムや、ゲームプログラムの実行に必要なゲームデータは、この記憶部１７０に保持される。
【００４２】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、ＨＤＤ（ハードディスクドライブ）、或いはメモリ（ＲＯＭ等）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータ（操作部、処理部、記憶部、出力部を備える装置）を機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００４３】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＬＣＤ、有機ＥＬディスプレイ、ＣＲＴ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００４４】
補助記憶装置１９４（補助メモリ、２次メモリ）は、記憶部１７０の容量を補うために使用される記憶装置であり、ＳＤメモリーカード、マルチメディアカードなどのメモリーカードなどにより実現できる。
【００４５】
通信部１９６は、有線や無線のネットワークを介して外部（例えば他の画像生成システム、サーバ、ホスト装置）との間で通信を行うものであり、その機能は、通信用ＡＳＩＣ又は通信用プロセッサなどのハードウェアや、通信用ファームウェアにより実現できる。
【００４６】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、サーバ（ホスト装置）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（あるいは記憶部１７０、補助記憶装置１９４）に配信してもよい。このようなサーバ（ホスト装置）による情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００４７】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などを行う。処理部１００は記憶部１７０をワーク領域として各種処理を行う。この処理部１００の機能は、各種プロセッサ（ＣＰＵ、ＧＰＵ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００４８】
処理部１００は、ゲーム演算部１０２、オブジェクト空間設定部１０４、移動体演算部１０６、テクスチャ座標演算部１０８、画像生成部１２０、音生成部１３０を含む。なおこれらの一部の構成要素を省略したり、他の構成要素（例えば仮想カメラ制御部等）を追加するなどの種々の変形実施が可能である。
【００４９】
ゲーム演算部１０２はゲーム演算処理を行う。ここでゲーム演算としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。ゲーム状況は、このゲーム演算処理によるゲームの進行により変化する状況である。
【００５０】
オブジェクト空間設定部１０４は、モデルオブジェクト（人、ロボット、車、戦闘機、ミサイル、弾等の移動体）、マップ（地形）、建物、コース（道路）、樹木、壁などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェイスなどのプリミティブ面で構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。具体的には、記憶部１７０のオブジェクトデータ記憶部１７２には、オブジェクトの位置、回転角度、移動速度、移動方向等のデータであるオブジェクトデータがオブジェクト番号に対応づけて記憶される。
【００５１】
移動体演算部１０６は、キャラクタ等の移動体を移動させるための演算を行う。また移動体（移動体オブジェクト）を動作させるための演算も行う。即ち操作部１６０によりプレーヤが入力した操作データや、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、移動体（オブジェクト、モデルオブジェクト）をオブジェクト空間内で移動させたり、移動体を動作（モーション、アニメーション）させる処理を行う。具体的には、移動体の移動情報（位置、回転角度、速度、或いは加速度）や動作情報（パーツオブジェクトの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、移動体の移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【００５２】
テクスチャ座標演算部１０８は、テクスチャマッピングを行うためのテクスチャ座標を求める演算処理を行う。
【００５３】
画像生成部１２０は、処理部１００で行われる種々の処理（ゲーム処理、シミュレーション処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。具体的には、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、透視変換、或いは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ（プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）が作成される。そして、この描画データ（プリミティブ面データ）に基づいて、透視変換後（ジオメトリ処理後）のオブジェクト（１又は複数プリミティブ面）を、描画バッファ１７６（フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ）に描画する。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。
【００５４】
具体的には、画像生成部１２０は、テクスチャ記憶部１７４から読み出されたテクスチャがマッピングされるオブジェクトを描画バッファ１７６に描画して、オブジェクト空間において仮想カメラから見える画像を生成する。ここでテクスチャマッピングは、テクスチャマッピング部１２２が行う処理であり、テクスチャ記憶部１７４に記憶されるテクスチャ（テクセル値）をオブジェクト（ポリゴン）にマッピングする処理である。具体的には、オブジェクト（プリミティブ面）の頂点やピクセルに設定（付与）されるテクスチャ座標等を用いてテクスチャ記憶部１７４からテクスチャ（色、α値などの表面プロパティ）を読み出す。そして２次元の画像又はパターンであるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理やバイリニア補間（テクセル補間）などを行う。
【００５５】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００５６】
そして本実施形態ではテクスチャ記憶部１７４は、オブジェクトにマッピングするテクスチャ（テクスチャデータ）として、元絵テクスチャとリムライト用テクスチャを記憶する。そして画像生成部１２０は、元絵テクスチャとリムライト用テクスチャをオブジェクトにマルチテクスチャマッピングすることで、オブジェクトの輪郭（リム）にリムライトの効果が付与された画像を生成する。即ちオブジェクトの背後にある光源（リムライト）の光がオブジェクトの輪郭に回り込んで、輪郭領域が光って見える表現を実現する。
【００５７】
具体的には本実施形態では、画像生成部１２０は、まず、元絵テクスチャがマッピングされるオブジェクト（元絵用オブジェクト）を描画する。次に、リムライト用テクスチャがマッピングされるオブジェクト（リムライト用オブジェクト）を描画して、オブジェクトの輪郭にリムライトの効果が付与された画像を生成する。ここで元絵テクスチャがマッピングされるオブジェクトと、リムライト用テクスチャがマッピングされるオブジェクトは例えば同一形状のオブジェクト（同一のオブジェクト形状データで表されるオブジェクト）である。なおオブジェクトの各頂点に、元絵テクスチャ（第１のテクスチャ）を指定する元絵テクスチャ用のテクスチャ座標と、リムライト用テクスチャ（第２のテクスチャ）を指定するリムライト用のテクスチャ座標の両方を持たせて、マルチテクスチャマッピングを実現してもよい。
【００５８】
また本実施形態では、テクスチャ座標演算部１０８は、オブジェクトの頂点（プリミティブ面の頂点）に設定された法線ベクトル（法線ベクトルの座標情報）に基づいて、リムライト用テクスチャをマッピングするためのリムライト用テクスチャ座標を求める。
【００５９】
そして画像生成部１２０は、テクスチャ座標演算部１０８により求められたリムライト用テクスチャ座標に基づいて、オブジェクトに対してリムライト用テクスチャをマッピングする。例えば、オブジェクトの各頂点の各法線ベクトルから求められた各リムライト用テクスチャ座標を、オブジェクトの各頂点に設定する。そしてリムライト用テクスチャ座標を用いたテクスチャマッピングを行いながら、オブジェクトを描画バッファ１７６に描画する。
【００６０】
またテクスチャ記憶部１７４は、第１のテクスチャ領域と第２のテクスチャ領域を有するリムライト用テクスチャを記憶する。ここで第１のテクスチャ領域には、第２のテクスチャ領域に比べて、低い輝度のテクセル値が設定される。一方、第２のテクスチャ領域は第１のテクスチャ領域の周囲に設けられた領域（第１のテクスチャ領域を囲むように設けられた領域）であり、第１のテクスチャ領域に比べて、高い輝度のテクセル値が設定される領域である。
【００６１】
具体的にはテクスチャ記憶部１７４は、第１のテクスチャ領域ではその中心部から所定距離内の範囲（例えば円形の範囲）に対して、第２のテクスチャ領域よりも低い輝度のテクセル値が設定されたリムライト用テクスチャを記憶する。例えばリムライト用テクスチャの全体のテクスチャ領域が正方形（四角形）である場合に、第１のテクスチャ領域は、その中心が、リムライト用テクスチャ正方形の中心に一致する円形領域であり、第２のテクスチャ領域は、第１のテクスチャ領域を除いた残りの領域である。
【００６２】
なお、第１、第２のテクスチャ領域の境界の領域（境界の内側領域）において、境界に近づくにつれて輝度が高くなるように第１のテクスチャ領域のテクセル値が設定されたリムライト用テクスチャを、テクスチャ記憶部１７４が記憶してもよい。即ち、境界に向かってグラディエーション処理が行われた輝度のテクセル値を記憶する。
【００６３】
そして仮想カメラのカメラ座標系において、仮想カメラの視線方向に沿った座標軸を第３の座標軸とし、第３の座標軸に直交する座標軸を第１、第２の座標軸としたとする。この場合に、テクスチャ座標演算部１０８は、法線ベクトルの方向が第３の座標軸に沿った方向である場合（法線ベクトルの方向が第３の座標軸に平行な場合）には、第１のテクスチャ領域のテクセル値が読み出され、法線ベクトルの方向が第３の座標軸に直交する方向である場合には、第２のテクスチャ領域のテクセル値が読み出されるように、リムライト用テクスチャ座標を求める。
【００６４】
更に具体的には、例えば法線ベクトルを（Ｎｘ、Ｎｙ、Ｎｚ）とし、リムライト用テクスチャ座標を（Ｕ、Ｖ）とし、リムライト用テクスチャの第１のテクスチャ領域の中心部の座標を（ａ、ｂ）としたとする。この場合にテクスチャ座標演算部１０８は、Ｕ＝（Ｎｘ＋２ａ）／２、Ｖ＝（Ｎｙ＋２ｂ）／２の演算式によりリムライト用テクスチャ座標を求める。
【００６５】
また画像生成部１２０は、第２のテクスチャ領域のテクセル値として設定される色情報を、ゲーム状況に応じて変更する処理を行ってもよい。例えば第１のゲーム状況では、第２のテクスチャ領域のテクセル値を第１の色情報に設定し、第２のゲーム状況では、第２のテクスチャ領域のテクセル値を第１の色情報とは異なる第２の色情報に設定する。
【００６６】
ここでゲーム状況は、例えばゲームに登場するオブジェクトの種類、オブジェクトが登場するゲームステージ、及びオブジェクトについて発生するゲームイベントの少なくとも１つである。
【００６７】
例えば画像生成部１２０は、ゲームに登場するオブジェクトの種類に応じて、第２のテクスチャ領域の色情報を変更する。例えば第１のオブジェクトでは、マッピングされるリムライト用テクスチャの第２のテクスチャ領域を第１の色情報に設定し、第２のオブジェクトでは、第２のテクスチャ領域を第２の色情報に設定する。或いは、オブジェクト（キャラクタ等）が登場するゲームステージが第１のゲームステージ（例えば朝の設定のゲームステージ）である場合には、リムライト用テクスチャの第２のテクスチャ領域を第１の色情報に設定し、第２のゲームステージ（例えば昼間の設定のゲームステージ）である場合には、リムライト用テクスチャの第２のテクスチャ領域を第２の色情報に設定する。また、オブジェクトに対して第１のゲームイベント（例えば攻撃イベント）が発生した場合には、リムライト用テクスチャの第２のテクスチャ領域を第１の色情報に設定し、第２のゲームイベント（例えば爆発イベント）が発生した場合には、リムライト用テクスチャの第２のテクスチャ領域を第２の色情報に設定する。
【００６８】
またテクスチャ記憶部１７４は、第１、第２のテクスチャ領域の境界がギザギザ状に設定されたリムライト用テクスチャを記憶してもよい。例えば第１のテクスチャ領域から境界までの距離がランダムに変化する（１テクセルよりも大きく変化する）ようなリムライト用テクスチャを記憶する。このようにすれば、リムライト効果が施されるリムライト領域の形状もジグザグ状にすることが可能になる。
【００６９】
また画像生成部１２０は、オブジェクト空間に設定された光源の方向と仮想カメラの視線方向との間の方向関係（角度、内積）に応じて、オブジェクトの輪郭に付与されるリムライト効果の輝度が変更される画像を生成してもよい。例えば光源の方向と仮想カメラの視線方向のなす角度が１８０度に近いほどリムライト効果の輝度を高くし、１８０度よりも小さくなるにつれて、リムライト効果の輝度を低くする。
【００７０】
また画像生成部１２０は、光源の方向と仮想カメラの視線方向との間の方向関係（角度、内積）に応じて設定されたα値を用いたαブレンディング（α合成）により、元絵テクスチャがマッピングされたオブジェクトが描画される領域に対して、リムライト用テクスチャがマッピングされたオブジェクトを描画してもよい。即ち元絵テクスチャがマッピングされたオブジェクトと、リムライト用テクスチャがマッピングされたオブジェクトを、方向関係に応じたα値を用いてαブレンディングして、画像を生成する。これにより、光源の方向と仮想カメラの視線方向の方向関係に応じてリムライト効果の輝度が変更される画像を生成できるようになる。
【００７１】
また画像生成部１２０は、オブジェクト空間に設定された光源の色に応じて、オブジェクトの輪郭に付与されるリムライト効果の色が変更される画像を生成してもよい。例えば光源の色が第１の色である場合には、リムライト効果の色を、第１の色や、第１の色と同色系の色や、第１の色と所定色を合成した色に設定する。また光源の色が第２の色である場合には、リムライト効果の色を、第２の色や、第２の色と同色系の色や、第２の色と所定色を合成した色に設定する
この場合に画像生成部１２０は、複数のリムライト用テクスチャの中から、光源の色に対応するテクスチャを選択することで、リムライト効果の色が変更された画像を生成してもよい。例えば第１〜第Ｍの光源の色に対応した第１〜第Ｍのリムライト用テクスチャを予め用意してテクスチャ記憶部１７４に記憶しておく。例えば第１の光源の色に対応して第１のリムライト用テクスチャを用意し、第２の光源の色に対応して第２のリムライト用テクスチャを用意する。そして、これらの第１〜第Ｍのリムライト用テクスチャの中から、現在のゲームステージ等の光源の色に対応するリムライト用テクスチャを選択し、オブジェクトにマッピングする。即ち第２のテクスチャ領域のテクセル値が、光源の色に対応した色情報に設定されたリムライト用テクスチャをマッピングする。これによりオブジェクトの輪郭に対して、光源の色に対応した色のリムライト効果を付与できるようになる。
【００７２】
或いは画像生成部１２０は、複数のインデックスカラー・テクスチャマッピング用のルックアップテーブルの中から、光源の色に対応するルックアップテーブルを選択することで、リムライト効果の色が変更された画像を生成してもよい。
【００７３】
例えば第１〜第Ｍの光源の色に対応した第１〜第Ｍのインデックスカラー・テクスチャマッピング用ルックアップテーブルを予め用意して、記憶部１７０に記憶しておく。例えば第１の光源の色に対応してインデックスカラー・テクスチャマッピング用の第１のルックアップテーブルを用意し、第２の光源の色に対応して第２のルックアップテーブルを用意する。そして、選択されたルックアップテーブルを用いて、インデックスカラー・テクスチャマッピングモードで、リムライト用テクスチャをオブジェクトにマッピングする。即ち、第２のテクスチャ領域のテクセル値が、光源の色に対応した色情報になるように設定されたルックアップテーブルを用いてリムライト用テクスチャをマッピングする。このようにしても、オブジェクトの輪郭に対して、光源の色に対応した色のリムライト効果を付与できるようになる。
【００７４】
２．本実施形態の手法
２．１  マルチテクスチャマッピングによるリムライト表現
３次元ＣＧの表現手法として、オブジェクト（物体）の輪郭に光を回り込ませるリムライトがある。例えば高機能なピクセルシェーダを有する高性能なゲーム装置等では、このようなリムライトはピクセルシェーダにより実現できる。しかしながら、例えば高機能なピクセルシェーダを持たない携帯型ゲーム装置等では、ピクセルシェーダによりリムライトを実現することができない。
【００７５】
そこで本実施形態では、オブジェクトデータに工夫を施すことで、高機能なピクセルシェーダを有しない携帯型ゲーム装置等でリムライトを実現できる手法を提供する。
【００７６】
例えば図２（Ａ）はトーラス形状のオブジェクトＯＢの例である。このオブジェクトＯＢに対して図２（Ｂ）に示すような元絵テクスチャＴＥＸＡをマッピングする。この元絵テクスチャＴＥＸＡはオブジェクトＯＢの本来の模様を表すテクスチャである。図２（Ｂ）では元絵テクスチャＴＥＸＡとして木目のテクスチャの例が示されている。
【００７７】
この図２（Ｂ）の元絵テクスチャＴＥＸＡを図２（Ａ）のオブジェクトＯＢにマッピングすることで、図２（Ｃ）に示すような画像が得られる。図２（Ｃ）は、元絵テクスチャＴＥＸＡをオブジェクトＯＢにマッピングして描画した場合の描画バッファ１７６（フレームバッファ）のイメージを表す。
【００７８】
次に図３（Ａ）に示すようなリムライト用テクスチャＴＥＸＬを用意する。このリムライト用テクスチャＴＥＸＬは、オブジェクトの輪郭に付与されるリムライトを表現するために用いられるテクスチャである。例えばオブジェクトの法線ベクトルに基づき求められたテクスチャ座標を用いて、図３（Ａ）のリムライト用テクスチャＴＥＸＬをオブジェクトＯＢにマッピングして描画すると、図３（Ｂ）に示すような画像が得られる。図３（Ｂ）では、オブジェクトＯＢの輪郭領域に対して、輝度の高いリムライト効果が付与されている。
【００７９】
図４（Ａ）は、図２（Ｂ）に示す元絵テクスチャＴＥＸＡと図３（Ａ）に示すリムライト用テクスチャを、オブジェクトＯＢに対してマルチテクスチャマッピングした様子を示すものである。即ちオブジェクトＯＢに対してテクスチャＴＥＸＡとリムライト用テクスチャＴＥＸＬを同時にマッピングする（貼り付ける）。これにより図４（Ｂ）に示すように、オブジェクトＯＢに対して元絵テクスチャがマッピングされると共に、その輪郭にリムライト効果が付与された画像が生成されるようになる。
【００８０】
このように本実施形態によれば、例えば高機能なピクセルシェーダを用いなくても、図２（Ｂ）のような元絵テクスチャＴＥＸＡと図３（Ａ）のようなリムライト用テクスチャＴＥＸＬを用意して、オブジェクトＯＢにマルチテクスチャマッピングするだけで、リムライト効果を実現できる。従って、高機能なピクセルシェーダを持たない携帯型ゲーム装置等においてもリムライト効果を実現できるようになる。また、後述するように、リムライトの見た目の調整を、リムライト用テクスチャの修正だけで実現できるという利点もある。
【００８１】
２．２  リムライト処理の詳細
次に本実施形態のリムライト処理の詳細について説明する。ここでは、同一形状のオブジェクトを２度描画してリムライト処理のマルチテクスチャマッピングを実現する例について説明する。但し、オブジェクトの頂点に対して、元絵テクスチャのテクスチャ座標とリムライト用テクスチャのテクスチャ座標の両方を持たせて、リムライト処理のマルチテクスチャマッピングを実現してもよい。
【００８２】
リムライト表現のためのマルチテクスチャは、モデルそのものの模様部分である元絵テクスチャ（デカール）と、リムライト効果用の部分であるリムライト用テクスチャに分かれる。本実施形態では、まず元絵テクスチャの部分を描画し、次にリムライト用テクスチャの部分を加算で描画する。具体的には、まず、元絵テクスチャがマッピングされるオブジェクトを描画し、次にリムライト用テクスチャがマッピングされるオブジェクトを加算で描画する。ここで、元絵テクスチャについての描画は従来と同様であるため、詳細な説明は省略し、リムライト用テクスチャの描画について主に説明する。
【００８３】
本実施形態では、リムライト用テクスチャをオブジェクトにマッピングする際に、リムライト用のテクスチャ座標については、オブジェクト（モデル）に元々埋め込まれているテクスチャ座標を使用せずに、仮想カメラとオブジェクトの位置関係に応じて動的に変化するテクスチャ座標を計算して使用する。具体的には仮想カメラから見た法線ベクトルのＸ、Ｙ座標をリムライト用テクスチャ座標として用いる。
【００８４】
例えば図５（Ａ）にオブジェクトＯＢと仮想カメラＶＣの位置関係の例を示す。本実施形態の画像生成システムでは、図５（Ａ）の仮想カメラＶＣから見える画像が生成される。そしてオブジェクトＯＢの各頂点には、オブジェクトＯＢを構成する各ポリゴン（各プリミティブ面）の向きを表すための法線ベクトルＮが設定されている。本実施形態では、このようにオブジェクトＯＢの頂点に設定された法線ベクトルＮに基づいて、リムライト用テクスチャをマッピングするためのリムライト用テクスチャ座標を算出する。そして求められたリムライト用テクスチャ座標を用いて、オブジェクトに対してリムライト用テクスチャをマッピングする。
【００８５】
具体的には図５（Ｂ）のカメラ座標系（視点座標系）では、仮想カメラＶＣの視線方向ＶＤに沿った座標軸がＺ軸（広義には第３の座標軸）となり、Ｚ軸に直交する座標軸がＸ軸、Ｙ軸（広義には第１、第２の座標軸）になっている。本実施形態では、このカメラ座標系での法線ベクトルＮのＸ座標Ｎｘ、Ｙ座標Ｎｙを求めて、テクスチャ座標Ｕ、Ｖを算出する。
【００８６】
例えば図６（Ａ）にリムライト用テクスチャＴＥＸＬの例を示す。このリムライト用テクスチャＴＥＸＬは、第１のテクスチャ領域Ｒ１と第２のテクスチャ領域Ｒ２を有する。第１のテクスチャ領域Ｒ１は低い輝度（例えば０）のテクセル値が設定される領域である。図６（Ａ）では、第１のテクスチャ領域Ｒ１には、その中心部ＣＰ（中心座標）から所定距離内（所定半径内）の範囲（円形範囲）に対して、低い輝度（＝０）のテクセル値が設定されている。
【００８７】
一方、第２のテクスチャ領域Ｒ２は、第１のテクスチャ領域Ｒ１よりも高い輝度（例えば２５５）のテクセル値が設定される領域である。図６（Ａ）ではリムライト用テクスチャＴＥＸＬの全体は正方形の領域であり、第１のテクスチャ領域Ｒ１は円形の領域であり、第２のテクスチャ領域Ｒ２は、ＴＥＸＬの正方形の領域から円形の領域Ｒ１を除いた領域になっている。
【００８８】
この場合に本実施形態では、図５（Ｂ）の法線ベクトルＮの方向が、カメラ座標系のＺ軸（第３の座標軸）に沿った方向である場合には、第１のテクスチャ領域Ｒ１のテクセル値が読み出されるように、リムライト用のテクスチャ座標Ｕ、Ｖが求められる。具体的には、第１のテクスチャ領域Ｒ１の中心部ＣＰのテクセル値が読み出されるようにする。
【００８９】
一方、法線ベクトルＮの方向が、カメラ座標系のＺ軸に直交する方向である場合（例えばカメラ座標系のＸ軸やＹ軸に沿った方向である場合）には、第２のテクスチャ領域Ｒ２のテクセル値が読み出されるように、リムライト用のテクスチャ座標Ｕ、Ｖが求められる。具体的には第２のテクスチャ領域Ｒ２の最外周（Ｕ＝１．０、Ｖ＝１．０、Ｕ＝０、又はＶ＝０）のテクセル値が読み出されるようにする。
【００９０】
例えば図６（Ａ）において、テクスチャ座標Ｕ、Ｖの変域を０〜１．０とし、第１のテクスチャ領域Ｒ１の中心部ＣＰの座標（０．５、０．５）すると、下式のような演算式によりテクスチャ座標Ｕ、Ｖを求める。
【００９１】
Ｕ＝（Ｎｘ＋１）／２      （１）
Ｖ＝（Ｎｙ＋１）／２      （２）
即ちその法線ベクトルＮ（Ｎｘ、Ｎｙ、Ｎｚ）が設定される頂点に対して、Ｕ＝（Ｎｘ＋１）／２、Ｖ＝（Ｎｙ＋１）／２のテクスチャ座標を設定する。なおＮｘ、Ｎｙの変域は−１．０〜１．０である。
【００９２】
このようにすれば、法線ベクトルＮの方向がカメラ座標系のＺ軸に沿った方向であり、Ｎｘ＝０、Ｎｙ＝０である場合には、テクスチャ座標はＵ＝０．５、Ｖ＝０．５になる。従って、その法線ベクトルＮ（Ｎｘ、Ｎｙ、Ｎｚ）が設定される頂点では、図６（Ａ）の第１のテクスチャ領域Ｒ１の中心部ＣＰ（０．５、０．５）のテクセル値が読み出され、最も低い輝度（＝０）に設定される。
【００９３】
一方、法線ベクトルＮの方向がＺ軸に直交する方向であり、例えばＮｘ＝１．０、Ｎｙ＝０である場合には、テクスチャ座標はＵ＝１．０、Ｖ＝０．５になる。或いはＮｘ＝０、Ｎｙ＝１．０である場合には、テクスチャ座標はＵ＝０．５、Ｖ＝１．０になる。従って、これらの法線ベクトルＮ（Ｎｘ、Ｎｙ、Ｎｚ）が設定される頂点では、図６（Ａ）の第２のテクスチャ領域Ｒ２の最外周のテクセル値が読み出されて、最も高い輝度（＝２５５）に設定される。
【００９４】
従って例えば図５（Ａ）において、法線ベクトルＮの方向が、仮想カメラＶＣの視線方向ＶＤに沿った方向（ＶＤとのなす角度が１８０度。ＶＤと反対方向）である頂点では、リムライト用テクスチャのテクセル値は例えば最小輝度になる。従って、元絵テクスチャとリムライト用テクスチャをマルチテクスチャマッピングした場合に、その頂点の色は元絵テクスチャの色だけで決まるようになり、輝度を高くするリムライト効果は付与されないようになる。
【００９５】
一方、図５（Ａ）において、法線ベクトルＮの方向が、仮想カメラＶＣの視線方向ＶＤと直交する方向（ＶＤとのなす角度が９０度）である頂点では、リムライト用テクスチャのテクセル値は例えば最大輝度になる。従って、元絵テクスチャとリムライト用テクスチャをマルチテクスチャマッピングした場合には、その頂点の色は、元絵テクスチャの色に対してリムライト用テクスチャの最大輝度値を加算した色になる。そして法線ベクトルＮの方向が視線方向ＶＤと直交する頂点は、仮想カメラＶＣから見てオブジェクトＯＢの輪郭付近に位置する頂点である。従って、この輪郭付近の頂点の元絵の色に対して、リムライト用テクスチャの最大輝度値を加算されるようになり、図６（Ｂ）に示すようにオブジェクトＯＢの輪郭にリムライト効果が付与された画像を生成できる。
【００９６】
以上の本実施形態の手法によれば、仮想カメラとオブジェクトの位置関係が変化した場合に、リムライト用のテクスチャ座標が動的に変化して計算されるため、常にオブジェクトの輪郭付近に対してリムライト効果が付加された画像を生成できる。また、この際のリムライト用のテクスチャ座標は、オブジェクトの各頂点の法線ベクトルを利用して、簡素な演算式で求めることができる。従って、例えばピクセルシェーダ機能を有しないような画像生成システムにおいても、リアルなリムライト表現を実現することが可能になる。
【００９７】
なお本実施形態の比較例の手法として、マルチテクスチャマッピングにより環境マッピングやハイライト表示を実現する手法も考えられる。しかしながら、環境マッピングは、オブジェクトに対して、周囲の環境を映り込ませる手法であり、オブジェクトの輪郭にリムライト効果を付与する手法ではない。またハイライト表示は、仮想カメラの注視点にハイライト効果を付与する手法であり、このハイライト表示もオブジェクトの輪郭にリムライト効果を付与する手法ではない。本実施形態では図６（Ａ）に示すようなリムライト用テクスチャを用いることで、これらの環境マッピングやハイライト表示では実現できなかったリムライト効果を、マルチテクスチャマッピングを利用した簡素な処理で実現することに成功している。
【００９８】
なお図６（Ａ）では、第１、第２のテクスチャ領域Ｒ１、Ｒ２の境界ＢＤの領域において、境界ＢＤに近づくにつれて輝度が高くなるように、リムライト用テクスチャＴＥＸＬの第１のテクスチャ領域Ｒ１のテクセル値を設定している。即ち、領域Ｒ１とＲ２の境界ＢＤにおいて、最小輝度（＝０）から最大輝度（＝２５５）にテクセル値が急激に変化しないように、グラディエーションをかけて輝度値を徐々に変化させる。このようにすれば、オブジェクトＯＢの輪郭付近において輝度が急激に変化することで画質が劣化してしまう事態を効果的に防止できる。
【００９９】
２．３  リムライト用テクスチャの変形例
本実施形態で使用されるリムライト用テクスチャＴＥＸＬは図６（Ａ）で説明したテクスチャに限定されず、種々の変形実施が可能である。例えばリムライト用テクスチャＴＥＸＬの第２のテクスチャ領域Ｒ２のテクセル値として設定される色情報を変更するようにしてもよい。
【０１００】
例えば図６（Ａ）では、第２のテクスチャ領域Ｒ２のテクセル値は、Ｒ、Ｇ、Ｂの全ての成分が例えば最大輝度値（Ｒ＝Ｇ＝Ｂ＝２５５）に設定されている。この場合には、オブジェクトＯＢの輪郭のリムライトは白になる。
【０１０１】
これに対して図７では、第２のテクスチャ領域Ｒ２のテクセル値は高い輝度の黄色に設定されている。このようにすれば、オブジェクトＯＢのリムライトの色を白から黄色に変更できる。従って、例えばオブジェクトの種類毎にリムライトの色を変えたり、オブジェクトが登場するゲームステージ毎にリムライトの色を変えることなどが可能になり、多様なリムライト表現を実現できる。しかも、リムライト色の変更は、リムライト用テクスチャの第２のテクスチャ領域Ｒ２の色の変更だけで済むため、簡素な処理で多様なリムライト表現を実現できる。
【０１０２】
また図８では、第１、第２のテクスチャ領域Ｒ１、Ｒ２の境界ＢＤをギザギザ状に設定している。即ちリムライト用テクスチャＴＥＸＬの円形の境界ＢＤにムラを与えている。
【０１０３】
このようにすれば、図８に示すように、オブジェクトＯＢの輪郭のリムライト領域の形状にもムラが付与されて、多様な画像表現を実現できる。またオブジェクトＯＢの輪郭における光の回り込み具合が、輪郭の各場所において異なって見えるようになり、よりリアルなリムライト表現を実現できる。
【０１０４】
このように本実施形態では、リムライト用テクスチャの色や境界の形状を変更するだけで、多様な表現を実現できるという利点がある。即ち、リムライトの見た目の調整を、リムライト用テクスチャの修正だけで実現できるという利点がある。
【０１０５】
例えばピクセルシェーダを用いたリムライト処理では、リムライト色の変更やリムライト領域のムラ表現を実現するためには、別のシェーダプログラム等を用意する必要があったり、処理が繁雑化するなどの課題がある。
【０１０６】
これに対して本実施形態の手法では、図７、図８に示すようにリムライト用テクスチャに修正を加えるだけで、リムライト色の変更やリムライト領域のムラ表現を実現できる。例えば、ゲームに登場するオブジェクトの種類や、オブジェクトが登場するゲームステージや、オブジェクトについて発生するゲームイベントなどのゲーム状況に応じて、リムライト色を変更したり、リムライト領域のムラ具合を変更することが可能になる。従って、ピクセルシェーダ等を用いる手法に比べて、多様なリムライト表現を簡素な処理で実現できるという利点がある。
【０１０７】
２．４  光源との方向関係や光源色を反映させたリムライト
本実施形態によれば、光源との方向関係や光源色を反映させたリムライト表現を実現できる。
【０１０８】
例えば図９（Ａ）では、オブジェクト空間内（ワールド空間内）に対して光源ＬＳが配置設定されている。この光源ＬＳは、例えばゲームのキャラクタ等を照明するために用意された光源であってもよいし、リムライト専用に用意された光源であってもよい。
【０１０９】
そして本実施形態では、仮想カメラＶＣの視線方向ＶＤと光源ＬＳの光源方向ＬＤとのなす角度（広義には方向関係、狭義には内積）に基づいて、リムライトの輝度（強さ）を変更する。
【０１１０】
例えば図９（Ａ）では視線方向ＶＤと光源方向ＬＤのなす角度は１８０度前後になっており、この場合にはリムライトの輝度（強さ）を強くする。これにより図９（Ｂ）に示すように、オブジェクトＯＢの輪郭に対して強い輝度のリムライトが付与された画像を生成できる。即ち、リムライトとなる光源ＬＳの光がオブジェクトＯＢの輪郭に強く回り込んだ様子を表現できる。
【０１１１】
一方、図１０（Ａ）では視線方向ＶＤと光源方向ＬＤのなす角度は１８０よりも小さくなっており、この場合にはリムライトの輝度を図９（Ａ）に比べて弱くする。これにより図１０（Ｂ）に示すように、オブジェクトＯＢの輪郭に対して弱い輝度のリムライトが付与された画像を生成できる。即ち、リムライトとなる光源ＬＳの光が弱く回り込んだ様子を表現できる。
【０１１２】
このように視線方向ＶＤと光源方向ＬＤの方向関係に応じてリムライト効果の輝度を変更すれば、仮想カメラＶＣの見る角度や、光源ＬＳとの位置関係に応じて、オブジェクトＯＢの輪郭に付与されるリムライトの輝度（強さ）が動的に変化するようになり、よりリアルで仮想現実感のある表現を実現できる。
【０１１３】
次に、このようなリムライト効果の輝度の変更処理の具体例について図１１（Ａ）〜図１１（Ｃ）を用いて説明する。
【０１１４】
例えば図１１（Ａ）では、仮想カメラＶＣの視線方向ＶＤと、光源ＬＳの光源方向ＬＤとのなす角度θに対応する内積ｃｏｓθが求められる（ＶＤ、ＬＤは単位ベクトルとする）。そしてこの内積ｃｏｓθに基づいてα値であるα＝Ｆ（ｃｏｓθ）を求める。
【０１１５】
ここでＦ（ｃｏｓθ）はｃｏｓθを引数とする関数である。例えばθ＝１８０度で、ｃｏｓθ＝−１の場合に、α＝Ｆ（ｃｏｓθ）は最大値（例えば１．０）になり、θが１８０度よりも小さくなるにつれて、α＝Ｆ（ｃｏｓθ）は最大値よりも小さくなる。
【０１１６】
そして、まず図１１（Ｂ）に示すように、元絵テクスチャＴＥＸＡがマッピングされるオブジェクトＯＢを描画バッファ１７６の描画領域に描画する。
【０１１７】
次に、ＶＤとＬＤの方向関係により求められたα＝Ｆ（ｃｏｓθ）を用いたαブレンディングにより、元絵テクスチャＴＥＸＡがマッピングされるオブジェクトＯＢの描画領域に対して、図１１（Ｃ）に示すようなリムライト用テクスチャがマッピングされるオブジェクトＯＢを描画する。これにより、オブジェクトＯＢの輪郭領域において、元絵テクスチャＴＥＸＡの色（テクセル値）とリムライト用テクスチャの色（テクセル値）が、α＝Ｆ（ｃｏｓθ）でαブレンディングされて、図９（Ｂ）や図１０（Ｂ）に示すような画像が生成されるようになる。
【０１１８】
例えば元絵テクスチャの色（ディスティネーション色）をＣｄｓｔとし、リムライト用テクスチャの色（ソース色）をＣｓｒｃとし、αブレンディング後の最終的な色をＣｒとすると、例えば下式に示すようなαブレンディングを行う。
【０１１９】
Ｃｒ＝Ｃｄｓｔ＋α×Ｃｓｒｃ      （３）
このようにすれば、仮想カメラＶＣの視線方向ＶＤと光源方向ＬＤが図９（Ａ）のような関係である場合には、α＝Ｆ（ｃｏｓθ）が最大値に設定されるため、リムライト用テクスチャの色Ｃｓｒｃのブレンディングの割合が強くなる。従って、図９（Ｂ）に示すように、オブジェクトＯＢの輪郭に対して強い輝度のリムライト効果が付与された画像が生成されるようになる。
【０１２０】
一方、仮想カメラＶＣの視線方向ＶＤと光源方向ＬＤが図１０（Ａ）のような関係である場合には、α＝Ｆ（ｃｏｓθ）が最大値よりも小さくなるため、リムライト用テクスチャの色Ｃｓｒｃのブレンディングの割合が弱くなる。従って、図１０（Ｂ）に示すように、オブジェクトＯＢの輪郭に対して弱い輝度のリムライト効果が付与された画像が生成されるようになる。
【０１２１】
更に本実施形態では、このような光源方向ＬＤのみならず、光源色も反映させたリムライト処理を実現してもよい。例えばオブジェクト空間に設定された光源ＬＳの色に応じて、オブジェクトＯＢの輪郭に付与されるリムライト効果の色を変更する。具体的には、元絵テクスチャの色をＣｄｓｔとし、リムライト用テクスチャの色をＣｓｒｃとし、光源の色をＣｌｓとした場合に、例えば下式に示すようなαブレンディングを行う。
【０１２２】
Ｃｒ＝Ｃｄｓｔ＋α×Ｃｌｓ×Ｃｓｒｃ      （４）
このようにすれば、αブレンディング後の色Ｃｒには光源色Ｃｌｓも反映されるようになるため、光源色Ｃｌｓに応じて、オブジェクトＯＢの輪郭に付与されるリムライトの色も変化する。従って、光源ＬＳの色の光がオブジェクトＯＢの輪郭に回り込む様子をリアルに表現でき、プレーヤの仮想現実感を更に向上できる。
【０１２３】
なお、光源色を反映させたリムライト処理は、αブレンディングを利用する処理には限定されない。例えば図１２では、複数のリムライト用テクスチャの中から、光源色に対応するテクスチャを選択することで、光源色を反映させたリムライト処理を実現して、リムライト効果の色が変更された画像を生成している。
【０１２４】
具体的には図１２では、朝のゲームステージ、昼間のゲームステージ、夕方のゲームステージのリムライト用テクスチャとして、各々、テクスチャＴＥＸＬ１、ＴＥＸＬ２、ＴＥＸＬ３を用意する。即ちこれらの複数のリムライト用テクスチャＴＥＸＬ１、ＴＥＸＬ２、ＴＥＸＬ３をテクスチャ記憶部１７４に記憶しておく。
【０１２５】
そして、リムライト用テクスチャＴＥＸＬ１では、第２のテクスチャ領域のテクセル値として、例えば朝の光源（太陽）の色に対応する青の色情報が設定されている。このようにすれば、例えば朝のゲームステージでは、キャラクタ等のオブジェクトの輪郭に対して、朝の青い光が回り込んだように見えるリムライト効果を実現できる。
【０１２６】
またリムライト用テクスチャＴＥＸＬ２では、第２のテクスチャ領域のテクセル値として、例えば昼間の光源の色に対応する白の色情報が設定されている。このようにすれば、例えば昼間のゲームステージでは、キャラクタ等のオブジェクトの輪郭に対して、昼間の太陽の強い輝度の白い光が回り込んだように見えるリムライト効果を実現できる。
【０１２７】
またリムライト用テクスチャＴＥＸＬ３では、第２のテクスチャ領域のテクセル値として、例えば夕方の光源の色に対応する赤の色情報が設定されている。このようにすれば、例えば夕方のゲームステージでは、キャラクタ等のオブジェクトの輪郭に対して、夕方の夕日の赤い光が回り込んだように見えるリムライト効果を実現できる。
【０１２８】
このように図１２の手法によれば、光源の色に対応した複数のリムライト用テクスチャとして、第２のテクスチャ領域の色情報が異なる複数のテクスチャを用意する。そしてこれらのリムライト用テクスチャの中から、ゲームステージ等のゲーム状況に応じたテクスチャを選択して、オブジェクトにマッピングする。こうすることで、ゲームステージ等のゲーム状況に応じた色のリムライト効果を、オブジェクトの輪郭に施すことが可能になる。なお図１２のようなテクスチャの差し替えではなく、リムライト用テクスチャの第２のテクスチャ領域の色情報を、ゲームステージ等のゲーム状況に応じてリアルタイムに書き換える手法を採用することも可能である。
【０１２９】
図１３（Ａ）では、オブジェクトへのリムライト用テクスチャ（及び元絵テクスチャ）のマッピングを、インデックスカラー・テクスチャマッピング方式で行う。
【０１３０】
このインデックスカラー・テクスチャマッピングでは、テクスチャ記憶部１７４の使用記憶容量を節約するために、リムライト用テクスチャＴＥＸＬの各テクセルには、ＲＧＢの色情報（輝度情報）ではなく、インデックス番号が記憶される。そしてインデックスカラー・テクスチャマッピング用のルックアップテーブルＬＵＴには、リムライト用テクスチャＴＥＸＬの各テクセルのインデックス番号（ＩＮＤＥＸ）により指定される色情報（ＲＯＵＴ、ＧＯＵＴ、ＢＯＵＴ）が記憶される。
【０１３１】
そしてオブジェクトＯＢに対してテクスチャマッピングを行う際には、リムライト用テクスチャＴＥＸＬの各テクセルのインデックス番号（ＩＮＤＥＸ）に基づいてルックアップテーブルＬＵＴを参照し、インデックス番号に関連づけられた色情報（ＲＯＵＴ、ＧＯＵＴ、ＢＯＵＴ）を読み出す。そして、読み出された色情報を描画バッファ１７６（描画領域）に描画する。
【０１３２】
このインデックスカラー・テクスチャマッピングでは、ルックアップテーブルＬＵＴを用いない通常のテクスチャマッピングに比べて、使用できる色数は少なくなる。しかしながら、リムライト用テクスチャＴＥＸＬとして、実際の色情報を記憶する必要がないため、テクスチャ記憶部１７４の使用記憶容量を減らすことが可能になる。
【０１３３】
そして図１３（Ｂ）では、インデックスカラー・テクスチャマッピング用のルックアップテーブルとして複数のルックアップテーブルＬＵＴＢ、ＬＵＴＷ、ＬＵＴＲを用意する。そしてこれらの複数のルックアップテーブルＬＵＴＢ、ＬＵＴＷ、ＬＵＴＲの中から、光源の色に対応するルックアップテーブルを選択することで、リムライト効果の色が変更された画像を生成する。
【０１３４】
具体的にはリムライト用テクスチャＴＥＬＸとしては、例えば第１のテクスチャ領域のテクセルに対して第１のインデック番号ＩＮＤＥＸ１が設定され、第２のテクスチャ領域のテクセルに対して第２のインデックス番号ＩＮＤＥＸ２が設定されるテクスチャを用意する。なお第１、第２のテクスチャ領域の境界領域では、輝度のグラディエーションを実現するために、第１、第２のインデックス番号ＩＮＤＥＸ１、ＩＮＤＥＸ２とは異なるインデックス番号（例えばＩＮＤＥＸ１とＩＮＤＥＸ２の間の番号）を設定する。
【０１３５】
そして図１３（Ｂ）に示すように、インデックスカラー・テクスチャマッピング用のルックアップテーブルとして、朝のゲームステージ用のルックアップテーブルＬＵＴＢ、昼間のゲームステージ用のルックアップテーブルＬＵＴＷ、夕方のゲームステージ用のルックアップテーブルＬＵＴＲを用意する。即ちこれらのルックアップテーブルＬＵＴＢ、ＬＵＴＷ、ＬＵＴＲを記憶部１７０に記憶しておく。
【０１３６】
例えば朝のゲームステージ用のルックアップテーブルＬＵＴＢでは、リムライト用テクスチャＴＥＸＬの第２のテクスチャ領域のテクセルに設定されるインデックス番号（ＩＮＤＥＸ２）が、朝の光源の色である青を指定する番号に設定されている。従って、ルックアップテーブルＬＵＴＢを用いたインデックスカラー・テクスチャマッピングをオブジェクトＯＢに対して行うことで、オブジェクトＯＢの輪郭に青のリムライト効果が付与された画像が生成されるようになる。
【０１３７】
また昼間のゲームステージ用のルックアップテーブルＬＵＴＷでは、第２のテクスチャ領域のインデックス番号が、昼間の光源の色である白を指定する番号に設定されている。従って、ルックアップテーブルＬＵＴＷを用いたインデックスカラー・テクスチャマッピングをオブジェクトＯＢに対して行うことで、オブジェクトＯＢの輪郭に白のリムライト効果が付与された画像が生成されるようになる。
【０１３８】
また夕方のゲームステージ用のルックアップテーブルＬＵＴＲでは、第２のテクスチャ領域のインデックス番号が、夕方の光源の色である赤を指定する番号に設定されている。従って、ルックアップテーブルＬＵＴＲを用いたインデックスカラー・テクスチャマッピングをオブジェクトＯＢに対して行うことで、オブジェクトＯＢの輪郭に赤のリムライト効果が付与された画像が生成されるようになる。
【０１３９】
以上の図１３（Ａ）、図１３（Ｂ）の手法では、ルックアップテーブルＬＵＴＢ、ＬＵＴＷ、ＬＵＴＲを用いたインデックスカラー・テクスチャマッピングを行うことで、図１２のようなテクスチャ差し替え手法と同様に、光源の色に対応する色のリムライト効果をオブジェクトＯＢの輪郭に施すことが可能になる。
【０１４０】
そして、図１３（Ａ）、図１３（Ｂ）のようにインデックスカラー・テクスチャマッピングを利用した手法では、図１２のような複数のリムライト用テクスチャをテクスチャ記憶部１７４に記憶しなくても済む。そしてルックアップテーブルの使用記憶容量はリムライト用テクスチャに比べて少ないため、使用記憶容量の節約を図れる。
【０１４１】
また、リムライト効果の色を変更する処理は、第２のテクスチャ領域のインデックス番号（ＩＮＤＥＸ２）と色情報との対応付けが異なる複数のルックアップテーブルを用意するだけで済むため、リムライト処理やリムライト効果のデザイン作業を簡素化できるという利点もある。
【０１４２】
なお、以上では、リムライト効果の色を変更するゲーム状況の例として、オブジェクトが登場するゲームステージについて主に説明したが、本実施形態はこれに限定されない。例えばゲームに複数種類のオブジェクトが登場する場合に、そのオブジェクトの種類に応じて、図１２（Ａ）〜図１３（Ｂ）等の手法を用いてリムライト効果の色を変更してもよい。例えば第１のオブジェクトではリムライト効果の色を第１の色に設定し、第２のオブジェクトではリムライト効果の色を第２の色に設定する。この場合に、第１、第２のオブジェクトのリムライト効果の色を、これらの第１、第２のオブジェクトが登場するゲームステージに応じて更に変更してもよい。
【０１４３】
ここでゲームステージは、ゲームのクリア条件の達成により次の一連のゲーム場面（ゲーム画面）が現れる形式のゲームにおけるクリアの都度に現れる新しい一連のゲーム場面（ゲーム画面）である。そしてゲームステージに応じてリムライト効果の色を変更する場合には、ゲームステージに配置設定される光源の色や、ゲームステージに設定される時間帯（朝のゲームステージ、昼間のゲームステージ等）や、ゲームステージが設定される場所の情報に基づいて、オブジェクトのリムライト効果の色を変更すればよい。
【０１４４】
またオブジェクトが登場するゲームで発生するゲームイベントに応じて、オブジェクトのリムライト効果の色を変更してもよい。ここでゲームイベントとしては、ヒットイベント、発射イベント、消滅イベント、衝突イベント、墜落イベント、爆発イベント、燃焼イベント、光照射イベント、敵ボスの登場イベント、オブジェクト生成イベント、オブジェクト変形イベント、アイテム取得イベント、ゲームスコア更新イベント、ゲームパラメータ更新イベント、或いは仮想カメラ変更イベント等の種々のイベントを想定できる。なお、イベントは、プログラミングにおいて一般に用いられる事象の意味である。
【０１４５】
また例えばオブジェクトがゲームに登場するキャラクタである場合には、ゲーム状況としてキャラクタのステータスパラメータに応じて、リムライト効果の色や境界の形状等を変更してもよい。ここでキャラクタのステータスパラメータは、キャラクタの状態（体力、耐久度、抵抗力、守備力、戦力パラメータ、武器量、攻撃力、ヒットポイント、マジックポイント、アイテム量等のステータス）を量的、質的に表す変数（パラメータ）であり、ゲーム処理における各種の判断（ゲーム進行の判断、ゲーム結果の判断等）の材料に使用されるものである。
【０１４６】
３．詳細な処理
次に本実施形態の詳細な処理例について図１４のフローチャートを用いて説明する。
【０１４７】
まずゲームステージの光源情報を取得する（例えばステップＳ１）。例えばそのゲームステージに配置設定される光源の光源方向や光源色を取得する。この光源はそのゲームステージの主光源（平行光源）であってもよいし、リムライト専用の光源であってもよい。
【０１４８】
次に、元絵テクスチャと、ステップＳ１で取得された光源の色に対応するリムライト用テクスチャを用意する（ステップＳ２）。例えば図１２で説明したように複数のリムライト用テクスチャの中から、そのゲームステージの光源色に対応するテクスチャを選択する。なお図１３（Ａ）のようにインデックスカラー・テクスチャマッピングを行う場合には、図１３（Ｂ）に示すような複数のリムライト用ルックアップテーブルの中から、そのゲームステージの光源色に対応するルックアップテーブルを選択すればよい。
【０１４９】
次に、オブジェクトのジオメトリ処理を行う（ステップＳ３）。具体的には、オブジェクトの座標変換処理、クリッピング処理、透視変換処理などを行う。そしてジオメトリ処理後（透視変換処理後）のオブジェクトデータは、記憶部１７０に保存される。
【０１５０】
次に、ステップＳ３で得られたジオメトリ処理後のオブジェクトデータと、ステップＳ２で用意された元絵テクスチャとに基づいて、図２（Ａ）、図２（Ｂ）に示すように描画バッファ１７６にオブジェクトを描画する（ステップＳ４）。即ち元絵テクスチャがマッピングされたオブジェクトを描画する。
【０１５１】
次に、保存されているジオメトリ処理後のオブジェクトデータの各頂点の法線ベクトルの情報に基づいて、図５（Ａ）、図５（Ｂ）で説明したようにリムライト用のテクスチャ座標を求め、求められたテクスチャ座標をオブジェクトの各頂点に設定する（ステップＳ５）。例えば、記憶部１７０に保存されているジオメトリ処理後のオブジェクトデータの頂点に設定される元絵用のテクスチャ座標に対して、リムライト用のテクスチャ座標を上書きする。
【０１５２】
次に図１１（Ａ）で説明したように、仮想カメラの視線方向と光源の方向に基づいてα値を求める（ステップＳ６）。そして、図１１（Ｂ）、図１１（Ｃ）で説明したいように、求められたα値と、ジオメトリ処理後のオブジェクトデータと、リムライト用テクスチャに基づいて、描画バッファにオブジェクトを描画する（ステップＳ７）。即ち、リムライト用テクスチャがマッピングされたオブジェクトをαブレンディングで描画する。これにより図９（Ｂ）、図１０（Ｂ）に示すようなオブジェクトの輪郭にリムライト効果が付与された画像が生成される。
【０１５３】
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語（方向関係、第１、第２、第３の座標軸等）と共に記載された用語（角度、Ｘ軸、Ｙ軸、Ｚ軸等）は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また、画像生成処理、テクスチャマッピング処理、テクスチャ座標演算処理、色情報変更処理、αブレンド処理等も本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。また本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレイヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【符号の説明】
【０１５４】
１００  処理部、１０２  ゲーム演算部、１０４  オブジェクト空間設定部、
１０６  移動体演算部、１０８  テクスチャ座標演算部、１２０  画像生成部、
１２２  テクスチャマッピング部、１３０  音生成部、１６０  操作部、
１７０  記憶部、１７２  オブジェクトデータ記憶部、１７４  テクスチャ記憶部、
１７６  描画バッファ、１８０  情報記憶媒体、１９０  表示部、１９２  音出力部、
１９４  補助記憶装置、１９６  通信部
【図１】
2010277407.tif 000003
【図１４】
2010277407.tif 000004
【図２】
2010277407.tif 000005
【図３】
2010277407.tif 000006
【図４】
2010277407.tif 000007
【図５】
2010277407.tif 000008
【図６】
2010277407.tif 000009
【図７】
2010277407.tif 000010
【図８】
2010277407.tif 000011
【図９】
2010277407.tif 000012
【図１０】
2010277407.tif 000013
【図１１】
2010277407.tif 000014
【図１２】
2010277407.tif 000015
【図１３】
2010277407.tif 000016