(57)【特許請求の範囲】
【請求項１】
仮想の三次元物体を表す図形データに基づいて、当該三次元物体を表示装置の表示画面に表示するための対応する仮想の二次元物体を表す図形データを生成する投影手段と、
前記投影手段により生成された、前記二次元物体を表す図形データから当該二次元物体を前記表示画面に表示するための画像データを生成する画像データ生成手段と、
前記画像データ生成手段により生成された画像データを、前記表示装置に表示すべき画像データを記憶するためのフレームバッファに書き込む書き込み手段と、
前記表示画面に表示されるべき複数の仮想の三次元物体のうち、光を放出しているように表示されるべき特定の仮想の三次元物体に対して前記投影手段により生成された、対応する特定の二次元物体を表す図形データに含まれた、当該特定の二次元物体の外縁を規定する複数の頂点のそれぞれの座標データに基づいて、前記特定の二次元物体の外縁に沿って、かつ当該特定の二次元物体の外側に、放出光表示用領域として使用するための複数のポリゴン描画領域を設定する領域設定手段と、
前記画像データ生成手段により生成された前記特定の二次元物体を表す画像データと前記特定の二次元物体の外側に位置する背景を表す画像データに比べて輝度及び色の少なくとも一方が異なる、前記特定の二次元物体から放出された光を表すための画像データを、前記複数のポリゴン描画領域のそれぞれの内部を表すための画像データとして前記フレームバッファに書き込む描画手段と、
を備えることを特徴とするゲーム装置。
【請求項２】
前記特定の二次元物体の各頂点の為す角度を二等分する方向で、かつ、各頂点を端点として外側方向に延びる所定長さの境界線分を生成する境界線分生成手段を更に備え、
前記領域設定手段は、前記特定の二次元物体の隣り合う二つの頂点を結ぶ線分とこれら頂点を通過する前記境界線分とに接するように、放出光表示用領域として使用するための前記複数のポリゴン描画領域の各々を設定することを特徴とする請求項１に記載のゲーム装置。
【請求項３】
前記特定の二次元物体の隣り合う二つの頂点を結ぶ線分に直交する方向で、かつ、各頂点を端点として外側方向に延びる所定長さの境界線分を生成する境界線分生成手段を更に備え、
前記領域設定手段は、前記特定の二次元物体の隣り合う二つの頂点を結ぶ線分とこれら頂点を通過する前記境界線分とに接するように、放出光表示用領域として使用するための前記複数のポリゴン描画領域の各々を設定することを特徴とする請求項１に記載のゲーム装置。
【請求項４】
前記領域設定手段により設定された前記複数のポリゴン描画領域のうち隣り合う二つのポリゴン描画領域の間に、これら隣り合う二つのポリゴン描画領域のそれぞれに対する一対の前記境界線分に接するように、中間ポリゴン描画領域を、放出光表示用領域として使用するための他のポリゴン描画領域として設定する中間領域設定手段を更に備えることを特徴とする請求項３に記載のゲーム装置。
【請求項５】
同一の頂点を通過する二つの前記境界線分の為す角度が９０度を超える場合に、前記為す角度を二等分する方向で、かつ、前記同一の頂点を端点として外側方向に延び、かつ、前記境界線分と同一長さを有する補助線分を生成する補助線分生成手段と、
同一の頂点を通過する二つの前記境界線分の一方にそれぞれ接し、かつ、前記補助線分の両端点を頂点とする一対の中間ポリゴン描画領域を、放出光表示用領域として使用するための更に他のポリゴン描画領域として設定する中間領域設定手段と、
を更に備えることを特徴とする請求項３に記載のゲーム装置。
【請求項６】
前記描画手段は、放出光表示用領域として使用される前記複数のポリゴン描画領域内の色を前記特定の二次元物体の色よりも白色に近い色で表示することを特徴とする請求項１〜５のいずれかに記載のゲーム装置。
【請求項７】
前記描画手段は、前記放出光表示用領域として使用するための前記複数のポリゴン描画領域に背景画像を描画する背景画像描画手段と、
前記背景画像の上に重ねて描画を行い、前記放出光表示用領域として使用される前記複数のポリゴン描画領域内の外側に近い部分を前記背景画像が透けて見えるようにし、かつ、前記放出光表示用領域として使用される前記複数のポリゴン描画領域内のその他の部分を前記背景画像とは異なる色で描画する光描画手段と、を有することを特徴とする請求項１〜６のいずれかに記載のゲーム装置。
【請求項８】
前記特定の二次元物体が四角形以上の多角形の場合に、前記特定の二次元物体を複数の三角形に分割する図形分割手段を更に備え、
前記領域設定手段は、分割した各三角形の各辺のうち、他の三角形に接しない辺の外側に放出光表示用領域として使用するための前記複数のポリゴン描画領域の一つを設定することを特徴とする請求項１〜７のいずれかに記載のゲーム装置。
【請求項９】
前記特定の二次元物体が線状または曲線状の場合に、前記特定の二次元物体の長手方向に沿ってその両側に線幅ポリゴン描画領域を設定する線幅設定手段と、
前記特定の二次元物体が線状または曲線状の場合に、前記特定の二次元物体の両端部の周囲に前記線幅ポリゴン描画領域に接するように端部ポリゴン描画領域を設定する端部領域設定手段と、を更に備え、
前記領域設定手段は、前記線幅ポリゴン描画領域の長手方向に沿ってその外側と、前記端部ポリゴン描画領域に沿ってその外側とに、放出光表示用領域として使用するための前記複数のポリゴン描画領域を設定することを特徴とする請求項１〜８のいずれかに記載のゲーム装置。
【請求項１０】
前記領域設定手段は、前記特定の三次元物体の奥行き情報に基づいて、放出光表示用領域として使用するための前記複数のポリゴン描画領域の幅を設定することを特徴とする請求項１〜９のいずれかに記載のゲーム装置。
【請求項１１】
前記特定の二次元物体が円または楕円の場合に、前記特定の二次元物体を多角形に近似する多角形近似手段を更に備え、
前記領域設定手段は、近似した多角形の各頂点座標に基づいて放出光表示用領域として使用するための前記複数のポリゴン描画領域を設定することを特徴とする請求項１〜９のいずれかに記載のゲーム装置。
【請求項１２】
前記多角形近似手段は、前記特定の三次元物体の奥行き情報に基づいて、近似する多角形の頂点の数を設定することを特徴とする請求項１１に記載のゲーム装置。
【請求項１３】
コンピュータに、仮想の三次元物体を表す図形データに基づいて、当該三次元物体を表示装置の表示画面に表示するための対応する仮想の二次元物体を表す図形データを生成する投影手順と、
前記投影手順により生成された、前記二次元物体を表す図形データから当該二次元物体を前記表示画面に表示するための画像データを生成する画像データ生成手順と、
前記画像データ生成手順により生成された画像データを、前記表示装置に表示すべき画像データを記憶するためのフレームバッファに書き込む書き込み手順と、
前記表示画面に表示されるべき複数の仮想の三次元物体のうち、光を放出しているように表示されるべき特定の仮想の三次元物体に対して前記投影手順により生成された、対応する特定の二次元物体を表す図形データに含まれた、当該特定の二次元物体の外縁を規定する複数の頂点のそれぞれの座標データに基づいて、前記特定の二次元物体の外縁に沿って、かつ当該特定の二次元物体の外側に、放出光表示用領域として使用するための複数のポリゴン描画領域を設定する領域設定手順と、
前記画像データ生成手順により生成された前記特定の二次元物体を表す画像データと前記特定の二次元物体の外側に位置する背景を表す画像データに比べて輝度及び色の少なくとも一方が異なる、前記特定の二次元物体から放出された光を表すための画像データを、前記複数のポリゴン描画領域のそれぞれの内部を表すための画像データとして前記フレームバッファに書き込む描画手順と、
を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１４】
前記特定の二次元物体の各頂点を為す角度を二等分する方向で、かつ、各頂点を端点として外側方向に延びる所定長さの境界線分の座標を演算する境界線分演算手順を更に含み、
前記領域設定手順は、前記特定の二次元物体の隣り合う二つの頂点を結ぶ線分とこれら頂点を通過する前記境界線分とに接するように、放出光表示用領域として使用するための前記複数のポリゴン描画領域の各々を設定することを特徴とする請求項１３に記載の記録媒体。
【請求項１５】
前記特定の二次元物体の隣り合う二つの頂点を結ぶ線分に直交する方向で、かつ、各頂点を端点として外側方向に延びる所定長さの境界線分を生成する境界線分生成手順を更に含み、
前記領域設定手順は、前記特定の二次元物体の隣り合う二つの頂点を結ぶ線分とこれら頂点を通過する前記境界線分とに接するように、放出光表示用領域として使用するための前記複数のポリゴン描画領域の各々を設定することを特徴とする請求項１３に記載の記録媒体。
【請求項１６】
仮想の三次元物体を表す図形データに基づいて、当該三次元物体を表示装置の表示画面に表示するための対応する仮想の二次元物体を表す図形データを生成する投影ステップと、
前記投影ステップにより生成された、前記二次元物体を表す図形データから当該二次元物体を前記表示画面に表示するための画像データを生成する画像データ生成ステップと、
前記画像データ生成ステップにより生成された画像データを、前記表示装置に表示すべき画像データを記憶するためのフレームバッファに書き込む書き込みステップと、
前記表示画面に表示されるべき複数の仮想の三次元物体のうち、光を放出しているように表示されるべき特定の仮想の三次元物体に対して前記投影ステップにより生成された、対応する特定の二次元物体を表す図形データに含まれた、当該特定の二次元物体の外縁を規定する複数の頂点のそれぞれの座標データに基づいて、前記特定の二次元物体の外縁に沿って、かつ当該特定の二次元物体の外側に、放出光表示用領域として使用するための複数のポリゴン描画領域を設定する領域設定ステップと、
前記画像データ生成ステップにより生成された前記特定の二次元物体を表す画像データと前記特定の二次元物体の外側に位置する背景を表す画像データに比べて輝度及び色の少なくとも一方が異なる、前記特定の二次元物体から放出された光を表すための画像データを、前記複数のポリゴン描画領域のそれぞれの内部を表すための画像データとして前記フレームバッファに書き込む描画ステップと、
を含むことを特徴とするゲーム画像の光表現方法。
【請求項１７】
前記特定の二次元物体の各頂点の為す角度を二等分する方向で、かつ、各頂点を端点として外側方向に延びる所定長さの境界線分の座標を演算する境界線分演算ステップを更に含み、
前記領域設定ステップは、前記特定の二次元物体の隣り合う二つの頂点を結ぶ線分とこれら頂点を通過する前記境界線分とに接するように、放出光表示用領域として使用するための前記複数のポリゴン描画領域の各々を設定することを特徴とする請求項１６に記載のゲーム画像の光表現方法。
【請求項１８】
前記特定の二次元物体の隣り合う二つの頂点を結ぶ線分に直交する方向で、かつ、各頂点を端点として外側方向に延びる所定長さの境界線分を生成する境界線分生成ステップを更に含み、
前記領域設定ステップは、前記特定の二次元物体の隣り合う二つの頂点を結ぶ線分とこれらの頂点を通過する前記境界線分とに接するように、放出光表示用領域として使用するための前記複数のポリゴン描画領域の各々を設定することを特徴とする請求項１６に記載のゲーム画像の光表現方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、物体の形状に倣った光の画像を画面に表示するゲーム装置、その光表現方法、および、コンピュータプログラムを記録した機械読み取り可能な記録媒体に関する。
【０００２】
【従来の技術】
従来のゲーム装置においては、ゲーム進行中にプレイヤの注意を喚起したり、視覚的な効果を高めるために、ゲームに登場する種々の物体を光らせて表示させることがある。物体を光らせる手法として、光らせる対象物を半透明のポリゴンで包む手法や、他のポリゴンを重ねる手法などが知られている。
【０００３】
【発明が解決しようとする課題】
しかしながら、従来の光らせる手法では、光らせる対象物の形状に倣った光らせ方をしていなかったため、対象物の光り方が単調になりやすいという問題があった。
【０００４】
本発明は、このような点に鑑みてなされたものであり、その目的は、物体の形状に倣った光の画像を画面に表示することが可能なゲーム装置、記録媒体、およびゲーム画像の光表現方法を提供することにある。
【０００５】
【課題を解決するための手段】
上記課題を解決するため、本発明に係るゲーム装置は、仮想の三次元物体を表す図形データに基づいて、当該三次元物体を表示装置の表示画面に表示するための対応する仮想の二次元物体を表す図形データを生成する投影手段と、前記投影手段により生成された、前記二次元物体を表す図形データから当該二次元物体を前記表示画面に表示するための画像データを生成する画像データ生成手段と、前記画像データ生成手段により生成された画像データを、前記表示装置に表示すべき画像データを記憶するためのフレームバッファに書き込む書き込み手段と、前記表示画面に表示されるべき複数の仮想の三次元物体のうち、光を放出しているように表示されるべき特定の仮想の三次元物体に対して前記投影手段により生成された、対応する特定の二次元物体を表す図形データに含まれた、当該特定の二次元物体の外縁を規定する複数の頂点のそれぞれの座標データに基づいて、前記特定の二次元物体の外縁に沿って、かつ当該特定の二次元物体の外側に、放出光表示用領域として使用するための複数のポリゴン描画領域を設定する領域設定手段と、前記画像データ生成手段により生成された前記特定の二次元物体を表す画像データと前記特定の二次元物体の外側に位置する背景を表す画像データに比べて輝度及び色の少なくとも一方が異る、前記特定の二次元物体から放出された光を表すための画像データを、前記複数のポリゴン描画領域のそれぞれの内部を表すための画像データとして前記フレームバッファに書き込む描画手段と、を備える。
【００１２】
請求項２の発明では、例えば図１０に示すように、二次元物体の各頂点の為す角度を二等分する方向に延びる境界線分に接するように放出光表示用領域として使用するための前記複数のポリゴン描画領域の各々を設定するため、二次元物体の形状に倣った放出光表示用領域が得られる。
【００１３】
請求項３の発明では、例えば図１１に示すように、二次元物体の隣り合う二つの頂点を結ぶ線分に直交する方向に延びる境界線分に接するように放出光表示用領域として使用するための前記複数のポリゴン描画領域の各々を設定するため、二次元物体の形状に倣った放出光表示用領域が得られる。
【００１４】
請求項４の発明では、例えば図１１に示すように、隣り合う二つの放出光表示用領域の間に、中間ポリゴン描画領域を、放出光表示用領域として使用するための他のポリゴン描画領域として設定するため、二次元物体の周囲を均等に光らせることができる。
【００１５】
請求項５の発明では、例えば図１１に示すように、境界線分の為す角度が９０度を超える場合に、各頂点を二等分する方向に補助線分を生成し、この補助線分の両端点を頂点として一対の中間ポリゴン描画領域を設定するため、二次元物体の形状に倣った放出光表示用中間領域が得られる。
【００１７】
請求項６の発明では、放出光表示用領域として使用される前記複数のポリゴン描画領域内の色を二次元物体内の色よりも白っぽく表示するため、二次元物体を擬似的に光らせることができる。
【００１９】
請求項７の発明では、放出光表示用領域として使用するための前記複数のポリゴン描画領域内に背景画像を描画した後、他の色の画像を重ね書きし、その際、放出光表示用領域として使用される前記複数のポリゴン描画領域内の外側に近い部分を背景画像が透けて見えるような色で描画し、かつ、前記放出光表示用領域として使用される前記複数のポリゴン描画領域内のその他の部分を前記背景画像とは異なる色で描画するため、二次元物体を擬似的に光らせることができる。
【００２０】
請求項８の発明では、二次元物体が四角形以上の多角形の場合に、多角形を複数の三角形に分割して放出光表示用領域として使用するための前記複数のポリゴン描画領域の一つを設定するため、二次元物体が複雑な形状であっても、比較的簡易に放出光表示用領域として使用するための前記複数のポリゴン描画領域を設定できる。
【００２１】
請求項９の発明では、二次元物体が線状または曲線状の場合に、二次元物体の周囲に複数の線幅ポリゴン描画領域と複数の端部ポリゴン描画領域を設定するため、二次元物体の周囲を均等に光らせることができる。
【００２２】
請求項１０の発明では、三次元物体の奥行き情報に基づいて放出光表示用領域として使用するための前記複数のポリゴン描画領域の幅を設定するため、近くにある物体を遠くにある物体よりも強く光らせることができる。
【００２３】
請求項１１の発明では、円または楕円形状の二次元物体を多角形に近似して放出光表示用領域として使用するための複数のポリゴン描画領域を設定するため、円または楕円形状の二次元物体用の放出光表示用領域として使用するための前記複数のポリゴン描画領域を比較的簡易に設定できる。
【００２４】
請求項１２の発明では、三次元物体の奥行き情報に基づいて、近似する多角形の頂点の数を設定するため、近くにある物体を詳細に描画し、遠くにある物体をラフに描画することができ、立体感のある描画が可能となる。
【００２５】
請求項１３〜１５の発明によれば、記録媒体に含まれるプログラムをコンピュータに読み込ませることで、請求項１〜３に記載するゲーム装置を実現できる。したがって、記録媒体によって、このゲーム装置をソフトウエア部品として装置と独立して容易に配布、販売することができるようになる。また、汎用コンピュータ等のハードウエアを用いてこのソフトウエアを使用することにより、これらのハードウエアで本発明の物体の形状に倣った光の画像の表示が容易に実施できるようになる。
【００２６】
請求項１６〜１８に記載する手順でコンピュータに処理を実行させることにより、請求項１〜３に記載する発明と同様の効果を得ることができる。したがって、記載される処理手順を汎用コンピュータ等のハードウエアを用いて実行することにより、これらハードウエアで本発明の物体の形状に倣った光の画像の表示が容易に実施できるようになる。
【００２７】
【発明の実施の形態】
以下、本発明に係るゲーム装置、記録媒体、およびゲーム画像の光表現方法について、図面を参照しながら具体的に説明する。なお、以下の説明では、本発明を家庭用ゲーム機に適用した場合について述べる。
【００２８】
（第１の実施形態）
図１は本発明の第１の実施形態におけるゲームシステムの全体構成を示す図である。ゲームシステム５１は、大別して、ゲームシステム５１の主たる機能を有するゲーム装置本体５２と、ゲーム装置本体５２に対する操作指示のための入力を行うコントローラ５３と、後述するゲームに関する処理を実現するためのプログラムや画像データ、サウンドデータなどを記憶するＣＤ−ＲＯＭ（Compact Disc Read Only Memory ）５４と、ゲームの途中経過データやゲーム環境設定データなどのゲームデータを保存するメモリカード５５と、ゲーム装置本体５２からの映像信号や音声信号に基づいてゲーム内容に応じた映像表示やサウンド出力を行なうモニタディスプレイ５６とから構成されている。
【００２９】
ゲーム装置本体５２には、その上面に、ＣＤ−ＲＯＭ５４をセットするためのディスクホルダ６１、ディスクホルダ６１を開くためのオープンボタン６２、電源ボタン６３およびリセットボタン６４が設けられている。さらにゲーム装置本体５２の前面には、コントローラ５３やメモリカード５５を装着するためのスロット部６５が設けられている。このスロット部６５を介してコントローラ５３やメモリカード５５がゲーム装置本体５２に着脱自在に装着される。
【００３０】
また、ゲーム装置本体５２の後面には、ＡＶ（Audio and Visual）ケーブル５７を接続するＡＶ出力部（図示省略）が設けられている。このＡＶケーブル５７を介してゲーム装置本体５２とモニタディスプレイ５６とが接続される。モニタディスプレイ５６は、ＣＲＴ（Cathode Ray Tube）などにより構成されている。
【００３１】
図２は、図１のゲーム装置本体とその周辺の回路構成を示すブロック図である。ゲーム装置本体５２は、ＣＰＵ（Central Processing Unit;中央演算処理ユニット）１０１、ＧＴＥ（Geometric Transform Engine；グラフィックスデータ生成プロセッサ）１０２、周辺デバイス１０３、メインメモリ１０４、ＯＳ−ＲＯＭ（Operating System ROM）１０５、ＭＤＥＣ（Motion DECoder；データ伸張エンジン）１０６、ＰＩＯ（Parallel Input Output ；拡張パラレルポート）１０７、ＳＩＯ（Serial Input Output ；拡張シリアルポート）１０８、ＧＰＵ（Graphics Processing Unit；グラフィックス描画処理プロセッサ）１０９、フレームバッファ１１０、ＳＰＵ（Sound Processing Unit ；サウンド再生処理プロセッサ）１１１、サウンドバッファ１１２、ＣＤ−ＲＯＭドライブ１１３、ＣＤ−ＲＯＭデコーダ１１４、ＣＤ−ＲＯＭバッファ１１５および通信デバイス１１６から構成されている。
【００３２】
また、ＣＰＵ１０１、周辺デバイス１０３、メインメモリ１０４、ＯＳ−ＲＯＭ１０５、ＭＤＥＣ１０６、ＰＩＯ１０７、ＳＩＯ１０８、ＧＰＵ１０９、ＳＰＵ１１１、ＣＤ−ＲＯＭデコーダ１１４および通信デバイス１１６は、バス１００を介して互いに接続されている。
【００３３】
ＣＰＵ１０１は、ＯＳ−ＲＯＭ１０５に記憶されているＯＳ（オペレーティングシステム）や、ＣＤ−ＲＯＭ５４から読み出されてメインメモリ１０４に展開される後述するフローチャートまたはゲームのプログラムやデータなどに基づいてゲーム装置本体５２の各部を制御する。
【００３４】
具体的にはＣＰＵ１０１は、ＣＤ−ＲＯＭ５４からゲームプログラムや三次元モデル（本明細書では仮想の３次元物体とも呼ぶことがある）のモデリングデータなど読み出してメインメモリ１０４に転送する。また、同様にしてＣＤ−ＲＯＭ５４からカラールックアップテーブル（ＣＬＵＴ：Color Look−Up Table）やテクスチャパターンデータなどを読み出してフレームバッファ１１０に転送し、ＧＰＵ１０９に画像の描画を指示する。
【００３５】
これに応じてＧＰＵ１０９は、ＧＴＥ１０２で求められた座標データや色情報、フレームバッファ１１０に展開されたＣＬＵＴやテクスチャパターンデータなどに基づいてモデリング処理やレンダリング処理などを行なう。そして、三次元モデル（仮想の３次元物体）を配置して構成した仮想三次元空間における任意領域の二次元投影画像を表す画像データを生成してフレームバッファ１１０上に描画する。その後、この画像データに同期信号を付加するなどして映像信号としてモニタディスプレイ５６に出力する。これによりモニタディスプレイ５６の画面上にはゲーム内容に応じた映像が表示される。
【００３６】
また、ＣＰＵ１０１は、ＣＤ−ＲＯＭ５４からサウンドデータを読み出してメインメモリ１０４やＳＰＵ１１１に転送し、ＳＰＵ１１１にサウンドの再生を指示する。これに応じてＳＰＵ１１１は、これらのサウンドデータについて変調処理や再生処理などを適宜実行する。加えて、このサウンド再生データをＣＤ−ＲＯＭデコーダ１１４から転送されたオーディオ再生データと重ね合わせて音声信号としてモニタディスプレイ５６に出力する。これによりモニタディスプレイ５６の内蔵スピーカ（図示省略）からはゲーム内容に応じたＢＧＭ（BackGround Music）や効果音などが出力される。
【００３７】
ＧＴＥ１０２はＣＰＵ１０１に接続され、ＣＰＵ１０１のコプロセッサとして動作する。このＧＴＥ１０２は、ＣＰＵ１０１からの演算要求に応じて固定小数点形式の行列やベクトルの演算処理を行なう。この演算処理には、たとえば、三次元モデル（仮想の３次元物体）を表す図形データに基づいて、当該三次元モデル（仮想の３次元物体）を構成する各三次元座標点のデータについて、移動、回転、拡大、縮小などの座標計算や当該三次元モデル（仮想の３次元物体）を表示装置の表示画面に表示するために当該三次元モデル（仮想の３次元物体）を二次元平面に投影して得られる対応する仮想の二次元物体を表す図形データを生成するための透視変換計算（具体的には当該二次元物体を構成する各二次元座標点のデータの計算）、仮想的に設定された光源の種類やその光源からの距離や角度、視点位置などに応じて各部の輝度を計算する輝度計算などが含まれる。
【００３８】
周辺デバイス１０３は、割り込み制御やＤＭＡ（Direct Memory Access）転送に関する制御などを行なう。メインメモリ１０４は、ＣＰＵ１０１が実行するプログラムやその実行のために必要となるデータなどが記憶されるメモリである。このメインメモリ１０４のメモリ構成や記憶データなどについては後述する。ＯＳ−ＲＯＭ１０５は、ＯＳカーネルやブートローダなど、ゲーム装置本体５２の基本制御を行なうＯＳが記憶されている。
【００３９】
ＭＤＥＣ１０６は、圧縮画像の伸張処理を行う。具体的には、ＪＰＥＧ（Joint Photographic Coding Experts Group ）方式やＭＰＥＧ（Moving Picture Expert Group ）方式などの静止画および動画の圧縮画像データに対して、ハフマン符号化（Huffman coding ）のデコード処理、逆量子化処理、ＩＤＣＴ（Inversed Discrete Cosine Transformation；逆離散コサイン変換）演算などを行い、圧縮画像データを伸張する。また、ＰＩＯ１０７はパラレルデータ用の拡張ポートであり、ＳＩＯ１０８はシリアルデータ用の拡張ポートである。
【００４０】
ＧＰＵ１０９は、ＣＰＵ１０１とは独立して動作するサブプロセッサである。このＧＰＵ１０９は、ＣＰＵ１０１からの描画指示に従ってＧＴＥ１０２で求められた座標データや色情報、フレームバッファ１１０に展開されたＣＬＵＴやテクスチャパターンデータなどに基づいて、複数のポリゴンによって構成される三次元モデルのモデリング処理やレンダリング処理などを行なう。そして、三次元モデルを配置して構成した仮想三次元空間における任意領域の二次元投影画像を表す画像データを生成してフレームバッファ１１０上に描画する。なお、ポリゴンとは、三次元モデルを構成する図形の最小単位であり、三角形や四角形などの多角形平面からなるものである。
【００４１】
また、ＧＰＵ１０９は、このようにして描画した画像データ、あるいはメインメモリ１０４から転送された画像データに同期信号を付加するなどして映像信号を生成し、モニタディスプレイ５６に出力する。
【００４２】
フレームバッファ１１０はデュアルポートＲＡＭによって構成され、ＧＰＵ１０９により描画される画像データ、あるいはメインメモリ１０４から転送される画像データを記憶する描画領域と、モニタディスプレイ５６に表示する画像データを記憶する表示領域とを有する。この描画領域と表示領域は映像表示を行なう際のフィールドレートに応じてＧＰＵ１０９により交互に切り替えられる。
【００４３】
また、この他にフレームバッファ１１０には、色指定のために参照するカラールックアップテーブル（ＣＬＵＴ）や、テクスチャマッピング用のテクスチャパターンデータなどが記憶される。
【００４４】
ＳＰＵ１１１は、ＣＰＵ１０１とは独立して動作するサブプロセッサである。このＳＰＵ１１１は、ＣＰＵ１０１からのサウンド再生指示に従ってサウンドバッファ１１２に記憶されたＡＤＰＣＭ（Adaptive Differential Pulse Code modulation ）形式のサウンドデータに対して音量調整処理や、ピッチ変換、音程調整、エンベロープ、リバーブなどの各種変調処理を適宜実行する。加えてその再生処理を行ない、音声信号としてモニタディスプレイ５６に出力する。
【００４５】
また、ＳＰＵ１１１は、ＣＤ−ＲＯＭデコーダ１１４から転送されたオーディオ再生データをＳＰＵ１１１で再生したサウンド再生データと重ね合わせて音声信号としてモニタディスプレイ５６に出力する。
【００４６】
サウンドバッファ１１２は、ＣＰＵ１０１によりメインメモリ１０４から転送されたＡＤＰＣＭ形式のサウンドデータなどを一時的に記憶するメモリである。また、このサウンドバッファ１１２は、ＳＰＵ１１１がリバーブ処理を行なう際に作業領域として使用したり、加工用のサウンドデータなどをメインメモリ１０４へ転送する際のバッファとしても使用される。
【００４７】
ＣＤ−ＲＯＭドライブ１１３は、ＣＤ−ＲＯＭ５４の駆動制御を行ない、ＣＤ−ＲＯＭ５４に記憶されている符号化されたデータを読み取る。ＣＤ−ＲＯＭデコーダ１１４は、ＣＤ−ＲＯＭドライブ１１３がＣＤ−ＲＯＭ５４から読み取ったデータをデコードするとともにエラー訂正処理などを行ない、デコードしたプログラムやデータをメインメモリ１０４やＳＰＵ１１１などに転送する。また、ＣＤ−ＲＯＭドライブ１１３は内部音源およびミキサ（共に図示省略）を備え、オーディオデータの再生機能を有する。ＣＤ−ＲＯＭバッファ１１５は、転送用データを一時的に記憶するメモリである。
【００４８】
通信デバイス１１６には、コントローラ５３およびメモリカード５５が接続される。この通信デバイス１１６は、コントローラ５３およびメモリカード５５とゲーム装置本体５２の各部、たとえばＣＰＵ１０１やメインメモリ１０４との間のデータ転送を制御する。
【００４９】
コントローラ５３は、プレイヤからの操作入力に応じた各種操作信号を通信デバイス１１６を介してゲーム装置本体５２に送出する入力デバイスである。このコントローラ５３には、スタートボタンや方向キーなど複数の入力ボタンが設けられている。メモリカード５５はフラッシュメモリによって構成され、メインメモリ上の任意の領域やＣＤ−ＲＯＭ５４から読み出したデータを指定して記憶する。メモリカード５５に記憶されているデータは、ＣＰＵ１０１が指定して読み出すことが可能であり、読み出されたデータはメインメモリ１０４に記憶される。
【００５０】
次に、本実施形態のゲームについて説明する。図１６は、本実施形態において、ＣＤ−ＲＯＭ５４からゲーム装置本体５２のメインメモリ１０４に読み込まれて実行されるゲームプログラムにより、モニタディスプレイ５６に表示されるゲーム画面の一例を示す図である。図示するように、ゲーム画面２００には、プレイヤが操作指示を行うことが可能なゲームキャラクタ２０１が表示される。
【００５１】
プレイヤは、コントローラ５３を用いて移動、攻撃、使用する弾丸（ショット）の種類を変更し、プレイヤキャラクタ２０１に指示する。このとき、表示領域２０４に表示されている種類の弾丸がゲームキャラクタ２０１から発射されるようになっており、敵であるゲームキャラクタ２０２や、障害物であるゲームキャラクタ２０３を、この弾丸で攻撃しながらゲームは進行する。
【００５２】
発射される弾丸は複数種類あり、それぞれ形状や、発射されてから移動する速度およびコース、敵に与えるダメージなどがそれぞれ異なる。
【００５３】
このように、プレイヤは、ゲームの進行状況に応じて使用する弾丸を選択することができる。このとき、ゲーム画面２００上で認識しやすいように、発射される弾丸の画像には、その形状に倣った光の画像が付加されて表示される。以下では、この弾丸が光を発しているように表示するための処理について、主に説明する。
【００５４】
図３はメインメモリ１０４のメモリ構成を示す図である。図示のように、メインメモリ１０４は、ＣＰＵ１０１が実行するゲームプログラムを記憶するプログラム記憶領域１０４ａ、ＣＲＴに表示される各図形の頂点座標、色情報、およびテクスチャ等に関するデータを記憶する図形データ記憶領域１０４ｂと、発射される弾（ショット）に関するショットデータを記憶するショットデータ記憶領域１０４ｃと、ゲームの各ステージに関する情報を記憶するステージ情報記憶領域１０４ｄと、光らせる弾丸の現在位置を記憶する座標データ記憶領域１０４ｅとを有する。
【００５５】
図４は、ショットデータ領域１０４ｃ内に配置されるショット性能テーブルの一例を示す図である。図示するように、ショット性能テーブル１０に設定されている項目としては、「ショットＩＤ」、「速度」、「威力」、「移動規則」、「頂点数」、「オブジェクト幅」、「発光幅」、「オブジェクト色」、「発光色」および「外形データ」がある。
【００５６】
このうち、「ショットＩＤ」は、プレイヤがどの弾丸を選択しているのかを判別するためのＩＤ番号である。「速度」は弾丸の移動速度を、「威力」はその弾丸の威力を表す。「移動規則」は、弾丸の移動するパターンであり、発射された弾丸がどのように移動するかの情報である。「頂点数」は、表示される弾丸の画像に頂点がいくつあるかを表す。「オブジェクト幅」は表示される弾丸の幅を、「発光幅」は表示される弾丸の発する光の幅を表す。「オブジェクト色」は表示される弾丸の色を表し、「発光色」は表示される弾丸の発する光の色を表す。そして、「外形データ」は弾丸という仮想的な三次元物体を表す図形データのうち、その形状を表す図形データである。
【００５７】
以下では、図４に示した各ショット性能テーブル１０内の各項目を、ショットデータと呼ぶ。
【００５８】
図５は座標データ記憶領域１０４ｅ内に配置される発射済み弾丸テーブルの一例を示す図である。図示したように、発射済み弾丸テーブル２０に設定されている項目としては、「弾丸ＩＤ」と「現在位置」がある。「弾丸ＩＤ」には、弾丸の発射が行われた場合に、プレイヤにより選択されていたショットのＩＤ番号が記憶される。「現在位置」には、発射された弾丸の位置が記憶される。
【００５９】
図６および図７はＣＰＵ１０１が行う処理の流れを示すフローチャートである。まず、プレイヤが弾丸の発射を指示したか否かを判定する（ステップＳ１）。弾丸の発射を指示しなかった場合には、次に、プレイヤが弾丸の種類の変更を指示したか否かを判定する（ステップＳ２）。弾丸の種類の変更を指示しなかった場合には、次に、プレイヤがゲームキャラクタ２０１に移動の操作指示を行ったか否かを判定する（ステップＳ３）。ゲームキャラクタ２０１に移動の操作指示が行われたと判定された場合には（ステップＳ３；Ｙｅｓ）、移動設定処理を行う（ステップＳ４）。
【００６０】
ステップＳ２において、プレイヤが弾丸の種類の変更を指示した場合には、プログラム記憶領域内に記憶されている「ショットＩＤ」に対応する数値が変更される（ステップＳ５）。
【００６１】
図１７は、プログラム記憶領域１０４ａをより詳細に示した図である。図示するように、プログラム記憶領域１０４ａは、さらに細かく、ゲームプログラムが配置されるゲームプログラム領域３０と、選択された弾丸の種類を記憶するための選択ショットＩＤ領域３１と、読み出した「外形データ」を記憶するための外形データ領域３２および演算結果を記憶するための演算結果領域３３とを有している。
【００６２】
例えば、プレイヤがショットを１から２に変更した場合には（ステップＳ２；Ｙｅｓ）、選択ショットＩＤ領域３１に記憶されている数値が１から２に変更され（ステップＳ５）、ショット性能テーブル１０の「ショットＩＤ」が２である各項目が参照される。
【００６３】
ステップＳ１において、プレイヤが弾丸の発射を指示したと判定された場合には（ステップＳ１；Ｙｅｓ）、プログラム記憶領域内に記憶されている弾丸の種類を表す「ショットＩＤ」に対応する数値が、発射済み弾丸テーブル２０の空いている箇所に記憶される（ステップＳ６）。
【００６４】
すなわち、「弾丸ＩＤ」の項目のデータの記憶されていない（クリアされている）箇所に数値が記憶される。このとき、対応する「現在位置」には、現在のゲームキャラクタ２０１の位置が記憶される。記憶された弾丸のデータは、後述する処理によりクリアされるまで保持される。
【００６５】
ステップＳ３で移動指示がされなかったと判定された場合には（ステップＳ３；Ｎｏ）、あるいは、ステップＳ４またはＳ５またはＳ６の処理が終了した場合には、発射済み弾丸テーブル２０に基づき、発射済みの弾丸が存在するか否かを判定する（図７のステップＳ７）。
【００６６】
発射済みの弾丸が存在すると判定された場合には（ステップＳ７；Ｙｅｓ）、発射済み弾丸テーブル２０に記憶されている弾丸のデータの更新を行う。すなわち、発射済み弾丸テーブル２０に記憶されている「弾丸ＩＤ」に対応するショットデータに基づき、「現在位置」を更新する（ステップＳ８）。
【００６７】
次に、弾丸が敵または障害物のゲームキャラクタに命中したか否かを判定する（ステップＳ９）。命中したと判定された場合には（ステップＳ９；Ｙｅｓ）、弾丸の命中したゲームキャラクタに設定されている耐久力の数値（ヒットポイント）から、ショットデータに基づく数値を減算し、さらに命中したと判定された弾丸のデータを、発射済み弾丸テーブル２０からクリアする（ステップＳ１０）。
【００６８】
次に、攻撃が命中したゲームキャラクタの耐久力の数値に基づき、そのゲームキャラクタが破壊されたか否かの判定を行い（ステップＳ１１）、破壊されたと判定された場合には（ステップＳ１１；Ｙｅｓ）、そのゲームキャラクタをゲーム画面２００から消去する処理を行う（ステップＳ１２）。
【００６９】
ステップＳ１３では、ゲーム画面２００上に表示されている敵のゲームキャラクタに、移動などの動作を行わせるための設定処理を行う。
【００７０】
ステップＳ１４では、後述するゲーム画面２００を表示するための描画処理を行う。ステップＳ１５では、ゲームの状況に応じて音声を出力するための音声処理を行い、その後にステップＳ１に戻る。
【００７１】
図８は図７のステップＳ１４の描画処理の詳細フローチャートである。まず、背景画像を描画する（ステップＳ５１）。次に、各ゲームのキャラクタの画像を描画する（ステップＳ５２）。次に、発射された弾丸を描画するショット描画処理を行う（ステップＳ５３）。このショット描画処理については後述する。次に、煙や炎などのグラフィックを表示するためのエフェクト処理を行う（ステップＳ５４）。
【００７２】
図９は図８のステップＳ５３のショット描画処理の詳細フローチャートである。まず、発射済み弾丸テーブル２０に記憶されている弾丸ＩＤに対応する、ショットデータに含まれる「外形データ」を、プログラム記憶領域１０４ａ内の外形データ領域３２に読み出す（ステップＳ８０）。この「外形データ」は、弾丸という仮想的な三次元物体を表す図形データのうち、その形状を表す図形データである。
【００７３】
次に、外形データ領域３２に読み出された仮想的な三次元物体を表す図形データをゲーム画面２００に表示するために、当該三次元物体を平面に投影して得られる対応する仮想的な二次元物体を表す図形データに変換する演算を行い、演算により得られた上記対応する仮想的な二次元物体を表す図形データを演算結果領域３３に記憶する（ステップＳ８１）。
【００７４】
図１０（ａ）は、演算結果領域３３に記憶された上記対応する仮想的な二次元物体を表す図形データにより、ゲーム画面２００に表示される弾丸３００の一例を示す図である。図示するように、このときの弾丸の形状は、五角形であるものとする。図では頂点はＡ、Ｂ、Ｃ、Ｄ、Ｅである。
【００７５】
なお、仮想的な三次元物体を表す図形データにより表される図形及び対応する仮想的な二次元物体を表す図形データにより表される図形を、以下では説明の便宜上、単に三次元図形、二次元図形と呼ぶことがある。また、仮想的な三次元物体を表す図形データから、対応する仮想的な二次元物体を表す図形データへの変換を行う一連の処理を投影と呼ぶ。
【００７６】
次に、図１０（ｂ）に示すように、仮想的な二次元物体３００の各頂点Ａ、Ｂ、Ｃ、Ｄ、Ｅの為す角度を二等分する方向で、かつ、各頂点を端点として外側方向に延びる所定長さの境界線分Ｌ１を演算する（ステップＳ８２）。
【００７７】
次に、図１０（ｃ）に示すように、二次元画像の隣り合う二つの頂点（例えばＡとＢ）を結ぶ線分（すなわち、辺）とこれら頂点（例えばＡとＢ）をそれぞれ端点とする二つの境界線分Ｌ１とに接するように、複数のポリゴン描画領域Ｒ１をそれぞれ隣り合う二つの頂点の異なる組合わせに対応して設定する（ステップＳ８３）。これらのポリゴン描画領域Ｒ１は、二次元物体３００が放出する光を表示する放出光表示領域として使用するために設定される。
【００７８】
次に、これらのポリゴン描画領域Ｒ１に対して、二次元物体３００が放出する光を表す画像データを描画する。例えば、図１０（ｄ）に示すように、二次元物体３００の描画領域内を同一輝度および同一色で描画し、かつ、二次元物体３００の内部の輝度よりも上記複数のポリゴン描画領域Ｒ１内の輝度を低くする（ステップＳ８４）。より具体的には、各ポリゴン描画領域Ｒ１内の外縁に近い部分の輝度をゼロにする。輝度をゼロにすることにより、背景画像が透けて見えるようになり、物体が光っているような効果が得られる。なお、完全に輝度をゼロにしなくてもよく、この場合、背景画像とその上に重ねて表示される画像とが入り混じって表示される。
【００７９】
次に、各ポリゴン描画領域Ｒ１に対してシェーディング処理を行う（ステップＳ８５）。このシェーディング処理では、各ポリゴン描画領域Ｒ１の各頂点の輝度を当該ポリゴン描画領域内で線形補間することにより、当該ポリゴン描画領域Ｒ１内の画像の濃淡を当該ポリゴン描画領域Ｒ１の内側部分から外側部分に向かってなめらかに変化させる。これにより、図１０（ｅ）に示すように、弾丸３００の形状に倣った光る弾丸の二次元物体を表示させることができる。
【００８０】
なお、ステップＳ８２〜Ｓ８５の一連の処理は、演算結果領域３３に記憶されている二次元物体３００の図形データに対して行われるものとする。
【００８１】
例えば、シェーディング処理の一種であるグローシェーディング処理は、多角形を複数の三角形に分割し、各三角形の頂点の輝度を線形補間することにより、三角形内部のすべての画素点の輝度を決定するものである。
【００８２】
このように、第１の実施形態では、三次元物体を表示画面に投影して得られる二次元物体の外縁に沿ってその外側に複数のポリゴン描画領域Ｒ１を設定し、これらのポリゴン描画領域Ｒ１内の輝度を二次元物体の描画領域内の輝度（表示属性）よりも低くする（変更する）ため、特別な色や輝度を設定しなくても、光る弾丸の表示を行うことができる。
【００８３】
（第２の実施形態）
第２の実施形態は、二次元物体３００の隣り合う２つの頂点を結ぶ線分に直交する方向に延びる境界線分Ｌ１に基づいてポリゴン描画領域Ｒ１を設定するものである。
【００８４】
第２の実施形態は、ポリゴン描画領域Ｒ１を設定する処理（図９のステップＳ８３）が異なる他は第１の実施形態と共通するため、以下では、相違点を中心に説明する。
【００８５】
図１１は第２の実施形態における弾丸の描画例を示す図である。まず、弾丸を表す仮想の三次元物体を表示画面に投影して得られる対応する二次元物体３００を表す図形データを、当該三次元物体を表す図形データに基づいて生成し、図１１（ａ）に示すように、生成された図形データに基づいて当該二次元物体３００を表示画面に表示する。次に、図１１（ｂ）に示すように、二次元物体３００の隣り合う二つの頂点を結ぶ線分に直交する方向で、かつ、各頂点を端点として外側方向に延びる所定長さの境界線分Ｌ１を生成する。
【００８６】
次に、図１１（ｃ）に示すように、二次元物体３００の同一の頂点を通過する二つの境界線分Ｌ１の為す角度が９０度を超える場合（図の例では、頂点Ｂ及びＤにおいてこのような状況が発生すると仮定している）には、この為す角度を二等分する方向で、かつ、同一の頂点を端点として外側方向に延び、かつ、境界線分Ｌ１と同一長さを有する補助線分Ｌ２を生成する。
【００８７】
次に、図１１（ｄ）に示すように、二次元物体３００の隣り合う二つの頂点を結ぶ線分とこれら頂点を端点とする境界線分Ｌ１とに接するように、ポリゴン描画領域Ｒ１を設定する。また、同一の頂点を通過する二つの境界線分Ｌ１の為す角度が９０度を超えない場合、この頂点において隣り合う二つのポリゴン描画領域Ｒ１の間に、これらポリゴン描画領域Ｒ１の二つの境界線分Ｌ１に接するように、中間ポリゴン描画領域Ｒ２を生成する。同一の頂点を通過する二つの境界線分Ｌ１の為す角度が９０度を超える場合、隣り合う二つのポリゴン描画領域Ｒ１の間に、これらポリゴン描画領域Ｒ１の境界線分Ｌ１に接し、かつ、補助線分Ｌ２の両端点を頂点とする中間ポリゴン描画領域Ｒ２を生成する。
【００８８】
次に、図１１（ｅ）に示すように、図９のステップＳ８４，Ｓ８５と同様に、二次元物体３００の描画領域内を同一輝度および同一色で描画するとともに、複数のポリゴン描画領域Ｒ１、Ｒ２内の輝度を二次元物体３００の描画領域内の輝度よりも低くし、次に、これらのポリゴン描画領域Ｒ１、Ｒ２内についてシェーディング処理を行って濃淡をなめらかに変化させる。
【００８９】
このように、第２の実施形態は、隣り合う二つのポリゴン描画領域Ｒ１の間に一つ又は複数の中間ポリゴン描画領域Ｒ２を設けるため、複数のポリゴン描画領域Ｒ１と複数の中間ポリゴン描画領域Ｒ２とを併せた形状が二次元物体３００の形状に近似し、この弾丸の二次元物体３００の周囲が均等に光っている画像を表示することができる。
【００９０】
（第３の実施形態）
第３の実施形態は、円形の弾丸が光っている画像を表示するための処理を施したものである。
【００９１】
図１２は第３の実施形態における弾丸の描画例を示す図である。まず、弾丸を表す仮想の三次元物体を表示画面に投影して得られる対応する二次元物体３００を表す図形データを、当該三次元物体を表す図形データに基づいて生成し、図１２（ａ）に示すように、生成された図形データに基づいて当該二次元物体３００を表示画面に表示する。図１２（ａ）は二次元物体が点状の物体である場合の例を示している。次に、図１２（ｂ）に示すように、二次元物体を中心としてその周囲に、多角形の弾丸描画領域を設定する。
【００９２】
人間は、近くにある物体ほど形状を正確に認識できるため、三次元物体を投影する際に奥行き情報を検出しておき、奥行き情報に基づいて多角形の頂点数を設定する。例えば、近くにある物体ほど多角形の頂点数を多くして、精密な図形を描画する。
【００９３】
次に、図１２（ｃ）に示すように、第２の実施形態と同様の手法で、複数のポリゴン描画領域Ｒ１と複数の中間ポリゴン描画領域Ｒ２を生成する。
【００９４】
次に、図１２（ｄ）に示すように、多角形の内部を同一輝度および同一色で描画し、かつ、各ポリゴン描画領域Ｒ１と各中間ポリゴン描画領域Ｒ２の輝度を多角形の内部の輝度よりも低くする。このような処理により、図１２（ｅ）に示すように、多角形近似した円形の二次元物体が光っているように表示され、また、奥行き情報に基づいて光り方が変化する。
【００９５】
このように、第３の実施形態は、円形の二次元物体を多角形に近似して複数のポリゴン描画領域Ｒ１と複数の中間ポリゴン描画領域Ｒ２を生成し、これら領域の輝度を調整することにより二次元物体を光らせるような処理を行うため、簡易な処理で弾丸が光っている画像を表示することができる。
【００９６】
（第４の実施形態）
第４の実施形態は、多角形の二次元物体を複数の三角形に分割することで弾丸が光っている画像の表示を行うものである。
【００９７】
図１３は第４の実施形態における弾丸の描画例を示す図である。まず、弾丸を表す仮想の三次元物体を表示画面に投影して得られる対応する二次元物体を表す図形データを、当該三次元物体を表す図形データに基づいて生成し、図１３（ａ）に示すように、生成された図形データに基づいて当該二次元物体を表示画面に表示する。図１３（ａ）は二次元物体が多角形の例を示している。
【００９８】
次に、図１３（ｂ）に示すように、二次元物体を複数の三角形に分割し、分割した各三角形の各辺のうち、他の三角形に接しない辺の外側にそれぞれポリゴン描画領域を設定する。ポリゴン描画領域を設定する際は、第１および第２の実施形態のいずれを用いてもよい。すなわち、第１の実施形態のように、複数のポリゴン描画領域Ｒ１を三角形の辺に対応して設定してもよいし、あるいは、第２の実施形態のように、複数のポリゴン描画領域Ｒ１の他に複数の中間ポリゴン描画領域Ｒ２を設定してもよい。図１３（ｂ）では、第２の実施形態にしたがって、複数のポリゴン描画領域Ｒ１と複数の中間ポリゴン描画領域Ｒ２を設定した例を示している。
【００９９】
次に、図１３（ｃ）に示すように、二次元物体の描画領域内を同一輝度および同一色で描画し、かつ、ポリゴン描画領域Ｒ１、Ｒ２内の輝度を二次元物体の描画領域内の輝度よりも低くする。このような処理により、図１３（ｄ）に示すように、光る二次元物体が得られる。
【０１００】
このように、第４の実施形態は、多角形の二次元物体を複数の三角形に分割して複数のポリゴン描画領域Ｒ１あるいは複数のポリゴン描画領域Ｒ１及び複数の中間ポリゴン描画領域Ｒ２を生成するため、二次元物体の形状が複雑であっても、比較的に簡易な処理でポリゴン描画領域Ｒ１あるいはＲ１とＲ２を生成することができ、弾丸が光っている画像の表示を行うことができる。
【０１０１】
（第５の実施形態）
第５の実施形態は、線状あるいは曲線状の弾丸が光っている画像を表示するための処理を行うものである。
【０１０２】
図１４は第５の実施形態における弾丸の描画例を示す図であり、二次元物体が折れ線状の例を示している。また、図１５は折れ線状の二次元物体の端部付近の拡大図であり、図１５（ｂ）以降は図１５（ａ）の点線部分の拡大図を示している。
【０１０３】
まず、図１４（ａ）に示すように、折れ線状の二次元物体の各頂点の為す角度を二等分する方向で、かつ、各頂点を通る所定長さの境界線分Ｌ１を生成する。
【０１０４】
また、折れ線状の二次元物体の端点については、図１５（ｂ）に示すように、二次元物体に直交する方向で、その端点を通過する所定長さの二つの端点線分Ｌ３を生成した後、図１５（ｃ）に示すように、二次元物体の同一の端点に接続された二つの端点線分Ｌ３の間の外角を四分割し、端点線分Ｌ３と同じ長さの三つの分割線分Ｌ４を生成する。
【０１０５】
次に、図１４（ｂ）に示すように、境界線分Ｌ１に基づいて、二次元物体の長手方向に沿ってその両側に複数の線幅ポリゴン描画領域Ｒ３を生成する。また、図１５（ｄ）に示すように、端点線分Ｌ３と分割線分Ｌ４とに基づいて、線幅ポリゴン描画領域Ｒ３に接するように四つの端部ポリゴン描画領域Ｒ４を生成する。こうして、元の折れ線状の二次元物体は、その周囲に複数の線幅ポリゴン描画領域Ｒ３と複数の端部ポリゴン描画領域Ｒ４が設けられたことにより、その線幅が拡大される（すなわち拡幅される）。
【０１０６】
次に、図１４（ｃ）および図１５（ｅ）に示すように、線幅ポリゴン描画領域Ｒ３と端部ポリゴン描画領域Ｒ４の、上記拡幅された二次元物体の外周を構成する各辺に直交する方向で、各頂点を通過する所定長さの境界線分Ｌ１を生成する。
【０１０７】
次に、図１４（ｄ）および図１５（ｆ）に示すように、各境界線分Ｌ１と各辺に接するようにポリゴン描画領域Ｒ１を生成し、隣り合う二つのポリゴン描画領域Ｒ１の間に中間ポリゴン描画領域Ｒ２を生成する。
【０１０８】
次に、図１５（ｇ）に示すように、線幅ポリゴン描画領域Ｒ３と端部ポリゴン描画領域Ｒ４内を同一輝度および同一色で描画するとともに、その周囲のポリゴン描画領域Ｒ１、Ｒ２の輝度を線幅ポリゴン描画領域Ｒ３と端部ポリゴン描画領域Ｒ４の輝度よりも低くする。これにより、図１４（ｅ）あるいは図１５（ｈ）に示すように、線状の二次元物体の形状に倣って光っている部分が表示される。
【０１０９】
このように、第５の実施形態は、線状または曲線状の二次元物体の周囲に複数の線幅ポリゴン描画領域Ｒ３と複数の端部ポリゴン描画領域Ｒ４を設定するとともに、これら領域の周囲にさらに複数のポリゴン描画領域Ｒ１、Ｒ２を設定し、ポリゴン描画領域Ｒ１、Ｒ２の輝度を、線幅ポリゴン描画領域Ｒ３および端部ポリゴン描画領域Ｒ４の輝度よりも低くするため、線状または曲線状の二次元物体を擬似的に光らせることができ、線状または曲線状の弾丸が光っている画像の表示を行うことができる。
【０１１０】
上述した各実施形態では、光っている弾丸を表示するための処理について主に説明したが、光らせる対象物（表示体）は弾丸に限らず、他の物体が光っている画像を表示する場合にも本発明は適用可能である。
【０１１１】
ところで、表示される物体の発する光は、遠い位置（ゲーム画面２００の奥方向）にあるものよりも、近い位置（ゲーム画面２００の手前方向）にあるものの方が、表示される光の度合いが大きいため、物体の位置によって光らせ方を変えるのが望ましい。例えば、近い位置にある弾丸のポリゴン描画領域Ｒ１の表示幅を、遠い位置にある弾丸のポリゴン描画領域Ｒ１の表示幅よりも大きくすれば、遠近が協調され、立体感のある表示が可能となる。
【０１１２】
上述した各実施形態では、二次元物体の描画領域とその外側のポリゴン描画領域Ｒ１とを異なる輝度で描画する例を説明したが、輝度を変える代わりに、色を変えてもよい。例えば、二次元物体の描画領域の色に対して、その外側のポリゴン描画領域Ｒ１あるいはＲ１とＲ２の色を白っぽくすれば、輝度を変えなくても、光っているような画像を表示することができる。なお、背景画像の画像データと比べると、二次元物体の描画領域の外側のポリゴン描画領域Ｒ１あるいはＲ１とＲ２の画像データは、輝度及び色の少なくとも一方が異なっている必要があることは言うまでもない。
【０１１３】
また、上述した各実施形態において、仮想の三次元物体を表示画面に投影する際、奥行き情報を抽出しておき、抽出した奥行き情報に基づいてポリゴン描画領域Ｒ１の幅を設定してもよい。
【０１１４】
また、上述した各実施形態では、ポリゴン描画領域Ｒ１内の外側に近い部分を背景画像が視認できるように透明処理を行う例を説明したが、透明処理の代わりに、背景画像が入れ混じった画像となるような処理を行ってもよい。
【０１１５】
また、上述した各実施形態では、本発明をゲーム装置に適用した例を説明したが、本発明は、このような画像の表示を行う各種の装置、例えばＣＡＤシステムなどにも適用可能である。
【０１１６】
【発明の効果】
以上詳細に説明したように、本発明によれば、光っているように表示されるべき仮想の三次元物体を表示画面に投影して得られる仮想の二次元物体の周囲に放出光表示用領域として使用するための複数のポリゴン描画領域を設定し、ポリゴン描画領域内部の輝度および色の少なくとも一方を、上記二次元物体の描画領域内とは異なるものに設定するため、上記二次元物体を擬似的に光らせることができる。特に、上記二次元物体自体を同一輝度および同一色で描画しても、その二次元物体を光らせることができるため、高速描画が要求されるゲーム装置などに適用できる。
【図面の簡単な説明】
【図１】本発明の実施形態におけるゲームシステムの全体構成を示す図である。
【図２】図１のゲーム装置本体とその周辺の回路構成を示すブロック図である。
【図３】メインメモリのメモリの構成を説明するための図である。
【図４】ショットデータ記憶領域のデータの構成を説明するための図である。
【図５】座標データ記憶領域のデータの構成を説明するための図である。
【図６】ＣＰＵが行う処理の流れを示すフローチャートである。
【図７】図６に続くフローチャートである。
【図８】図６のステップＳ１５の描画処理の詳細フローチャートである。
【図９】図８のステップＳ５３のショット描画処理の詳細フローチャートである。
【図１０】第１の実施形態における弾丸の描画を説明するための図である。
【図１１】第２の実施形態における弾丸の描画を説明するための図である。
【図１２】第３の実施形態における弾丸の描画を説明するための図である。
【図１３】第４の実施形態における弾丸の描画を説明するための図である。
【図１４】第５の実施形態における弾丸の描画を説明するための図である。
【図１５】折れ線状の二次元画像の端部付近の拡大図である。
【図１６】ゲームプログラム実行時に表示される画面の一例を示す図である。
【図１７】プログラム記憶領域の構成を説明するための図である。
【符号の説明】
３２  外形データ領域
３３  演算結果領域
１０４ａ  プログラム記憶領域
１０４ｂ  図形データ記憶領域
１０４ｃ  ショットデータ記憶領域
１０４ｄ  ステージ情報記憶領域
１０４ｅ  座標データ記憶領域
Ｌ１  境界線分
Ｌ２  端点線分
Ｌ３  分割線分
Ｒ１  ポリゴン描画領域
Ｒ２  中間ポリゴン描画領域
【図１】
0004012948.tif 000002
【図２】
0004012948.tif 000003
【図３】
0004012948.tif 000004
【図４】
0004012948.tif 000005
【図５】
0004012948.tif 000006
【図６】
0004012948.tif 000007
【図７】
0004012948.tif 000008
【図８】
0004012948.tif 000009
【図９】
0004012948.tif 000010
【図１０】
0004012948.tif 000011
【図１１】
0004012948.tif 000012
【図１２】
0004012948.tif 000013
【図１３】
0004012948.tif 000014
【図１４】
0004012948.tif 000015
【図１５】
0004012948.tif 000016
【図１６】
0004012948.tif 000017
【図１７】
0004012948.tif 000018