(57)【要約】【課題】スペキュラやディフューズについての質感表現を向上できるプログラム、情報記憶媒体及び画像生成システムの提供。【解決手段】画像生成システムは、スペキュラ用法線摂動成分によりその向きが摂動されるスペキュラ用法線ベクトルを求めるスペキュラ用法線ベクトル取得部と、ディフューズ用法線摂動成分によりその向きが摂動されるディフューズ用法線ベクトルを求めるディフューズ用法線ベクトル取得部と、スペキュラ用法線ベクトルに基づいてオブジェクトのスペキュラ色を求め、ディフューズ用法線ベクトルに基づいてオブジェクトのディフューズ色を求め、ディフューズ色、スペキュラ色に基づいてオブジェクトの色を求めることで、照明モデルに基づくオブジェクトのライティング処理を行うライティング処理部を含む。【選択図】図９
2008077409.tif 000002
【特許請求の範囲】
【請求項１】
スペキュラ用法線摂動成分によりその向きが摂動されるスペキュラ用法線ベクトルを求めるスペキュラ用法線ベクトル取得部と、
ディフューズ用法線摂動成分によりその向きが摂動されるディフューズ用法線ベクトルを求めるディフューズ用法線ベクトル取得部と、
求められた前記スペキュラ用法線ベクトルに基づいてオブジェクトのスペキュラ色を求め、求められた前記ディフューズ用法線ベクトルに基づいてオブジェクトのディフューズ色を求め、前記ディフューズ色、前記スペキュラ色に基づいてオブジェクトの色を求めることで、照明モデルに基づくオブジェクトのライティング処理を行うライティング処理部として、
コンピュータを機能させることを特徴とするプログラム。
【請求項２】
請求項１において、
前記ライティング処理部は、
光源ベクトルと、仮想カメラの視線ベクトルと、前記スペキュラ用法線ベクトルに基づいて、オブジェクトの前記スペキュラ色を求め、前記光源ベクトルと、前記ディフューズ用法線ベクトルに基づいて、オブジェクトの前記ディフューズ色を求めることを特徴とするプログラム。
【請求項３】
請求項１又は２において、
オブジェクトの法線ベクトル情報に基づいて、オブジェクトの基本法線ベクトルを求める基本法線ベクトル取得部として、
コンピュータを機能させ、
前記スペキュラ用法線ベクトル取得部は、
前記基本法線ベクトルと前記スペキュラ用法線摂動成分に基づいて、前記スペキュラ用法線ベクトルを求め、
前記ディフューズ用法線ベクトル取得部は、
前記基本法線ベクトルと前記ディフューズ用法線摂動成分に基づいて、前記ディフューズ用法線ベクトルを求めることを特徴とするプログラム。
【請求項４】
請求項３において、
前記基本法線ベクトル取得部は、
オブジェクトの頂点に設定される頂点法線ベクトルと、オブジェクトにマッピングされる法線テクスチャに基づいて、前記基本法線ベクトルを求めることを特徴とするプログラム。
【請求項５】
請求項１乃至４のいずれかにおいて、
基本法線摂動成分を求める基本法線摂動成分取得部として、
コンピュータを機能させ、
前記スペキュラ用法線ベクトル取得部は、
前記基本法線摂動成分に基づき前記スペキュラ用法線摂動成分を求めて、前記スペキュラ用法線ベクトルを求め、
前記ディフューズ用法線ベクトル取得部は、
前記基本法線摂動成分に基づき前記ディフューズ用法線摂動成分を求めて、前記ディフューズ用法線ベクトルを求めることを特徴とするプログラム。
【請求項６】
請求項５において、
前記スペキュラ用法線ベクトル取得部は、
前記基本法線摂動成分をＮＲとし、法線摂動成分の割合パラメータをβとした場合に、β×ＮＲに応じた前記スペキュラ用法線摂動成分を求めて、前記スペキュラ用法線ベクトルを求め、
前記ディフューズ用法線ベクトル取得部は、
（１−β）×ＮＲに応じた前記ディフューズ用法線摂動成分を求めて、前記ディフューズ用法線ベクトルを求めることを特徴とするプログラム。
【請求項７】
請求項６において、
前記スペキュラ用法線ベクトル取得部は、
法線摂動成分の強さパラメータをＣＰとした場合に、ＮＲＳ＝ＣＰ×β×ＮＲの演算式により前記スペキュラ用法線摂動成分ＮＲＳを求めて、前記スペキュラ用法線ベクトルを求め、
前記ディフューズ用法線ベクトル取得部は、
ＮＲＤ＝ＣＰ×（１−β）×ＮＲの演算式により前記ディフューズ用法線摂動成分ＮＲＤを求めて、前記ディフューズ用法線ベクトルを求めることを特徴とするプログラム。
【請求項８】
請求項５乃至７のいずれかにおいて、
前記基本法線摂動成分取得部は、
テクスチャを繰り返しマッピングするリピートモードにテクスチャラッピングモードを設定して、各テクセルに摂動成分が設定された摂動成分テクスチャのテクスチャマッピングを行うことで、前記基本法線摂動成分を求めることを特徴とするプログラム。
【請求項９】
請求項８において、
前記基本法線摂動成分取得部は、
倍率パラメータをＰ１、Ｐ２とした場合に、Ｕ’＝Ｐ１×Ｕ、Ｖ’＝Ｐ２×Ｖの変換式によりテクスチャ座標変換を行って、前記摂動成分テクスチャのテクスチャマッピングを行うことで、前記基本法線摂動成分を求めることを特徴とするプログラム。
【請求項１０】
請求項９において、
前記基本法線摂動成分取得部は、
前記倍率パラメータＰ１、Ｐ２を互いに異なる値に設定して、テクスチャ座標変換を行うことを特徴とするプログラム。
【請求項１１】
請求項１乃至７のいずれかにおいて、
前記スペキュラ用法線ベクトル取得部は、
テクスチャを繰り返しマッピングするリピートモードにテクスチャラッピングモードを設定して、各テクセルにスペキュラ用摂動成分が設定されたスペキュラ用摂動成分テクスチャのテクスチャマッピングを行うことで、前記スペキュラ用法線摂動成分を求め、
前記ディフューズ用法線ベクトル取得部は、
前記リピートモードに前記テクスチャラッピングモードを設定して、各テクセルにディフューズ用摂動成分が設定されたディフューズ用摂動成分テクスチャのテクスチャマッピングを行うことで、前記ディフューズ用法線摂動成分を求めることを特徴とするプログラム。
【請求項１２】
請求項１１において、
前記スペキュラ用法線ベクトル取得部は、
倍率パラメータをＰＳ１、ＰＳ２とした場合に、Ｕ’＝ＰＳ１×Ｕ、Ｖ’＝ＰＳ２×Ｖの変換式によりテクスチャ座標変換を行って、前記スペキュラ用摂動成分テクスチャのテクスチャマッピングを行うことで、前記スペキュラ用法線摂動成分を求め、
前記ディフューズ用法線ベクトル取得部は、
倍率パラメータをＰＤ１、ＰＤ２とした場合に、Ｕ’＝ＰＤ１×Ｕ、Ｖ’＝ＰＤ２×Ｖの変換式によりテクスチャ座標変換を行って、前記ディフューズ用摂動成分テクスチャのテクスチャマッピングを行うことで、前記ディフューズ用法線摂動成分を求めることを特徴とするプログラム。
【請求項１３】
オブジェクトの法線ベクトル情報に基づいて、オブジェクトの基本法線ベクトルＮＢを求める基本法線ベクトル取得部と、
基本法線摂動成分ＮＲを求める基本法線摂動成分取得部と、
法線摂動成分の強さパラメータをＣＰとし、法線摂動成分の割合パラメータをβとした場合に、ＮＲＳ＝ＣＰ×β×ＮＲの演算式によりスペキュラ用法線摂動成分ＮＲＳを求めて、スペキュラ用法線ベクトルＮＳ＝ＮＢ＋ＮＲＳ＝ＮＢ＋ＣＰ×β×ＮＲを求めるスペキュラ用法線ベクトル取得部と、
ＮＲＤ＝ＣＰ×（１−β）×ＮＲの演算式によりディフューズ用法線摂動成分ＮＲＤを求めて、ディフューズ用法線ベクトルＮＤ＝ＮＢ＋ＮＲＤ＝ＮＢ＋ＣＰ×（１−β）×ＮＲを求めるディフューズ用法線ベクトル取得部と、
求められた前記スペキュラ用法線ベクトルＮＳに基づいてオブジェクトのスペキュラ色を求め、求められた前記ディフューズ用法線ベクトルＮＤに基づいてオブジェクトのディフューズ色を求め、前記ディフューズ色、前記スペキュラ色に基づいてオブジェクトの色を求めることで、照明モデルに基づくオブジェクトのライティング処理を行うライティング処理部として、
コンピュータを機能させることを特徴とするプログラム。
【請求項１４】
請求項１３において、
前記基本法線摂動成分取得部は、
テクスチャを繰り返しマッピングするリピートモードにテクスチャラッピングモードを設定して、各テクセルに摂動成分が設定された摂動成分テクスチャのテクスチャマッピングを行うことで、前記基本法線摂動成分を求めることを特徴とするプログラム。
【請求項１５】
コンピュータ読み取り可能な情報記憶媒体であって、請求項１乃至１４のいずれかに記載のプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項１６】
画像を生成する画像生成システムであって、
スペキュラ用法線摂動成分によりその向きが摂動されるスペキュラ用法線ベクトルを求めるスペキュラ用法線ベクトル取得部と、
ディフューズ用法線摂動成分によりその向きが摂動されるディフューズ用法線ベクトルを求めるディフューズ用法線ベクトル取得部と、
求められた前記スペキュラ用法線ベクトルに基づいてオブジェクトのスペキュラ色を求め、求められた前記ディフューズ用法線ベクトルに基づいてオブジェクトのディフューズ色を求め、前記ディフューズ色、前記スペキュラ色に基づいてオブジェクトの色を求めることで、照明モデルに基づくオブジェクトのライティング処理を行うライティング処理部とを含むことを特徴とする画像生成システム。
【請求項１７】
画像を生成する画像生成システムであって、
オブジェクトの法線ベクトル情報に基づいて、オブジェクトの基本法線ベクトルＮＢを求める基本法線ベクトル取得部と、
基本法線摂動成分ＮＲを求める基本法線摂動成分取得部と、
法線摂動成分の強さパラメータをＣＰとし、法線摂動成分の割合パラメータをβとした場合に、ＮＲＳ＝ＣＰ×β×ＮＲの演算式によりスペキュラ用法線摂動成分ＮＲＳを求めて、スペキュラ用法線ベクトルＮＳ＝ＮＢ＋ＮＲＳ＝ＮＢ＋ＣＰ×β×ＮＲを求めるスペキュラ用法線ベクトル取得部と、
ＮＲＤ＝ＣＰ×（１−β）×ＮＲの演算式によりディフューズ用法線摂動成分ＮＲＤを求めて、ディフューズ用法線ベクトルＮＤ＝ＮＢ＋ＮＲＤ＝ＮＢ＋ＣＰ×（１−β）×ＮＲを求めるディフューズ用法線ベクトル取得部と、
求められた前記スペキュラ用法線ベクトルＮＳに基づいてオブジェクトのスペキュラ色を求め、求められた前記ディフューズ用法線ベクトルＮＤに基づいてオブジェクトのディフューズ色を求め、前記ディフューズ色、前記スペキュラ色に基づいてオブジェクトの色を求めることで、照明モデルに基づくオブジェクトのライティング処理を行うライティング処理部とを含むことを特徴とする画像生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体及び画像生成システムに関する。
【背景技術】
【０００２】
従来より、車、キャラクタ、戦闘機などの移動体のオブジェクトが配置設定されるオブジェクト空間内（仮想的な３次元空間）において仮想カメラ（所与の視点）から見える画像を生成する画像生成システム（ゲームシステム）が知られており、いわゆる仮想現実を体験できるものとして人気が高い。レースゲームを楽しむことができる画像生成システムを例にとれば、プレーヤは、ゲームコントローラなどの操作部を用いて自車を操作し、他のプレーヤが操作する他車と競争することでゲームを楽しむ。
【０００３】
このようなレースゲームでは、レースカーの車体の質感についてもリアルに表現できることが望ましい。例えば車体に塗られたワックスのスペキュラ反射のみならず、車体の金属や塗装の乱反射による質感についても表現できることが望ましい。
【０００４】
しかしながら、これまでの画像生成システムでは、このような車体の質感のディテールの表現が不十分であった。このため、例えば仮想カメラがレースカーに接近した場合などに、リアルな画像を生成することが難しかった。
【特許文献１】特開２００１−１６０１５１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、スペキュラやディフューズについての質感表現を向上できるプログラム、情報記憶媒体及び画像生成システムを提供することにある。
【課題を解決するための手段】
【０００６】
本発明は、画像を生成する画像生成システムであって、スペキュラ用法線摂動成分によりその向きが摂動されるスペキュラ用法線ベクトルを求めるスペキュラ用法線ベクトル取得部と、ディフューズ用法線摂動成分によりその向きが摂動されるディフューズ用法線ベクトルを求めるディフューズ用法線ベクトル取得部と、求められた前記スペキュラ用法線ベクトルに基づいてオブジェクトのスペキュラ色を求め、求められた前記ディフューズ用法線ベクトルに基づいてオブジェクトのディフューズ色を求め、前記ディフューズ色、前記スペキュラ色に基づいてオブジェクトの色を求めることで、照明モデルに基づくオブジェクトのライティング処理を行うライティング処理部とを含む画像生成システムに関係する。また本発明は、上記各部として画像生成システムを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。
【０００７】
本発明によれば、スペキュラ用法線摂動成分によりその向きが摂動されるスペキュラ用法線ベクトルを求められ、スペキュラ用法線ベクトルに基づいてオブジェクトのスペキュラ色を求められる。またディフューズ用法線摂動成分によりその向きが摂動されるディフューズ用法線ベクトルを求められ、ディフューズ用法線ベクトルに基づいてオブジェクトのディフューズ色を求められる。そして求められたスペキュラ色とディフューズ色に基づいてオブジェクトの色が求められる。このように本発明では、スペキュラ用法線ベクトルとディフューズ用法線ベクトルというように、別々の法線ベクトルを用いて、スペキュラ色、ディフューズ色が求められる。従って、スペキュラ用法線ベクトルの摂動成分と、ディフューズ用法線ベクトルの摂動成分を別々に制御することが可能になるため、スペキュラやディフューズについての質感表現を向上できる。
【０００８】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記ライティング処理部は、光源ベクトルと、仮想カメラの視線ベクトルと、前記スペキュラ用法線ベクトルに基づいて、オブジェクトの前記スペキュラ色を求め、前記光源ベクトルと、前記ディフューズ用法線ベクトルに基づいて、オブジェクトの前記ディフューズ色を求めるようにしてもよい。
【０００９】
このようにすれば、照明モデルによりスペキュラ色を求める際と、照明モデルによりディフューズ色を求める際とで、異なる法線ベクトルを使用できるようになるため、ライティング処理による多様な画像表現が可能になる。
【００１０】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、オブジェクトの法線ベクトル情報に基づいて、オブジェクトの基本法線ベクトルを求める基本法線ベクトル取得部を含み（基本法線ベクトル取得部としてコンピュータを機能させ）、前記スペキュラ用法線ベクトル取得部は、前記基本法線ベクトルと前記スペキュラ用法線摂動成分に基づいて、前記スペキュラ用法線ベクトルを求め、前記ディフューズ用法線ベクトル取得部は、前記基本法線ベクトルと前記ディフューズ用法線摂動成分に基づいて、前記ディフューズ用法線ベクトルを求めるようにしてもよい。
【００１１】
このようにすれば、スペキュラ用法線ベクトル、ディフューズ用法線ベクトルに、オブジェクトの法線ベクトル情報を反映させることが可能になり、画像のリアル度を増すことができる。
【００１２】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記基本法線ベクトル取得部は、オブジェクトの頂点に設定される頂点法線ベクトルと、オブジェクトにマッピングされる法線テクスチャに基づいて、前記基本法線ベクトルを求めるようにしてもよい。
【００１３】
このようにすれば、例えばオブジェクトの法線ベクトル情報や法線テクスチャが反映された基本法線ベクトルの取得が可能になる。
【００１４】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、基本法線摂動成分を求める基本法線摂動成分取得部とを含み（基本法線摂動成分取得部としてコンピュータを機能させ）、前記スペキュラ用法線ベクトル取得部は、前記基本法線摂動成分に基づき前記スペキュラ用法線摂動成分を求めて、前記スペキュラ用法線ベクトルを求め、前記ディフューズ用法線ベクトル取得部は、前記基本法線摂動成分に基づき前記ディフューズ用法線摂動成分を求めて、前記ディフューズ用法線ベクトルを求めるようにしてもよい。
【００１５】
このようにすれば、共通の基本法線摂動成分を用いて、スペキュラ用法線摂動成分とディフューズ用法線摂動成分を求めることが可能になるため、処理負荷を軽減できる。
【００１６】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記スペキュラ用法線ベクトル取得部は、前記基本法線摂動成分をＮＲとし、法線摂動成分の割合パラメータをβとした場合に、β×ＮＲに応じた前記スペキュラ用法線摂動成分を求めて、前記スペキュラ用法線ベクトルを求め、前記ディフューズ用法線ベクトル取得部は、（１−β）×ＮＲに応じた前記ディフューズ用法線摂動成分を求めて、前記ディフューズ用法線ベクトルを求めるようにしてもよい。
【００１７】
このようにすれば、１つの割合パラメータβを制御するだけで、スペキュラ用法線摂動成分とディフューズ用法線摂動成分の大小関係を連動して制御することが可能になるため、制御処理を簡素化できる
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記スペキュラ用法線ベクトル取得部は、法線摂動成分の強さパラメータをＣＰとした場合に、ＮＲＳ＝ＣＰ×β×ＮＲの演算式により前記スペキュラ用法線摂動成分ＮＲＳを求めて、前記スペキュラ用法線ベクトルを求め、前記ディフューズ用法線ベクトル取得部は、ＮＲＤ＝ＣＰ×（１−β）×ＮＲの演算式により前記ディフューズ用法線摂動成分ＮＲＤを求めて、前記ディフューズ用法線ベクトルを求めるようにしてもよい。
【００１８】
このようにすれば、１つの強さパラメータＣＰを制御するだけで、摂動の度合いを制御することが可能になるため、制御処理を簡素化できる。
【００１９】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記基本法線摂動成分取得部は、テクスチャを繰り返しマッピングするリピートモードにテクスチャラッピングモードを設定して、各テクセルに摂動成分が設定された摂動成分テクスチャのテクスチャマッピングを行うことで、前記基本法線摂動成分を求めるようにしてもよい。
【００２０】
このようにすれば、オブジェクトの接近画像を生成した場合にも、摂動成分テクスチャの十分な解像度を維持でき、質感を維持できる。
【００２１】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記基本法線摂動成分取得部は、倍率パラメータをＰ１、Ｐ２とした場合に、Ｕ’＝Ｐ１×Ｕ、Ｖ’＝Ｐ２×Ｖの変換式によりテクスチャ座標変換を行って、前記摂動成分テクスチャのテクスチャマッピングを行うことで、前記基本法線摂動成分を求めるようにしてもよい。
【００２２】
このようにすれば、倍率パラメータＰ１、Ｐ２によりテクスチャの繰り返し回数を制御できる。
【００２３】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記基本法線摂動成分取得部は、前記倍率パラメータＰ１、Ｐ２を互いに異なる値に設定して、テクスチャ座標変換を行うようにしてもよい。
【００２４】
このようにすれば、例えばヘアライン加工のような画像表現が可能になる。
【００２５】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記スペキュラ用法線ベクトル取得部は、テクスチャを繰り返しマッピングするリピートモードにテクスチャラッピングモードを設定して、各テクセルにスペキュラ用摂動成分が設定されたスペキュラ用摂動成分テクスチャのテクスチャマッピングを行うことで、前記スペキュラ用法線摂動成分を求め、前記ディフューズ用法線ベクトル取得部は、前記リピートモードに前記テクスチャラッピングモードを設定して、各テクセルにディフューズ用摂動成分が設定されたディフューズ用摂動成分テクスチャのテクスチャマッピングを行うことで、前記ディフューズ用法線摂動成分を求めるようにしてもよい。
【００２６】
このようにすれば、スペキュラ用法線摂動成分、ディフューズ用法線摂動成分を独立に制御できるため、生成される画像のバラエティ度やリアル度を増すことができる。
【００２７】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記スペキュラ用法線ベクトル取得部は、倍率パラメータをＰＳ１、ＰＳ２とした場合に、Ｕ’＝ＰＳ１×Ｕ、Ｖ’＝ＰＳ２×Ｖの変換式によりテクスチャ座標変換を行って、前記スペキュラ用摂動成分テクスチャのテクスチャマッピングを行うことで、前記スペキュラ用法線摂動成分を求め、前記ディフューズ用法線ベクトル取得部は、倍率パラメータをＰＤ１、ＰＤ２とした場合に、Ｕ’＝ＰＤ１×Ｕ、Ｖ’＝ＰＤ２×Ｖの変換式によりテクスチャ座標変換を行って、前記ディフューズ用摂動成分テクスチャのテクスチャマッピングを行うことで、前記ディフューズ用法線摂動成分を求めるようにしてもよい。
【００２８】
このようにすれば、スペキュラ用のテクスチャの繰り返し回数とディフューズ用のテクスチャの繰り返し回数を異ならせることも可能になり、生成されるスペキュラ色の画像やディフューズ色の画像のバラエティ度を増すことができる。
【００２９】
また本発明は、画像を生成する画像生成システムであって、オブジェクトの法線ベクトル情報に基づいて、オブジェクトの基本法線ベクトルＮＢを求める基本法線ベクトル取得部と、基本法線摂動成分ＮＲを求める基本法線摂動成分取得部と、法線摂動成分の強さパラメータをＣＰとし、法線摂動成分の割合パラメータをβとした場合に、ＮＲＳ＝ＣＰ×β×ＮＲの演算式によりスペキュラ用法線摂動成分ＮＲＳを求めて、スペキュラ用法線ベクトルＮＳ＝ＮＢ＋ＮＲＳ＝ＮＢ＋ＣＰ×β×ＮＲを求めるスペキュラ用法線ベクトル取得部と、ＮＲＤ＝ＣＰ×（１−β）×ＮＲの演算式によりディフューズ用法線摂動成分ＮＲＤを求めて、ディフューズ用法線ベクトルＮＤ＝ＮＢ＋ＮＲＤ＝ＮＢ＋ＣＰ×（１−β）×ＮＲを求めるディフューズ用法線ベクトル取得部と、求められた前記スペキュラ用法線ベクトルＮＳに基づいてオブジェクトのスペキュラ色を求め、求められた前記ディフューズ用法線ベクトルＮＤに基づいてオブジェクトのディフューズ色を求め、前記ディフューズ色、前記スペキュラ色に基づいてオブジェクトの色を求めることで、照明モデルに基づくオブジェクトのライティング処理を行うライティング処理部とを含む画像生成システムに関係する。また本発明は、上記各部として画像生成システムを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。
【００３０】
本発明によれば、基本法線ベクトルＮＢと基本法線摂動成分ＮＲに基づいて、スペキュラ用法線ベクトルＮＳ＝ＮＢ＋ＣＰ×β×ＮＲと、ディフューズ用法線ベクトルＮＤ＝ＮＢ＋ＣＰ×（１−β）×ＮＲが求められ、スペキュラ色、ディフューズ色が求められる。そして求められたスペキュラ色とディフューズ色に基づいてオブジェクトの色が求められる。このように本発明では、別々の法線ベクトルを用いてスペキュラ色、ディフューズ色が求められるため、スペキュラやディフューズについての質感表現を向上できる。また、共通の基本法線ベクトル、基本法線摂動成分を用いて、スペキュラ用法線ベクトル、ディフューズ用法線ベクトルを求めることが可能になるため、処理負荷を軽減できる。また割合パラメータβや強さパラメータＣＰを制御するだけで、摂動成分の大小関係を連動して制御したり、摂動の度合いを制御できるため、制御処理を簡素化できる。
【００３１】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記基本法線摂動成分取得部は、テクスチャを繰り返しマッピングするリピートモードにテクスチャラッピングモードを設定して、各テクセルに摂動成分が設定された摂動成分テクスチャのテクスチャマッピングを行うことで、前記基本法線摂動成分を求めるようにしてもよい。
【００３２】
このようにすれば、オブジェクトの接近画像を生成した場合にも、摂動成分テクスチャの十分な解像度を維持でき、質感を維持できる。
【発明を実施するための最良の形態】
【００３３】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００３４】
１．構成
図１に本実施形態の画像生成システム（ゲームシステム）のブロック図の例を示す。なお本実施形態の画像生成システムは図１の構成要素（各部）の一部を省略した構成としてもよい。
【００３５】
操作部１６０は、プレーヤが操作データを入力するためのものであり、その機能は、方向キー、操作ボタン、アナログスティック、レバー、ステアリング、アクセル、ブレーキ、マイク、或いはタッチパネル型ディスプレイなどにより実現できる。
【００３６】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＤＲＡＭ、ＶＲＡＭ）などにより実現できる。この記憶部１７０は、電源を切るとデータが消えてしまう揮発性のメモリにより構成できるが、補助記憶装置１９４よりも高速な記憶装置になっている。そしてゲームプログラムや、ゲームプログラムの実行に必要なゲームデータは、この記憶部１７０に保持される。
【００３７】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、ＨＤＤ（ハードディスクドライブ）、或いはメモリ（ＲＯＭ等）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータ（操作部、処理部、記憶部、出力部を備える装置）を機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００３８】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００３９】
補助記憶装置１９４（補助メモリ、２次メモリ）は、記憶部１７０の容量を補うために使用される大容量の記憶装置であり、ＳＤメモリーカード、マルチメディアカードなどのメモリーカードや、ＨＤＤなどにより実現できる。この補助記憶装置１９４は脱着自在になっているが、内蔵されるものであってもよい。この補助記憶装置１９４は、ゲームの途中結果などのセーブデータや、プレーヤ（ユーザ）の個人的な画像データや音楽データなどを保存するために使用される。
【００４０】
通信部１９６は、有線や無線のネットワークを介して外部（例えば他の画像生成システム、サーバ、ホスト装置）との間で通信を行うものであり、その機能は、通信用ＡＳＩＣ又は通信用プロセッサなどのハードウェアや、通信用ファームウェアにより実現できる。
【００４１】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、サーバ（ホスト装置）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（あるいは記憶部１７０、補助記憶装置１９４）に配信してもよい。このようなサーバ（ホスト装置）による情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００４２】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などを行う。処理部１００は記憶部１７０（主記憶部１７２）をワーク領域として各種処理を行う。この処理部１００の機能は、各種プロセッサ（ＣＰＵ、ＧＰＵ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００４３】
処理部１００は、ゲーム演算部１０８、オブジェクト空間設定部１１０、移動体演算部１１２、仮想カメラ制御部１１４、画像生成部１２０、音生成部１３０を含む。なおこれらの一部を省略する構成としてもよい。
【００４４】
ゲーム演算部１０８はゲーム演算処理を行う。ここでゲーム演算としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、移動体やマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。
【００４５】
オブジェクト空間設定部１１０は、モデルオブジェクト（車、戦闘機、人、ロボット、ミサイル、弾等の移動体）、マップ（地形）、建物、コース（道路）、樹木、壁などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェイスなどのプリミティブ面で構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。具体的には、記憶部１７０のモデルデータ記憶部１７６には、移動体（車、戦闘機、キャラクタ）等のモデルデータが記憶されている。そしてオブジェクト空間設定部１１０は、このモデルデータを用いてオブジェクト空間へのオブジェクトの設定（配置）処理を行う。
【００４６】
移動体演算部１１２は、移動体（移動体オブジェクト）を移動させるための演算を行う。また移動体を動作させるための演算も行う。即ち操作部１６０によりプレーヤが入力した操作データや、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、移動体（オブジェクト、モデルオブジェクト）をオブジェクト空間内で移動させたり、移動体を動作（モーション、アニメーション）させる処理を行う。具体的には、移動体の移動情報（位置、回転角度、速度、或いは加速度）や動作情報（パーツオブジェクトの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、移動体の移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【００４７】
仮想カメラ制御部１１４は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置、視線方向あるいは画角を制御する処理）を行う。
【００４８】
例えば仮想カメラにより車、キャラクタ、戦闘機などの移動体を後方から撮影する場合には、移動体の位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。この場合には、移動体演算部１１２で得られた移動体の位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。
【００４９】
なお本実施形態の移動体は、自プレーヤが操作する移動体であってもよいし、他のプレーヤやコンピュータが操作（制御）する移動体であってもよい。また本実施形態により生成される画像は、プレーヤのゲームプレイにより画像が変化する通常のゲーム画像であってもよいし、ゲーム中以外に表示されるリプレイ画像、オープニング画像、エンディング画像であってもよい。
【００５０】
画像生成部１２０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。いわゆる３次元ゲーム画像を生成する場合には、まずモデル（オブジェクト）の各頂点の頂点データ（頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）を含むモデルデータが入力され、入力されたモデルデータに含まれる頂点データに基づいて、頂点処理（頂点シェーダによるシェーディング）が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理（テッセレーション、曲面分割、ポリゴン分割）を行うようにしてもよい。
【００５１】
頂点処理（頂点シェーダ処理）では、頂点処理プログラム（頂点シェーダプログラム、第１のシェーダプログラム）に従って、頂点の移動処理や、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、あるいは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更（更新、調整）する。そして、頂点処理後の頂点データに基づいてラスタライズ（走査変換）が行われ、ポリゴン（プリミティブ）の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル（表示画面を構成するフラグメント）を描画するピクセル処理（ピクセルシェーダによるシェーディング、フラグメント処理）が行われる。
【００５２】
ピクセル処理（ピクセルシェーダ処理）では、ピクセル処理プログラム（ピクセルシェーダプログラム、第２のシェーダプログラム）に従って、テクスチャの読出し（テクスチャマッピング）、色データの設定／変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたモデルの描画色を描画バッファ１７４（ピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ、レンダリングターゲット）に出力（描画）する。即ち、ピクセル処理では、画像情報（色、法線、輝度、α値等）をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。
【００５３】
なお頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン（プリミティブ）の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ（頂点シェーダやピクセルシェーダ）により実現される。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、従来のハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【００５４】
また画像生成部１２０は、テクスチャマッピング処理を行うことができる。ここでテクスチャマッピング処理は、テクスチャ記憶部１７８に記憶されるテクスチャ（テクセル値）をオブジェクト（ポリゴン）にマッピングする処理である。具体的には、オブジェクト（プリミティブ面）の頂点やピクセルに設定（付与）されるテクスチャ座標等を用いてテクスチャ記憶部１７８からテクスチャ（色、α値などの表面プロパティ）を読み出す。そして２次元の画像又はパターンであるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理やバイリニア補間（テクセル補間）などを行う。
【００５５】
また画像生成部１２０は、α値に基づくαブレンディング処理（色合成処理、半透明合成処理）を行うこともできる。ここでαブレンディング処理としては、通常αブレンディング、加算αブレンディング或いは減算αブレンディングなどがある。またα値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、半透明度（透明度、不透明度と等価）情報、マスク情報、或いはバンプ情報などとして使用できる。
【００５６】
画像生成部１２０は、スペキュラ用法線ベクトル取得部１２２、ディフューズ用法線ベクトル取得部１２４、ライティング処理部１２６、基本法線ベクトル取得部１２８、基本法線摂動成分取得部１２９を含む。なおこれらの一部を省略する構成としてもよい。
【００５７】
スペキュラ用法線ベクトル取得（演算）部１２２は、スペキュラ用法線摂動成分によりその向きが摂動されるスペキュラ用法線ベクトルを求める処理を行う。このスペキュラ用法線ベクトルは、オブジェクトの反射色であるスペキュラ色を求める際に使用される法線ベクトルである。
【００５８】
ディフューズ用法線ベクトル取得（演算）部１２４は、ディフューズ用法線摂動成分によりその向きが摂動されるディフューズ用法線ベクトルを求める処理を行う。このディフューズ用法線ベクトルは、オブジェクトの反射色であるディフューズ色を求める際に使用される法線ベクトルである。
【００５９】
ライティング処理部１２６は、照明モデル等に基づくライティング処理（シェーディング処理）を行う。具体的にはこのライティング処理は、光源情報（光源ベクトル、光源色、明るさ、光源タイプ等）、仮想カメラ（視点）の視線ベクトル、オブジェクトの法線ベクトル、オブジェクトのマテリアル（色、材質）などを用いて行われる。なお照明モデルとしては、アンビエント光とディフューズ光だけを考慮したランバードの拡散照明モデルや、アンビエント光、ディフューズ光に加えてスペキュラ光も考慮するフォンの照明モデルやブリン・フォンの照明モデルなどがある。
【００６０】
基本法線ベクトル取得部１２８は、オブジェクトの法線ベクトル情報（頂点法線ベクトル等）に基づいて、オブジェクトの基本法線ベクトル（オブジェクトのデフォルトの法線ベクトル。摂動前の法線ベクトル）を求める処理を行う。具体的には、例えばオブジェクトの頂点に設定される頂点法線ベクトルと、オブジェクトにマッピングされる法線テクスチャ（バンプテクスチャ）に基づいて、基本法線ベクトルを求める。
【００６１】
基本法線摂動成分取得部１２９は、スペキュラ用法線摂動成分やディフューズ用法線摂動成分を求めるための基本法線摂動成分を求める処理を行う。具体的には、テクスチャを繰り返しマッピングするリピートモード（繰り返しモード）にテクスチャラッピングモードを設定する。そして、各テクセルに摂動成分（法線ベクトルの摂動成分）が設定された摂動成分テクスチャのテクスチャマッピングを行うことで、基本法線摂動成分を求める。
【００６２】
そして本実施形態では、基本法線摂動成分取得部１２９が基本法線摂動成分を求めると、スペキュラ用法線ベクトル取得部１２２は、求められた基本法線摂動成分に基づいて、スペキュラ用法線摂動成分を求める。例えば基本法線摂動成分をＮＲとし、法線摂動成分の割合パラメータをβとした場合には、β×ＮＲに応じたスペキュラ用法線摂動成分を求める（β×ＮＲを項として含む演算式により求める）。
【００６３】
また基本法線摂動成分取得部１２９が基本法線摂動成分を求めると、ディフューズ用法線ベクトル取得部１２４は、求められた基本法線摂動成分に基づいて、ディフューズ用法線摂動成分を求める。例えば（１−β）×ＮＲに応じたディフューズ用法線摂動成分を求める（（１−β）×ＮＲを項として含む演算式により求める）。
【００６４】
また基本法線ベクトル取得部１２８が基本法線ベクトルを求めると、スペキュラ用法線ベクトル取得部１２２は、求められた基本法線ベクトルとスペキュラ用法線摂動成分に基づいて、スペキュラ用法線ベクトルを求める。またディフューズ用法線ベクトル取得部１２４は、求められた基本法線ベクトルとディフューズ用法線摂動成分に基づいて、ディフューズ用法線ベクトルを求める。
【００６５】
そしてライティング処理部１２６は、求められたスペキュラ用法線ベクトルに基づいて、オブジェクトのスペキュラ色を求め、求められたディフューズ用法線ベクトルに基づいて、オブジェクトのディフューズ色を求める。具体的には、光源ベクトルと、仮想カメラの視線ベクトルと、スペキュラ用法線ベクトルに基づいて、オブジェクトのスペキュラ色を求める。また光源ベクトルと、ディフューズ用法線ベクトルに基づいて、オブジェクトのディフューズ色を求める。
【００６６】
なおスペキュラ用法線ベクトル取得部１２２が、リピートモードにテクスチャラッピングモードを設定し、各テクセルにスペキュラ用摂動成分が設定されたスペキュラ用摂動成分テクスチャのテクスチャマッピングを行うことで、スペキュラ用法線摂動成分を求めてもよい。またディフューズ用法線ベクトル取得部１２４が、リピートモードにテクスチャラッピングモードを設定して、各テクセルにディフューズ用摂動成分が設定されたディフューズ用摂動成分テクスチャのテクスチャマッピングを行うことで、ディフューズ用法線摂動成分を求めてもよい。
【００６７】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００６８】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて分散処理により生成してもよい。
【００６９】
２．本実施形態の手法
２．１  スペキュラ用法線ベクトル、ディフューズ用法線ベクトル
図２（Ａ）では、レースカーを表す移動体ＭＯＢから遠くの位置に仮想カメラＶＣが配置されて、ゲーム画像が生成されている。一方、図２（Ｂ）では、仮想カメラＶＣが移動体ＭＯＢに接近して、ゲーム画像が生成されている。なお以下では、オブジェクトが移動体である車であり、車体の表現の質感向上に本実施形態の手法を適用した場合を例に取り説明するが、本実施形態はこれに限定されない。例えばオブジェクトは、車などの移動体に限定されず、例えば戦闘機、列車、ロボット等の車以外の移動体であってもよいし、移動しない静止オブジェクト等であってもよい。
【００７０】
図２（Ａ）の場合に、移動体ＭＯＢの表面で光がスペキュラ反射している画像を生成すれば、車体に塗られたワックス等の表現が可能になる。
【００７１】
しかしながら、図２（Ｂ）のように仮想カメラＶＣが移動体ＭＯＢに接近した場合には、このようなスペキュラ反射の画像表現だけでは、いかにもＣＧで作られた画像のように見えてしまう。従って、車体表面の質感のディテール表現が不十分であり、生成される画像のリアル度の向上が不十分であるという課題がある。
【００７２】
このような課題を解決するために本実施形態では、スペキュラ色を求めるためのスペキュラ用法線ベクトルと、ディフューズ色を求めるためのディフューズ用法線ベクトルを、別々に設ける手法を採用している。即ち、従来の手法では、１種類の法線ベクトルに基づいてオブジェクトのスペキュラ色、ディフューズ色が求められていたが、本実施形態では、スペキュラ用法線ベクトルとディフューズ用法線ベクトルというように、別々の２種類の法線ベクトルの各々を用いて、スペキュラ色、ディフューズ色を求める。
【００７３】
具体的には図３（Ａ）、図３（Ｂ）に示すように、スペキュラ用法線摂動成分によりその向きが摂動されるスペキュラ用法線ベクトルＮＳを取得すると共に、ディフューズ用法線摂動成分によりその向きが摂動されるディフューズ用法線ベクトルＮＤを取得する。例えば図３（Ａ）では、スペキュラ用法線ベクトルＮＳの摂動成分は小さく、ディフューズ用法線ベクトルＮＤの摂動成分は大きい。一方、図３（Ｂ）では、スペキュラ用法線ベクトルＮＳの摂動成分は大きく、ディフューズ用法線ベクトルＮＤの摂動成分は小さい。このように本実施形態の手法によれば、スペキュラ用法線ベクトルＮＳの摂動成分の大小と、ディフューズ用法線ベクトルＮＤの摂動成分の大小を別々に制御できるため、画像のリアル度を増すことができる。
【００７４】
例えば図３（Ａ）のようにスペキュラ用法線ベクトルＮＳの摂動成分を小さく設定すれば、乱反射の少ないスペキュラ反射を表現できるため、車体に綺麗にムラなく塗られたワックスを表現できる。そして図３（Ａ）のようにディフューズ用法線ベクトルＮＤの摂動成分を大きく設定すれば、車体の塗装や金属の微粒子によるディフューズ光の乱反射等を表現できる。
【００７５】
即ち、図２（Ａ）のように仮想カメラＶＣが遠くにある場合には、スペキュラ反射でピカピカと光った質感の車体を表現できる。一方、図２（Ｂ）のように仮想カメラＶＣが接近した場合には、スペキュラ反射のワックスの下層にある塗装や金属の微粒子の乱反射の画像表現が可能になる。即ち仮想カメラＶＣが遠くにある場合には見えなかった車体の塗装や金属の粒々感が、仮想カメラＶＣが近づくにつれて見えるようになる。このため、車体表面が、あたかもスペキュラ層とディフューズ層の２層構造になっているかのように見える。従って、車体表面における内部反射をリアルに表現でき、車体表面の質感のディテール表現を大幅に向上できる。
【００７６】
また例えば図３（Ｂ）のようにスペキュラ用法線ベクトルＮＳの摂動成分を大きく設定すれば、車体表面のワックスのムラを表現できるようになる。またディフューズ用法線ベクトルＮＤの摂動成分を小さく設定すれば、ムラのあるワックス層の下に、滑らかで粒々感の少ない塗装や金属の層が存在するという画像表現を実現できる。
【００７７】
図４、図５に本実施形態により生成された画像の例を示す。図４は、図３（Ａ）のようにスペキュラ用法線ベクトルＮＳの摂動成分が小さく設定され、ディフューズ用法線ベクトルＮＤの摂動成分が大きく設定されている場合の画像の例である。図４では、ムラのないワックスの層の下に、粒々感のある塗装や金属の層が見える画像が生成されている。即ちスペキュラ光の乱反射は少なく、ディフューズ光の乱反射が大きい画像が生成されている。
【００７８】
一方、図５は、図３（Ｂ）のようにスペキュラ用法線ベクトルＮＳの摂動成分が大きく設定され、ディフューズ用法線ベクトルＮＤの摂動成分が小さく設定されている場合の画像の例である。図５では、ムラのあるワックスの層の下に、滑らかで粒々感の少ない塗装や金属の層が見える画像が生成されている。即ちスペキュラ光の乱反射が大きく、ディフューズ光の乱反射が少ない画像が生成されている。
【００７９】
このように本実施形態では、スペキュラ用法線ベクトルＮＳとディフューズ用法線ベクトルＮＤとを別々に設けて、その摂動成分を別々に制御することで、オブジェクトの表面の内部反射のディテールを表現し、従来手法では達成できなかったリアルな内部反射表現の実現に成功している。
【００８０】
２．２  照明モデルによるライティング処理
次に、ライティング処理によるスペキュラ色、ディフューズ色の求め方について説明する。現実世界での照光現象をシミュレートするための数学的モデルとして、この種の画像生成システムでは種々の照明モデルが用いられている。図６（Ａ）、図６（Ｂ）に、光源が平行光である場合の照明モデルの例を示す。
【００８１】
図６（Ａ）はフォンの照明モデルを説明する図であり、この照明モデルは下式（１）のように表される。
【００８２】
Ｉ＝Ｋｓｐ×（Ｌ・Ｒ）ｎ×Ｉｓｐ＋Ｋｄｆ×（Ｎ・Ｌ）×Ｉｄｆ＋Ｋａｍ×Ｉａｍ  （１）
ここで、Ｋｓｐ、Ｋｄｆ、Ｋａｍは、各々、スペキュラ光、ディフューズ光、アンビエント光についての反射率（物体色）であり、Ｉｓｐ、Ｉｄｆ、Ｉａｍは、スペキュラ光、ディフューズ光、アンビエント光の輝度（強さ、光源色）である。Ｎはオブジェクト（移動体）の法線ベクトルであり、Ｌは光源（平行光源）ＬＳのベクトルであり、Ｒは反射ベクトルであり、Ｒ＝−Ｅ＋２（Ｎ・Ｅ）Ｎと表すことができる。ｎは鏡面反射指数（ハイライト特性係数）である。
【００８３】
このフォンの照明モデルでは、スペキュラ光の強さはライトベクトルＬと反射ベクトルＲの内積のべき乗で表される。従って、ライトベクトルＬと反射ベクトルＲの向きが近くなる場所ほど、スペキュラ光が強くなる。また鏡面反射指数ｎが例えば１０以下というように小さい場合には、広い範囲にわたって鏡面反射のハイライトが広がり、鏡面反射指数Ｐが例えば１００ぐらいに大きい場合には、ハイライトが小さな点になる。
【００８４】
図６（Ｂ）はブリン・フォンの照明モデルを説明する図であり、この照明モデルは下式（２）のように表される。
【００８５】
Ｉ＝Ｋｓｐ×（Ｎ・Ｈ）ｎ×Ｉｓｐ＋Ｋｄｆ×（Ｎ・Ｌ）×Ｉｄｆ＋Ｋａｍ×Ｉａｍ  （２）
ここで、Ｈはハーフベクトルであり、Ｈ＝（Ｅ＋Ｌ）／｜Ｅ＋Ｌ｜と表すことができる。
【００８６】
このブリン・フォンの照明モデルでは、スペキュラ光の強さは法線ベクトルＮとハーフベクトルＨの内積のべき乗で表される。従って、法線ベクトルＮとハーフベクトルＨの向きが近くなる場所ほど、スペキュラ光が強くなる。
【００８７】
本実施形態では、上式（１）、（２）に示すような照明モデルに基づいて、スペキュラ光による反射色であるスペキュラ色や、ディフューズ光による反射色であるディフューズ色を求める。そして求められたスペキュラ色、ディフューズ色等に基づいて、オブジェクトの最終的な色（反射色）を求める。
【００８８】
このように照明モデルに基づきスペキュラ色、ディフューズ色を求める際に、本実施形態ではスペキュラ用法線ベクトルとディフューズ用法線ベクトルとを使い分けている。
【００８９】
例えば上式（１）のＫｓｐ×（Ｌ・Ｒ）ｎ×Ｉｓｐの項であるスペキュラ色において、反射ベクトルＲ＝−Ｅ＋２（Ｎ・Ｅ）Ｎを求める際には、法線ベクトルＮとしてスペキュラ用法線ベクトルＮＳを用いる。一方、上式（１）のＫｄｆ×（Ｎ・Ｌ）×Ｉｄｆの項であるディフューズ色を求める際には、法線ベクトルＮとしてディフューズ用法線ベクトルＮＤを用いる。
【００９０】
また上式（２）のＫｓｐ×（Ｎ・Ｈ）ｎ×Ｉｓｐの項であるスペキュラ色を求める際には、法線ベクトルＮとしてスペキュラ用法線ベクトルＮＳを用いる。一方、上式（２）のＫｄｆ×（Ｎ・Ｌ）×Ｉｄｆの項であるディフューズ色を求める際には、法線ベクトルＮとしてディフューズ用法線ベクトルＮＤを用いる。このようにすることで、図４、図５に示すような画像の生成が可能になる。
【００９１】
なお本実施形態で用いる照明モデルは上式（１）（２）に限定されない。例えば上式（１）（２）と数学的にほぼ等価な照明モデルであってもよいし、上式（１）（２）の照明モデルに対して明るさ補正等を行ってもよい。或いは、上式（１）（２）とは異なる式で表される照明モデルを用いてもよい。またスペキュラ光による鏡面反射の表現は、例えば円の中心に近づくほど明るくなり、円の中心から遠ざかるほど暗くなる反射マップテクスチャを用いた反射マッピングにより実現してもよい。
【００９２】
２．３  基本法線ベクトル
図７のＡ１では、オブジェクトのデフォルトの法線ベクトルである基本法線ベクトルＮＢを、まず求めている。この基本法線ベクトルＮＢはオブジェクトの法線ベクトル情報に基づいて求めることができる。
【００９３】
そして図７のＡ２、Ａ３では、このようにして求められた基本法線ベクトルＮＢに基づいて、スペキュラ用法線ベクトルＮＳとディフューズ用法線ベクトルＮＤを求める。具体的には、基本法線ベクトルＮＢとスペキュラ用法線摂動成分に基づいて、スペキュラ用法線ベクトルＮＳを求める。また基本法線ベクトルＮＢとディフューズ用法線摂動成分に基づいて、ディフューズ用法線ベクトルＮＤを求める。
【００９４】
このようにすれば、オブジェクトの形状や表面の凹凸を表す基本法線ベクトルＮＢに基づいて、スペキュラ用法線ベクトルＮＳとディフューズ用法線ベクトルＮＤを求めることができる。従って、スペキュラ用法線ベクトルＮＳとディフューズ用法線ベクトルＮＤは、オブジェクトの形状や表面の凹凸に応じたベクトルになり、摂動成分だけが基本法線ベクトルＮＢとは異なるベクトルになる。即ち、スペキュラ用法線ベクトルＮＳとディフューズ用法線ベクトルＮＤは、その方向が、オブジェクトの形状や表面の凹凸に応じた方向に、ある程度向くベクトルになり、その摂動の度合いだけが図３（Ａ）、図３（Ｂ）のように互いに異なるベクトルになる。
【００９５】
このようにすれば、スペキュラ用法線ベクトルＮＳ、ディフューズ用法線ベクトルＮＤに、オブジェクトの形状や凹凸を反映させることが可能になり、画像のリアル度を増すことができる。なお、スペキュラ用法線ベクトルを求める際に使用する基本法線ベクトルと、ディフューズ用法線ベクトルを求める際に使用する基本法線ベクトルとを、異なるベクトルにする変形実施も可能である。
【００９６】
次に図８（Ａ）、図８（Ｂ）に基づいて、基本法線ベクトルＮＢの具体的な取得手法について説明する。例えば図８（Ａ）では、オブジェクトＯＢに対して、デカール形式の法線テクスチャがマッピングされる。この法線テクスチャ（法線マップテクスチャ）は、オブジェクトＯＢの表面の凹凸（バンプ）を表すためのテクスチャである。具体的には、この法線テクスチャは、オブジェクトＯＢの展開図に対応した法線ベクトルパターンを有し、法線ベクトルの情報が各テクセルに設定される展開図方式のテクスチャである。この展開図方式の法線テクスチャを、オブジェクトＯＢにマッピングすることで、オブジェクトＯＢの表面の凹凸を表現するバンプ処理が実現される。
【００９７】
なお図８（Ａ）では、説明を簡単にするために、オブジェクトＯＢが立方体である場合の例を示しているが、実際の法線テクスチャの形状は複雑な形状になる。例えばオブジェクトが車である場合には、法線テクスチャは車の展開図に対応した形状のテクスチャになる。そして法線テクスチャの各テクセルには、車の表面の凹凸を表すため法線ベクトル情報（バンプ情報）が設定される。
【００９８】
図８（Ｂ）に示すように、基本法線ベクトルは、オブジェクトの頂点ＶＸ１〜ＶＸ４に設定される頂点法線ベクトルＮＶ１〜ＮＶ４と、オブジェクトにマッピングされる法線テクスチャに基づいて求められる。具体的には、頂点法線ベクトルＮＶ１〜ＮＶ４を、フォンシェーディング等の手法により補間して、各ピクセルに対応する法線ベクトルを求める。そしてこのようにして求められた法線ベクトルと、法線テクスチャの各テクセルに設定されるバンプ用の法線ベクトルとに基づいて、各ピクセルにおける基本法線ベクトルを求める。この場合に、頂点法線ベクトルＮＶ１〜ＮＶ４は、オブジェクトの全体的な形状を表すベクトルであり、オブジェクトのモデルデータとして記憶される。一方、法線テクスチャに設定される法線ベクトルは、オブジェクトの表面における微少な凹凸を表すベクトルになる。従って、これらの頂点法線ベクトルと法線テクスチャの法線ベクトルとにより求められた基本法線ベクトルは、オブジェクトの形状と表面の凹凸に応じたベクトルになる。
【００９９】
なお図８（Ｂ）に示すように、法線テクスチャの法線ベクトルのＸ、Ｙ、Ｚ座標成分は、テクスチャのＲ、Ｇ、Ｂチャネル（Ｒ、Ｇ、Ｂプレーン）にＲ、Ｇ、Ｂデータとして設定できる。
【０１００】
２．４  スペキュラ用法線摂動成分、ディフューズ用法線摂動成分
次に図９（Ａ）、図９（Ｂ）を用いて、スペキュラ用法線摂動成分、ディフューズ用法線摂動成分の具体的な取得手法について説明する。
【０１０１】
例えば図９（Ａ）、図９（Ｂ）では、基本法線摂動成分ＮＲがまず求められる。そして、この基本法線摂動成分ＮＲに基づきスペキュラ用法線摂動成分ＮＲＳ＝ＣＰ×β×ＮＲが求められ、スペキュラ用法線ベクトルＮＳ＝ＮＢ＋ＮＲＳ＝ＮＢ＋ＣＰ×β×ＮＲが求められる。また基本法線摂動成分ＮＲに基づきディフューズ用法線摂動成分ＮＲＤ＝ＣＰ×（１−β）×ＮＲが求められ、ディフューズ用法線ベクトルＮＤ＝ＮＢ＋ＮＲＤ＝ＮＢ＋ＣＰ×（１−β）×ＮＲが求められる。ここで、βは法線摂動成分の割合パラメータ（配分、比率パラメータ）であり、ＣＰは法線摂動成分の強さパラメータ（係数パラメータ）である。
【０１０２】
そして図９（Ａ）では、割合パラメータβを小さな値に設定することで、スペキュラ用法線ベクトルＮＳの摂動成分が小さく設定され、ディフューズ用法線ベクトルＮＤの摂動成分が大きく設定される。これにより図４に示すような画像を生成できる。
【０１０３】
一方、図９（Ｂ）では、割合パラメータβを大きな値に設定することで、スペキュラ用法線ベクトルＮＳの摂動成分が大きく設定され、ディフューズ用法線ベクトルＮＤの摂動成分が小さく設定される。これにより図５に示すような画像を生成できる。
【０１０４】
また強さパラメータＣＰを制御することで、基本法線ベクトルＮＢに対する摂動成分ＮＲＳ、ＮＲＤの割合を制御できる。例えばパラメータＣＰを大きな値に設定すれば、ＮＲＳ、ＮＲＤによる摂動の度合いが大きくなり、ＣＰを小さな値に設定すれば、ＮＲＳ、ＮＲＤによる摂動の度合いが小さくなる。
【０１０５】
図９（Ａ）、図９（Ｂ）の手法によれば、１つの割合パラメータβを制御するだけで、スペキュラ用法線摂動成分ＮＲＳとディフューズ用法線摂動成分ＮＲＤとの大小関係を連動して制御できる。また１つの強さパラメータＣＰを制御するだけで、摂動の度合いを制御できる。従って制御処理を簡素化できるという利点がある。また基本法線摂動成分ＮＲに対応する１つの摂動成分テクスチャを用意するだけで済むため、テクスチャの使用記憶容量も節約できるという利点がある。
【０１０６】
なおスペキュラ用法線ベクトルとディフューズ用法線ベクトルとで、異なる基本法線摂動成分を用いたり、異なる割合パラメータ、強さパラメータを用いる変形実施も可能である。例えばスペキュラ用法線摂動成分をＮＲＳ＝ＣＰ１×β１×ＮＲ１の演算式により求め、ディフューズ用法線摂動成分をＮＲＤ＝ＣＰ２×β２×ＮＲ２の演算式により求めるなどの変形実施も可能である。
【０１０７】
２．５  摂動成分テクスチャ
次に、摂動成分テクスチャを利用して法線ベクトルの摂動成分を取得する手法について説明する。
【０１０８】
テクスチャ座標Ｕ、Ｖの値域の範囲は例えば０．０≦Ｕ≦１．０、０．０≦Ｖ≦１．０になっている。この値域の範囲を超えたＵ、Ｖが指定された場合のテクスチャラッピングモードには、リピートモードやクランプモードがある。そしてテクスチャラッピングモードがリピートモードに設定された場合には、値域の範囲外の余白のテクスチャ画像を埋めるために、図１０の模式図に示すようにテクスチャの繰り返しマッピングが行われる。
【０１０９】
具体的には、倍率パラメータをＰ１、Ｐ２とした場合に、Ｕ’＝Ｐ１×Ｕ、Ｖ’＝Ｐ２×Ｖの変換式により、摂動成分テクスチャのテクスチャ座標の変換を行う。ここで、Ｐ１、Ｐ２はＰ１＞１、Ｐ２＞１となるパラメータであり、例えばＰ１＞１００、Ｐ２＞１００というような値が設定される。
【０１１０】
このようなテクスチャ座標変換を行い、テクスチャラッピングモードをリピートモードに設定する。そして、各テクセルに摂動成分が設定された摂動成分テクスチャのテクスチャマッピングを行えば、図１０に示すような摂動成分テクスチャの繰り返しマッピングを実現できる。
【０１１１】
例えば図１０の模式図では、図８（Ａ）の展開図方式の法線テクスチャや色テクスチャに比べて、十分に小さな外形の摂動成分テクスチャが、オブジェクトに対して繰り返しマッピングされる。図１１には、このようにマッピングされる摂動成分テクスチャ（ノイズテクスチャ）の例を示す。この摂動成分テクスチャは、法線ベクトルのノイズ的な揺らぎを表現するためのテクスチャである。そして、摂動成分テクスチャのＲ、Ｇ、Ｂチャネル（Ｒ、Ｇ、Ｂプレーン）には、摂動のＸ、Ｙ、Ｚ成分がＲ、Ｇ、Ｂデータとして格納される。
【０１１２】
図１１のような摂動成分テクスチャを図１０のように繰り返しマッピングすれば、図４に示すような車体の塗料や金属の微粒子による乱反射を表現できるようになる。
【０１１３】
即ち、このような摂動成分テクスチャとして、図８（Ａ）に示すような展開図方式のテクスチャを用いたとする。すると、図２（Ｂ）のように仮想カメラＶＣがオブジェクトＯＢに接近した場合に、テクスチャの解像度が足りなくなり、微粒子による乱反射の表現が難しくなる。
【０１１４】
この点、図１０に示すように、外形の小さい摂動成分テクスチャを、リピートモードに設定して繰り返しマッピングする手法を採用すれば、図２（Ｂ）に示すように仮想カメラＶＣが接近した場合にも、摂動成分テクスチャの十分な解像度を維持できる。従って仮想カメラＶＣが接近した場合でも、摂動成分のランダム性を維持でき、微粒子による乱反射を表現できる。この結果、オブジェクトの表面の質感のディテール表現を、負荷の少ない処理で実現できるという利点がある。
【０１１５】
またＵ’＝Ｐ１×Ｕ、Ｖ’＝Ｐ２×Ｖの変換式における倍率パラメータＰ１、Ｐ２を、互いに異なる値に設定してテクスチャ座標変換を行えば、いわゆるヘアライン加工のような表現が可能になる。
【０１１６】
図１２に、倍率パラメータＰ１、Ｐ２を異なる値に設定した場合の生成画像の例を示す。倍率パラメータＰ１、Ｐ２を異なる値に設定すると、スペキュラ用法線ベクトルやディフューズ用法線ベクトルの摂動方向が、１つの方向に偏るようになる。これにより、スペキュラ色の層やディフューズ色の層に対してヘアライン加工が施さたように見える画像を生成できる。
【０１１７】
２．６  変形例
図９（Ａ）、図９（Ｂ）では、図１０の手法で取得された共通の基本法線摂動成分ＮＲや、共通のパラメータＣＰ、βを使用して、スペキュラ用法線ベクトル、ディフューズ用法線ベクトルを求めているが、本実施形態はこれに限定されない。例えば共通の基本法線摂動成分ＮＲ等を用いずに、スペキュラ用法線摂動成分ＮＲＳ、ディフューズ用法線摂動成分ＮＲＤを完全に独立に制御するようにしてもよい。
【０１１８】
例えば図１３では、倍率パラメータをＰＳ１、ＰＳ２とした場合に（ＰＳ１＞１、ＰＳ２＞１）、Ｕ’＝ＰＳ１×Ｕ、Ｖ’＝ＰＳ２×Ｖの変換式によりテクスチャ座標変換を行う。そして、変換後のテクスチャ座標Ｕ’、Ｖ’に基づいてスペキュラ用摂動成分テクスチャのテクスチャマッピングを行うことで、スペキュラ用法線摂動成分ＮＲＳを求める。具体的には例えば、リピートモードにテクスチャラッピングモードを設定して、スペキュラ用摂動成分が各テクセルに設定されたスペキュラ用摂動成分テクスチャのテクスチャマッピングを行うことで、スペキュラ用法線摂動成分ＮＲＳを求める。そして求められたスペキュラ用法線摂動成分ＮＲＳに基づいて、スペキュラ用法線ベクトルＮＳ＝ＮＢ＋ＮＲＳを求める。
【０１１９】
また図１３では、倍率パラメータをＰＤ１、ＰＤ２とした場合（ＰＤ１＞１、ＰＤ２＞１）に、Ｕ’＝ＰＤ１×Ｕ、Ｖ’＝ＰＤ２×Ｖの変換式によりテクスチャ座標変換を行う。そして、変換後のテクスチャ座標Ｕ’、Ｖ’に基づいてディフューズ用摂動成分テクスチャのテクスチャマッピングを行うことで、ディフューズ用法線摂動成分ＮＲＤを求める。具体的には例えば、リピートモードにテクスチャラッピングモードを設定して、各テクセルにディフューズ用摂動成分が設定されたディフューズ用摂動成分テクスチャのテクスチャマッピングを行うことで、ディフューズ用法線摂動成分ＮＲＤを求める。そして求められたディフューズ用法線摂動成分ＮＲＤに基づいて、ディフューズ用法線ベクトルＮＤ＝ＮＢ＋ＮＲＤを求める。なおＰＳ１＝ＰＤ１、ＰＳ２＝ＰＤ２に設定することも可能である。
【０１２０】
図１３の変形例では、共通の基本法線摂動成分を用いないため、テクスチャマッピングの処理負荷が重くなるという不利点がある。しかしながら図１３の変形例によれば、スペキュラ用法線摂動成分ＮＲＳ、ディフューズ用法線摂動成分ＮＲＤを完全に独立に制御できるため、生成される画像のバラエティ度やリアル度を増すことができる。例えばスペキュラ用の摂動成分テクスチャとディフューズ用の摂動成分テクスチャを異ならせたり、スペキュラ用のテクスチャの繰り返し回数とディフューズ用のテクスチャの繰り返し回数を異ならせる。これにより、生成されるスペキュラ色の画像やディフューズ色の画像のバラエティ度を増すことができ、リアルで多様な画像の生成が可能になる。
【０１２１】
２．７  詳細な処理例
次に本実施形態の詳細な処理例を図１４のフローチャートを用いて説明する。
【０１２２】
まず、移動体を含む複数のオブジェクトをオブジェクト空間に配置設定するオブジェクト空間設定処理を行う（ステップＳ１）。次に、車等の移動体をオブジェクト空間内で移動させる移動体演算処理を行う（ステップＳ２）。具体的には、操作部１６０からの操作データやプログラムなどに基づいて、１フレームごとの移動体の位置の変化、方向の変化、動作の変化が、リアルタイムに演算される。
【０１２３】
次に頂点シェーダプログラムによる頂点シェーダ処理を行う（ステップＳ３）。この頂点シェーダ処理により得られた頂点座標、視線ベクトル、光源ベクトル、法線ベクトル等は、出力レジスタに格納され、ピクセルシェーダ処理に渡される。
【０１２４】
次に、ピクセルシェーダプログラムによるピクセルシェーダ処理を開始する（ステップＳ４）。このピクセルシェーダ処理によりステップＳ５〜Ｓ１３の処理が行われる。
【０１２５】
具体的には、まず、図８（Ａ）、図８（Ｂ）で説明したように、頂点法線ベクトルと、テクスチャ記憶部１７８からフェッチした法線テクスチャとに基づいて、基本法線ベクトルＮＢを求める（ステップＳ５）。そして、図１０で説明したように、倍率パラメータＰ１、Ｐ２に基づいて、テクスチャ座標Ｕ、ＶをＵ’＝Ｐ１×Ｕ、Ｖ’＝Ｐ２×Ｖに変換する（ステップＳ６）。そして、変換により得られたテクスチャ座標Ｕ’、Ｖ’に基づいて、基本法線摂動成分ＮＲのテクスチャ（ノイズテクスチャ）をテクスチャ記憶部１７８からフェッチする（ステップＳ７）。
【０１２６】
次に、図９（Ａ）、図９（Ｂ）で説明したように、ステップＳ６で求められた基本法線ベクトルＮＢと、ステップＳ７で取得された基本法線摂動成分ＮＲと、法線摂動成分の割合パラメータβ及び強さパラメータＣＰに基づいて、スペキュラ用法線ベクトルＮＳ＝ＮＢ＋ＣＰ×β×ＮＲを求める（ステップＳ８）。同様に、基本法線ベクトルＮＢと、基本法線摂動成分ＮＲと、法線摂動成分の割合パラメータβ及び強さパラメータＣＰに基づいて、ディフューズ用法線ベクトルＮＤ＝ＮＢ＋ＣＰ×（１−β）×ＮＲを求める（ステップＳ９）。
【０１２７】
次に、図６（Ａ）、図６（Ｂ）で説明したように、光源ベクトルＬと視線ベクトルＥとスペキュラ用法線ベクトルＮＳに基づいて、照明モデルにしたがったスペキュラ色Ｃｓｐを求める（ステップＳ１０）。また光源ベクトルＬとディフューズ用法線ベクトルＮＤに基づいて、照明モデルにしたがったディフューズ色Ｃｄｆを求める（ステップＳ１１）。更にアンビエント色Ｃａｍを求める（ステップＳ１２）。
【０１２８】
そして最後に、ステップＳ１０、Ｓ１１、Ｓ１２で各々求められたスペキュラ色Ｃｓｐ、ディフューズ色Ｃｄｆ、アンビエント色Ｃａｍに基づいて、オブジェクトの色ＣＳ＝Ｃｓｐ＋Ｃｄｆ＋Ｃａｍを求める（ステップＳ１３）。
【０１２９】
３．ハードウェア構成
図１５（Ａ）に本実施形態を実現できるハードウェアの構成例を示す。
【０１３０】
ＣＰＵ９００（メインプロセッサ）は、複数のＣＰＵコア１、ＣＰＵコア２、ＣＰＵコア３を含むマルチコアプロセッサである。またＣＰＵ９００は図示しないキャッシュメモリを含む。ＣＰＵコア１、２、３の各々にはベクタ演算器等が設けられている。そしてＣＰＵコア１、２、３の各々は、例えば２つのＨ／Ｗスレッド処理をコンテクストスイッチをすることなしに並列実行でき、マルチスレッド機能がハードウェアでサポートされている。そして３つのＣＰＵコア１、２、３の合計で、６つのＨ／Ｗスレッド処理を並列実行できる。
【０１３１】
ＧＰＵ９１０（描画プロセッサ）は、頂点処理やピクセル処理を行って、描画（レンダリング）処理を実現する。具体的には、シェーダプログラムに従って、頂点データの作成・変更やピクセル（フラグメント）の描画色の決定を行う。１フレーム分の画像がＶＲＡＭ９２０（フレームバッファ）に書き込まれると、その画像はビデオ出力を介してＴＶなどのディスプレイに表示される。なおメインメモリ９３０はＣＰＵ９００やＧＰＵ９１０のワークメモリとして機能する。またＧＰＵ９１０では、複数の頂点スレッド、複数のピクセルスレッドが並列実行され、描画処理のマルチスレッド機能がハードウェアでサポートされている。またＧＰＵ９１０にはハードウェアのテッセレータも備えられている。またＧＰＵ９１０は、頂点シェーダとピクセルシェーダとがハードウェア的に区別されていないユニファイド・シェーダ・タイプとなっている。
【０１３２】
ブリッジ回路９４０（サウスブリッジ）は、システム内部の情報流通を制御する回路であり、ＵＳＢコントローラ（シリアルインターフェース）、ネットワーク（イーサネット（登録商標））の通信コントローラ、ＩＤＥコントローラ、或いはＤＭＡコントローラなどのコントローラを内蔵する。そしてこのブリッジ回路９４０により、ゲームコントローラ９４２、メモリーカード９４４、ＨＤＤ９４６、ＤＶＤドライブ９４８との間のインターフェース機能が実現される。
【０１３３】
なお本実施形態を実現できるハードウェア構成は図１５（Ａ）に限定されず、例えば図１５（Ｂ）のような構成であってもよい。
【０１３４】
図１５（Ｂ）ではＣＰＵ９０２が、プロセッサエレメントＰＰと８つのプロセッサエレメントＰＥ１〜ＰＥ８を含む。プロセッサエレメントＰＰは汎用的なプロセッサコアであり、プロセッサエレメントＰＥ１〜ＰＥ８は比較的シンプルな構成のプロセッサコアである。そしてプロセッサエレメントＰＰとプロセッサエレメントＰＥ１〜ＰＥ８のアーキテクチャは異なっており、プロセッサエレメントＰＥ１〜ＰＥ８は、複数のデータに対して１命令で同じ処理を同時にできるＳＩＭＤ型のプロセッサコアとなっている。これによりストリーミング処理などのマルチメディア処理を効率的に実行できる。プロセッサエレメントＰＰは、２つのＨ／Ｗスレッド処理を並列実行でき、プロセッサエレメントＰＥ１〜ＰＥ８の各々は、１つのＨ／Ｗスレッド処理を実行できる。従って、ＣＰＵ９０２では、合計で１０個のＨ／Ｗスレッド処理の並列実行が可能になる。
【０１３５】
図１５（Ｂ）では、ＧＰＵ９１２とＣＰＵ９０２の連携が密になっており、ＧＰＵ９１２は、ＣＰＵ９０２側のメインメモリ９３０に直接にレンダリング処理を行うことができる。また例えばＣＰＵ９０２がジオメトリ処理を行って、頂点データを転送したり、ＧＰＵ９１２からＣＰＵ９０２にデータを戻すことも容易にできる。またＣＰＵ９０２が、レンダリングのプリプロセッシング処理やポストプロセッシング処理を行うことも容易であり、テッセレーション（平面分割）やドットフィルをＣＰＵ９０２が実行できる。例えば抽象度の高い処理はＣＰＵ９０２が行い、抽象度が低い細かな処理はＧＰＵ９１２が行うというような役割分担が可能である。
【０１３６】
なお本実施形態の各部の処理をハードウェアとプログラムにより実現する場合には、情報記憶媒体には、ハードウェア（コンピュータ）を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアであるプロセッサ（ＣＰＵ、ＧＰＵ）に処理を指示すると共に、必要であればデータを渡す。そして、プロセッサは、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【０１３７】
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。
【０１３８】
また、法線ベクトルの取得処理、ライティング処理、法線摂動成分の取得処理、テクスチャマッピング処理の手法も、本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。また本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレイヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【０１３９】
【図１】本実施形態の画像生成システムのブロック図の例。
【図２】図２（Ａ）、図２（Ｂ）は車体表面の質感のディテール表現の課題の説明図。
【図３】図３（Ａ）、図３（Ｂ）はスペキュラ用、ディフューズ用法線ベクトルの取得手法の説明図。
【図４】本実施形態により生成された画像の例。
【図５】本実施形態により生成された画像の例。
【図６】図６（Ａ）、図６（Ｂ）は照明モデルの説明図。
【図７】基本法線ベクトルを用いる手法の説明図。
【図８】図８（Ａ）、図８（Ｂ）は基本法線ベクトルの取得手法の説明図。
【図９】図９（Ａ）、図９（Ｂ）はスペキュラ用、ディフューズ用法線摂動成分の取得手法の説明図。
【図１０】テクスチャの繰り返しマッピング手法を説明するための模式図。
【図１１】摂動成分テクスチャ（ノイズテクスチャ）の例。
【図１２】本実施形態により生成された画像の例。
【図１３】本実施形態の変形例の説明図。
【図１４】本実施形態の詳細な処理を説明するフローチャート。
【図１５】図１５（Ａ）、図１５（Ｂ）はハードウェア構成例。
【符号の説明】
【０１４０】
１００  処理部、１０８  ゲーム演算部、１１０  オブジェクト空間設定部、
１１２  移動体演算部、１１４  仮想カメラ制御部、１２０  画像生成部、
１２２  スペキュラ用法線ベクトル取得部、１２４  ディフューズ用法線ベクトル取得部、
１２６  ライティング処理部、１２８  基本法線ベクトル取得部、
１２９  基本法線摂動成分取得部、１３０  音生成部、１６０  操作部、１７０  記憶部、
１７２  主記憶部、１７４  描画バッファ、１７６  モデルデータ記憶部、
１７８  テクスチャ記憶部、１８０  情報記憶媒体、１９０  表示部、１９２  音出力部、
１９４  補助記憶装置、１９６  通信部
【図１】
2008077409.tif 000003
【図２】
2008077409.tif 000004
【図３】
2008077409.tif 000005
【図６】
2008077409.tif 000006
【図７】
2008077409.tif 000007
【図８】
2008077409.tif 000008
【図９】
2008077409.tif 000009
【図１０】
2008077409.tif 000010
【図１３】
2008077409.tif 000011
【図１４】
2008077409.tif 000012
【図１５】
2008077409.tif 000013
【図４】
2008077409.tif 000014
【図５】
2008077409.tif 000015
【図１１】
2008077409.tif 000016
【図１２】
2008077409.tif 000017