(57)【特許請求の範囲】
【請求項１】
画像を生成するための画像生成システムであって、
３次元オブジェクトに与えられた明るさ情報に基づき、前記３次元オブジェクトを複数のエリアに分割して、分割されたエリア単位に段階的な陰影を施す陰影処理手段と、を含み、
前記陰影処理手段は、
前記明るさ情報に基づき、前記３次元オブジェクトを透視変換して得られた２次元画像の各画素に明るさ情報を設定し、
前記各画素の明るさ情報と所与のしきい値を比較することにより描画対象画素を判別し、前記描画対象画素の色情報を示す画素値に対し所与の値を加算又は減算する色情報調整処理を、前記しきい値を変更して複数回行うことを特徴とする画像生成システム。
【請求項２】
画像を生成するための画像生成システムであって、
３次元オブジェクトに与えられた明るさ情報に基づき、前記３次元オブジェクトを複数のエリアに分割して、分割されたエリア単位に段階的な陰影を施す陰影処理手段と、を含み、
前記陰影処理手段は、
３次元オブジェクトの頂点に与えられた明るさ情報に基づき、スムーズシェーディングによる補間を行い、前記３次元オブジェクトを透視変換して得られた２次元画像の各画素に明るさ情報を設定し、
前記各画素の明るさ情報と所与のしきい値を比較することにより描画対象画素を判別し、描画対象画素の色情報を示す画素値に対し所与の値を加算又は減算する色情報調整処理を行うことを特徴とする画像生成システム。
【請求項３】
請求項１乃至２のいずれかにおいて、
前記陰影処理手段は、
前記各画素の明るさ情報と第１のしきい値を比較することにより１回目の描画対象画素を判別し、描画バッファの前記１回目の描画対象画素の色情報を示す画素値に対し所与の値を加算又は減算する１回目の色情報調整処理を行い、
前記各画素の明るさ情報と第１のしきい値とは異なる第２のしきい値を比較することにより２回目の描画対象画素を判別し、１回目の色情報の調整処理後の描画バッファの前記２回目の描画対象画素の色情報を示す画素値に対し所与の値を加算又は減算する２回目の色情報調整処理を行うことを特徴とする画像生成システム。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記陰影処理手段は、
前記明るさ情報をあらかじめ設定しておくことを特徴とする画像生成システム。
【請求項５】
請求項１乃至３のいずれかにおいて、
前記陰影処理手段は、
所与の条件に基づいて、前記明るさ情報をリアルタイムに演算することを特徴とする画像生成システム。
【請求項６】
コンピュータが読み取り可能な情報記憶媒体であって、
３次元オブジェクトに与えられた明るさ情報に基づき、前記３次元オブジェクトを複数のエリアに分割して、分割されたエリア単位に段階的な陰影を施す陰影処理手段と、してコンピュータを機能させるためのプログラムが記憶され、
前記陰影処理手段は、
前記明るさ情報に基づき、前記３次元オブジェクトを透視変換して得られた２次元画像の各画素に明るさ情報を設定し、
前記各画素の明るさ情報と所与のしきい値を比較することにより描画対象画素を判別し、前記描画対象画素の色情報を示す画素値に対し所与の値を加算又は減算する色情報調整処理を、前記しきい値を変更して複数回行うことを特徴とする情報記憶媒体。
【請求項７】
コンピュータが読み取り可能な情報記憶媒体であって、
３次元オブジェクトに与えられた明るさ情報に基づき、前記３次元オブジェクトを複数のエリアに分割して、分割されたエリア単位に段階的な陰影を施す陰影処理手段と、してコンピュータを機能させるためのプログラムが記憶され、
前記陰影処理手段は、
３次元オブジェクトの頂点に与えられた明るさ情報に基づき、スムーズシェーディングによる補間を行い、前記３次元オブジェクトを透視変換して得られた２次元画像の各画素に明るさ情報を設定し、
前記各画素の明るさ情報と所与のしきい値を比較することにより描画対象画素を判別し、描画対象画素の色情報を示す画素値に対し所与の値を加算又は減算する色情報調整処理を行うことを特徴とする情報記憶媒体。
【請求項８】
請求項６乃至７のいずれかにおいて、
前記陰影処理手段は、
前記各画素の明るさ情報と第１のしきい値を比較することにより１回目の描画対象画素を判別し、描画バッファの前記１回目の描画対象画素の色情報を示す画素値に対し所与の値を加算又は減算する１回目の色情報調整処理を行い、
前記各画素の明るさ情報と第１のしきい値とは異なる第２のしきい値を比較することにより２回目の描画対象画素を判別し、１回目の色情報の調整処理後の描画バッファの前記２回目の描画対象画素の色情報を示す画素値に対し所与の値を加算又は減算する２回目の色情報調整処理を行うことを特徴とする情報記憶媒体。
【請求項９】
請求項６乃至８のいずれかにおいて、
前記陰影処理手段は、
前記明るさ情報をあらかじめ設定しておくことを特徴とする情報記憶媒体。
【請求項１０】
請求項６乃至８のいずれかにおいて、
前記陰影処理手段は、
所与の条件に基づいて、前記明るさ情報をリアルタイムに演算することを特徴とする情報記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像生成システム及び情報記憶媒体に関する。
【０００２】
【背景技術及び発明が解決しようとする課題】
従来より、仮想的な３次元空間であるオブジェクト空間内の所与の視点から見える画像を生成する画像生成システムが知られており、いわゆる仮想現実を体験できるものとして人気が高い。このような画像生成システムではプレーヤの仮想現実感の向上のためによりリアルな画像を生成することが望まれていた。
【０００３】
ところが一方ではさまざまなアニメ映画やアニメ画像が人気を博している。これらは実写に近いリアリティで人を魅了するのではなく、アニメ特有のセル画風の画像の楽しさで人を魅了するものである。
【０００４】
しかしかかるアニメ画像はあらかじめ用意されたアニメのセル画を再生することにより映写されるものであるため映画やゲームのオープニングのムービー画像等に用いられ、リアルタイムに変化するゲーム画像等としては用いられていなかった。リアルタイムに変化するゲーム画像としては、スムーズシェーディングにより滑らかな陰影づけが施された滑らかな画像か、陰影計算がまったくなされていない２次元画像のいずれかであった。
【０００５】
そこで本出願人は、セルアニメ風の画像をプレーヤの操作入力等に応じてリアルタイムに変化させる画像生成システムを提案し、その開発を行っている。ここにおいてセルアニメ風の画像演出を行うためはどのように陰影をほどこすかという問題点がある。
【０００６】
理論的には３次元オブジェクトにたいしてセルアニメ風のレンダリングを施すことによりセルアニメの画像をリアルタイムに変化させることができ、かかる手法としてアニメシェーダーが知られている。しかしアニメシェーダーの手法は処理負担が重いためリアルタイム性が要求される家庭用、業務用ゲームシステム等においては採用しづらい。
【０００７】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、より少ない処理負担でセルアニメ風の画像演出が可能な陰影付けを行う画像生成システム及び情報記憶媒体を提供することにある。
【０００８】
【課題を解決するための手段】
本発明は、画像を生成するための画像生成システムであって、３次元オブジェクトに与えられた明るさ情報に基づき前記３次元オブジェクトを複数のエリアに分割する手段と、分割されたエリア単位に段階的な陰影を施す手段と、を含むことを特徴とする。
【０００９】
また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実行するためのプログラムを含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラム（搬送波に具現化されるプログラムを含む）であって、上記手段を実行するための処理ルーチンを含むことを特徴とする。
【００１０】
ここにおいて明るさ情報の形式は問わない。例えば３次元オブジェクトの各頂点やポリゴン面や画素単位で明るさ情報を与えられていてもよい。また手前ほど明るいとか上に行くほど明るいとか明るさを決定するための複数のパターンがある場合にそのパターンを識別するための情報としてあたえられいてもよい。
【００１１】
本発明によれば３次元オブジェクトに段階的な陰影付けを行うことによりセルアニメ風の画像を生成することができる。
【００１２】
このため、セルアニメ風の画像がプレーヤの操作入力等に応じてリアルタイムに変化するリアルタイムアニメーション画像を生成することができる。
【００１３】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、前記明るさ情報に基づき、前記３次元オブジェクトを透視変換して得られた２次元画像の各画素に明るさ情報を設定して、設定された明るさ情報に基づき当該２次元画像を複数のエリアに分割することを特徴とする。
【００１４】
明るさ情報の設定は例えば３次元オブジェクトに与えられた明るさ情報に基づきスムーズシェーディングを行い２次元画像の各画素の明るさ情報を演算するようにしてもよい。
【００１５】
本発明によれば、３次元オブジェクトの各画素の明るさ情報に応じて段階的に陰影を施すことができる。
【００１６】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、前記明るさ情報をあらかじめ設定しておくことを特徴とする。
【００１７】
例えば外部入力の影響を受けてリアルタイムに明るさが変化しない画像を生成する際には、明るさ情報をあらかじめ設定しておくことで演算負荷の軽減を図ることができる。
【００１８】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、所与の条件に基づいて、前記明るさ情報をリアルタイムに演算することを特徴とする。
【００１９】
所与の条件とは例えば、オブジェクトの形状や配置に関する情報、光源情報、視点情報等である。
【００２０】
このように所与の条件により明るさ情報をリアルタイムに演算することにより、プレーヤの操作入力によりオブジェクトの形状や配置や光源や視点位置等がリアルタイムに変化する場合にも段階的な陰影を施すことができる。
【００２１】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、分割されたエリア単位に色情報の調整処理を行うことにより段階的な陰影を施すことを特徴とする。
【００２２】
色情報の調整処理とは、例えばＲＧＢやＨＳＶやＨＬＳ等の値に四則演算や論理演算やテーブル演算を施すことを意味する。
【００２３】
例えば明るさ情報を用いてピクセルテストを行い、フレームバッファ上のＲＧＢやＨＳＶやＨＬＳ等の各値に基準となるＲＧＢやＨＳＶやＨＬＳ等の各値を加算又は減算する処理を行うようにしてもよい。
【００２４】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、前記各画素の明るさ情報と所与のしきい値を比較することにより描画対象画素を判別し、描画対象画素の色情報の調整処理を行う手段を含むことを特徴とする。
【００２５】
本発明によれば、しきい値の調整だけを行えばよく、どこで色が変わるかは演算しなくてよい。したがって陰影付けのアルゴリズムが簡単になり、演算負荷の軽減を図ることができる。
【００２６】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、陰影の段階数に応じて前記しきい値を変更して、描画対象画素の色情報の調整処理を複数回行うことを特徴とする。
【００２７】
本発明によれば段階付けられた陰影によって複数のエリアに分割されていても前記しきい値を変更して前記調整処理を複数回実行することで、自動的に段階的な陰影付けを行うことができる。このため、簡単なアルゴリズム及び少ない処理負担で多数の段階を有する陰影付けも行うことができる。
【００２８】
【発明の実施の形態】
以下、本発明の好適な実施形態について図面を用いて説明する。
【００２９】
１．構成
図１に、本実施形態のブロック図の一例を示す。なお同図において本実施形態は、少なくとも処理部１００を含めばよく（或いは処理部１００と記憶部１７０、或いは処理部１００と記憶部１７０と情報記憶媒体１８０を含めばよく）、それ以外のブロック（例えば操作部１６０、表示部１９０、音出力部１９２、携帯型情報記憶装置１９４、通信部１９６）については、任意の構成要素とすることができる。
【００３０】
ここで処理部１００は、システム全体の制御、システム内の各ブロックへの命令の指示、ゲーム処理、画像処理、音処理などの各種の処理を行うものであり、その機能は、各種プロセッサ（ＣＰＵ、ＤＳＰ等）、或いはＡＳＩＣ（ゲートアレイ等）などのハードウェアや、所与のプログラム（ゲームプログラム）により実現できる。
【００３１】
操作部１６０は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、筺体などのハードウェアにより実現できる。
【００３２】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭなどのハードウェアにより実現できる。
【００３３】
情報記憶媒体（コンピュータにより使用可能な記憶媒体）１８０は、プログラムやデータなどの情報を格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などのハードウェアにより実現できる。処理部１００は、この情報記憶媒体１８０に格納される情報に基づいて本発明（本実施形態）の種々の処理を行う。即ち情報記憶媒体１８０には、本発明（本実施形態）の手段（特に処理部１００に含まれるブロック）を実行するための情報（プログラム或いはプログラム及びデータ）が格納される。
【００３４】
なお、情報記憶媒体１８０に格納される情報の一部又は全部は、システムへの電源投入時等に記憶部１７０に転送されることになる。また情報記憶媒体１８０に記憶される情報は、本発明の処理を行うためのプログラムコード、画像データ、音データ、表示物の形状データ、テーブルデータ、リストデータ、本発明の処理を指示するための情報、その指示に従って処理を行うための情報等の少なくとも１つを含むものである。
【００３５】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、或いはＨＭＤ（ヘッドマウントディスプレイ）などのハードウェアにより実現できる。
【００３６】
音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカなどのハードウェアにより実現できる。
【００３７】
携帯型情報記憶装置１９４は、プレーヤの個人データやセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などを考えることができる。
【００３８】
通信部１９６は、外部（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ、或いは通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００３９】
なお本発明（本実施形態）の手段を実行するためのプログラム或いはデータは、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０に配信するようにしてもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含まれる。
【００４０】
処理部１００は、ゲーム処理部１１０、画像処理部１４０、音処理部１５０を含む。
【００４１】
ここでゲーム処理部１１０は、コイン（代価）の受け付け処理、各種モードの設定処理、ゲームの進行処理、選択画面の設定処理、オブジェクトの位置や回転角度（Ｘ、Ｙ又はＺ軸回り回転角度）を求める処理、オブジェクトを動作させる処理（モーション処理）、視点位置や視線角度（視線方向）を求める処理、マップオブジェクトなどのオブジェクトをオブジェクト空間へ配置する処理、ヒットチェック処理、ゲーム結果（成果、成績）を演算する処理、複数のプレーヤが共通のゲーム空間でプレイするための処理、或いはゲームオーバー処理などの種々のゲーム処理を、操作部１６０からの操作データや、携帯型情報記憶装置１９４からの個人データ、保存データや、ゲームプログラムなどに基づいて行う。
【００４２】
画像処理部１４０は、ゲーム処理部１１０からの指示等にしたがって、各種の画像処理を行うものである。また、音処理部１５０は、ゲーム処理部１１０からの指示等にしたがって、各種の音処理を行うものである。
【００４３】
なお画像処理部１４０、音処理部１５０の機能は、その全てをハードウェアにより実現してもよいし、その全てをプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【００４４】
ゲーム処理部１１０は、移動・動作演算部１１４を含む。
【００４５】
移動・動作演算部１１４は、車などのオブジェクトの移動情報（位置データ、回転角度データ）や動作情報（オブジェクトの各パーツの位置データ、回転角度データ）を演算するものであり、例えば、操作部１６０によりプレーヤが入力した操作データやゲームプログラムなどに基づいて、オブジェクトを移動させたり動作させたりする処理を行う。
【００４６】
より具体的には、移動・動作演算部１１４は、オブジェクトの位置や回転角度を例えば１フレーム（１／６０秒）毎に求める処理を行う。例えば（ｋ−１）フレームでのオブジェクトの位置をＰＭk-1、速度をＶＭk-1、加速度をＡＭk-1、１フレームの時間を△ｔとする。するとｋフレームでのオブジェクトの位置ＰＭk、速度ＶＭkは例えば下式（１）、（２）のように求められる。
【００４７】
ＰＭk＝ＰＭk-1＋ＶＭk-1×△ｔ              （１）
ＶＭk＝ＶＭk-1＋ＡＭk-1×△ｔ              （２）
画像処理部１４０は、ジオメトリ処理部（３次元座標演算部）１４２、描画部（レンダリング部）１４６を含む。
【００４８】
ここで、ジオメトリ処理部１４２は、座標変換、クリッピング処理、透視変換、或いは光源計算などの種々のジオメトリ処理（３次元座標演算）を行う。
【００４９】
描画部１４６は、陰影処理部１４４を含み、ジオメトリ処理後（透視変換後）のオブジェクトデータと、テクスチャバッファに記憶されるテクスチャとに基づいて、オブジェクト描画する処理を行う。
【００５０】
陰影処理部１４４は、３次元オブジェクトに与えられた明るさ情報に基づき前記３次元オブジェクトを複数のエリアに分割し、分割されたエリア単位に段階的な陰影を施す処理を行う。明るさ情報に基づき、前記３次元オブジェクトを透視変換して得られた２次元画像の各画素に明るさ情報を設定して、設定された明るさ情報に基づき当該２次元画像を複数のエリアに分割するようにしてもよい。
【００５１】
前記明るさ情報はあらかじめ設定しておいてもよいし、所与の条件に基づいてリアルタイムに演算するようにしてもよい。
【００５２】
また分割されたエリア単位に色情報の調整処理を行うことにより段階的な陰影を施すようにしてもよい。
【００５３】
また各画素の明るさ情報と所与のしきい値を比較することにより描画対象画素を判別し、描画対象画素の色情報の調整処理を行うようにしてもよい。陰影の段階数に応じて前記しきい値を変更して、描画対象画素の色情報の調整処理を複数回行うようにしてもよい。
【００５４】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【００５５】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末を用いて生成してもよい。
【００５６】
２．本実施形態の特徴と動作
本実施の形態の特徴は３次元オブジェクトに与えられた明るさ情報に基づき前記３次元オブジェクトを複数のエリアに分割し、分割されたエリア単位に段階的な陰影を施す点にある。
【００５７】
図２はドーナッツ型の３次元オブジェクトに滑らかな陰影付けを行った場合の画像を表しており、図３はドーナッツ型の３次元オブジェクトに本実施の形態の陰影付けを行った画像を表している。
【００５８】
従来の３次元ＣＧでは、図２に示すようにスムーズシェーディング等の手法を用いて滑らかな陰影付けを行いより実写に近いリアルで自然な画像を生成するのが一般的であった。
【００５９】
これに対し本実施の形態では、３次元オブジェクトにセルアニメ風の演出を行うことを目的としているため、図３に示すように境目のはっきり分かる段階的な陰影付けを施している。
【００６０】
以下本実施の形態で３次元オブジェクトにセルアニメ風の演出を行う手法について説明する。
【００６１】
図４は、３次元オブジェクトに与えられた明るさ情報に基づき透視変換して得られた２次元画像の各画素に明るさ情報を設定する手法について説明するための図である。
【００６２】
２００は３次元オブジェクトのポリゴン面を示しており、ポリゴンの頂点Ａ（２１０）と頂点Ｂ（２２０）に明るさ情報として輝度情報が設定されている。
【００６３】
なお、頂点の輝度情報はあらかじめ設定しておいてもよいし、オブジェクトの形状や配置に関する情報、光源情報、視点情報等の条件に基づいて、リアルタイムに演算して設定してもよい。ここでは頂点Ａ（２１０）の輝度は1,0で頂点Ｂ（２２０）の輝度は０であるとする。
【００６４】
本実施の形態実施の形態ではこの輝度値に基づき頂点間の各ピクセル（画素）にスムーズシェーディングの手法により輝度情報を補間する。
【００６５】
２３０は２００を構成する各ピクセルにスムーズシェーディングの手法により輝度情報（０〜1,0）が設定されている様子を模式的に表している。
【００６６】
図５は各画素毎に設定された明るさ情報に基づき当該２次元画像を複数のエリアに分割しエリア単位に段階的に陰影を施す手法について説明するための図である。
【００６７】
本実施の形態では各ピクセルに設定された輝度情報（図５の２３０参照）を用いて、ピクセルテストを行う。即ち、所定のしきい値以上の輝度値を有するピクセルのＲＧＢの値に所定の値を加算する処理を行う。
【００６８】
例えばしきい値を0,7として、２４０のエリアのＲＧＢ値の初期値が（０、０、０）であるとする。２４０に示すように輝度値0,7のエリア２５０のピクセルに対しては（注１）に示すような加算処理が行われ、当該エリアに属するピクセルのＲＧＢは（0,3、0,3、0,3）となる。これに対し輝度値0,7未満のエリア２６０では加算処理が行われないのでＲＧＢは（０、０、０）のままである（注２参照）。
【００６９】
このようにするとしきい値を設定して加算処理を施すだけで、各エリア単位でＲＧＢの値の調整を行うことができる。したがってどこで色が変わるかを意識せずに、エリア単位で段階的な陰影を施すことができる。
【００７０】
次に３段階に分けて段階的な陰影を施す場合を例にとり本実施の形態の動作例について説明する。
【００７１】
図６は本実施の形態の動作例について説明するためのフローチャート図であり、図７〜図１０は３次元オブジェクトに段階的な陰影付けを施す処理過程について説明するための図である。
【００７２】
まず３次元オブジェクトの形状や配置に関する情報、光源情報、視点情報等に基づいて頂点の輝度値を求める。同時に３次元オブジェクトをスクリーン座標形に透視変換し、各画素のＲＧＢの各値を仮のバッファのＲＧＢ各プレーンに描画する（ステップＳ１０）。
【００７３】
図７に示すように、仮のバッファ３００はＲ、Ｇ、Ｂ、αの各プレーン３１０、３２０、３３０を有している。仮のバッファのＲＧＢ各プレーンに描画されるのは３次元オブジェクトの基本色の画像のＲＧＢ値である。基本色とは明暗を考慮しない色の情報であり、例えば単色の３次元オブジェクトであれば、すべての画素が同じ値を有する。またテクスチャがマッピングされる場合には、明暗を考慮しない模様のみに基づいた色のＲＧＢ値が描画されることになる。
【００７４】
図７の３１０、３２０、３３０は仮のバッファのＲＧＢ各プレーンにおいて３次元オブジェクトの透視変換後のオブジェクト（以下透視変換オブジェクトという）のＲＧＢ値が描画されている様子を模式的に表したものである。透視変換後のオブジェクト（四角形）の全画素のＲＧＢ値に（0.3,0.1,0.1）がセットされているとして以下説明する。
【００７５】
つぎに頂点の輝度値をα値として仮のバッファのαプレーンにスムーズシェーディングを行い、各ピクセルのαチャネルに輝度値を補間する（ステップＳ２０）。図７の３４０は仮のバッファのαプレーンに透視変換オブジェクト（四角形）のα値が描画されている様子を模式的に表したものである。なおここでは、透視変換オブジェクト部分（四角形）の３４４と背景部３４２の区別を付けるため背景部３４２の輝度値を０とし、透視変換オブジェクト部分（四角形）３４４の輝度値が０より大きな値になるようにする。３４６は輝度値が0.3の境界線（左上側が0.3以上）であり、３４８は輝度値が0.7の境界線（左上側が0.7以上）である。
【００７６】
次にフレームバッファの初期化を行う（ステップＳ３０）。
【００７７】
次に第１のしきい値によるピクセルテストを行う。仮のバッファのαプレーン３４０の輝度値を参照し、第１のしきい値で描画対象ピクセルを判別する。各ピクセルの輝度値が第１のしきい値より大きい場合に当該ピクセルを描画対象ピクセルとし、仮のバッファ上の描画対象ピクセルとフレームバッファの描画対象ピクセルの各ＲＧＢ値を加算した値をフレームバッファのＲＧＢ各プレーンに描画する（ステップＳ４０）。
【００７８】
図８（Ａ）（Ｂ）は、第１のしきい値によるピクセルテスト時の仮のバッファのαプレーン３４０及びフレームバッファ３５０の様子を表した図である。第一のしきい値を０としてピクセルテストを行うと、図８（Ａ）の透視変換オブジェクト部分３４４の輝度値が０より大きいため、その部分が描画対象エリアとなる（注３参照）。したがって図８（Ｂ）に示すように、フレームバッファ３５０のＲ、Ｇ、Ｂプレーンの対応するピクセルにたいして、フレームバッファ上のＲＧＢ値（０、０、０）と対応する仮のバッファ上のＲＧＢ値（0.3、0.1、0.1）を加算したＲＧＢ値（0.3、0.1、0.1）が描画される（注４参照）。
【００７９】
次に第２のしきい値によるピクセルテストを行う。仮のバッファのαプレーン３４０の輝度値を参照し、第２のしきい値で描画対象ピクセルを判別する。各ピクセルの輝度値が第２のしきい値より大きい場合に当該ピクセルを描画対象ピクセルとし、仮のバッファ上の描画対象ピクセルとフレームバッファの描画対象ピクセルの各ＲＧＢ値を加算した値をフレームバッファのＲＧＢ各プレーンに描画する（ステップＳ５０）。
【００８０】
図９（Ａ）（Ｂ）は、第２のしきい値によるピクセルテスト時の仮のバッファのαプレーン３４０及びフレームバッファ３５０の様子を表した図である。第２のしきい値を0.3としてピクセルテストを行うと、図９（Ａ）の輝度＝0.3の境界線３４６の左上側の斜線部分の輝度値が0.3より大きいため、その部分が描画対象エリアとなる（注５参照）。したがって図９（Ｂ）に示すように、フレームバッファ３５０のＲ、Ｇ、Ｂプレーンの対応するピクセルにたいして、フレームバッファ上のＲＧＢ値（0.3、0.1、0.1）と対応する仮のバッファ上のＲＧＢ値（0.3、0.1、0.1）を加算したＲＧＢ値（0.6、0.2、0.2）が描画される（注６参照）。
【００８１】
輝度値が0.3以下のエリアは描画されないので図８（Ｂ）のＲＧＢ値（0.3、0.1、0.1）のままである。この段階で透視変換オブジェクトは２つのエリアに分割され、各エリア単位で段階的な陰影付けが行われている。
【００８２】
次に第３のしきい値によるピクセルテストを行う。仮のバッファのαプレーン３４０の輝度値を参照し、第３のしきい値で描画対象ピクセルを判別する。各ピクセルの輝度値が第３のしきい値より大きい場合に当該ピクセルを描画対象ピクセルとし、仮のバッファ上の描画対象ピクセルとフレームバッファの描画対象ピクセルの各ＲＧＢ値を加算した値をフレームバッファのＲＧＢ各プレーンに描画する（ステップＳ６０）。
【００８３】
図１０（Ａ）（Ｂ）は、第３のしきい値によるピクセルテスト時の仮のバッファのαプレーン３４０及びフレームバッファ３５０の様子を表した図である。第２のしきい値を0.7としてピクセルテストを行うと、図１０（Ａ）の輝度＝0.7の境界線３４８の左上側の斜線部分の輝度値が0.7より大きいため、その部分が描画対象エリアとなる（注８参照）。したがって図１０（Ｂ）に示すように、フレームバッファ３５０のＲ、Ｇ、Ｂプレーンの対応するピクセルにたいして、フレームバッファ上のＲＧＢ値（0.6、0.2、0.2）と対応する仮のバッファ上のＲＧＢ値（0.3、0.1、0.1）を加算したＲＧＢ値（0.9、0.3、0.3）が描画される（注９参照）。
【００８４】
輝度値が0.7以下のエリアは描画されないので図９（Ｂ）のＲＧＢ値（0.6、0.2、0.2）（注１０参照）と（0.3、0.1、0.1）（注１１参照）のままである。この段階で透視変換オブジェクトは、もっとも明るいエリア４１０と中くらいの明るさのエリア４２０ともっとも暗いエリア４３０の３つのエリアに分割され、各エリア単位で段階的な陰影付けが行われている。このようにエリア単位で段階的な陰影付けを行うことで３次元オブジェクトに対してセルアニメ風の画像演出を行うことができる。
【００８５】
しかも本実施の形態では、仮のバッファのαプレーンの輝度値にたいしてしきい値を設定して描画対象ピクセルを判定し、描画対象ピクセルにたいしてＲＧＢ加算処理を行うことにより陰影付けを実現する。このためしきい値の調整だけ行えはればよく、どこで色が変わるかは演算しなくてよい。したがって陰影付けのアルゴリズムが簡単になり、演算負荷も減少する。
【００８６】
またスムーズシェーディングによるα値の補完とα値によるピクセルテストのみで、境界による色分けができる。α値の補完やα値としきい値の比較の部分をハードウエア化することによりさらに処理を高速にすることができる。
【００８７】
３．ハードウェア構成
次に、本実施形態を実現できるハードウェアの構成の一例について図１１を用いて説明する。
【００８８】
メインプロセッサ９００は、ＣＤ９８２（情報記憶媒体）に格納されたプログラム、通信インターフェース９９０を介して転送されたプログラム、或いはＲＯＭ９５０（情報記憶媒体の１つ）に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などの種々の処理を実行する。
【００８９】
コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、オブジェクトを移動させたり動作（モーション）させるための物理シミュレーションに、マトリクス演算などの処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【００９０】
ジオメトリプロセッサ９０４は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ９００で動作するプログラムが、その処理をジオメトリプロセッサ９０４に指示する。
【００９１】
データ伸張プロセッサ９０６は、圧縮された画像データや音データを伸張するデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする処理を行う。これにより、オープニング画面、インターミッション画面、エンディング画面、或いはゲーム画面などにおいて、ＭＰＥＧ方式等で圧縮された動画像を表示できるようになる。なお、デコード処理の対象となる画像データや音データは、ＲＯＭ９５０、ＣＤ９８２に格納されたり、或いは通信インターフェース９９０を介して外部から転送される。
【００９２】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画（レンダリング）処理を高速に実行するものである。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０の機能を利用して、オブジェクトデータを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると、描画プロセッサ９１０は、これらのオブジェクトデータやテクスチャに基づいて、Ｚバッファなどを利用した陰面消去を行いながら、オブジェクトをフレームバッファ９２２に高速に描画する。また、描画プロセッサ９１０は、αブレンディング（半透明処理）、ミップマッピング、フォグ処理、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行うことができる。そして、１フレーム分の画像がフレームバッファ９２２に書き込まれると、その画像はディスプレイ９１２に表示される。
【００９３】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などの高品位のゲーム音を生成する。生成されたゲーム音は、スピーカ９３２から出力される。
【００９４】
ゲームコントローラ９４２からの操作データや、メモリカード９４４からのセーブデータ、個人データは、シリアルインターフェース９４０を介してデータ転送される。
【００９５】
ＲＯＭ９５０にはシステムプログラムなどが格納される。なお、業務用ゲームシステムの場合には、ＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納されることになる。なお、ＲＯＭ９５０の代わりにハードディスクを利用するようにしてもよい。
【００９６】
ＲＡＭ９６０は、各種プロセッサの作業領域として用いられる。
【００９７】
ＤＭＡコントローラ９７０は、プロセッサ、メモリ（ＲＡＭ、ＶＲＡＭ、ＲＯＭ等）間でのＤＭＡ転送を制御するものである。
【００９８】
ＣＤドライブ９８０は、プログラム、画像データ、或いは音データなどが格納されるＣＤ９８２（情報記憶媒体）を駆動し、これらのプログラム、データへのアクセスを可能にする。
【００９９】
通信インターフェース９９０は、ネットワークを介して外部との間でデータ転送を行うためのインターフェースである。この場合に、通信インターフェース９９０に接続されるネットワークとしては、通信回線（アナログ電話回線、ＩＳＤＮ）、高速シリアルインターフェースのバスなどを考えることができる。そして、通信回線を利用することでインターネットを介したデータ転送が可能になる。また、高速シリアルインターフェースのバスを利用することで、他の画像生成システム、他のゲームシステム、或いは情報処理機器（パーソナルコンピュータ、プリンタ、マウス、キーボード）などとの間でのデータ転送が可能になる。
【０１００】
なお、本発明の各手段は、その全てを、ハードウェアのみにより実行してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実行してもよい。或いは、ハードウェアとプログラムの両方により実行してもよい。
【０１０１】
そして、本発明の各手段をハードウェアとプログラムの両方により実行する場合には、情報記憶媒体には、本発明の各手段をハードウェアを利用して実行するためのプログラム（プログラム及びデータ）が格納されることになる。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０等に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０等は、その指示と渡されたデータとに基づいて、本発明の各手段を実行することになる。
【０１０２】
図１２（Ａ）に、本実施形態を業務用ゲームシステムに適用した場合の例を示す。プレーヤは、ディスプレイ１１００上に映し出されたゲーム画像を見ながら、レバー１１０２、ボタン１１０４等を操作してゲームを楽しむ。内蔵されるシステムボード（サーキットボード）１１０６には、各種プロセッサ、各種メモリなどが実装される。そして、本発明の各手段を実行するためのプログラム（或いはプログラム及びデータ）は、システムボード１１０６上の情報記憶媒体であるメモリ１１０８に格納される。以下、この情報を格納情報と呼ぶ。
【０１０３】
図１２（Ｂ）に、本実施形態を家庭用のゲームシステムに適用した場合の例を示す。プレーヤはディスプレイ１２００に映し出されたゲーム画像を見ながら、ゲームコントローラ１２０２、１２０４を操作してゲームを楽しむ。この場合、上記格納情報は、本体システムに着脱自在な情報記憶媒体であるＣＤ１２０６、或いはメモリカード１２０８、１２０９等に格納されている。
【０１０４】
図１２（Ｃ）に、ホスト装置１３００と、このホスト装置１３００とネットワーク１３０２（ＬＡＮのような小規模ネットワークや、インターネットのような広域ネットワーク）を介して接続される端末１３０４-1〜１３０４-nとを含むシステムに本実施形態を適用した場合の例を示す。この場合、上記格納情報は、例えばホスト装置１３００が制御可能な磁気ディスク装置、磁気テープ装置、メモリ等の情報記憶媒体１３０６に格納されている。端末１３０４-1〜１３０４-nが、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置１３００からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム等が端末１３０４-1〜１３０４-nに配送される。一方、スタンドアロンで生成できない場合には、ホスト装置１３００がゲーム画像、ゲーム音を生成し、これを端末１３０４-1〜１３０４-nに伝送し端末において出力することになる。
【０１０５】
なお、図１２（Ｃ）の構成の場合に、本発明の各手段を、ホスト装置（サーバー）と端末とで分散して実行するようにしてもよい。また、本発明の各手段を実行するための上記格納情報を、ホスト装置（サーバー）の情報記憶媒体と端末の情報記憶媒体に分散して格納するようにしてもよい。
【０１０６】
またネットワークに接続する端末は、家庭用ゲームシステムであってもよいし業務用ゲームシステムであってもよい。そして、業務用ゲームシステムをネットワークに接続する場合には、業務用ゲームシステムとの間で情報のやり取りが可能であると共に家庭用ゲームシステムとの間でも情報のやり取りが可能な携帯型情報記憶装置（メモリカード、携帯型ゲーム装置）を用いることが望ましい。
【０１０７】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【０１０８】
例えば、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の１の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【０１０９】
また、本実施形態では、ジオメトリ処理として座標変換や透視変換を例に挙げたが、本発明のジオメトリ処理はこれらに限定されない。
【０１１０】
また、本実施の形態では３次元オブジェクトの明るさ情報が頂点に与えられている場合を例にとり説明したがこれに限られない。プリミティブ面や画素に与えられている場合でもよい。
【０１１１】
また色情報としてＲＧＢを例にとり説明したがこれに限られない。例えばＨＳＶやＨＬＳ等の値でもよい。
【０１１２】
また色情報の調整の例として加算する場合を例にとり説明したがこれに限られない。例えば加算以外に四則演算や論理演算やテーブル演算を施す場合でもよい。
【０１１３】
また本実施の形態では仮のバッファに一旦描画を行い、その後にフレームバッファに描画を行う２パス形式を採用している場合を例にとり説明したがこれに限られない。例えば１パスでフレームバッファにかきこむ場合でも実現可能であり、３パス又はそれ以上のパスでフレームバッファいに描画を行う場合でもよい。
【０１１４】
また本発明はレーシングゲーム以外にも種々のゲーム（格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等）に適用できる。
【０１１５】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、画像生成システム、ゲーム画像を生成するシステムボード等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【図１】本実施形態の画像生成システムのブロック図の例である。
【図２】ドーナッツ型の３次元オブジェクトに滑らかな陰影付けを行った場合の画像を表した図である。
【図３】ドーナッツ型の３次元オブジェクトに本実施の形態の陰影付けを行った画像を表した図である。
【図４】３次元オブジェクトに与えられた明るさ情報に基づき透視変換して得られた２次元画像の各画素に明るさ情報を設定する手法について説明するための図である。
【図５】各画素毎に設定された明るさ情報に基づき当該２次元画像を複数のエリアに分割しエリア単位に段階的に陰影付を行う手法について説明するための図である。
【図６】図６は本実施の形態の動作例について説明するためのフローチャート図である。
【図７】図７は３次元オブジェクトに段階的な陰影付けを行う処理過程について説明するための図である。
【図８】図８（Ａ）（Ｂ）は３次元オブジェクトに段階的な陰影付けを行う処理過程について説明するための図である。
【図９】図９（Ａ）（Ｂ）は３次元オブジェクトに段階的な陰影付けを行う処理過程について説明するための図である。
【図１０】図１０（Ａ）（Ｂ）は３次元オブジェクトに段階的な陰影付けを行う処理過程について説明するための図である。
【図１１】本実施形態を実現できるハードウェアの構成の一例を示す図である。
【図１２】図１２（Ａ）、（Ｂ）、（Ｃ）は、本実施形態が適用される種々の形態のシステムの例を示す図である。
【符号の説明】
１００  処理部
１１０  ゲーム処理部
１１２  編集画面表示部
１１４  移動・動作演算部
１４０  画像処理部
１４２  ジオメトリ処理部
１４４  陰影処理部
１４６  描画部
１５０  音処理部
１６０  操作部
１７０  記憶部
１７２  メインメモリ
１７４  フレームバッファ
１７６  テクスチャ記憶部
１８０  情報記憶媒体
１９０  表示部
１９２  音出力部
１９４  携帯型情報記憶装置
１９６  通信部
【図１】
0004167358.tif 000002
【図２】
0004167358.tif 000003
【図３】
0004167358.tif 000004
【図４】
0004167358.tif 000005
【図５】
0004167358.tif 000006
【図６】
0004167358.tif 000007
【図７】
0004167358.tif 000008
【図８】
0004167358.tif 000009
【図９】
0004167358.tif 000010
【図１０】
0004167358.tif 000011
【図１１】
0004167358.tif 000012
【図１２】
0004167358.tif 000013