(57)【特許請求の範囲】
【請求項１】
画像生成を行うゲームシステムであって、
所与のフレームの画像を生成する際に、所与の条件に基いて複数の異なるタイプのレンダリング処理から各オブジェクト毎にレンダリング処理のタイプを選択する手段と、
各オブジェクト毎に選択したタイプに応じたレンダリング処理を施して前記所与のフレームの画像を生成する画像生成手段と、
を含み、
前記画像生成手段は、
前記オブジェクトの定義点にモデル情報として与えられているアトリビュートデータを用いてジオメトリ演算を行い描画時に必要な定義点のアトリビュートデータを生成するジオメトリ演算手段と、
前記描画時に必要な定義点のアトリビュートデータに基いてオブジェクトの描画を行う描画手段とを含み、
前記ジオメトリ演算手段は、
実行時ステップ数又は実行時のアクセス回数と、生成される描画時に必要な定義点のアトリビュートデータである色又は輝度値、α値の少なくとも一つの詳細度とが異なる複数の処理ルーチンを有しており、前記レンダリング処理のタイプに応じて前記処理ルーチンを選択してジオメトリ演算を行うことで、１のモデル情報から、描画時に必要な定義点のアトリビュートデータとして、選択されたタイプに応じた詳細度の色値又は輝度値、α値の少なくとも一つを生成することが可能なゲームシステム。
【請求項２】
画像生成を行うゲームシステムであって、
３次元空間に配置された複数のオブジェクトについて、所与の条件に基いてオブジェクト毎に当該オブジェクトをレンダリングする際のタイプを決定する手段と、
各オブジェクト毎に決定されたタイプに応じて精密度の異なるレンダリング処理を施して、前記複数のオブジェクトの画像を生成する画像生成手段と、
を含み、
前記画像生成手段は、
前記オブジェクトの定義点にモデル情報として与えられているアトリビュートデータを用いてジオメトリ演算を行い描画時に必要な定義点のアトリビュートデータを生成するジオメトリ演算手段と、
前記描画時に必要な定義点のアトリビュートデータに基いてオブジェクトの描画を行う描画手段とを含み、
前記ジオメトリ演算手段は、
実行時ステップ数又は実行時のアクセス回数と、生成される描画時に必要な定義点のアトリビュートデータである色又は輝度値、α値の少なくとも一つの詳細度とが異なる複数の処理ルーチンを有しており、前記レンダリング処理のタイプに応じて処理ルーチンを選択してジオメトリ演算を行うことで、１のモデル情報から、描画時に必要な定義点のアトリビュートデータとして、選択されたタイプに応じた詳細度の色値又は輝度値、α値の少なくとも一つを生成することが可能なゲームシステム。
【請求項３】
請求項１又は２のいずれかにおいて、
前記ジオメトリ演算手段は、
前記レンダリング処理のタイプに応じて、テクスチャマッピング処理、反射処理、シェーディング処理、光源処理、半透明処理の少なくとも１つの処理を内容を、省略又は簡略化してレンダリング処理を行うことを特徴とするゲームシステム。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記所与の条件は、
オブジェクトと仮想カメラの距離に関する条件を含むことを特徴とするゲームシステム。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記所与の条件は、
光源からオブジェクトが受ける影響の度合いに関する条件を含むことを特徴とするゲームシステム。
【請求項６】
請求項１乃至５のいずれかにおいて、
前記所与の条件は、
オブジェクトと光源と仮想カメラの配置に関する条件を含むことを特徴とするゲームシステム。
【請求項７】
請求項１乃至６のいずれかにおいて、
前記所与の条件は、
同一モデルに基き倍率の違う複数の大きさのオブジェクトを生成して画像生成を行う場合には、前記倍率に関する条件を含むことを特徴とするゲームシステム。
【請求項８】
請求項１乃至７のいずれかにおいて、
ジオメトリ演算を行う際に、オブジェクトの定義点にアトリビュート情報として与えられている色情報に基いてジオメトリ処理後のオブジェクトの定義点の色情報又は輝度情報を生成する演算処理を、前記レンダリング処理のタイプに応じて簡略化して行うことを特徴とするゲームシステム。
【請求項９】
請求項１乃至８のいずれかにおいて、
ジオメトリ演算を行う際に、オブジェクトの定義点にアトリビュート情報として与えられている法線ベクトルと仮想カメラの向き及び光線の向きの少なくとも一方にもとづいて演算される光の反射具合に応じてジオメトリ処理後の定義点の色情報又は輝度情報を生成する演算処理を、前記レンダリング処理のタイプに応じて簡略化して行うことを特徴とするゲームシステム。
【請求項１０】
請求項１乃至９のいずれかにおいて、
ジオメトリ演算を行う際に、オブジェクトの定義点にアトリビュート情報として与えられているα値に基いてジオメトリ処理後のオブジェクトを半透明描画する際に必要なアルファ値を生成する演算処理を、前記レンダリング処理のタイプに応じて簡略化して行うことを特徴とするゲームシステム。
【請求項１１】
請求項１乃至１０のいずれかにおいて、
前記レンダリング処理のタイプに応じて、オブジェクトの環境マッピングを行う処理を省略してレンダリング処理を行うことを特徴とするゲームシステム。
【請求項１２】
請求項１乃至１１のいずれかにおいて、
前記レンダリング処理のタイプに応じて、オブジェクトにテクスチャマッピングを行う回数を変更してレンダリング処理を行うことを特徴とするゲームシステム。
【請求項１３】
コンピュータが使用可能な情報記憶媒体であって、
所与のフレームの画像を生成する際に、所与の条件に基いて複数の異なるタイプのレンダリング処理から各オブジェクト毎にレンダリング処理のタイプを選択する手段と、
各オブジェクト毎に選択したタイプに応じたレンダリング処理を施して前記所与のフレームの画像を生成する画像生成手段と、
を実行するためのプログラムを含み、
前記画像生成手段を実現するためのプログラムは、
前記オブジェクトの定義点にモデル情報として与えられているアトリビュートデータを用いてジオメトリ演算を行い描画時に必要な定義点のアトリビュートデータを生成するジオメトリ演算手段を実現するためのプログラムであって、
実行時ステップ数又は実行時のアクセス回数と、生成される描画時に必要な定義点のアトリビュートデータである色又は輝度値、α値の少なくとも一つの詳細度とが異なる複数の処理ルーチンを有しており、前記レンダリング処理のタイプに応じて処理ルーチンを選択してジオメトリ演算を行うことで、１のモデル情報から、描画時に必要な定義点のアトリビュートデータとして、選択されたタイプに応じた詳細度の色値又は輝度値、α値の少なくとも一つを生成することが可能なプログラムを含むことを特徴とする情報記憶媒体。
【請求項１４】
コンピュータが使用可能な情報記憶媒体であって、
３次元空間に配置された複数のオブジェクトについて、所与の条件に基いてオブジェクト毎に当該オブジェクトをレンダリングする際のタイプを決定する手段と、
各オブジェクト毎に決定されたタイプに応じて精密度の異なるレンダリング処理を施して、前記複数のオブジェクトの画像を生成する画像生成手段と、
を実行するためのプログラムを含み、
前記画像生成手段を実現するためのプログラムは、
前記オブジェクトの定義点にモデル情報として与えられているアトリビュートデータを用いてジオメトリ演算を行い描画時に必要な定義点のアトリビュートデータを生成するジオメトリ演算手段を実現するためのプログラムであって、
実行時ステップ数又は実行時のアクセス回数と、生成される描画時に必要な定義点のアトリビュートデータである色又は輝度値、α値の少なくとも一つの詳細度とが異なる複数の処理ルーチンを有しており、前記レンダリング処理のタイプに応じて処理ルーチンを選択してジオメトリ演算を行うことで、１のモデル情報から、描画時に必要な定義点のアトリビュートデータとして、選択されたタイプに応じた詳細度の色値又は輝度値、α値の少なくとも一つを生成することが可能なプログラムを含むことを特徴とする情報記憶媒体。
【請求項１５】
請求項１３又は１４のいずれかにおいて、
前記ジオメトリ演算手段を実現するためのプログラムは、
前記レンダリング処理のタイプに応じて、テクスチャマッピング処理、反射処理、シェーディング処理、光源処理、半透明処理の少なくとも１つの処理を内容を、省略又は簡略化してレンダリング処理を行うためのプログラムを含むことを特徴とする情報記憶媒体。
【請求項１６】
請求項１３乃至１５のいずれかにおいて、
前記所与の条件は、
オブジェクトと仮想カメラの距離に関する条件を含むことを特徴とする情報記憶媒体。
【請求項１７】
請求項１３乃至１６のいずれかにおいて、
前記所与の条件は、
光源からオブジェクトが受ける影響の度合いに関する条件を含むことを特徴とする情報記憶媒体。
【請求項１８】
請求項１３乃至１７のいずれかにおいて、
前記所与の条件は、
オブジェクトと光源と仮想カメラの配置に関する条件を含むことを特徴とする情報記憶媒体。
【請求項１９】
請求項１３乃至１８のいずれかにおいて、
前記所与の条件は、
同一モデルに基き倍率の違う複数の大きさのオブジェクトを生成して画像生成を行う場合には、前記倍率に関する条件を含むことを特徴とする情報記憶媒体。
【請求項２０】
請求項１３乃至１９のいずれかにおいて、
ジオメトリ演算を行う際に、オブジェクトの定義点にアトリビュート情報として与えられている色情報に基いてジオメトリ処理後のオブジェクトの定義点の色情報又は輝度情報を生成する演算処理を、前記レンダリング処理のタイプに応じて簡略化して実行するためのプログラムを含むことを特徴とする情報記憶媒体。
【請求項２１】
請求項１３乃至２０のいずれかにおいて、
ジオメトリ演算を行う際に、オブジェクトの定義点にアトリビュート情報として与えられている法線ベクトルと仮想カメラの向き及び光線の向きの少なくとも一方にもとづいて演算される光の反射具合に応じてジオメトリ処理後の定義点の色情報又は輝度情報を生成する演算処理を、前記レンダリング処理のタイプに応じて簡略化して実行するためのプログラムを含むことを特徴とする情報記憶媒体。
【請求項２２】
請求項１３乃至２１のいずれかにおいて、
ジオメトリ演算を行う際に、オブジェクトの定義点にアトリビュート情報として与えられているα値に基いてジオメトリ処理後のオブジェクトを半透明描画する際に必要なアルファ値を生成する演算処理を、前記レンダリング処理のタイプに応じて簡略化して実行するためのプログラムを含むことを特徴とする情報記憶媒体。
【請求項２３】
請求項１３乃至２２のいずれかにおいて、
前記レンダリング処理のタイプに応じて、オブジェクトの環境マッピングを行う処理を省略してレンダリング処理を実行するためのプログラムを含むことを特徴とする情報記憶媒体。
【請求項２４】
請求項１３乃至２３のいずれかにおいて、
前記レンダリング処理のタイプに応じて、オブジェクトにテクスチャマッピングを行う回数を変更してレンダリング処理を実行するためのプログラムを含むことを特徴とする情報記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ゲームシステム及び情報記憶媒体に関する。
【０００２】
【背景技術及び発明が解決しようとする課題】
従来より、仮想的な３次元空間であるオブジェクト空間内の所与の視点から見える画像を生成するゲームシステムが知られており、いわゆる仮想現実を体験できるものとして人気が高い。
【０００３】
さて、このようなゲームシステムでは、プレーヤの仮想現実感の向上のために、よりリアルな画像を生成することが重要な技術的課題になっている。
【０００４】
ここにおいてシェーディング処理、光源処理、環境マッピング、マルチテクチャマッピング、半透明処理、反射処理、オブジェクトの材質や属性や光源の影響や仮想カメラへ向き等を考慮した処理等の様々なレンダリング手法を駆使することにり、よりリアルな画像を生成することが可能となる。
【０００５】
しかしかかる様々なレンダリング処理は一般に演算量が多いため、オブジェクト数が多くなると、処理負担の増大を招く原因になる。
【０００６】
従って限られたハード資源でリアルタイムに画像生成を行うことが要求される家庭用、業務用ゲームシステム等においては、処理負担が増大すると画像生成が間に合わず、未完成の画像が表示されたり表示抜けが生じたり等の不具合が発生する恐れがある。
【０００７】
ところが不具合の発生を防ぐために前記様々なレンダリング処理を一律に省略してしまうと、画像のリアリティを損ねてしまうことになる。そこで、かかる不具合の発生しない範囲で、可能な限りリアルな画像を生成することが望まれる。
【０００８】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、所与のフレーム内の複数のオブジェクトについて少ない処理負担でよりリアルなレンダリング表現が可能なゲームシステム及び情報記憶媒体を提供することにある。
【０００９】
【課題を解決するための手段】
本発明は画像生成を行うゲームシステムであって、所与のフレームの画像を生成する際に、所与の条件に基いて複数の異なるタイプのレンダリング処理から各オブジェクト毎にレンダリング処理のタイプを選択する手段と、各オブジェクト毎に選択したタイプに応じたレンダリング処理を施して前記所与のフレームの画像を生成する手段と、を含むことを特徴とする。
【００１０】
また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実行するためのプログラムを含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラム（搬送波に具現化されるプログラムを含む）であって、上記手段を実行するための処理ルーチンを含むことを特徴とする。
【００１１】
ここににおいてレンダリング処理のタイプとは、施すレンダリング手法の相違によって分けられるレンダリング形式であり、入力するモデル情報についてはレンダリング処理のタイプと無関係である。またレンダリング手法とは例えばテクスチャマッピングの種類や光源処理や半透明処理や反射処理等の各種レンダリング手法を意味する。
【００１２】
レンダリング処理のタイプによって、生成される画像の雰囲気やリアリティの度合いや演算負荷等が異なる。
【００１３】
本発明によれは、所与の条件に基いて１フレーム内でオブジェクト単位でレンダリング処理のタイプを選択することが出来る。このため、目的に応じて各オブジェクト単位に最適なタイプのレンダリング処理を選択することにより、効率良く所望のレンダリング効果を得られる画像を生成することが出来る。
【００１４】
本発明は、画像生成を行うゲームシステムであって、３次元空間に配置された複数のオブジェクトについて、所与の条件に基いてオブジェクト毎に当該オブジェクトをレンダリングする際のタイプを決定する手段と、各オブジェクト毎に決定されたタイプに応じて精密度の異なるレンダリング処理を施して、前記複数のオブジェクトの画像を生成する手段と、を含むことを特徴とする。
【００１５】
また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実行するためのプログラムを含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラム（搬送波に具現化されるプログラムを含む）であって、上記手段を実行するための処理ルーチンを含むことを特徴とする。
【００１６】
ここににおいてレンダリング処理のタイプとは、施すレンダリング手法の相違によって分けられるレンダリング形式であり、入力するモデル情報についてはレンダリング処理のタイプと無関係である。またレンダリング手法とは例えばテクスチャマッピングの種類や光源処理や半透明処理や反射処理等の各種レンダリング手法を意味する。
【００１７】
レンダリング処理のタイプによって、生成される画像の雰囲気やリアリティの度合いや演算負荷等が異なる。
【００１８】
一般に精密度とは細部まで巧みに表現されているかや注意が細かい点までいきとどいているかの度合いを表すが、ここでもレンダリング処理が細部まで巧みに表現されているかや注意が細かい点までいきとどいているかという意味で用いている。従って精密度の異なるレンダリング処理とは、例えば表現のリアル度や詳細度等が異なるレンダリング処理を意味する。また一般に精密度が高いほど処理は複雑になるので処理の複雑度が異なる場合でもよい。
【００１９】
精密度が低いレンダリング処理とは例えばテクスチャマッピングの種類や光源処理や半透明処理や反射処理等の各種レンダリング処理を省略したり、簡略化したりしてレンダリング処理等であり、省略や簡略かの程度に応じてレンダリング処理の精密度を判断してもよい。
【００２０】
本発明によれは、３次元空間に配置された複数のオブジェクトについて、所与の条件に基いてオブジェクト毎に精密度の異なるレンダリング処理を施すことが出来る。
【００２１】
従って目的に応じてオブジェクト毎に精密度の異なるレンダリング処理を施すことにより複数のオブジェクトに一律に同じ精密度のレンダリング処理を施す場合に比べて、少ない演算負荷で効率良く所望の高い画像を生成することが出来る。
【００２２】
ここにおいて当該オブジェクトをレンダリングする際の精密度は、当該オブジェクトの画像全体のリアル度に与える影響の大きさに基いて判断することが好ましい。これにより１フレーム内のオブジェクトについて、すべて同じ精密度でレンダリング処理を行うのでなく画像全体のリアル度に与える影響の大きいものにより高い精密度のレンダリング処理を施し、画像全体のリアル度に与える影響の小さいものにより低い精密度のレンダリング処理を施すことができ少ない処理負担でよりリアルな画像を生成することが出来る。
【００２３】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記レンダリング処理のタイプに応じて、テクスチャマッピング処理、反射処理、シェーディング処理、光源処理、半透明処理の少なくとも１つの処理を内容を、省略又は簡略化してレンダリング処理を行うことを特徴とする。
【００２４】
ここにおいて光源処理とは光源との位置関係に基いたシェーディング処理や光の反射を表現する処理等である。また反射処理とは例えば仮想カメラとプリミティブの位置関係に基いて反射を表現する処理等である。また半透明処理とは、オブジェクトの透けて見える部分についてアルファマッピング処理等により半透明描画を行う処理である。
【００２５】
テクスチャマッピング処理には環境マッピングやマルチテクスチャマピング等を含み、テクスチャマッピング処理を省略又は簡略化するとは例えばには環境マッピング処理を省略したり、マルチテクスチャマッピングのマッピング回数を削減したりする場合も含む。
【００２６】
本発明によればレンダリング処理のタイプに応じて、テクスチャマッピング処理、反射処理、シェーディング処理、光源処理、半透明処理の少なくとも１つの処理の内容を、省略又は簡略化してレンダリング処理を行うことをにより、タイプに応じてレンダリング処理の精密度を変えたり、処理負荷をかえたりすることが出来る。
【００２７】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記オブジェクトの定義点に与えられているアトリビュートデータを用いてジオメトリ演算を行い描画時に必要な定義点のアトリビュートデータを生成するジオメトリ演算手段と、前記描画時に必要な定義点のアトリビュートデータに基いてオブジェクトの描画を行う描画手段とを含み、前記ジオメトリ演算手段は、描画時に必要な定義点のアトリビュートデータのうち、定義点座標以外のアトリビュートデータを生成する処理を前記レンダリング処理のタイプに応じて簡略化してジオメトリ演算を行うことを特徴とする。
【００２８】
ここにおいてオブジェクトの定義点とは、オブジェクトの形状を定義（特定）するための点であり、ポリゴンの頂点や自由曲面の制御点などを含む。
【００２９】
またアトリビュートデータとは点、線、面などのグラフィックプリミティブに関連づけられたプロパティのデータであり、レンダリング特性に影響を与えるものである。例えばオブジェクトの定義点（頂点、制御点）のアトリビュートデータとしては、色（輝度）、位置、テクスチャ座標、法線ベクトル、α値、デプスキューイングのバック色がある。
【００３０】
本発明によれば描画時に必要な定義点のアトリビュートデータのうち、定義点座標以外のアトリビュートデータを生成する処理を前記レンダリング処理のタイプに応じて簡略化してジオメトリ演算を行うことにより、前記レンダリング処理のタイプに応じてジオメトリ演算の演算負荷を軽減することが出来る。
【００３１】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記ジオメトリ演算手段は、描画時に必要な定義点のアトリビュートデータのうち、定義点座標以外のアトリビュートデータを生成するためのアルゴリズムの異なる複数の処理ルーチンを有しており、前記レンダリング処理のタイプに応じて所与のルーチンを選択して演算を実行することを特徴とする。
【００３２】
本発明ではジオメトリ演算をプログラムにより実行するため、処理ステップ数やデータのアクセス回数の異なるアルゴリズムの複数の処理ルーチンから、タイイプに応じて処理ルーチンを選択することによりジオメトリ演算の演算負荷を軽減することが出来る。
【００３３】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、オブジェクトの定義点に与えられているアトリビュートデータにもとづいてジオメトリ演算を行い描画時に必要な定義点のアトリビュートデータを生成するジオメトリ演算手段と、前記描画時に必要な定義点のアトリビュートデータに基き描画処理を行う描画プロセッサとを含み、前記ジオメトリ演算手段は、３次元空間のオブジェクトの定義点に与えられている色、輝度、α値、マッピング情報値、法線情報情報の少なくともひとつのアトリビュートデータを用いて描画時に必要な定義点のアトリビュートデータを生成する処理について、実行時ステップ数又は実行時のアクセス回数の異なる複数の処理ルーチンを有し、前記レンダリング処理のタイプに応じて、前記処理ルーチンを切り替えて処理を実行することを特徴とする。
【００３４】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記所与の条件は、オブジェクトと仮想カメラの距離に関する条件を含むことを特徴とする。
【００３５】
本発明によれば仮想カメラとオブジェクトの距離に応じて、レンダリング処理の精密度を変えることが出来る。
【００３６】
ここにおいてオブジェクトが仮想カメラから離れるほど精密度の低いタイプのレンダリング処理を行うことが好ましい。
【００３７】
近景に位置するオブジェクトは大きく見えるため精密度の高いレンダリング手法を用いてリアルに表現しないと画像のリアルティを低下させることになるが、遠景に見えるオブジェクトについては小さくしか表示されないため精密度の低いレンダリング処理をおこなっても画像全体のリアル度に与える影響は少ない。
【００３８】
従って本発明によれば仮想カメラから近いオブジェクトに精密度の高いレンダリング処理を施し、仮想カメラからはなれたオブジェクトにより精密度の低いレンダリング処理を施すことで、１フレーム内のオブジェクトについて、すべて同じ精密度でレンダリング処理を行う場合に比べ少ない処理負担でよりリアルな画像を生成することが出来る。
【００３９】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記所与の条件は、光源からオブジェクトが受ける影響の度合いに関する条件を含むことを特徴とする。
【００４０】
本発明によれば光源からオブジェクトが受ける影響の度合いに応じて、レンダリング処理の精密度を変えることが出来る。
【００４１】
たとえば光源が点光源の場合には光源とオブジェクトとの距離に応じて光源から受ける影響の度合いがことなるし、光源が平行光源の場合はオブジェクトと光源の向きに応じて光源から受ける影響の度合いが異なり、光源の個数によっても光源から受ける影響の度合いが異なる。
【００４２】
従ってオブジェクトが受けるこれらの影響の度合いを考慮してレンダリング時の精密度を決定することが好ましい。
【００４３】
このように本発明によれば１フレーム内のオブジェクトについて、光源から受ける影響の度合いが高いオブジェクトに精密度の高いレンダリング処理を施し、光源から受ける影響の度合いが低いオブジェクトに精密度の低いレンダリング処理を施すことですべて、同じ精密度でレンダリング処理を行う場合に比べ少ない処理負担でよりリアルな画像を生成することが出来る。
【００４４】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記所与の条件は、オブジェクトと光源と仮想カメラの配置に関する条件を含むことを特徴とする。
【００４５】
本発明によればオブジェクトと光源と仮想カメラの配置に応じて、レンダリング処理の精密度を変えることが出来る。従って仮想カメラに近くて、光が当っているオブジェクトを高い精密度で表現することが好ましい。
【００４６】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記所与の条件は、同一モデルに基き倍率の違う複数の大きさのオブジェクトを生成して画像生成を行う場合には、前記倍率に関する条件を含むことを特徴とする。
【００４７】
本発明によれば同一モデルに基き倍率の違う複数の大きさのオブジェクトを生成して画像生成を行う場合には、前記倍率に応じてレンダリング処理の精密度を変えることが出来る。従って拡大率の高いオブジェクトを高い精密度で表現することが好ましい。
【００４８】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、ジオメトリ演算を行う際に、オブジェクトの定義点にアトリビュート情報として与えられている色情報に基いてジオメトリ処理後のオブジェクトの定義点の色情報又は輝度情報を生成する演算処理を、前記レンダリング処理のタイプに応じて簡略化して行うことを特徴とする。
【００４９】
テクスチャマッピングを行うときはジオメトリ処理後のオブジェクトの定義点の輝度情報となり、テクスチャマッピングを行わないときはジオメトリ処理後のオブジェクトの定義点の色情報となる。
【００５０】
また前記演算処理は、例えば読み込んだ色情報をそのまま出す場合でもよいし、法線ベクトルや光線ベクトルに基いた光源処理演算を行って生成した輝度値を出力する場合でもよい。前記レンダリング処理のタイプに応じてこれらを簡略化することが出来る。
【００５１】
また色情報又は輝度情報を生成する演算処理を簡略化するとは、処理を省略する場合も含み、例えばオブジェクトの定義点にアトリビュート情報として与えられている色情報を読み込まないで固定色情報をジオメトリ処理後のオブジェクトの定義点の色情報又は輝度情報として出力する場合等である。
【００５２】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、ジオメトリ演算を行う際に、オブジェクトの定義点にアトリビュート情報として与えられている法線ベクトルと仮想カメラの向き及び光線の向きの少なくとも一方にもとづいて演算される光の反射具合に応じてジオメトリ処理後の定義点の色情報又は輝度情報を生成する演算処理を、前記レンダリング処理のタイプに応じて簡略化して行うことを特徴とする。
【００５３】
簡略化するとは省略する場合も含む。
【００５４】
これを簡略化すると視線の向きや光線のむきを反映しない陰影付けが施された精密度の低い画像が生成される。
【００５５】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、ジオメトリ演算を行う際に、オブジェクトの定義点にアトリビュート情報として与えられているα値に基いてジオメトリ処理後のオブジェクトを半透明描画する際に必要なアルファ値を生成する演算処理を、前記レンダリング処理のタイプに応じて簡略化して行うことを特徴とする。
【００５６】
簡略化するとは省略する場合も含む。
【００５７】
これを簡略化するとオブジェクトの透けて見えるはずの部分が半透明にならない精密度の低い画像が生成される。
【００５８】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記レンダリング処理のタイプに応じて、オブジェクトの環境マッピングを行う処理を省略してレンダリング処理を行うことを特徴とする。
【００５９】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記レンダリング処理のタイプに応じて、オブジェクトにテクスチャマッピングを行う回数を変更してレンダリング処理を行うことを特徴とする。
【００６０】
【発明の実施の形態】
以下、本発明の好適な実施形態について図面を用いて説明する。
【００６１】
１．構成
図１に、本実施形態のブロック図の一例を示す。なお同図において本実施形態は、少なくとも処理部１００を含めばよく、それ以外のブロックについては、任意の構成要素とすることができる。
【００６２】
ここで処理部１００は、システム全体の制御、システム内の各ブロックへの命令の指示、ゲーム処理、画像処理、音処理などの各種の処理を行うものであり、その機能は、各種プロセッサ（ＣＰＵ、ＤＳＰ等）、或いはＡＳＩＣ（ゲートアレイ等）などのハードウェアや、所与のプログラム（ゲームプログラム）により実現できる。
【００６３】
操作部１６０は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、筺体などのハードウェアにより実現できる。
【００６４】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭなどのハードウェアにより実現できる。
【００６５】
情報記憶媒体（コンピュータにより使用可能な記憶媒体）１８０は、プログラムやデータなどの情報を格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などのハードウェアにより実現できる。処理部１００は、この情報記憶媒体１８０に格納される情報に基づいて本発明（本実施形態）の種々の処理を行う。即ち情報記憶媒体１８０には、本発明（本実施形態）の手段（特に処理部１００に含まれるブロック）を実行するための情報（プログラム或いはデータ）が格納される。
【００６６】
なお、情報記憶媒体１８０に格納される情報の一部又は全部は、システムへの電源投入時等に記憶部１７０に転送されることになる。また情報記憶媒体１８０に記憶される情報は、本発明の処理を行うためのプログラムコード、画像データ、音データ、表示物の形状データ、テーブルデータ、リストデータ、本発明の処理を指示するための情報、その指示に従って処理を行うための情報等の少なくとも１つを含むものである。
【００６７】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、或いはＨＭＤ（ヘッドマウントディスプレイ）などのハードウェアにより実現できる。
【００６８】
音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカなどのハードウェアにより実現できる。
【００６９】
セーブ用情報記憶装置１９４は、プレーヤの個人データ（セーブデータ）などが記憶されるものであり、このセーブ用情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などを考えることができる。
【００７０】
通信部１９６は、外部（例えばホスト装置や他のゲームシステム）との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ、或いは通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００７１】
なお本発明（本実施形態）の手段を実行するためのプログラム或いはデータは、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０に配信するようにしてもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含まれる。
【００７２】
処理部１００は、ゲーム処理部１１０、画像生成部１３０、音生成部１５０を含む。
【００７３】
ここでゲーム処理部１１０は、コイン（代価）の受け付け処理、各種モードの設定処理、ゲームの進行処理、選択画面の設定処理、オブジェクト（１又は複数のプリミティブ面）の位置や回転角度（Ｘ、Ｙ又はＺ軸回り回転角度）を求める処理、オブジェクトを動作させる処理（モーション処理）、視点の位置（仮想カメラの位置）や視線角度（仮想カメラの回転角度）を求める処理、マップオブジェクトなどのオブジェクトをオブジェクト空間へ配置するための処理、ヒットチェック処理、ゲーム結果（成果、成績）を演算する処理、複数のプレーヤが共通のゲーム空間でプレイするための処理、或いはゲームオーバー処理などの種々のゲーム処理を、操作部１６０からの操作データや、セーブ用情報記憶装置１９４からの個人データや、ゲームプログラムなどに基づいて行う。
【００７４】
画像生成部１３０は、ゲーム処理部１１０からの指示等にしたがって各種の画像処理を行い、例えばオブジェクト空間内で仮想カメラ（視点）から見える画像を生成して、表示部１９０に出力する。また、音生成部１５０は、ゲーム処理部１１０からの指示等にしたがって各種の音処理を行い、ＢＧＭ、効果音、音声などの音を生成し、音出力部１９２に出力する。
【００７５】
なお、ゲーム処理部１１０、画像生成部１３０、音生成部１５０の機能は、その全てをハードウェアにより実現してもよいし、その全てをプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【００７６】
ゲーム処理部１１０は、移動・動作演算部１１２、視点距離演算部１１４を含む。
【００７７】
ここで移動・動作演算部１１２は、車などのオブジェクトの移動情報（位置データ、回転角度データ）や動作情報（オブジェクトの各パーツの位置データ、回転角度データ）を演算するものであり、例えば、操作部１６０によりプレーヤが入力した操作データやゲームプログラムなどに基づいて、オブジェクトを移動させたり動作させたりする処理を行う。
【００７８】
より具体的には、移動・動作演算部１１２は、オブジェクトの位置や回転角度を例えば１フレーム（１／６０秒）毎に求める処理を行う。例えば（ｋ−１）フレームでのオブジェクトの位置をＰＭk-1、速度をＶＭk-1、加速度をＡＭk-1、１フレームの時間を△ｔとする。するとｋフレームでのオブジェクトの位置ＰＭk、速度ＶＭkは例えば下式（１）、（２）のように求められる。
【００７９】
ＰＭk＝ＰＭk-1＋ＶＭk-1×△ｔ              （１）
ＶＭk＝ＶＭk-1＋ＡＭk-1×△ｔ              （２）
視点距離演算部１１４は、各オブジェクトと仮想カメラとの距離を演算する。
【００８０】
画像生成部１３０は、ジオメトリ処理部１３２、描画部１４０を含む。
【００８１】
ここで、ジオメトリ処理部１３２は、座標変換、クリッピング処理、透視変換、或いは光源計算などの種々のジオメトリ処理（３次元演算）を行う。そして、ジオメトリ処理後（透視変換後）のオブジェクトデータ（オブジェクトの頂点座標などの形状データ、或いは頂点テクスチャ座標、輝度データ等）は、記憶部１７０のメインメモリ１７２に保存される。
【００８２】
ジオメトリ処理部１３２は処理タイプ選択部１３４を含む。処理タイプ選択部１３４は仮想カメラからオブジェクトまでの距離に基き、３次元空間に配置された複数のオブジェクトについて、オブジェクト毎に当該オブジェクトをレンダリングする際のタイプを決定する。
【００８３】
ジオメトリ演算部１３２は前記タイプに応じて精密度の異なるレンダリング処理を施しすためのジオメトリ演算を行う。
【００８４】
描画部１４０は、ジオメトリ処理後のオブジェクト（モデル）を、フレームバッファ１７４に描画するための処理を行うものである。
【００８５】
なお、本実施形態のゲームシステムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【００８６】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末を用いて生成してもよい。
【００８７】
２．本実施形態の特徴
以下本実施の形態の特徴について、図面を用いて説明する。
【００８８】
図２は、水中の魚群の様子を表した画像である。同図に示す魚群のように、多数の魚オブジェクトが含まれた画像を生成する場合、各魚についてシェーディング処理、光源処理、環境マッピング、マルチテクチャマッピング、半透明処理、反射処理、オブジェクトの材質や属性や光源の影響や仮想カメラへ向き等を考慮した処理等の様々なレンダリング手法を駆使することにり、よりリアルな魚の画像を生成することが可能となる。
【００８９】
しかしかかる様々なレンダリング処理は一般に演算量が多いため、図２に示す魚群のすべての魚にこれを行ったのでは処理負担が著しく増大し、リアルタイム画像生成が困難になり、未完成の画像が表示されたり表示抜けが生じたり等の不具合が発生する恐れがある。
【００９０】
ところが近景に位置する魚は大きく見えるため精密度の高いタイプのレンダリングっ処理用いてリアルに表現しないと画像のリアルティを低下させることになるが、遠景に見える魚については小さくしか表示されないため精密度の低いタイプのレンダリング処理をもちいても画像全体のリアル度に与える影響は少ない。
【００９１】
本実施の形態の特徴は、１フレーム内のオブジェクトについて、すべて同じ精密度でレンダリング処理を行うのでなく、画像全体のリアル度に与える影響の大きさに応じてオブジェクト毎にレンダリング処理のタイプを選択できる点にある。従って画像全体のリアル度に与える影響の大きいものにより精密度の高いタイプのレンダリング処理を施し、画像全体のリアル度に与える影響の小さいものに精密度低いタイプのレンダリング処理を施すことで少ない処理負担でよりリアルな画像を生成することが出来る。
【００９２】
以下仮想カメラからの距離に応じて精密度の異なるタイプのレンダリング処理を施す場合を例にとり本実施の形態の特徴について説明する。
【００９３】
図３（Ａ）〜（Ｃ）は、精密度の異なるタイプのレンダリング処理と処理負荷の関係について説明するための図である。図３（Ａ）〜（Ｃ）の３１０、３２０、３３０は同一モデルの魚に精密度の異なるタイプのレンダリング処理を施した場合の画像を模式的に表した物である。
【００９４】
図３（Ａ）の３１０は精密度の高いタイプのレンダリング処理によって生成される魚オブジェクトの画像であり、リアルに見えるような光源、テクスチャマッピング処理等が施されているため、処理負荷はおおきくなる（処理負荷：６０）。
【００９５】
図３（Ｂ）の３２０は精密度が中くらいのタイプのレンダリング処理によって生成される魚オブジェクトの画像であり、通常用いられるような光源、テクスチャマッピング処理等が施されおり、処理負荷は中程度である（処理負荷：３０）。
【００９６】
図３（Ｃ）の３３０は精密度の低いタイプのレンダリング処理によって生成される魚オブジェクトの画像であり、光源、テクスチャマッピング処理等を簡略化されているため、処理負荷は小さい（処理負荷：１２）。
【００９７】
このように同一モデルの魚オブジェクトに対して、精密度が高い場合、中くらいの場合、低い場合の処理負荷の比率は、この例では６０：３０：１２であり、レンダリング処理の精密度が高いタイプほど処理負荷がほど大きくなる。
【００９８】
図４（Ａ）（Ｂ）はオブジェクトの仮想カメラからの距離とレンダリング処理の精密度との関係について説明するための図である。
【００９９】
図４（Ａ）に示すように、本実施の形態では精密度の低いタイプのレンダリング処理を施したオブジェクトは遠景（仮想カメラから離れている）用として用い、精密度が中くらいタイプののレンダリング処理を施したオブジェクトは中景用として用い、精密度の高いタイプのレンダリング処理を施したオブジェクトは、近景（仮想カメラから近い）用として用いる。
【０１００】
なお遠景、中景、近景と仮想カメラからの距離との具体的な関係については、各画像やゲーム毎に最適な値を設定することが望ましい。
【０１０１】
図４（Ｂ）は１フレーム内の各魚オブジェクトについて視点からの距離に応じて精密度の異なるタイプのレンダリング処理を施して生成した画像を模式的に表したものである。３１０−１〜３１０−６は近景に当るるため精密度の高いタイプのレンダリング処理が施されており、３２０−１〜３２０−４は中景に当るため精密度が中くらいのタイプのレンダリング処理が施されており、３２０−１〜３２０−５は遠景に位置するため精密度の低いタイプのレンダリング処理が施されている。
【０１０２】
このようにすると、画像全体のリアル度に与える影響の大きいものにより精密度の高いタイプのレンダリング処理を施し、画像全体のリアル度に与える影響の小さいものに精密度低いタイプのレンダリング処理を施すことができる。従って、同じ精密度でレンダリング処理を行う場合に近い効果を少ない処理負担で実現することが出来る。
【０１０３】
図５（Ａ）〜（Ｂ）は同じ処理負荷で実現できる画像例について説明するための図である。
【０１０４】
図５（Ａ）はすべての魚オブジェクトを精密度が中くらいのタイプのレンダリング処理を行った場合に生成される画像を模式的に表した図である。１フレーム内で画像生成可能な処理負荷が２４０であるとすれば、精密度が中くらいのタイプレンダリング処理の処理負荷は３０であるため、図５（Ａ）に示すように８オブジェクトのみ出力可能となる。
【０１０５】
図５（Ｂ）は仮想カメラから離れた魚オブジェクト３２０−１〜３２０−４については精密度の低いタイプのレンダリング処理を施し、仮想カメラからの距離が近い又は中くらいの魚オブジェクト３３０−１〜３３０−１０には精密度が中くらいのタイプのレンダリング処理を行った場合に生成される画像を模式的に表した図である。１フレーム内で画像生成可能な処理負荷が２４０であるとすれば、精密度が中くらいのタイプのレンダリング処理、精密度の低いタイプのレンダリング処理の処理負荷はそれぞれ３０、１２であるため、図５（Ｂ）に示すように１４オブジェクト出力可能となる。
【０１０６】
このように仮想カメラから離れているものを表示するときに精密度の低いタイプのレンダリング処理を採用することにより処理負荷が軽減するため、一律に通常の精密度のタイプのレンダリング処理のみで出力する場合に比べ、出力するオブジェクト数を増やすことが出来る。
【０１０７】
図５（Ｃ）は仮想カメラから近い魚オブジェクト３１０−１、３１０−２については精密度の高いタイプのレンダリング処理を施し、仮想カメラからの距離が中くらいの魚オブジェクト３２０−１〜３２０−４には精密度が中くらいのタイプのレンダリング処理を行った場合に生成される画像を模式的に表した図である。１フレーム内で画像生成可能な処理負荷が２４０であるとすれば、精密度の高いタイプのレンダリング処理、精密度が中くらいのタイプのレンダリング処理の処理負荷はそれぞれ６０、３０であるため、図５（Ｃ）に示すように出力されるオブジェクト数は少ないがリアルな表現が可能となる。
【０１０８】
仮想カメラから近いものをリアルに表示したい場合には、近いものに対して精密度の高いタイプのレンダリング処理を行うことにより、出力されるオブジェクト数は減るがよりリアルな表現が可能となる。
【０１０９】
次に本実施の形態において、オブジェクト単位にレンダリング処理のタイプを選択して実行することにより演算負荷の軽減を実現する具体的な手法について説明する。
【０１１０】
図６を用いて本実施の形態において３次元空間に配置された所与のモデル情報を有するオブジェクトについてレンダリング処理を行う場合について説明する。
【０１１１】
３次元空間に配置されたオブジェクトにレンダリング処理２４０を施す際に、本実施の形態ではまず所定の情報２２０、２３０に基きＣＰＵ又は専用のプロセッサでジオメトリ演算プログラムを実行させることにより、ジオメトリ処理２５０を行う。
【０１１２】
ここにおいて２２０は、当該オブジェクトの位置座標（ａ１）とオブジェクトと仮想カメラの距離（ｂ１）に関する情報であり、ＣＰＵによって演算される。
【０１１３】
また２３０は当該オブジェクトのモデル情報としてオブジェクトを構成する各頂点に与えられているアトリビュート情報２３０である。各頂点に与えられたアトリビュート情報２３０は頂点座標値（ｂ１）、頂点色値（ｂ２）、アルファ・マッピング情報値（ｂ３）、法線ベクトル値（ｂ４）を含む。
【０１１４】
なおここで頂点色値は例えばＲＧＢ値で与えられ、アルファは例えば半透明演算を行う場合に用いるα値であり、マッピング情報値はＵＶやＳＴＱ等のテクスチャコーディネート値等である。
【０１１５】
そしてジオメトリ処理の結果、３次元空間のオブジェクトの各頂点のアトリビュート情報２３０に基いて、ジオメトリ処理後にスクリーン座標系に変換された頂点のアトリビュート情報２６０が生成される。
【０１１６】
ジオメトリ処理後のアトリビュート情報２６０は、頂点座標・フォグ値（ｃ１）、頂点色・α値（ｃ２）、テクスチャコーディネイト値（ｃ３）を含む。
ここで頂点座標はスクリーン座標系における頂点座標であり、フォグ値はデプスキューイング処理を行う際の奥行き情報により求められる係数等である。また頂点色はテクスチャマッピングを行う場合は頂点の輝度を表す情報となり、テクスチャマッピングを行わない場合には頂点の色を表す情報となる値である。またα値は半透明描画等を行う場合に必要な値である。テクスチャコーディネイト値は、マッピングするテクスチャのＵＶ値やＳＴＱ値である。
【０１１７】
本実施の形態のジオメトリ処理２５０は、精密度の異なるレンダリング処理を行うための複数のタイプの処理ルーチンを有している。
【０１１８】
処理１（２５２）は遠景用処理ルーティンであり、当該オブジェクトが仮想カメラから離れている場合には処理１が実行される。処理２（２５４）は中景用処理ルーティンであり、当該オブジェクトが仮想カメラから少し離れている場合には処理２が実行される。処理３（２５４）は近景用処理ルーティンであり、当該オブジェクトが仮想カメラから近い場合には処理３が実行される。
【０１１９】
処理１、処理２、処理３で実行される遠景用処理ルーチン、中景用処理ルーチン、遠景用処理ルーチンはいずれもモデル情報として与えられている頂点のアトリビュート情報２３０を用いてジオメトリ処理後の頂点のアトリビュートデータを生成するルーチンであるが、実行時ステップ数又は実行時のアクセス回数を異にするルーチンである。
【０１２０】
精密度の高いレンダリング処理を行うためのジオメトリ処理後の頂点のアトリビュートデータを生成するルーチンのほうが実行時ステップ数又は実行時のアクセス回数が高くなる。従って近景用処理ルーチンの実行時ステップ数又は実行時のアクセス回数が最も高く遠景用ルーチンの実行時ステップ数又は実行時のアクセス回数が最も低くなる。
【０１２１】
本実施の形態では、オブジェクト単位でこの処理を選択することが出来る。従って、例えば近景等のリアルな表現が必要なオブジェクトのみ演算負荷の高い処理を選択し、遠景等のリアルさが要求されないオブジェクトについては演算負荷の低い処理を選択することが出来る。
【０１２２】
このように例えばオブジェクトの仮想カメラとの距離に応じて各処理を使い分けることにより、少ない演算負荷で最適なレンダリング処理を行うことが出来る。
【０１２３】
図７は、各ジオメトリ処理ルーチンのレンダリング処理のタイプについて説明するための図である。
【０１２４】
処理１は環境マッピングのみを行うタイプのレンダリング処理を実行する際のジオメトリ処理ルーチンである。
【０１２５】
処理２は環境マッピングと半透明処理と頂点色（輝度）反映処理を行うタイプのレンダリング処理を実行する際のジオメトリ処理ルーチンである。
【０１２６】
処理３は環境マッピングと半透明処理と反射処理を行うタイプのレンダリング処理を実行する際のジオメトリ処理ルーチンである。
【０１２７】
本実施の形態では環境マッピングとして物体表面における反射を表現するリフレクションマッピングを行う。このような環境マッピングにおいては、物体の存在する３次元空間に仮想球や仮想円柱を考え、その内面予め環境テクスチャを貼り付け、オブジェクトの表面にそのテクスチャが反射しているような表示を行う。反射方向ベクトルは視点位置（仮想カメラの位置）と物体表面の点の座標で決まり、この反射方向ベクトルで対応するテクスチャ座標（テクスチャコーディネート値）が決定される。
【０１２８】
従ってレンダリング処理として環境マッピングを行う場合には、視点位置（仮想カメラの位置）と頂点座標に基き、テクスチャコーディネイト値を演算する処理が必要となる。
【０１２９】
処理１、処理２、処理３のいずれも環境マッピングを行うため、いずれの処理ルーチンも環境マッピングを行うためのテクスチャコーディネイト値の演算処理が必要となる。
【０１３０】
また半透明処理は、例えば魚のひれ等のように透けて見える部分を半透明に表現するための処理である。具体的には画素単位の描画データを描画する際にαブレンディング処理を行うこと等により実現されるが、このαブレンディング処理に用いるα値をジオメトリ処理後の頂点のアトリビュート情報として描画プロセッサに渡してやる処理が必要となる。すなわちモデル情報として各頂点にセットされたα値をジオメトリ処理後の頂点のアトリビュート情報にセットする処理が必要となる。
【０１３１】
処理２、処理３はいずれも半透明処理を行うため、これらの処理ルーチンはモデル情報として各頂点にセットされたα値をジオメトリ処理後の頂点のアトリビュート情報にセットする処理が必要となり、この処理がない処理１に比べて演算負荷が高くなる。
【０１３２】
また頂点色（輝度）反映処理は、モデル情報として各頂点にセットされた頂点色値を反映した画像を描画する処理で、モデル情報として各頂点にセットされた頂点色値をジオメトリ処理後の頂点のアトリビュート情報にセットする処理が必要となる。
【０１３３】
処理２は頂点色（輝度）反映処理を行うため、この処理がない処理１に比べて演算負荷が高くなる。
【０１３４】
本実施の形態で行う反射処理は仮想カメラに対する面の向きに応じた光の反射を表現する処理で、各面の向きと仮想カメラを向き（視線方向）に基いた反射演算が必要となる。具体的には各面の向きは頂点の法線ベクトル値で判断するため、各頂点にモデル情報として与えられた法線ベクトルを読み込んで反射演算を行い、演算結果をジオメトリ処理後の頂点のアトリビュート情報である頂点色に反映させて出力する必要がある。
【０１３５】
この反射処理は演算負荷が高いため、処理３は処理１及び処理２に比べて演算負荷が高くなる。
【０１３６】
このように本実施の形態ではレンダリング処理のタイプによって半透明処理や頂点色（輝度）反映処理や反射処理を省略してすることにより、精密度の異なるレンダリング処理を実現している。
【０１３７】
３．本実施の形態の処理
図８は本実施の形態におけるジオメトリ演算処理の動作例について説明するためのフローチャート図である。
【０１３８】
本実施の形態では３次元空間に配置された全オブジェクトについて処理が終了するまでステップＳ１０〜Ｓ７０の処理を繰り返している。
【０１３９】
すなわちオブジェクトと仮想カメラの距離が近い場合には処理３を実行し（ステップＳ２０、Ｓ６０）、オブジェクトと仮想カメラの距離が遠い場合には処理１を実行し（ステップＳ３０、Ｓ４０）、オブジェクトと仮想カメラの距離が中くらいである場合には処理２を実行する（ステップＳ３０、Ｓ５０）。
【０１４０】
図９は本実施の形態の処理１の動作例について説明するためのフローチャート図である。
【０１４１】
本実施の形態の処理１では所与のオブジェクトの全頂点について処理が終了するまでステップＳ１１０〜Ｓ１８０の処理を繰り返している。
【０１４２】
すなわち、まずモデル情報として各頂点に与えれたた頂点座標値の読込みを行う（ステップＳ１２０）。
【０１４３】
そして前記頂点座標をワールド座標系、視点座標系、スクリーン座標系に座標変換するためのジオメトリ・視野変換・透視投影変換演算処理を行う（ステップＳ１３０）。
【０１４４】
次に視点位置（仮想カメラの位置）と頂点座標に基き反射方向ベクトルを演算し環境マッピングを行うためのテクスチャコーディネイト値を演算する環境マッピング演算処理を行う（ステップＳ１４０）。
【０１４５】
そして演算されたテクスチャコーディネート値をジオメトリ処理後の頂点のアトリビュート情報として書きこむ（ステップＳ１５０）。
【０１４６】
次に固定頂点色情報をジオメトリ処理後の頂点のアトリビュート情報として書きこむ（ステップＳ１６０）。すなわち処理１では頂点色（輝度）反映処理を行わないため固定値を出力すれば良く、モデル情報として与えられた頂点の頂点色を読み込む必要もない。このためアクセス回数及び演算ステップ数が他の処理に比べて少なくて済む。
【０１４７】
そしてステップＳ１３０の演算結果に従い演算済頂点座標値をジオメトリ処理後の頂点のアトリビュート情報として書きこむ（ステップＳ１７０）。
【０１４８】
図１０は本実施の形態の処理２の動作例について説明するためのフローチャート図である。
【０１４９】
本実施の形態の処理２では所与のオブジェクトの全頂点について処理が終了するまでステップＳ２１０〜Ｓ３１０の処理を繰り返している。
【０１５０】
すなわち、まずモデル情報として各頂点に与えれたた頂点座標値の読込みを行う（ステップＳ２２０）。
【０１５１】
次にモデル情報として各頂点に与えれた頂点色の読込みを行う（ステップＳ２３０）。処理２では頂点色（輝度）反映処理を行うのでモデル情報として各頂点に与えれた頂点色の読込みが必要となる。
【０１５２】
次にモデル情報として各頂点に与えれたアルファ・マッピング情報値の読込みを行う（ステップＳ２４０）。処理２では半透明処理を行うのでモデル情報として各頂点に与えれたアルファ・マッピング情報の読込みが必要となる。
【０１５３】
そして前記頂点座標をワールド座標系、視点座標系、スクリーン座標系に座標変換するためのジオメトリ・視野変換・透視投影変換演算処理を行う（ステップＳ２５０）。
【０１５４】
次に視点位置（仮想カメラの位置）と頂点座標に基き反射方向ベクトルを演算し環境マッピングを行うためのテクスチャコーディネイト値を演算する環境マッピング演算処理を行う（ステップＳ２６０）。
【０１５５】
次に半透明処理を行うために必要なα値を演算するアルファマッピング演算処理を行う（ステップＳ２７０）。
【０１５６】
そして演算されたテクスチャコーディネート値をジオメトリ処理後の頂点のアトリビュート情報として書きこむ（ステップＳ２８０）。
【０１５７】
次にステップＳ２３０で読み込んだ頂点色をジオメトリ処理後の頂点のアトリビュート情報として書きこむ（ステップＳ２９０）。すなわち処理１では頂点色（輝度）反映処理を行わないため固定値を出力していたが、処理２ではモデル情報として与えられた頂点の頂点色を出力するため、モデルの頂点色（輝度）を反映した頂点色情報をジオメトリ処理後の頂点のアトリビュート情報として出力することが出来る。
【０１５８】
そしてステップＳ２５０の演算結果に従い演算済頂点座標値をジオメトリ処理後の頂点のアトリビュート情報として書きこむ（ステップＳ３００）。
【０１５９】
図１１は本実施の形態の処理３の動作例について説明するためのフローチャート図である。
【０１６０】
本実施の形態の処理３では所与のオブジェクトの全頂点について処理が終了するまでステップＳ４１０〜Ｓ５２０の処理を繰り返している。
【０１６１】
すなわち、まずモデル情報として各頂点に与えれたた頂点座標値の読込みを行う（ステップＳ４２０）。
【０１６２】
次にモデル情報として各頂点に与えれたアルファ・マッピング情報値の読込みを行う（ステップＳ４３０）。処理３では半透明処理を行うのでモデル情報として各頂点に与えれたアルファ・マッピング情報の読込みが必要となる。
【０１６３】
次にモデル情報として各頂点に与えれた法線ベクトル値の読込みを行う（ステップＳ４４０）。処理３では反射処理を行うのでモデル情報として各頂点に与えられた法線ベクトル値の読込みが必要となる。
【０１６４】
そして前記頂点座標をワールド座標系、視点座標系、スクリーン座標系に座標変換するためのジオメトリ・視野変換・透視投影変換演算処理を行う（ステップＳ４５０）。
【０１６５】
次に視点位置（仮想カメラの位置）と頂点座標に基き反射方向ベクトルを演算し環境マッピングを行うためのテクスチャコーディネイト値を演算する環境マッピング演算処理を行う（ステップＳ４６０）。
【０１６６】
次に半透明処理を行うために必要なα値を演算するアルファマッピング演算処理を行う（ステップＳ４７０）。
【０１６７】
次に仮想カメラに対する面の向きに応じた光の反射を表現するための反射演算処理を行う（ステップＳ４８０）。反射演算処理では読み込んだ頂点の法線ベクと仮想カメラの向き（視線ベクトル）に基いて光の反射を演算し演算結果をジオメトリ処理後の頂点のアトリビュート情報である頂点色に反映させる。この反射処理は演算負荷が高いため、処理３は処理１及び処理２に比べて演算負荷が高くなる。
【０１６８】
そして演算されたテクスチャコーディネート値をジオメトリ処理後の頂点のアトリビュート情報として書きこむ（ステップＳ４９０）。
【０１６９】
次にステップＳ４８０で演算した頂点色をジオメトリ処理後の頂点のアトリビュート情報として書きこむ（ステップＳ５００）。これにより頂点色に仮想カメラに対する面の向きを反映した輝度値を設定することが出来る。
【０１７０】
そしてステップＳ４５０の演算結果に従い演算済頂点座標値をジオメトリ処理後の頂点のアトリビュート情報として書きこむ（ステップＳ５２０）。
【０１７１】
４．ハードウェア構成
次に、本実施形態を実現できるハードウェアの構成の一例について図１２を用いて説明する。
【０１７２】
メインプロセッサ９００は、ＣＤ９８２（情報記憶媒体）に格納されたプログラム、通信インターフェース９９０を介して転送されたプログラム、或いはＲＯＭ９５０（情報記憶媒体の１つ）に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などの種々の処理を実行する。
【０１７３】
コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、オブジェクトを移動させたり動作（モーション）させるための物理シミュレーションに、マトリクス演算などの処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【０１７４】
ジオメトリプロセッサ９０４は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ９００で動作するプログラムが、その処理をジオメトリプロセッサ９０４に指示する。
【０１７５】
データ伸張プロセッサ９０６は、圧縮された画像データや音データを伸張するデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする処理を行う。これにより、オープニング画面、インターミッション画面、エンディング画面、或いはゲーム画面などにおいて、所与の画像圧縮方式で圧縮された動画像を表示できるようになる。なお、デコード処理の対象となる画像データや音データは、ＲＯＭ９５０、ＣＤ９８２に格納されたり、或いは通信インターフェース９９０を介して外部から転送される。
【０１７６】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画（レンダリング）処理を高速に実行するものである。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０の機能を利用して、オブジェクトデータを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると、描画プロセッサ９１０は、これらのオブジェクトデータやテクスチャに基づいて、Ｚバッファなどを利用した陰面消去を行いながら、オブジェクトをフレームバッファ９２２に高速に描画する。また、描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行うことができる。そして、１フレーム分の画像がフレームバッファ９２２に書き込まれると、その画像はディスプレイ９１２に表示される。
【０１７７】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などの高品位のゲーム音を生成する。生成されたゲーム音は、スピーカ９３２から出力される。
【０１７８】
ゲームコントローラ９４２からの操作データや、メモリカード９４４からのセーブデータ、個人データは、シリアルインターフェース９４０を介してデータ転送される。
【０１７９】
ＲＯＭ９５０にはシステムプログラムなどが格納される。なお、業務用ゲームシステムの場合には、ＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納されることになる。なお、ＲＯＭ９５０の代わりにハードディスクを利用するようにしてもよい。
【０１８０】
ＲＡＭ９６０は、各種プロセッサの作業領域として用いられる。
【０１８１】
ＤＭＡコントローラ９７０は、プロセッサ、メモリ（ＲＡＭ、ＶＲＡＭ、ＲＯＭ等）間でのＤＭＡ転送を制御するものである。
【０１８２】
ＣＤドライブ９８０は、プログラム、画像データ、或いは音データなどが格納されるＣＤ９８２（情報記憶媒体）を駆動し、これらのプログラム、データへのアクセスを可能にする。
【０１８３】
通信インターフェース９９０は、ネットワークを介して外部との間でデータ転送を行うためのインターフェースである。この場合に、通信インターフェース９９０に接続されるネットワークとしては、通信回線（アナログ電話回線、ＩＳＤＮ）、高速シリアルバスなどを考えることができる。そして、通信回線を利用することでインターネットを介したデータ転送が可能になる。また、高速シリアルバスを利用することで、他のゲームシステム、他のゲームシステムとの間でのデータ転送が可能になる。
【０１８４】
なお、本発明の各手段は、その全てを、ハードウェアのみにより実行してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実行してもよい。或いは、ハードウェアとプログラムの両方により実行してもよい。
【０１８５】
そして、本発明の各手段をハードウェアとプログラムの両方により実行する場合には、情報記憶媒体には、本発明の各手段をハードウェアを利用して実行するためのプログラムが格納されることになる。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０等に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０等は、その指示と渡されたデータとに基づいて、本発明の各手段を実行することになる。
【０１８６】
図１３（Ａ）に、本実施形態を業務用ゲームシステムに適用した場合の例を示す。プレーヤは、ディスプレイ１１００上に映し出されたゲーム画像を見ながら、レバー１１０２、ボタン１１０４等を操作してゲームを楽しむ。内蔵されるシステムボード（サーキットボード）１１０６には、各種プロセッサ、各種メモリなどが実装される。そして、本発明の各手段を実行するための情報（プログラム又はデータ）は、システムボード１１０６上の情報記憶媒体であるメモリ１１０８に格納される。以下、この情報を格納情報と呼ぶ。
【０１８７】
図１３（Ｂ）に、本実施形態を家庭用のゲームシステムに適用した場合の例を示す。プレーヤはディスプレイ１２００に映し出されたゲーム画像を見ながら、ゲームコントローラ１２０２、１２０４を操作してゲームを楽しむ。この場合、上記格納情報は、本体システムに着脱自在な情報記憶媒体であるＣＤ１２０６、或いはメモリカード１２０８、１２０９等に格納されている。
【０１８８】
図１３（Ｃ）に、ホスト装置１３００と、このホスト装置１３００とネットワーク１３０２（ＬＡＮのような小規模ネットワークや、インターネットのような広域ネットワーク）を介して接続される端末１３０４-1〜１３０４-nとを含むシステムに本実施形態を適用した場合の例を示す。この場合、上記格納情報は、例えばホスト装置１３００が制御可能な磁気ディスク装置、磁気テープ装置、メモリ等の情報記憶媒体１３０６に格納されている。端末１３０４-1〜１３０４-nが、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置１３００からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム等が端末１３０４-1〜１３０４-nに配送される。一方、スタンドアロンで生成できない場合には、ホスト装置１３００がゲーム画像、ゲーム音を生成し、これを端末１３０４-1〜１３０４-nに伝送し端末において出力することになる。
【０１８９】
なお、図１３（Ｃ）の構成の場合に、本発明の各手段を、ホスト装置（サーバー）と端末とで分散して実行するようにしてもよい。また、本発明の各手段を実行するための上記格納情報を、ホスト装置（サーバー）の情報記憶媒体と端末の情報記憶媒体に分散して格納するようにしてもよい。
【０１９０】
またネットワークに接続する端末は、家庭用ゲームシステムであってもよいし業務用ゲームシステムであってもよい。そして、業務用ゲームシステムをネットワークに接続する場合には、業務用ゲームシステムとの間で情報のやり取りが可能であると共に家庭用ゲームシステムとの間でも情報のやり取りが可能なセーブ用情報記憶装置（メモリカード、携帯型ゲーム装置）を用いることが望ましい。
【０１９１】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【０１９２】
例えば、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の１の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【０１９３】
また、上記実施例ではオブジェクトと仮想カメラの距離に基いてレンダリング処理のタイプを選択する場合を例にとり説明したがこれに限られない。例えば、光源からオブジェクトが受ける影響の度合いに基いてレンダリング処理のタイプを選択する場合でもよいし、オブジェクトと光源と仮想カメラの配置に基いてレンダリング処理のタイプを選択する場合でもよいし、同一モデルに基き倍率の違う複数の大きさのオブジェクトを生成して画像生成を行う場合には、前記倍率にに基いてレンダリング処理のタイプを選択する場合でもよい。
【０１９４】
また、本発明は種々のゲーム（格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等）に適用できる。
【０１９５】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード等の種々のゲームシステムに適用できる。
【図面の簡単な説明】
【図１】本実施形態のゲームシステムのブロック図の例である。
【図２】水中の魚群の様子を表した画像である。
【図３】図３（Ａ）〜（Ｃ）は、精密度の異なるレンダリング処理と処理負荷の関係について説明するための図である。
【図４】図４（Ａ）（Ｂ）はオブジェクトの仮想カメラからの距離とレンダリング処理の精密との関係について説明するための図である。
【図５】図５（Ａ）〜（Ｂ）は同じ処理負荷で実現できる画像例について説明するための図である。
【図６】本実施の形態において３次元空間に配置された所与のモデル情報を有するオブジェクトについてレンダリング処理を行う場合について説明するための図である。
【図７】各ジオメトリ処理ルーチンのレンダリング処理のタイプについて説明するための図である。
【図８】本実施の形態におけるジオメトリ演算処理の動作例について説明するためのフローチャート図である。
【図９】本実施の形態の処理１の動作例について説明するためのフローチャート図である。
【図１０】本実施の形態の処理２の動作例について説明するためのフローチャート図である。
【図１１】本実施の形態の処理３の動作例について説明するためのフローチャート図である。
【図１２】本実施形態を実現できるハードウェアの構成の一例を示す図である。
【図１３】図１３（Ａ）、（Ｂ）、（Ｃ）は、本実施形態が適用される種々の形態のシステムの例を示す図である。
【符号の説明】
１００  処理部
１１０  ゲーム処理部
１１２  移動・動作演算部
１１４  視点距離演算部
１３０  画像生成部
１３２  ジオメトリ処理部
１３４  処理タイプ選択部
１４０  描画部
１５０  音生成部
１６０  操作部
１７０  記憶部
１７２  メインメモリ
１７４  フレームバッファ
１８０  情報記憶媒体
１９０  表示部
１９２  音出力部
１９４  セーブ用情報記憶装置
１９６  通信部
【図１】
0003656012.tif 000002
【図２】
0003656012.tif 000003
【図３】
0003656012.tif 000004
【図４】
0003656012.tif 000005
【図５】
0003656012.tif 000006
【図６】
0003656012.tif 000007
【図７】
0003656012.tif 000008
【図８】
0003656012.tif 000009
【図９】
0003656012.tif 000010
【図１０】
0003656012.tif 000011
【図１１】
0003656012.tif 000012
【図１２】
0003656012.tif 000013
【図１３】
0003656012.tif 000014