(57)【特許請求の範囲】
【請求項１】
仮想空間におけるオブジェクトを描画する、ビデオゲーム用のプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記コンピュータに、
前記オブジェクトのデータを複製してダミーオブジェクトを生成し、記憶装置に格納する第１手段と、
前記記憶装置に格納された前記ダミーオブジェクトが視点から見て前記オブジェクトの後方であって前記オブジェクトと一部のみ重なるように、前記オブジェクト及び前記ダミーオブジェクトの位置を決定し、前記オブジェクトの位置情報及び前記ダミーオブジェクトの位置情報を前記記憶装置に格納する第２手段と、
前記記憶装置に格納された前記オブジェクトの位置情報に基づき前記オブジェクトを描画すると共に、視点から見て前記オブジェクトと前記ダミーオブジェクトとが重なる部分を除いて前記記憶装置に格納された前記ダミーオブジェクトの位置情報に基づき前記ダミーオブジェクトを前記オブジェクトとは異なる明度で描画する第３手段と、
を実現させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項２】
前記第２手段が、
前記記憶装置に格納された前記ダミーオブジェクトが視点から見て前記オブジェクトの後方に配置されるように、且つ前記オブジェクトの所定の基準位置と視点とを結ぶ直線と、前記オブジェクトの所定の基準位置に対応する、前記ダミーオブジェクトにおける位置と視点とを結ぶ直線とがずれを有するように、前記オブジェクト及び前記ダミーオブジェクトの位置を決定する手段、
であることを特徴とする請求項１記載のコンピュータ読み取り可能な記録媒体。
【請求項３】
前記第３手段が、
前記記憶装置に格納された前記オブジェクトの位置情報及び前記ダミーオブジェクトの位置情報に基づき、前記ダミーオブジェクト、前記オブジェクトの順で、前記ダミーオブジェクト及び前記オブジェクトを描画する手段
であることを特徴とする請求項１記載のコンピュータ読み取り可能な記録媒体。
【請求項４】
前記第３手段が、
Ｚバッファを用いた隠面消去処理を行って、前記記憶装置に格納された前記オブジェクトの位置情報に基づき前記オブジェクトを描画すると共に、前記記憶装置に格納された前記ダミーオブジェクトの位置情報に基づき前記ダミーオブジェクトを前記オブジェクトとは異なる明度で描画する手段、
であることを特徴とする請求項１記載のコンピュータ読み取り可能な記録媒体。
【請求項５】
前記第３手段が、
前記記憶装置に格納された前記オブジェクトの位置情報に基づき前記オブジェクトを描画すると共に、視点から見て前記オブジェクトと前記ダミーオブジェクトとが重なる部分を除いて前記記憶装置に格納された前記ダミーオブジェクトの位置情報に基づき前記ダミーオブジェクトを前記オブジェクトより明るく描画する手段、
であることを特徴とする請求項１記載のコンピュータ読み取り可能な記録媒体。
【請求項６】
複数のポリゴンにより構成されるオブジェクトを描画する、ビデオゲーム用のプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記コンピュータに、
前記オブジェクトのデータを複製してダミーオブジェクトを生成し、記憶装置に格納する第１手段と、
前記記憶装置に格納された前記ダミーオブジェクトが視点から見て前記オブジェクトの後方であって前記オブジェクトと一部のみ重なるように、前記ダミーオブジェクト及び前記オブジェクトを構成する各ポリゴンの視点からの距離を算出し、前記ダミーオブジェクト及び前記オブジェクトを構成する各ポリゴンの視点からの距離に関する情報を前記記憶装置に格納する第２手段と、
前記記憶装置に格納された、前記ダミーオブジェクト及び前記オブジェクトを構成する各ポリゴンの視点からの距離に関する情報に基づき、視点からの距離が遠い順に前記各ポリゴンを順序付けることにより得られる、前記各ポリゴンの描画順番に従って、前記オブジェクトを構成する各ポリゴンを描画すると共に、前記ダミーオブジェクトを構成する各ポリゴンを前記オブジェクトの対応するポリゴンとは異なる明度で描画する第３手段と、
を実現させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項７】
複数のポリゴンにより構成されるオブジェクトを描画する、ビデオゲーム用のプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記コンピュータに、
前記オブジェクトのデータを複製してダミーオブジェクトを生成し、記憶装置に格納する第１手段と、
前記記憶装置に格納された前記ダミーオブジェクトが視点から見て前記オブジェクトの後方であって前記オブジェクトと一部のみ重なるように、前記ダミーオブジェクト及び前記オブジェクトを構成する各ポリゴンの視点からの距離を算出し、前記ダミーオブジェクト及び前記オブジェクトを構成する各ポリゴンの視点からの距離に関する情報を前記記憶装置に格納する第２手段と、
画素毎に、前記記憶装置に格納された、前記ダミーオブジェクト及び前記オブジェクトを構成する各ポリゴンの視点からの距離に関する情報に基づき、当該画素に投影可能なポリゴンのうち視点からの距離が最も近いポリゴンに従って描画処理を行う際に、画素に投影されるポリゴンが前記オブジェクトを構成するポリゴンである場合は当該ポリゴンに従って当該画素を描画すると共に、画素に投影されるポリゴンが前記ダミーオブジェクトを構成するポリゴンである場合は当該画素を前記オブジェクトの対応するポリゴンとは異なる明度で描画する第３手段と、
を実現させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項８】
生成手段と位置決定手段と描画手段と記憶装置とを有するコンピュータにより実行され、仮想空間におけるオブジェクトを描画する、ビデオゲームにおけるオブジェクト描画方法であって、
前記生成手段により、前記オブジェクトのダミーオブジェクトを生成し、前記記憶装置に格納する第１ステップと、
前記位置決定手段により、前記記憶装置に格納された前記ダミーオブジェクトが視点から見て前記オブジェクトの後方であって前記オブジェクトと一部のみ重なるように、前記オブジェクト及び前記ダミーオブジェクトの位置を決定し、前記オブジェクトの位置情報及び前記ダミーオブジェクトの位置情報を前記記憶装置に格納する第２ステップと、
前記描画手段により、前記記憶装置に格納された前記オブジェクトの位置情報に基づき前記オブジェクトを描画すると共に、視点から見て前記オブジェクトと前記ダミーオブジェクトとが重なる部分を除いて前記記憶装置に格納された前記ダミーオブジェクトの位置情報に基づき前記ダミーオブジェクトを前記オブジェクトとは異なる明度で描画する第３ステップと、
を含むことを特徴とするビデオゲームにおけるオブジェクト描画方法。
【請求項９】
前記第２ステップが、
前記記憶装置に格納された前記ダミーオブジェクトが視点から見て前記オブジェクトの後方に配置されるように、且つ前記オブジェクトの所定の基準位置と視点とを結ぶ直線と、前記オブジェクトの所定の基準位置に対応する、前記ダミーオブジェクトにおける位置と視点とを結ぶ直線とがずれを有するように、前記オブジェクト及び前記ダミーオブジェクトの位置を決定するステップ、
であることを特徴とする請求項８記載のビデオゲームにおけるオブジェクト描画方法。
【請求項１０】
前記第３ステップが、
前記記憶装置に格納された前記ダミーオブジェクトの位置情報に基づき前記ダミーオブジェクトを前記オブジェクトとは異なる明度で描画した後、前記記憶装置に格納された前記オブジェクトの位置情報に基づき前記オブジェクトを描画するステップ
であることを特徴とする請求項８記載のビデオゲームにおけるオブジェクト描画方法。
【請求項１１】
生成手段と設定手段と描画手段と記憶装置とを有するコンピュータにより実行され、複数のポリゴンにより構成されるオブジェクトを描画する、ビデオゲームにおけるオブジェクト描画方法であって、
前記生成手段により、前記オブジェクトのデータを複製してダミーオブジェクトを生成し、記憶装置に格納する第１ステップと、
前記設定手段により、前記記憶装置に格納された前記ダミーオブジェクトが視点から見て前記オブジェクトの後方であって前記オブジェクトと一部のみ重なるように、前記ダミーオブジェクト及び前記オブジェクトを構成する各ポリゴンの視点からの距離を算出し、前記ダミーオブジェクト及び前記オブジェクトを構成する各ポリゴンの視点からの距離に関する情報を前記記憶装置に格納する第２ステップと、
前記描画手段により、前記記憶装置に格納された、前記ダミーオブジェクト及び前記オブジェクトを構成する各ポリゴンの視点からの距離に関する情報に基づき、視点からの距離が遠い順に前記各ポリゴンを順序付けることにより得られる、前記各ポリゴンの描画順番に従って、前記オブジェクトを構成する各ポリゴンを描画すると共に、前記ダミーオブジェクトを構成する各ポリゴンを前記オブジェクトの対応するポリゴンとは異なる明度で描画する第３ステップと、
を含むことを特徴とするビデオゲームにおけるオブジェクト描画方法。
【請求項１２】
生成手段と設定手段と描画手段と記憶装置とを有するコンピュータにより実行され、複数のポリゴンにより構成されるオブジェクトを描画する、ビデオゲームにおけるオブジェクト描画方法であって、
前記生成手段により、前記オブジェクトのデータを複製してダミーオブジェクトを生成し、記憶装置に格納する第１ステップと、
前記設定手段により、前記記憶装置に格納された前記ダミーオブジェクトが視点から見て前記オブジェクトの後方であって前記オブジェクトと一部のみ重なるように、前記ダミーオブジェクト及び前記オブジェクトを構成する各ポリゴンの視点からの距離を算出し、前記ダミーオブジェクト及び前記オブジェクトを構成する各ポリゴンの視点からの距離に関する情報を前記記憶装置に格納する第２ステップと、
前記描画手段により、画素毎に、前記記憶装置に格納された、前記ダミーオブジェクト及び前記オブジェクトを構成する各ポリゴンの視点からの距離に関する情報に基づき、当該画素に投影可能なポリゴンのうち視点からの距離が最も近いポリゴンに従って描画処理を行う際に、画素に投影されるポリゴンが前記オブジェクトを構成するポリゴンである場合は当該ポリゴンに従って当該画素を描画すると共に、画素に投影されるポリゴンが前記ダミーオブジェクトを構成するポリゴンである場合は当該画素を前記オブジェクトの対応するポリゴンとは異なる明度で描画する第３ステップと、
を含むことを特徴とするビデオゲームにおけるオブジェクト描画方法。
【請求項１３】
仮想空間におけるオブジェクトを描画するビデオゲーム装置であって、
前記オブジェクトのデータを複製してダミーオブジェクトを生成する生成手段と、
視点から見て前記生成手段により生成された前記ダミーオブジェクトが前記オブジェクトの後方であって前記オブジェクトと一部のみ重なるように、前記オブジェクト及び前記ダミーオブジェクトの位置を決定する位置決定手段と、
前記位置決定手段により決定された位置にオブジェクトを描画すると共に、視点から見て前記オブジェクトと前記ダミーオブジェクトとが重なる部分を除いて前記位置決定手段により決定された位置に前記ダミーオブジェクトを前記オブジェクトとは異なる明度で描画する描画手段と、
を有することを特徴とするビデオゲーム装置。
【請求項１４】
複数のポリゴンにより構成されるオブジェクトを描画するビデオゲーム装置であって、
前記オブジェクトのデータを複製してダミーオブジェクトを生成する生成手段と、
視点から見て前記生成手段により生成された前記ダミーオブジェクトが前記オブジェクトの後方であって前記オブジェクトと一部のみ重なるように、前記ダミーオブジェクト及び前記オブジェクトを構成する各ポリゴンの視点からの距離を設定する設定手段と、
前記設定手段により設定された視点からの距離が遠い順に前記各ポリゴンを順序付けることにより得られる、前記各ポリゴンの描画順番に従って、前記オブジェクトを構成する各ポリゴンを描画すると共に、前記ダミーオブジェクトを構成する各ポリゴンを前記オブジェクトの対応するポリゴンとは異なる明度で描画する描画手段と、
を有することを特徴とするビデオゲーム装置。
【請求項１５】
複数のポリゴンにより構成されるオブジェクトを描画するビデオゲーム装置であって、
前記オブジェクトのデータを複製してダミーオブジェクトを生成する生成手段と、
視点から見て前記生成手段により生成された前記明暗表現オブジェクトを前記オブジェクトの後方であって前記オブジェクトと一部のみ重なるように、前記ダミーオブジェクト及び前記オブジェクトを構成する各ポリゴンの視点からの距離を設定する設定手段と、
画素毎に、当該画素に投影可能なポリゴンのうち前記設定手段により設定された視点からの距離が最も近いポリゴンに従って描画処理を行う際に、画素に投影されるポリゴンが前記オブジェクトを構成するポリゴンである場合は当該ポリゴンに従って当該画素を描画すると共に、画素に投影されるポリゴンが前記ダミーオブジェクトを構成するポリゴンである場合は当該画素を前記オブジェクトの対応するポリゴンとは異なる明度で描画する描画手段と、
を有することを特徴とするビデオゲーム装置。
【請求項１６】
仮想空間におけるオブジェクトを描画するビデオゲーム装置であって、
コンピュータと、
前記コンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体と、
を有し、
前記プログラムは、前記コンピュータに、
前記オブジェクトのデータを複製してダミーオブジェクトを生成し、記憶装置に格納する生成手段と、
前記記憶装置に格納された前記ダミーオブジェクトが視点から見て前記オブジェクトの後方であって前記オブジェクトと一部のみ重なるように、前記オブジェクト及び前記ダミーオブジェクトの位置を決定し、前記オブジェクトの位置情報及び前記ダミーオブジェクトの位置情報を前記記憶装置に格納する位置決定手段と、
前記記憶装置に格納された前記オブジェクトの位置情報に基づき前記オブジェクトを描画すると共に、視点から見て前記オブジェクトと前記ダミーオブジェクトとが重なる部分を除いて前記記憶装置に格納された前記ダミーオブジェクトの位置情報に基づき前記ダミーオブジェクトを前記オブジェクトとは異なる明度で描画する描画手段と、
を実現させることを特徴とするビデオゲーム装置。
【発明の詳細な説明】
【０００１】
【発明が属する技術分野】
本発明は、ビデオゲームに関し、より詳しくは、仮想空間内のオブジェクトに明暗を付するための技術に関する。
【０００２】
【従来の技術】
近年、ビデオゲームの分野では、仮想三次元空間に配置されるオブジェクトの表面に陰影を付するための様々なレンダリング技術が研究されている。仮想三次元空間に配置されたオブジェクトに陰影を付する場合、光源の性質や、光源、オブジェクト及び視点の位置関係、オブジェクトの表面の質感等様々な要因を加味して輝度計算が実行される。そして、輝度計算の結果に基づいて透視変換後の画像を描画することにより画像に現実的な陰影を付することができる。
【０００３】
【発明が解決しようとする課題】
しかし、輝度計算の結果を忠実に反映させて投影画像を描画した場合、以下に示す現象が生ずる場合がある。例えば、光線がほとんど存在しない仮想空間内にキャラクタ等のオブジェクトが配置されている場合、投影画像全体が暗くなりキャラクタが背景に溶け込んで見づらくなってしまう。また逆に、非常に明るい仮想空間内にオブジェクトが配置されている場合には、投影画像全体が明るくなりキャラクタが背景に溶け込んで見づらくなってしまう。このように輝度計算の結果を忠実に反映させて投影画像を描画した場合、描画された投影画像においてオブジェクトが認識しづらくなる場合がある。従って、少なくとも注目するオブジェクトに関しては、背景画像と明確に区別してユーザが認識できることが望まれる。
【０００４】
本発明の目的は、オブジェクトの輪郭の一部に明暗を付けることでオブジェクトを強調し、画像中におけるオブジェクトを認識し易くすることである。
【０００５】
【課題を解決するための手段】
本発明の第１の態様に係る、仮想空間におけるオブジェクトを描画する、ビデオゲームにおけるオブジェクト描画方法は、オブジェクトのデータを複製してダミーオブジェクトを生成する第１ステップと、視点から見て第１ステップで生成されたダミーオブジェクトがオブジェクトの後方であってオブジェクトと一部のみ重なるように、オブジェクト及びダミーオブジェクトの位置を決定する第２ステップと、第２ステップで決定された位置にオブジェクトを描画すると共に、視点から見てオブジェクトとダミーオブジェクトとが重なる部分を除いて第２ステップで決定された位置にダミーオブジェクトをオブジェクトとは異なる明度で描画する第３ステップとを含む。
【０００６】
ダミーオブジェクトの視点から見てオブジェクトと重ならない部分は、オブジェクトとは異なる明度、すなわち、オブジェクトより明るく又は暗く描画される。例えば仮想空間全体が暗く、ダミーオブジェクトの視点から見てオブジェクトと重ならない部分が、オブジェクトより明るく描画されれば、オブジェクトの輪郭の部分が明るい色彩で描画される。従って、オブジェクトを強調し、画像中におけるオブジェクトを認識し易くすることができる。
【０００７】
上で述べた第２ステップを、視点から見て第１ステップで生成されたダミーオブジェクトがオブジェクトの後方に配置されるように、且つオブジェクトの所定の基準位置と視点とを結ぶ直線と、オブジェクトの所定の基準位置に対応する、ダミーオブジェクトにおける位置と視点とを結ぶ直線とがずれを有するように、オブジェクト及びダミーオブジェクトの位置を決定するステップとすることも可能である。
【０００８】
また、上で述べた第３ステップを、第２ステップで決定された位置に、ダミーオブジェクト、オブジェクトの順で、ダミーオブジェクト及びオブジェクトを描画するステップとすることもできる。いわゆるＺソート法を適用したものである。
【０００９】
さらに、上で述べた第３ステップを、Ｚバッファを用いた隠面消去処理を行って、第２ステップで決定された位置にオブジェクトを描画すると共に、第２ステップで決定された位置にダミーオブジェクトをオブジェクトとは異なる明度で描画するステップとすることも可能である。いわゆるＺバッファ法を適用したものである。
【００１０】
上で述べた第３ステップを、第２ステップで決定された位置にオブジェクトを描画すると共に、視点から見てオブジェクトとダミーオブジェクトとが重なる部分を除き第２ステップで決定された位置にダミーオブジェクトをオブジェクトより明るく描画するステップとすることも可能である。一方で、明暗表現オブジェクトをオブジェクトより暗く描画する場合も考えられる。
【００１１】
本発明の第２の態様に係るビデオゲームにおけるオブジェクト描画方法は、オブジェクトのデータを複製してダミーオブジェクトを生成する第１ステップと、視点から見て第１ステップで生成されたダミーオブジェクトがオブジェクトの後方であってオブジェクトと一部のみ重なるように、ダミーオブジェクト及びオブジェクトを構成する各ポリゴンの視点からの距離を設定する第２ステップと、第２ステップで設定された視点からの距離が遠い順に各ポリゴンを順序付けることにより得られる、各ポリゴンの描画順番に従って、オブジェクトを構成する各ポリゴンを描画すると共に、ダミーオブジェクトを構成する各ポリゴンをオブジェクトの対応するポリゴンとは異なる明度で描画する第３ステップとを含む。いわゆるＺソート法を適用したものである。
【００１２】
本発明の第３の態様に係るビデオゲームにおけるオブジェクト描画方法は、オブジェクトのデータを複製してダミーオブジェクトを生成する第１ステップと、視点から見て第１ステップで生成されたダミーオブジェクトがオブジェクトの後方であって前記オブジェクトと一部のみ重なるように、ダミーオブジェクト及びオブジェクトを構成する各ポリゴンの視点からの距離を設定する第２ステップと、画素毎に、当該画素に投影可能なポリゴンのうち第２ステップで設定された視点からの距離が最も近いポリゴンに従って描画処理を行う際に、画素に投影されるポリゴンがオブジェクトを構成するポリゴンである場合は当該ポリゴンに従って当該画素を描画すると共に、画素に投影されるポリゴンが前記ダミーオブジェクトを構成するポリゴンである場合は当該画素を前記オブジェクトの対応するポリゴンとは異なる明度で描画する第３ステップとを含む。いわゆるＺバッファ法を適用したものである。
【００１３】
本発明の第１乃至第３の態様に係るビデオゲームにおけるオブジェクト描画方法をコンピュータに実行させるプログラムを作成することは可能である。その際、第１乃至第３の態様に対する上記のような変形は、当該プログラムに対しても応用可能である。本発明に係るプログラムは、例えばＣＤ−ＲＯＭ、フロッピーディスク、メモリカートリッジ、メモリ、ハードディスクなどの記録媒体又は記憶装置に格納される。記録媒体又は記憶装置に格納されるプログラムをコンピュータに読み込ませることで以下で述べるビデオゲーム装置を実現できる。また、記録媒体によって本発明に係るプログラムをソフトウエア製品として装置と独立して容易に配布、販売することができるようになる。さらに、コンピュータなどのハードウエアを用いてこのプログラムを実行することにより、コンピュータ等のハードウエアで本発明の技術が容易に実施できるようになる。
【００１４】
本発明の第４の態様に係る、仮想空間におけるオブジェクトを描画するビデオゲーム装置は、オブジェクトのデータを複製してダミーオブジェクトを生成する生成手段と、視点から見て生成手段により生成されたダミーオブジェクトがオブジェクトの後方であってオブジェクトと一部のみ重なるように、オブジェクト及びダミーオブジェクトの位置を決定する位置決定手段と、位置決定手段により決定された位置にオブジェクトを描画すると共に、視点から見てオブジェクトとダミーオブジェクトとが重なる部分を除いて位置決定手段により決定された位置にダミーオブジェクトをオブジェクトとは異なる明度で描画する描画手段とを有する。
【００１５】
本発明の第５の態様に係る、複数のポリゴンにより構成されるオブジェクトを描画するビデオゲーム装置は、オブジェクトのデータを複製してダミーオブジェクトを生成する生成手段と、視点から見て生成手段により生成されたダミーオブジェクトがオブジェクトの後方であってオブジェクトと一部のみ重なるように、ダミーオブジェクト及びオブジェクトを構成する各ポリゴンの視点からの距離を設定する設定手段と、設定手段により設定された視点からの距離が遠い順に各ポリゴンを順序付けることにより得られる、各ポリゴンの描画順番に従って、オブジェクトを構成する各ポリゴンを描画すると共に、ダミーオブジェクトを構成する各ポリゴンをオブジェクトの対応するポリゴンとは異なる明度で描画する描画手段とを有する。
【００１６】
本発明の第６の態様に係るビデオゲーム装置は、オブジェクトのデータを複製してダミーオブジェクトを生成する生成手段と、視点から見て生成手段により生成された明暗表現オブジェクトをオブジェクトの後方であってオブジェクトと一部のみ重なるように、ダミーオブジェクト及びオブジェクトを構成する各ポリゴンの視点からの距離を設定する設定手段と、画素毎に、当該画素に投影可能なポリゴンのうち設定手段により設定された視点からの距離が最も近いポリゴンに従って描画処理を行う際に、画素に投影されるポリゴンがオブジェクトを構成するポリゴンである場合は当該ポリゴンに従って当該画素を描画すると共に、画素に投影されるポリゴンがダミーオブジェクトを構成するポリゴンである場合は当該画素をオブジェクトの対応するポリゴンとは異なる明度で描画する描画手段とを有する。
【００１７】
本発明の第７の態様に係るビデオゲーム装置は、コンピュータと、コンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体とを有し、当該プログラムは、コンピュータに、オブジェクトのデータを複製してダミーオブジェクトを生成する生成処理と、視点から見て生成処理において生成されたダミーオブジェクトがオブジェクトの後方であってオブジェクトと一部のみ重なるように、オブジェクト及びダミーオブジェクトの位置を決定する位置決定処理と、位置決定処理において決定された位置にオブジェクトを描画すると共に、視点から見てオブジェクトとダミーオブジェクトとが重なる部分を除いて位置決定処理において決定された位置にダミーオブジェクトをオブジェクトとは異なる明度で描画する描画処理とを実行させる。
【００１８】
【発明の実施の形態】
本発明をコンピュータ・プログラムにより実施する場合において当該コンピュータ・プログラムを実行する家庭用ゲーム機１０１の一例を図１に示す。家庭用ゲーム機１０１は、例えば内部バス１１９に接続された演算処理部１０３、ＲＡＭ（Random Access Memory）１０５、サウンド処理部１０９、グラフィックス処理部１１１、ＣＤ−ＲＯＭドライブ１１３、通信インターフェース１１５、及びインターフェース部１１７を備える。グラフィックス処理部１１１は、フレームバッファ１１２を備える。
【００１９】
家庭用ゲーム機１０１のサウンド処理部１０９及びグラフィックス処理部１１１は表示画面１２０を有するＴＶセット１２１に接続されている。また、ＣＤ−ＲＯＭドライブ１１３にはＣＤ−ＲＯＭドライブ１１３に対して着脱自在なＣＤ−ＲＯＭ１３１が装着されている。通信インターフェース１１５はネットワーク１５１と通信媒体１４１を介して接続される。インターフェース部１１７には、操作ボタンを備えたキーパッド１６１及びメモリカード１７１が接続される。
【００２０】
演算処理部１０３は、ＣＰＵやＲＯＭ（Read Only Memory）などを含み、ＣＤ−ＲＯＭ１３１上に格納されたプログラムを実行し、家庭用ゲーム機１０１の制御を行う。ＲＡＭ１０５は、演算処理部１０３のワークエリアである。メモリカード１７１は、プログラムにより参照されるデータを保存するための記憶領域である。サウンド処理部１０９は、演算処理部１０３により実行されているプログラムがサウンド出力を行うよう指示している場合に、その指示を解釈して、ＴＶセット１２１にサウンド信号を出力する。
【００２１】
グラフィックス処理部１１１は、演算処理部１０３から出力される描画命令に従って、画像データを生成してフレームバッファ１１２に書き込む。そして、書き込んだ画像データを表示画面１２０に表示するための信号をＴＶセット１２１に出力する。ＣＤ−ＲＯＭドライブ１１３は、ＣＤ−ＲＯＭ１３１上のプログラム及びデータを読み出す。通信インターフェース１１５は、通信媒体１４１を介してネットワーク１５１に接続され、他のコンピュータ等との間で行われるデータ通信の入出力制御を行う。インターフェース部１１７は、キーパッド１６１からの入力をＲＡＭ１０５に出力し、演算処理部１０３がキーパッド１６１からの入力を解釈して演算処理を実施する。
【００２２】
本発明に係るプログラム及びデータは最初例えばＣＤ−ＲＯＭ１３１に記憶されている。そして、このプログラム及びデータは実行時にＣＤ−ＲＯＭドライブ１１３により読み出されて、ＲＡＭ１０５に転送される。演算処理部１０３はＲＡＭ１０５にロードされた、本発明に係るプログラム及びデータを処理し、描画命令をグラフィックス処理部１１１に出力する。なお、中間的なデータはＲＡＭ１０５に記憶される。グラフィックス処理部１１１は演算処理部１０３からの描画命令に従って処理を行い、画像データをフレームバッファ１１２に書き込み、表示画面１２０に表示するための信号をＴＶセット１２１に出力する。
【００２３】
以上のような家庭用ゲーム機１０１において実行される本発明のプログラムのアルゴリズム及び使用されるデータについて以下で詳しく述べる。
【００２４】
（実施の形態１）
例えばＣＤ−ＲＯＭ１３１に記録されていた本発明に係るプログラム及びデータが、ＣＤ−ＲＯＭドライブ１１３によりＲＡＭ１０５にロードされ、本発明に係るプログラムが実行されている場合におけるＲＡＭ１０５の状態を図２に示す。本実施の形態においてＲＡＭ１０５には、少なくともプログラム記憶領域１０５０と、関連データ記憶領域１０５２と、ワークエリア１０６０とが含まれる。プログラム記憶領域１０５０に記憶されるプログラムについては後に説明する。関連データ記憶領域１０５２には、ポリゴンテーブル１０５４と、頂点テーブル１０５６と、ダミーオブジェクト設定テーブル１０５８とが含まれる。ワークエリア１０６０には、ソートテーブル１０６２が含まれる。
【００２５】
関連データ記憶領域１０５２に含まれるポリゴンテーブル１０５４の一例を図３に示す。ポリゴンテーブル１０５４は、描画対象となるオブジェクトと、そのオブジェクトを構成するポリゴンと、そのポリゴンを構成する頂点とを特定するためのテーブルである。描画対象となるオブジェクトを特定するために、オブジェクト識別番号を格納する欄５４１が設けられている。図３の例ではＭ１というオブジェクト識別番号が示されている。
【００２６】
オブジェクトを構成するポリゴンを特定するために、ポリゴン識別番号を格納する欄５４３が設けられている。図３の例では、オブジェクトＭ１を構成するポリゴンとして、Ｐ１、Ｐ２及びＰ３というポリゴン識別番号が示されている。
【００２７】
ポリゴンを構成する頂点を特定するために、頂点識別番号を格納する欄５４５が設けられている。図３の例では、ポリゴンＰ１を構成する頂点として、Ｖ１、Ｖ２及びＶ３という頂点識別番号が示されている。また、ポリゴンＰ２を構成する頂点として、Ｖ３、Ｖ２及びＶ４という頂点識別番号が示されている。加えて、ポリゴンＰ３を構成する頂点として、Ｖ４、Ｖ５及びＶ３という頂点識別番号が示されている。
【００２８】
例えば描画対象となるオブジェクトＭ１は、図４に示すようにポリゴンの集合で構成されている。ポリゴンテーブル１０５４において、オブジェクトＭ１を構成するポリゴンの識別番号は、オブジェクトＭ１に対応するポリゴン識別番号の欄５４３に格納される。また、各ポリゴンを構成する頂点の識別番号は、各ポリゴンに対応する頂点識別番号の欄５４５に格納される。
【００２９】
なお、図４に示されているように、オブジェクトには基準位置Ｃｓ（Ｘ0，Ｙ0，Ｚ0）が設定されており、各ポリゴンの位置はこの基準位置Ｃｓからの変位にて定義される。また、後に説明するが、ダミーオブジェクトの位置を決定する際にもオブジェクトの基準位置は用いられる。
【００３０】
関連データ記憶領域１０５２に含まれる頂点テーブル１０５６の一例を図５に示す。頂点テーブル１０５６は、描画対象となるオブジェクトと、そのオブジェクトを構成するポリゴンの頂点と、その頂点の座標値と、テクスチャ座標とを特定するためのテーブルである。描画対象となるオブジェクトを特定するために、オブジェクト識別番号を格納する欄５６１が設けられている。図５の例ではＭ１というオブジェクト識別番号が示されている。
【００３１】
オブジェクトを構成するポリゴンの頂点を特定するために、頂点識別番号を格納する欄５６３が設けられている。図５の例ではＶ１、Ｖ２、Ｖ３、Ｖ４及びＶ５という頂点識別番号が示されている。各頂点の座標値を特定するために頂点データを格納する欄５６５が設けられている。図５の例では、頂点Ｖ１の座標値は（Ｘ1，Ｙ1，Ｚ1）である。頂点Ｖ２の座標値は（Ｘ2，Ｙ2，Ｚ2）である。頂点Ｖ３の座標値は（Ｘ3，Ｙ3，Ｚ3）である。頂点Ｖ４の座標値は（Ｘ4，Ｙ4，Ｚ4）である。頂点Ｖ５の座標値は（Ｘ5，Ｙ5，Ｚ5）である。
【００３２】
各頂点のテクスチャ座標を特定するためにテクスチャデータの欄５６７が設けられている。図５の例では、頂点Ｖ１のテクスチャ座標は（Ｕ1，Ｖ1）である。頂点Ｖ２のテクスチャ座標は（Ｕ2，Ｖ2）である。頂点Ｖ３のテクスチャ座標は（Ｕ3，Ｖ3）である。頂点Ｖ４のテクスチャ座標は（Ｕ4，Ｖ4）である。頂点Ｖ５のテクスチャ座標は（Ｕ5，Ｖ5）である。
【００３３】
関連データ記憶領域１０５２に含まれるダミーオブジェクト設定テーブル１０５８の一例を図６に示す。ダミーオブジェクト設定テーブル１０５８は、明暗が付されるオブジェクト毎に、明暗付加に必要なデータを格納するためのテーブルである。図６におけるオブジェクト識別番号の欄５８１には、明暗が付されるオブジェクトのオブジェクト識別番号が格納される。図６の例では、オブジェクトＭ１、Ｍ３及びＭ８が明暗が付されるオブジェクトとして指定されている。
【００３４】
なお、明暗が付されるオブジェクトに対しては、その明暗を付するために使用されるダミーオブジェクトが生成される。このダミーオブジェクトは基本的に明暗が付されるオブジェクトのコピーであり、ダミーオブジェクト設定テーブル１０５８に格納されたデータに従って明暗が付されるオブジェクトのデータから生成される。
【００３５】
図６における明度調整値の欄５８５には、明暗が付されるオブジェクト毎に、明暗を付するために使用されるダミーオブジェクトの明度を決定するための明度調整値が格納される。例えば、ダミーオブジェクトの明度は、明暗が付されるオブジェクトの色データを明度のみ高く又は低く調整したものである。この明度調整値の欄５８５に格納された明度調整値は、明暗が付されるオブジェクトの色データに加算又は減算等される値であってもよい。
【００３６】
また、明度調整値の欄５８５に格納された明度調整値は、明暗が付されるオブジェクトの色データに代わって使用される値であってもよい。図６の例ではオブジェクトＭ１の明度調整値は（Ｒｄ，Ｇｄ，Ｂｄ）であり、オブジェクトＭ３の明度調整値は（Ｒｅ，Ｇｅ，Ｂｅ）であり、オブジェクトＭ８の明度調整値は（Ｒｆ，Ｇｆ，Ｂｆ）である。
【００３７】
明度調整値の値は、仮想空間内の状況によっても異なる値が設定される。例えばダミーオブジェクトの明度を高くする（より明るくする）場合であって、視点と明暗が付されるオブジェクトとの距離が近い場合には、明度をより高くするような明度調整値が設定される。一方、視点と明暗が付されるオブジェクトとの距離が遠い場合には、明度をあまり高くしないような明度調整値が設定される。このようにすると、オブジェクトの輪郭の一部分に付する明暗のちらつきを抑えることができる。
【００３８】
さらに、明暗が付されるオブジェクトに仮想的に光線を当てるということを想定する場合には、光線の色を考慮して明度調整値を設定する。例えば、夕焼けを背にしているオブジェクトの場合には、オレンジ色で明度を明るくするような明度調整値を設定することも可能である。
【００３９】
図６における座標調整値の欄５８７には、例えば明暗が付されるオブジェクトに適切に明るい部分又は暗い部分が付されるようにダミーオブジェクトを移動させるための座標調整値が格納される。座標調整値はワールド座標系における値である。
【００４０】
ダミーオブジェクトを明暗が付されるオブジェクトと同じ位置に配置したのでは、重なってしまい何の意味もなさない。また、視点から見てダミーオブジェクトが明暗が付されるオブジェクトより前に配置されても明暗が付されるオブジェクトが表示されなくなってしまう。さらに、視点から見て明暗が付されるオブジェクトの真後ろにダミーオブジェクトを配置したのでは、明暗が付されるオブジェクトに完全に隠れてしまってダミーオブジェクトが見えなくなってしまう。
【００４１】
よって、ダミーオブジェクトを明暗が付されるオブジェクトから少々ずれた位置に座標調整値を用いて配置する。別の言い方をすれば、明暗が付されるオブジェクトの基準位置と視点とを結ぶ直線と、明暗が付されるオブジェクトの所定の基準位置に対応する、ダミーオブジェクトにおける位置と視点とを結ぶ直線とがずれを有するように、ダミーオブジェクトの位置を調整する。本実施の形態では、ダミーオブジェクトが明暗が付されるオブジェクトのコピーであるから、基準位置は同じである。よって、視点と各基準位置を結ぶ２直線がずれを生じるように、ダミーオブジェクトの位置を座標調整値により調整する。
【００４２】
但し、ダミーオブジェクトを明暗が付されるオブジェクトから大きくずれた位置に配置すれば、２つのオブジェクトが単にずれて配置されているものと見られてしまう。よって、座標調整値により、ダミーオブジェクトを明暗が付されるオブジェクトからわずかにずれた位置に配置する。つまり、明暗が付されるオブジェクトの輪郭の一部分として当該オブジェクトとは異なる明度の色が付くように、ダミーオブジェクトの基準位置を、座標調整値の欄５８７に格納された座標調整値だけ、明暗が付されるオブジェクトの基準位置から移動させる。
【００４３】
図６の例では、オブジェクトＭ１のダミーオブジェクトの座標調整値は（Ｘｄ，Ｙｄ，Ｚｄ）であり、オブジェクトＭ３のダミーオブジェクトの座標調整値は（Ｘｅ，Ｙｅ，Ｚｅ）であり、オブジェクトＭ８のダミーオブジェクトの座標調整値は（Ｘｆ，Ｙｆ，Ｚｆ）である。
【００４４】
座標調整値の値は、仮想空間内の状況によっても変化する。例えば、ダミーオブジェクトの明度を高く（より明るくする）場合であって、視点と明暗が付されるオブジェクトとの距離が近い場合には、視点から見たダミーオブジェクトと明暗が付されるオブジェクトとのずれを小さくするように座標調整値を設定する。一方、視点と明暗が付されるオブジェクトとの距離が遠い場合には、視点から見たダミーオブジェクトと明暗が付されるオブジェクトとのずれを比較的大きくするように座標調整値を設定する。このようにすると、オブジェクトの輪郭の一部分に付される明暗のちらつきを抑えることができる。
【００４５】
さらに、明暗が付されるオブジェクトに仮想的に光線を当てるということを想定する場合には、その仮想的な光源の位置を考慮に入れて、視点から見たダミーオブジェクトと明暗が付されるオブジェクトとのずれを表す座標調整値を設定しても良い。
【００４６】
図６におけるデプス調整値の欄５８９には、後に述べるソートテーブルの先頭アドレス値をずらすための調整値が格納される。ダミーオブジェクトは、視点から見て、明暗が付されるオブジェクトの後ろに位置が決定される。結果的に、明暗が付されるオブジェクトはそのまま描画され、ダミーオブジェクトは視点から見て明暗が付されるオブジェクトと重ならない部分のみが描画される。
【００４７】
ダミーオブジェクトの位置を視点から見て明暗が付されるオブジェクトの後ろに設定するため、ダミーオブジェクトを構成するポリゴンの各頂点の座標を調整してもよいが、処理量が多くなる。ここでは、隠面消去法としてＺソート法を用いる。Ｚソート法で用いられるソートテーブルにおいて、ダミーオブジェクトのポリゴンの格納位置を、ソートテーブルの先頭アドレスをずらすことにより調整する。ソートテーブルの先頭アドレスをずらすことによって、ダミーオブジェクトの位置を視点から見て明暗が付されるオブジェクトの後ろに設定する。
【００４８】
図６の例では、オブジェクトＭ１に対応するダミーオブジェクトの各ポリゴンをソートテーブルに登録する際のデプス調整値はＤｄである。オブジェクトＭ２に対応するダミーオブジェクトの各ポリゴンをソートテーブルに登録する際のデプス調整値はＤｅである。オブジェクトＭ８に対応するダミーオブジェクトの各ポリゴンをソートテーブルに登録する際のデプス調整値はＤｆである。
【００４９】
なお、実際にはダミーオブジェクトの位置は視点から見て相対的に明暗が付される元のオブジェクトの後ろであれば良い。従って、ダミーオブジェクトの位置を元のオブジェクトの位置に設定し、元のオブジェクトの位置をより視点に近い位置に設定する構成であってもよい。
【００５０】
関連データ記憶領域１０５２に含まれるソートテーブル１０６２の一例を図７に示す。ソートテーブル１０６２は、隠面消去の一手法であるＺソート法を利用する際に、描画順番を決定するためのテーブルである。描画されるポリゴンのポリゴン識別番号は、描画されるポリゴンの視点からの距離であるデプス値に対応するアドレスに登録される。結果として、ポリゴンはデプス値によりソートされる。デプス値が大きいほど視点から遠く、描画はデプス値の大きい順に実施される。その結果、奥の方にあるポリゴンの画像は手前にあるポリゴンの画像で重ね描きされ、隠面消去が実施される。
【００５１】
図７の例では、ソートテーブル１０６２の先頭アドレス６２１に、デプス値０のポリゴン識別番号が格納されるようになっている。実際には、ポリゴンのデプス値に対応するアドレスにそのポリゴンのデータへのポインタが格納される。
【００５２】
図７において、先頭アドレス６２１である０ｘ８００１００００とデプス値の欄６２３とは本実施の形態を理解するためにのみに示してある。通常、ポリゴン識別番号の欄６２５のみが存在する。すなわち、図７中点線で示された部分は本実施の形態の理解を容易にするために示されている。ここではデプス値の値が小さいほど視点に近く、１０２３が最も遠いものとする。ポリゴン識別番号の欄６２５の各アドレスは、先頭アドレスからデプス値の小さい順に順次割り当てられる。
【００５３】
なお、ポリゴンのデプス値には、例えばポリゴンを構成する各頂点のデプス値の平均値を用いる。但し、ポリゴンを構成する頂点のデプス値のうち最も大きいデプス値を使用しても良い。また、最も小さいデプス値を使用してもよい。さらに、ポリゴン内の所定の点、例えば重心のデプス値を使用することもできる。
【００５４】
次に本実施の形態におけるプログラムのアルゴリズムについて図８乃至図１３を用いて説明する。
【００５５】
演算処理部１０３は、起動時に、ＲＯＭ等に記憶されているオペレーティングシステムに基づき、ＣＤ−ＲＯＭドライブ１１３を介してＣＤ−ＲＯＭ１３１から画像処理やゲームの実行に必要なプログラムやデータを読み出し、ＲＡＭ１０５に転送させる。そして、演算処理部１０３は、ＲＡＭ１０５に転送されたプログラムを実行することにより、以下に記載する処理を実現する。
【００５６】
なお、家庭用ゲーム装置１０１で行われる制御及び処理の中には、演算処理部１０３以外の回路が演算処理部１０３と協働して実際の制御及び処理を行っている場合もある。説明の便宜上、以下では、演算処理部１０３が関係する制御及び処理は、演算処理部１０３が直接的に実行しているものとして説明する。
【００５７】
また、画像処理やゲームを実行するために必要なプログラムやデータは、実際には演算制御部１０３からの命令に従って処理の進行状況に応じて順次ＣＤ−ＲＯＭ１３１から読み出されてＲＡＭ１０５に転送される。しかし、以下に示す説明では、発明の理解を容易にするため、ＣＤ−ＲＯＭ１３１からのデータの読み出しや、ＲＡＭ１０５への転送に関する記述は省略している。
【００５８】
表示処理のメインフローは図８に示されている。まず、表示させるオブジェクトが特定される（ステップＳ１）。次に、表示させるオブジェクトのうち１つのオブジェクトに対して描画演算処理が実施される（ステップＳ２）。描画演算処理については後に詳しく述べる。そして表示させる全オブジェクトについて描画演算処理を実施したか否かが判断される（ステップＳ３）。
【００５９】
もし、表示させるオブジェクトのうち未処理のオブジェクトが存在する場合にはステップＳ２に戻る。もし、表示させる全オブジェクトに対して描画演算処理を実施した場合には、フレームバッファ１１２に対して描画処理を実施する（ステップＳ４）。そして、フレームバッファ１１２に格納された画像データをＴＶセット１２１の表示画面１２０に表示する（ステップＳ５）。
【００６０】
本実施の形態において描画処理は、Ｚソート法による隠面消去処理を伴うものである。すなわち、図７に示したソートテーブル１０６２の中で最も視点から遠い、すなわちデプス値が最も大きいポリゴンから順番にフレームバッファ１１２に描き込む。１つのポリゴンの描画は以下に示す処理にて実施される。ポリゴンを構成する各頂点の座標及び色に基づいて補間処理を行い、ポリゴン内部の各画素の色を計算する。
【００６１】
テクスチャマッピングを行わない場合には、上述のように計算された色が各画素の色としてフレームバッファ１１２に描き込まれる。一方、テクスチャマッピングを行う場合には、ポリゴンを構成する各頂点のテクスチャ座標に基づいて補間処理を行い、ポリゴン内部の各画素のテクスチャ座標を計算する。そして、テクスチャ座標のテクセル値と上で計算された画素の色とを用いて生成された色が各画素の色としてフレームバッファ１１２に描き込まれる。
【００６２】
ダミーオブジェクトは視点から見て明暗が付されるオブジェクトより後ろに位置が決定される。後ろに位置するダミーオブジェクトが明暗が付されるオブジェクトと全く被さらない場合には、ダミーオブジェクトの方が明暗が付されるオブジェクトより先に描画される。
【００６３】
一方、後ろに位置するダミーオブジェクトが明暗が付されるオブジェクトと被さっている場合には、ソートテーブル１０６２の中で最も視点から遠いポリゴンから順番にフレームバッファ１１２に描き込まれる。従って、明暗が付されるオブジェクトのポリゴンにはダミーオブジェクトのポリゴンより先にフレームバッファ１１２に描き込まれるものもある。
【００６４】
次に図９を用いてステップＳ２の描画演算処理の説明を行う。まず、表示する１つの未処理オブジェクトを特定する（ステップＳ１１）。表示する１つの未処理オブジェクトについて現在の姿勢を計算する（ステップＳ１３）。オブジェクトを構成するポリゴンの位置を現在の姿勢に合わせて変更する。そして、現在の処理がダミーオブジェクトに対する処理であるか判断する（ステップＳ１５）。なお、最初は、ステップＳ１１において１つの未処理オブジェクトを特定しているので、ダミーオブジェクトに対する処理ではない。よって、ステップＳ１７に移行する。
【００６５】
ステップＳ１７では、特定された１つの未処理オブジェクトのデータを用意する。例えば、ポリゴンテーブル１０５４及び頂点テーブル１０５６のデータを取り出す。そして、用意した１つの未処理オブジェクトのデータを透視変換する（ステップＳ２１）。透視変換とは、ワールド座標系のポリゴンの各頂点の座標値をスクリーン座標系における座標値に変換するものである。透視変換により、特定された１つの未処理オブジェクトを構成する各ポリゴンについて、ポリゴンの各頂点における視点からの距離、すなわちデプス値が算出される。
【００６６】
次に特定された１つの未処理オブジェクトを構成する各ポリゴンについて以下の処理を行う。すなわち、ポリゴン毎にポリゴンの各頂点におけるデプス値から、ポリゴンのデプス値を計算する。例えば、三角形ポリゴンの場合、３頂点の３つのデプス値の平均値を求め、ポリゴンのデプス値とする。計算されたポリゴンのデプス値を用いて、ソートテーブル１０６２の先頭アドレスから登録先アドレスを算出し、各ポリゴンをソートテーブル１０６２に登録する（ステップＳ２３）。
【００６７】
なお、実際にソートテーブル１０６２に登録されるのは、ポリゴンのデータへのポインタである。特定された１つの未処理オブジェクトを構成する各ポリゴンをソートテーブル１０６２に登録する際には、ソートテーブル１０６２の先頭アドレスをずらすことはしない。初期の設定のまま登録する。
【００６８】
ソートテーブル１０６２にポリゴンを登録する際の処理を説明するための図を図１０に示す。先頭アドレス６２１は図７と同じである。既にデプス値１５に対応するアドレスにはＰ４というポリゴンが登録されている。なおＰ４といったポリゴン識別番号の後ろには括弧で囲まれたデプス値を記載している。デプス値の図示は後の説明のためであって、実際にはデプス値は格納されない。デプス値１６のアドレスにはポリゴンＰ２が登録されている。デプス値１７に対応するアドレスにはポリゴンＰ１及びＰ３が登録されている。デプス値１９に対応するアドレスにはポリゴンＰ５が登録されている。ここでポリゴンＰ６を登録する際には、ポリゴンＰ６のデプス値１８というデータを用いて、デプス値１８に対応するアドレスに、ポリゴンＰ６を登録する。
【００６９】
図９に戻り、次に、特定された１つの未処理オブジェクトを処理していたのか判断する（ステップＳ２５）。最初の実行時には特定された１つの未処理オブジェクトを処理していたので、ステップＳ２９に移行する。ステップＳ２９では、特定された１つの未処理オブジェクトが明暗付加の対象となっているか判断する。ここでは図６のダミーオブジェクト設定テーブル１０５８を参照して、ダミーオブジェクト設定テーブル１０５８に登録されているオブジェクトであるか否かを判断すれば良い。
【００７０】
もし、ダミーオブジェクト設定テーブル１０５８に登録されていないオブジェクトであれば、明暗を付加する処理は必要無いので、処理を終了する。一方、ダミーオブジェクト設定テーブル１０５８に登録されているオブジェクトであれば、ステップＳ３１に移行する。ステップＳ３１では、処理の対象を、特定された１つの未処理オブジェクトから、対応するダミーオブジェクトに切り換える。
【００７１】
ステップＳ１５に戻って、再度ダミーオブジェクトに対する処理であるか判断する。ステップＳ３１でダミーオブジェクトに処理の対象を切り換えているので、今回はステップＳ１９に移行する。ステップＳ１９ではダミーオブジェクト設定処理を行う。ダミーオブジェクト設定処理については図１１を用いて詳細に説明する。
【００７２】
図１１ではまず特定された１つの未処理オブジェクト（明暗が付されるオブジェクト）のデータを複写し、ダミーオブジェクトのデータとして生成する（ステップＳ３５）。例えば、ポリゴンテーブル１０５４及び頂点テーブル１０５６のデータを取り出してコピーする。次に、ダミーオブジェクトの明度を変更する（ステップＳ３９）。ダミーオブジェクトの明度は、ダミーオブジェクト設定テーブル１０５８の明度調整値の欄５８５のデータを使用して設定されている。上で述べたように、明度調整値の欄５８５に格納された色データによりダミーオブジェクトの色データを置換することも可能である。
【００７３】
加えてダミーオブジェクトの座標データの調整を行う（ステップＳ４１）。座標データの調整にはダミーオブジェクト設定テーブル１０５８の座標調整値の欄５８７の座標値を用いる。すなわち、ダミーオブジェクトの基準位置を座標調整値だけずらす。そして、生成されたダミーオブジェクトのデータを透視変換用に用意する（ステップＳ４３）。最後に、ソートテーブル１０６２の先頭アドレス値をダミーオブジェクト設定テーブル１０５８のデプス調整値の欄５８９のデータで調整する（ステップＳ４５）。この段階で図９の処理に戻る。
【００７４】
図９では、用意したダミーオブジェクトのデータを透視変換する（ステップＳ２１）。透視変換により、ダミーオブジェクトを構成する各ポリゴンについて、ポリゴンの各頂点における視点からの距離、すなわちデプス値が算出される。
【００７５】
次にダミーオブジェクトを構成する各ポリゴンについて以下の処理を行う。すなわち、ポリゴン毎にポリゴンの各頂点おけるデプス値から、ポリゴンのデプス値を計算する。例えば、三角形ポリゴンの場合、３頂点の３つのデプス値の平均を求め、ポリゴンのデプス値とする。計算されたポリゴンのデプス値を用いて、ソートテーブル１０６２の先頭アドレスから登録先アドレスを算出し、各ポリゴンをソートテーブル１０６２に登録する（ステップＳ２３）。
【００７６】
図１１のステップＳ４５でソートテーブル１０６２の先頭アドレスが調整されている。先頭アドレスが調整された状態を図１２に示す。図１２のソートテーブル１０６２では、先頭アドレス６２１が０ｘ８００１００００から０ｘ８００１００１０（先頭アドレス６２１'）に、１６バイトだけずらされている。すなわち、今までデプス値２に対応するアドレスが先頭アドレス６２１'になり、以下全て繰り下がるようになる。なお、ステップＳ４５のように先頭アドレスをずらすので、ソートテーブル１０６２の上下には余分な領域を確保しておく必要がある。
【００７７】
図１２においてデプス値１５に対応するアドレスには先頭アドレス調整前にデプス値１７であったポリゴンＰ１及びＰ３が登録されている。デプス値１６に対応するアドレスには先頭アドレス調整前にデプス値１８であったポリゴンＰ６が登録されている。デプス値１７に対応するアドレスには先頭アドレス調整前にデプス値１９であったポリゴンＰ５が登録されている。
【００７８】
また、デプス値１７に対応するアドレスには、ダミーオブジェクトを構成するポリゴンであってデプス値１７のポリゴンＰｃ１が登録されている。デプス値１９のダミーオブジェクトを構成するポリゴンＰｃ２をソートテーブル１０６２に登録する場合には、その図１２のように先頭アドレスがずらされた後のデプス値１９に対応するアドレスに登録する。
【００７９】
図９に戻って、現在処理しているオブジェクトがステップＳ１１で特定した１つの未処理オブジェクトの処理であるか判断する（ステップＳ２５）。現在はダミーオブジェクトを処理しているので、ステップＳ２７に移行する。ステップＳ２７ではダミーオブジェクトの処理終了に応じてソートテーブル１０６２の先頭アドレスを元に戻す（ステップＳ２７）。ダミーオブジェクトを処理している期間のみ、ソートテーブルの先頭アドレスは調整される。そして、処理を終了する。
【００８０】
なおステップＳ２７終了段階のソートテーブル１０６２の一例を図１３に示す。図１３のソートテーブル１０６２では、先頭アドレスの値が元に戻っている。ソートテーブル１０６２において、デプス値１５に対応するアドレスにはポリゴンＰ４が登録されている。デプス値１６に対応するアドレスにはポリゴンＰ２が登録されている。デプス値１７に対応するアドレスにはポリゴンＰ１及びポリゴンＰ３が登録されている。デプス値１７に対応するアドレスには、ダミーオブジェクトを構成するポリゴンＰｃ４も登録されている。但し、括弧で示されているように、ポリゴンＰｃ４のデプス値は実際には１５である。すなわち、ダミーオブジェクトを構成するポリゴンＰｃ４は、実際よりデプス値２だけ後ろに登録されている。結果的に、ダミーオブジェクトは対応するオブジェクトよりデプス値で２だけ後ろに配置されることになる。
【００８１】
デプス値１８に対応するアドレスにはポリゴンＰ６及びポリゴンＰｃ２が登録されている。ポリゴンＰｃ２の実際のデプス値は１６であるから、デプス値２だけ後ろに登録されている。デプス値１９に対応するアドレスにはポリゴンＰ５、Ｐｃ１及びＰｃ３が登録されている。ポリゴンＰｃ１及びＰｃ３の実際のデプス値は１７であるから、デプス値２だけ後ろに登録されている。
【００８２】
以上のように表示するオブジェクト及びダミーオブジェクトの各ポリゴンがソートテーブル１０６２に登録され、ソートテーブル１０６２において最も視点から遠いポリゴンから順番に図８のステップＳ４でフレームバッファ１１２に描画される。そして、ステップS５で、フレームバッファ１１２に描画された画像がＴＶセット１２１の表示画面１２０に表示される。
【００８３】
上で述べた処理では処理速度を速めることを優先するために、ソートテーブル１０６２の先頭アドレスを調整することによりダミーオブジェクトのデプス値を変更していた。しかし、先頭アドレスを調整せずに、ダミーオブジェクトを構成する各ポリゴンのデプス値を直接調整することも可能である。また、ポリゴンの各頂点のデプス値を調整することも可能である。なお、調整には、加算、引き算、掛け算等の演算処理を含む。
【００８４】
さらに上で述べた処理ではダミーオブジェクトを構成するポリゴンを処理する期間中にソートテーブル１０６２の先頭アドレスを調整していた。しかし、ダミーオブジェクトに対応するオブジェクト（明暗が付されるオブジェクト）を処理する期間中にソートテーブル１０６２の先頭アドレスを調整する構成とすることも可能である。すなわち、元のオブジェクトを構成する各ポリゴンがソートテーブル１０６２において実際の位置よりも、より視点に近い位置に登録されるようにする構成である。ソートテーブル１０６２の先頭アドレスの調整でなく、オブジェクトを構成する各ポリゴンのデプス値を直接変更することも可能である。
【００８５】
明暗が付されるオブジェクトに対してテクスチャマッピングが行われる場合にはダミーオブジェクトにも同じようにテクスチャマッピングを行う。但し、ダミーオブジェクトについてはダミーオブジェクトに設定された明度の色でテクスチャを描画する。
【００８６】
明度を変更する方法としては、ポリゴンに設定される色データを変更して明度を変更することも可能であるし、カラーパレットの内容を変更することにより明度を変更することも可能である。テクスチャマッピングを行う場合にはテクスチャの明度を変更することにより結果として明度を変更することもできる。
【００８７】
実施の形態１によれば、明暗が付されるオブジェクトのダミーオブジェクトを生成する（ステップＳ３５）。次に、ダミーオブジェクトの明度を明度調整値により変更する（ステップＳ３８）。そして、明暗が付されるオブジェクトの基準位置と視点とを結ぶ直線と、明暗が付されるオブジェクトの基準位置に対応するダミーオブジェクトの位置と視点とを結ぶ直線とがずれを生じるようにダミーオブジェクトの位置が微調整される（ステップＳ４１）。その後、Ｚソート法を用いて明暗が付されるオブジェクト及びダミーオブジェクトを描画する（ステップＳ４）。ここで、オブジェクトを構成する各ポリゴンについては通常通りソートテーブル１０６２に登録する。一方、ダミーオブジェクトを構成する各ポリゴンについてはソートテーブル１０６２の先頭アドレスをずらして実際のデプス値より視点から見て後ろになるようにソートテーブル１０６２に登録する（ステップＳ２３）。
【００８８】
従って、ソートテーブル１０６２内の視点から遠いポリゴンから順に描画されるので、ダミーオブジェクトに対して元のオブジェクトが上書きされる。最終的にダミーオブジェクトは、明暗が付されるオブジェクトとずれた部分だけが残り、この部分が明るく又は暗く描画されることとなる。
【００８９】
結果的に、オブジェクトの輪郭の一部分に明暗をつけることでオブジェクトの強調表示を実現し、描画された投影画像においてオブジェクトの視認性を高めることができる。
【００９０】
また、本発明によれば、元のオブジェクトのデータを複写すると共に、元のオブジェクトとは異なる明度を設定したダミーオブジェクトを生成する。そして、生成したダミーオブジェクトを元のオブジェクトの斜め後ろに配置して描画処理を実行すれば、オブジェクトの輪郭の一部に明暗を付けることができる。
【００９１】
従って、元のオブジェクトに対して、明暗を付ける輪郭部分（エッジ部分）を検出する処理を実施し、検出した輪郭部分を強調表示させるといった複雑な処理を行う必要が無い。よって、オブジェクトの輪郭の一部分に明暗を付ける処理を簡単な手順で実現することができ、処理速度を高めることができる。
【００９２】
明暗描画に関する処理速度を高めることは、ビデオゲームに対して特に有用である。ビデオゲームでは、操作入力等に応じて、表示されるオブジェクトの位置や形状、カメラワークなどが逐次変化する。そして、この逐次変化する内容に応じた投影画像を即座に画面に表示しなければならない。明暗描画処理が複雑であると、たとえ明暗が付されたオブジェクトを描画できたとしても画像の表示速度が遅くなってしまう。従って、表示速度を低下させることなく描画を行うためには、明暗描画に関する手順が簡単であることが重要となるからである。
【００９３】
（実施の形態２）
実施の形態１は描画処理の際にＺソート法を使用した隠面消去を行っていた。本実施の形態では描画の際にＺバッファを使用した隠面消去を行う。
【００９４】
本実施の形態において、例えばＣＤ−ＲＯＭ１３１に記憶されていた本発明に係るプログラム及びデータが、ＣＤ−ＲＯＭドライブ１１３によりＲＡＭ１０５にロードされ、本発明に係るプログラムが実行されている場合におけるＲＡＭ１０５の状態を図１４に示す。本実施の形態においてＲＡＭ１０５には、少なくともプログラム記憶領域１０５０と、関連データ記憶領域１０５２と、ワークエリア１０６０とが含まれる。プログラム記憶領域１０５０に記憶されるプログラムについては後に説明する。
【００９５】
関連データ記憶領域１０５２には、ポリゴンテーブル１０５４と、頂点テーブル１０５６と、ダミーオブジェクト設定テーブル１０５８とが含まれる。ここまでは実施の形態１と同じである。ワークエリア１０６０には、ソートテーブル１０６２の代わりに、ピクセルテーブル１０６４及びＺバッファ１０６６が含まれる。但し、ピクセルテーブル１０６４及びＺバッファ１０６６は、フレームバッファ１１２に設けられる場合もある。ワークエリア１０６０の一部が、フレームバッファ１１２に割り当てられている場合がある。
【００９６】
関連データ記憶領域１０５２に含まれるポリゴンテーブル１０５４は実施の形態１と同じであり、図３に示されている。ポリゴンテーブル１０５４は、明暗が付されるオブジェクトと、そのオブジェクトを構成するポリゴンと、そのポリゴンを構成する頂点とを特定するためのテーブルである。
【００９７】
関連データ記憶領域１０５２に含まれる頂点テーブル１０５６は実施の形態１と同じであり、図５に示されている。頂点テーブル１０５６は、明暗が付されるオブジェクトと、そのオブジェクトを構成するポリゴンの頂点と、その頂点の座標値と、テクスチャ座標とを特定するためのテーブルである。
【００９８】
関連データ記憶領域１０５２に含まれるダミーオブジェクト設定テーブル１０５８は図６に示されている限りにおいては実施の形態１と同じである。ダミーオブジェクト設定テーブル１０５８は、明暗が付されるオブジェクト毎に、明暗付加に必要なデータを格納するためのテーブルである。すなわち、明暗が付されるオブジェクトに対し、明暗を付するために使用されるダミーオブジェクトのデータを生成する上で必要なデータである。オブジェクト識別番号の欄５８１には、明暗が付されるオブジェクトのオブジェクト識別番号が格納される。
【００９９】
明度調整値の欄５８５には、明暗が付されるオブジェクト毎に、対応するダミーオブジェクトの明度を調整するための値が格納される。座標調整値の欄５８７には、視点から見たダミーオブジェクトと明暗が付されるオブジェクトとに適切なずれを生ずるようにダミーオブジェクトを移動させるための座標調整値が格納される。座標調整値はワールド座標系における値である。デプス調整値の欄５８９には、透視変換後における各ポリゴンに対して、ポリゴンの各頂点のＺ値を調整するための値が格納される。すなわち、デプス調整値はスクリーン座標系のデプス値を調整するためのものである
【０１００】
本実施の形態では、後に述べるがダミーオブジェクトを構成するポリゴンを描画する際には、透視変換後にポリゴンの頂点のデプス値を視点から見て後ろにずらすことにより、実施の形態１と同じように、対応するオブジェクトよりダミーオブジェクトが後ろに配置されるようにする。これにより、ダミーオブジェクトは明暗が付される元のオブジェクトと重ならない部分のみが描画されるようになる。
【０１０１】
ワークエリア１０６０に含まれるピクセルテーブル１０６４の一例を図１５に示す。ピクセルテーブル１０６４は、各画素の表示すべき色データを格納するためのテーブルである。図１５に示したように、ピクセルテーブル１０６４には画素識別番号の欄６４１と色データ（Ｒ，Ｇ，Ｂ）の欄６４３とが設けられている。画素識別番号は、図１６に示すように、表示画面１２０の画素ひとつひとつに付された識別番号である。図１６のように縦２４０画素、横３２０画素の場合には、例えば左上の０から順番に右下の７６７９９まで識別番号が付される。ピクセルテーブル１０６４では画素識別番号毎に色データが記憶される。
【０１０２】
ワークエリア１０６０に含まれるＺバッファ１０６６の一例を図１７に示す。Ｚバッファ１０６６は、画素毎に、ピクセルテーブル１０６４に格納された色データの元となるポリゴン内部の点（ポリゴンの頂点を含む）のＺ値を格納するためのテーブルである。よって、Ｚバッファ１０６６には、画素識別番号の欄６６１とＺ値の欄６６３が設けられている。
【０１０３】
次に本実施の形態におけるプログラムのアルゴリズムについて図８、図１８及び図１９を用いて説明する。
【０１０４】
演算処理部１０３は、起動時に、ＲＯＭ等に記憶されているオペレーティングシステムに基づき、ＣＤ−ＲＯＭドライブ１１３を介してＣＤ−ＲＯＭ１３１から画像処理やゲームの実行に必要なプログラムやデータを読み出し、ＲＡＭ１０５に転送させる。そして、演算処理部１０３は、ＲＡＭ１０５に転送されたプログラムを実行することにより、以下に記載する処理を実現する。
【０１０５】
なお、家庭用ゲーム装置１０１で行われる制御及び処理の中には、演算処理部１０３以外の回路が演算処理部１０３と協働して実際の制御及び処理を行っている場合もある。説明の便宜上、以下では、演算処理部１０３が関係する制御及び処理は、演算処理部１０３が直接的に実行しているものとして説明する。
【０１０６】
また、画像処理やゲームを実行するために必要なプログラムやデータは、実際には演算制御部１０３からの命令に従って処理の進行状況に応じて順次ＣＤ−ＲＯＭ１３１から読み出されてＲＡＭ１０５に転送される。しかし、以下に示す説明では、発明の理解を容易にするため、ＣＤ−ＲＯＭ１３１からのデータの読み出しや、ＲＡＭ１０５への転送に関する記述は省略している。
【０１０７】
表示に関するメインフローは、図８に示されている限りにおいて実施の形態１と同じである。まず、表示させるオブジェクトが特定される（ステップＳ１）。次に、表示させるオブジェクトのうち１つのオブジェクトに対して描画演算処理が実施される（ステップＳ２）。この描画演算処理については後に詳しく述べる。そして表示させる全オブジェクトについて描画演算処理が終了したか否かが判断される（ステップＳ３）。もし、表示させるオブジェクトのうち未処理のオブジェクトが存在する場合にはステップＳ３に戻る。もし、表示させる全オブジェクトに対して描画演算処理を実施した場合には、フレームバッファ１１２に描画処理を実施する（ステップＳ４）。そして、フレームバッファ１１２に格納された画像データをＴＶセット１２１の表示画面１２０に表示する（ステップＳ５）。
【０１０８】
本実施の形態ではＺバッファ法を用いて描画処理を実施する。Ｚバッファ法では、描画すべきポリゴンのデータを含むディスプレイリストを用いてフレームバッファ１１２への描画処理を実行する。ディスプレイリストに含まれるポリゴンのデータには、ポリゴンの各頂点のスクリーン座標系における座標（デプス値を含む）、テクスチャ座標及び色データが含まれる。
【０１０９】
ステップＳ４では、ディスプレイリストから一つずつポリゴンのデータを取り出し、ポリゴンの各頂点の座標、テクスチャ座標及び色データに基づいて補間処理を行い、ポリゴン内部の点の座標、テクスチャ座標及び色データを計算する。この際、ポリゴン内部の点（ポリゴンの頂点を含む）の座標に含まれるデプス値と、当該ポリゴン内部の点の座標に対応する画素識別番号のＺバッファ１０６６内のＺ値とを比較する。そして、デプス値の方が小さな値を有している場合のみ後の処理を実施する。
【０１１０】
すなわち、デプス値を、ポリゴン内部の点の座標に対応する画素識別番号に対応してＺバッファ１０６６のＺ値の欄６６３に格納する。そして、テクスチャ座標を使用してテクセル値を取り出し、テクセル値と補間により得られた色データ（又はポリゴンの頂点の色データ）とを使用して描画すべき画素の色を計算する。画素の色は、ポリゴン内部の点の座標に対応する画素識別番号に対応してピクセルテーブル１０６４の色データの欄６４３に格納される。テクスチャを使用しない場合には、補間により得られた色データ（又はポリゴンの頂点の色データ）が、ポリゴン内部の点の座標に対応する画素識別番号に対応してピクセルテーブル１０６４の色データの欄６４３に格納される。
【０１１１】
従って、同一画素に対して投影されるポリゴン内部の点が複数存在する場合に、その中から最も視点に近いポリゴン内部の点の色データがピクセルテーブル１０６４に格納されることになる。視点に最も近いポリゴン内部の点が、元のオブジェクトを構成するポリゴン内部の点である場合には、元のオブジェクトを構成するポリゴン内部の点における色データが画素に対応する画素識別番号に対応してピクセルテーブル１０６４に格納される。
【０１１２】
一方、視点に最も近いポリゴン内部の点が、ダミーオブジェクトを構成するポリゴン内部の点である場合には、ダミーオブジェクトの色が、画素に対応する画素識別番号に対応してピクセルテーブル１０６４に格納される。なお、ダミーオブジェクトの色は、ダミーオブジェクトのポリゴンの色データである。
【０１１３】
次に図１８を用いてステップＳ２の描画演算処理の説明を行う。最初に、表示する１つの未処理オブジェクトを特定する（ステップＳ７１）。特定したオブジェクトについて現在の姿勢を計算する（ステップＳ７３）。オブジェクトを構成するポリゴンの位置を現在の姿勢に合わせて変更する。そして、現在の処理がダミーオブジェクトに対する処理であるか判断する（ステップＳ７５）。なお、最初は、ステップＳ７１において１つの未処理オブジェクトを特定しているので、ダミーオブジェクトに対する処理ではない。よって、ステップＳ７７に移行する。
【０１１４】
ステップＳ７７では、特定された１つの未処理オブジェクトのデータを用意する。そして、用意された１つの未処理オブジェクトのデータを透視変換する（ステップＳ８１）。透視変換により、特定された１つの未処理オブジェクトを構成する各ポリゴンについて、ポリゴンの各頂点における視点からの距離、すなわちデプス値が算出される。
【０１１５】
次に、特定された１つの未処理オブジェクト（明暗が付されるオブジェクト）を構成する各ポリゴンについて、ポリゴンの各頂点におけるデプス値を、デプス調整値で調整する（ステップＳ８３）。なお、特定された１つの未処理オブジェクトを処理している間はデプス調整値は０である。従って、実質的に本ステップはスキップされる。そして、特定された１つの未処理オブジェクトを構成する各ポリゴンのデータをディスプレイリストに加える（ステップＳ８５）。
【０１１６】
次に特定された１つの未処理オブジェクトを処理していたのか判断する（ステップＳ８７）。最初の実行時には特定された１つの未処理オブジェクトを処理していたので、ステップＳ８９に移行する。ステップＳ８９では、特定された１つの未処理オブジェクトが明暗付加の対象となっているか判断する。ここでは図６のダミーオブジェクト設定テーブル１０５８を参照して、ダミーオブジェクト設定テーブル１０５８に登録されているオブジェクトであるか否かを判断すれば良い。
【０１１７】
もし、ダミーオブジェクト設定テーブル１０５８に登録されていないオブジェクトであれば、明暗を付加する必要は無いので、処理を終了する。一方、ダミーオブジェクト設定テーブル１０５８に登録されているオブジェクトであれば、ステップＳ９３に移行する。ステップＳ９３では、処理の対象を、特定された１つの未処理オブジェクトに対応するダミーオブジェクトに切り換える。
【０１１８】
ステップＳ７５に戻って、再度ダミーオブジェクトに対する処理であるか判断する。ステップＳ９３でダミーオブジェクトに処理の対象を切り換えているので、今回はステップＳ７９に移行する。ステップＳ７９ではダミーオブジェクト設定処理を行う。ダミーオブジェクト設定処理については図１９を用いて詳細に説明する。
【０１１９】
図１９ではまず特定された１つの未処理オブジェクト（明暗が付されるオブジェクト）のデータを複写し、ダミーオブジェクトのデータとして生成する（ステップＳ９５）。例えば、ポリゴンテーブル１０５４及び頂点テーブル１０５６のデータを取り出してコピーする。次に、ダミーオブジェクトの明度を変更する（ステップＳ９９）。ダミーオブジェクトの明度は、ダミーオブジェクト設定テーブル１０５８の明度調整値の欄５８５のデータを使用して調整される。なお、明度調整値の欄５８５に格納された値にて、ダミーオブジェクトの色データを置換しても良い。
【０１２０】
そしてダミーオブジェクトの座標データの調整を行う（ステップＳ１０１）。座標データの調整にはダミーオブジェクト設定テーブル１０５８の座標調整値の欄５８７の座標値を用いる。すなわち、ダミーオブジェクトの基準位置を座標調整値だけずらす。
【０１２１】
そして、図１８のステップＳ８３で使用するデプス調整値の設定を行う（ステップＳ１０３）。デプス調整値にはダミーオブジェクト設定テーブル１０５８のデプス調整値の欄５８９の値を用いる。以上のように生成されたダミーオブジェクトのデータを透視変換用に用意する（ステップＳ１０５）。この段階で図１８のステップＳ８１に戻る。
【０１２２】
図１８では、用意したダミーオブジェクトのデータを透視変換する（ステップＳ８１）。透視変換により、ダミーオブジェクトを構成する各ポリゴンについて、ポリゴンの各頂点における視点からの距離、すなわちデプス値が算出される。そして、図１９のステップＳ１０３で設定されたデプス調整値で、ダミーオブジェクトを構成する各ポリゴンについて、ポリゴンの各頂点のデプス値を調整する。すなわち、ダミーオブジェクトを構成する各ポリゴンを、明暗が付される元のオブジェクトより後ろに配置する。そして、デプス調整値によりデプス値が調整されたダミーオブジェクトの各ポリゴンのデータをディスプレイリストに加える（ステップＳ８５）。
【０１２３】
次いで、現在処理しているオブジェクトがステップＳ７１で特定した１つの未処理オブジェクト（明暗が付されるオブジェクト）の処理であるか判断する（ステップＳ８７）。現在はダミーオブジェクトを処理しているので、ステップＳ９１に移行する。ステップＳ９１ではダミーオブジェクトの処理終了に応じてデプス調整値を０にリセットする（ステップＳ９１）。そして、処理を終了する。
【０１２４】
以上の処理により、明暗が付されるオブジェクトを構成するポリゴンについては通常通りディスプレイリストに登録される。一方、明暗が付されるオブジェクトに対応するダミーオブジェクトを構成するポリゴンについては、明暗が付されるオブジェクトより各頂点のデプス値を大きく設定して、ディスプレイリストに登録される。そして、ディスプレイリストに従って、Ｚバッファ法による隠面消去処理を行い、フレームバッファ１１２に画像を描画し、表示画面１２０に表示する。従って、視点から見てオブジェクトと重なる部分を除きダミーオブジェクトは、明暗が付されるオブジェクトとは異なる明度で、例えば明暗が付されるオブジェクトより明るく又は暗く描画される。
【０１２５】
本実施の形態においても、相対的にダミーオブジェクトが、明暗が付される元のオブジェクトの後ろに位置すれば良い。よって、明暗が付される元のオブジェクトの処理における図１８のステップＳ８３で、明暗が付される元のオブジェクトを構成するポリゴンの各頂点のデプス値を調整して、明暗が付される元のオブジェクトがダミーオブジェクトより前に位置するように、すなわちより視点に近い位置になるように設定しても良い。
【０１２６】
実施の形態２によれば、明暗が付されるオブジェクトのダミーオブジェクトを生成する（ステップＳ９７）。次に、ダミーオブジェクトの明度が明度調整値により変更される（ステップＳ９９）。そして、明暗が付されるオブジェクトの基準位置と視点とを結ぶ直線と、明暗が付されるオブジェクトの基準位置に対応するダミーオブジェクトにおける位置と視点とを結ぶ直線とがずれを有するように、ダミーオブジェクトの位置が微調整される（ステップＳ１０１）。その後、Ｚバッファ法を用いて明暗が付されるオブジェクト及びダミーオブジェクトを描画する（ステップＳ４）。ここで、明暗が付されるオブジェクトを構成する各ポリゴンについては通常通りディスプレイリストに登録する。一方、ダミーオブジェクトを構成する各ポリゴンについてはポリゴンの各頂点のデプス値を視点から見て後ろにずらした後にディスプレイリストに登録する（ステップＳ８５）。
【０１２７】
従って、同一画素に投影されるポリゴンが複数存在し且つ視点から最も近いポリゴンが明暗が付されるオブジェクトを構成するポリゴンである場合には、明暗が付されるオブジェクトを構成するポリゴン内部の点の色データに従って画素が描画される。一方、同一画素に投影されるポリゴンが複数存在し且つ視点から最も近いポリゴンがダミーオブジェクトを構成するポリゴンである場合には、ダミーオブジェクトを構成するポリゴン内部の点の色データに従って、すなわち明暗が付されるオブジェクトとは異なる明度で画素が描画される。最終的にダミーオブジェクトは、オブジェクトの縁の部分だけが残り、この部分が明るく又は暗く描画されることとなる。
【０１２８】
結果的に、オブジェクトの輪郭の一部分に明暗をつけることでオブジェクトの強調表示を実現し、描画された投影画像においてオブジェクトの視認性を高めることができる。
【０１２９】
また、本発明によれば、元のオブジェクトのデータを複写すると共に、元のオブジェクトとは異なる明度を設定したダミーオブジェクトを生成する。そして、生成したダミーオブジェクトを元のオブジェクトの斜め後ろに配置して描画処理を実行すれば、オブジェクトの輪郭の一部に明暗を付けることができる。
【０１３０】
従って、元のオブジェクトに対して、明暗を付ける輪郭部分（エッジ部分）を検出する処理を実施し、検出した輪郭部分を強調表示させるといった複雑な処理を行う必要が無い。よって、オブジェクトの輪郭の一部分に明暗を付ける処理を簡単な手順で実現することができ、処理速度を高めることができる。
【０１３１】
明暗描画に関する処理速度を高めることは、ビデオゲームに対して特に有用である。ビデオゲームでは、操作入力等に応じて、表示されるオブジェクトの位置や形状、カメラワークなどが逐次変化する。そして、この逐次変化する内容に応じた投影画像を即座に画面に表示しなければならない。明暗描画に関する処理が複雑であると、たとえ明暗が付されたオブジェクトを描画できたとしても画像の表示速度が遅くなってしまう。従って、表示速度を低下させることなく明暗描画を行うためには、明暗描画に関する手順が簡単であることが重要となるからである。
【０１３２】
（その他の実施の形態）
（１）上の説明では、オブジェクトを、ビデオゲームのキャラクタのモデル全体として説明してきた。しかし、オブジェクトをモデルの一部分として取り扱うことも可能である。例えば、人型のゲームキャラクタにおいてオブジェクトを頭部、胸部、右腕部、左腕部等々と各部位単位に設定し、オブジェクト単位で明暗を付する処理を実行することも可能である。各部位単位にオブジェクトを設定すると、部位毎に明度調整値、デプス調整値を設定することにより、明度や明暗が付される縁の太さをきめ細やかに設定することが可能となる。
【０１３３】
（２）上の説明ではオブジェクトを複製することによりダミーオブジェクトを生成していたが、オブジェクトを構成するポリゴンの数より、ダミーオブジェクトを構成するポリゴンの数が少なくなるように、より簡易的にダミーオブジェクトを構成することも可能である。また、オブジェクトからダミーオブジェクトを生成することなく、別途ダミーオブジェクトのデータを予め用意しておくことも可能である。
【０１３４】
（３）上の説明ではポリゴン、特に三角形ポリゴンを前提に処理を説明していた。しかし、明暗が付されるオブジェクト及びダミーオブジェクトが、四角形以上の多角形ポリゴンを含む複数のポリゴンにて構成されるとすることも可能である。さらに、明暗が付されるオブジェクト及びダミーオブジェクトが曲面を含む複数の面で構成され、各面が１又は複数のポリゴンで近似されて処理されるとしてもよい。
【０１３５】
（４）使用するハードウエアの変更
図１は一例であって、様々な変更が可能である。通信インターフェース１１５を備えるか否かは任意である。本発明は直接サウンド処理には関係しないので、サウンド処理部１０９を備えている必要は無い。
【０１３６】
また、ＣＤ−ＲＯＭは記録媒体の一例であって、ＲＯＭのような内部メモリ、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、メモリカートリッジ、フロッピーディスク、磁気ディスク、ＤＶＤ−ＲＡＭ等の他の記録媒体であってもよい。その場合にはＣＤ−ＲＯＭドライブ１１３を、対応する媒体で読み出し可能なドライブにする必要がある。
【０１３７】
さらに、以上は本発明をコンピュータ・プログラムにより実装した場合であるが、コンピュータ・プログラムと電子回路などの専用の装置の組み合せ、又は電子回路などの専用の装置のみによっても実装することは可能である。
【０１３８】
以上、本発明を実施の形態に基づいて具体的に説明したが、本発明は上記実施の形態に限定されるものではない。要旨を逸脱しない範囲で適宜変更可能である。例えば、上記実施の形態では、家庭用ゲーム機をプラットフォームとして本発明を実現した場合について述べたが、本発明は通常のコンピュータ、アーケードゲーム機などをプラットフォームとして実現しても良い。また、携帯情報端末、カーナビゲーション・システム等をプラットフォームにして実現することも考えられる。
【０１３９】
また、本発明を実現するためのプログラムやデータは、コンピュータやゲーム機に対して着脱可能なＣＤ−ＲＯＭ等の記録媒体により提供される形態に限定されない。すなわち、本発明を実現するためのプログラムやデータを、図１に示す通信インターフェース１１５、通信回線１４１を介して接続されたネットワーク１５１上の他の機器側のメモリに記録し、プログラムやデータを通信回線１４１を介して必要に応じて順次ＲＡＭ１０５に格納して使用する形態であってもよい。
【０１４０】
（表示例）
薄暗い仮想三次元空間にキャラクタを表すオブジェクトが配置され、この状態をそのまま描画するとると、図２０のように表示画面全体１２０が暗く沈んだ様になってしまう。そこで、上で述べたように図２０に示されたキャラクタを表すオブジェクトより明度が高い（明るい）ダミーオブジェクトを用意する。このダミーオブジェクトの表示例を図２１に示す。図２０と図２１を比較すると、キャラクタを表すオブジェクトの明度の差がはっきりしている。
【０１４１】
本発明の処理フローに従って、図２１に示されたダミーオブジェクトを明暗が付される元のオブジェクトの斜め後ろに配置し（ステップＳ２３、Ｓ４１）、描画する（ステップＳ４）と、図２２に示された表示例となる。図２２では、キャラクタの頭部上端、右肩上端及び左肩上端部に明るい帯状の領域が示されている。これは、明暗が付される元のオブジェクトに遮られること無く視線が視点からダミーオブジェクトに到達した部分である。図２２に示すように、元のオブジェクトの輪郭の一部分に明暗を付けることにより、投影画像におけるオブジェクトを強調し、画像中のオブジェクトの視認性を高めることができる。さらに、あたかもキャラクタに後ろから強い光が当てられているかのような演出的な効果を得ることもできる。但し、逆光表現以外にもキャラクタを強調する表現技法として使用することができる。
【０１４２】
図２３に、ダミーオブジェクト設定テーブル１０５８に格納される座標調整値が適切でない場合の表示例を示す。ダミーオブジェクトが明暗が付される元のオブジェクトから大きくずれて配置されているため、２つのオブジェクトが単にずれて配置されている、又はテレビで像がだぶって見えるゴースト現象のように見えてしまう。これでは、上述の効果を得ることができない。座標調整値の設定が大きく表示結果に影響することが分かる。
【０１４３】
以上の説明ではオブジェクトを強調表示して投影画像におけるオブジェクトの視認性を高めるためにダミーオブジェクトを導入したが、処理時間等のために正確な光源計算を実施できない又は意図的に光源計算を行わない場合等にも本発明を使用することができる。すなわち、光源計算により得られる陰影（明暗）を描画する代わりに、陰影を付するためにダミーオブジェクトを描画するものである。特に、カートゥーンアニメーションのような非写実的なレンダリングの場合には、必ずしも現実的な陰影は不要であるから、本発明を適用すればオブジェクトに対して陰影をより簡単な処理で描画することができるようになる。
【０１４４】
【発明の効果】
以上述べたように本発明によれば、オブジェクトの輪郭の一部分に明暗を付けることでオブジェクトの強調表示を実現し、投影画像におけるオブジェクトの視認性を高めることができる。
【図面の簡単な説明】
【図１】家庭用ゲーム機のブロック構成図である。
【図２】実施の形態１におけるＲＡＭの状態を示すブロック図である。
【図３】ポリゴンテーブルの一例を示す図である。
【図４】オブジェクトの一例を示す図である。
【図５】頂点テーブルの一例を示す図である。
【図６】ダミーオブジェクト設定テーブルの一例を示す図である。
【図７】ソートテーブルを説明するための模式図である。
【図８】実施の形態１及び２における表示処理のフローを示すフローチャートである。
【図９】実施の形態１における描画演算処理の処理フローを示すフローチャートである。
【図１０】ソートテーブルにオブジェクトを構成するポリゴンを登録する際の処理を説明するための模式図である。
【図１１】実施の形態１におけるダミーオブジェクト設定処理の処理フローを示すフローチャートである。
【図１２】ソートテーブルにダミーオブジェクトを構成するポリゴンを登録する際の処理を説明するための模式図である。
【図１３】ダミーオブジェクト及びオブジェクトのポリゴンを登録後、先頭アドレスを元に戻した状態におけるソートテーブルを説明するための模式図である。
【図１４】実施の形態２におけるＲＡＭの状態を示すブロック図である。
【図１５】ピクセルテーブルの一例を示す図である。
【図１６】画素識別番号を説明するための表示画面の一例を示す模式図である。
【図１７】Ｚバッファの一例を示す図である。
【図１８】実施の形態２における描画演算処理の処理フローを示すフローチャートである。
【図１９】実施の形態２におけるダミーオブジェクト設定処理の処理フローを示すフローチャートである。
【図２０】薄暗い仮想三次元空間にキャラクタを表すオブジェクトが配置された場面を描画した表示画面例である。
【図２１】図２０に示したキャラクタのダミーオブジェクトを描画した表示画面例である。
【図２２】薄暗い仮想三次元空間にキャラクタを表すオブジェクトと対応するダミーオブジェクトが適切に配置された場面を描画した表示画面例である。
【図２３】薄暗い仮想三次元空間にキャラクタを表すオブジェクトと対応するダミーオブジェクトが大きくずれて配置された場面を描画した表示画面例である。
【符号の説明】
１０１  家庭用ゲーム機    １０３  演算処理部
１０５  ＲＡＭ    １０９  サウンド処理部    １１２  フレームバッファ
１１１  グラフィックス処理部    １１３  ＣＤ−ＲＯＭドライブ
１１５  通信インターフェース    １１７  インターフェース部
１１９  内部バス    １２１  ＴＶセット  １２０  表示画面
１３１  ＣＤ−ＲＯＭ    １４１  通信媒体    １５１  ネットワーク
１６１  キーパッド    １７１  メモリカード
１０５０  プログラム記憶領域    １０５２  関連データ記憶領域
１０５４  ポリゴンテーブル    １０５６  頂点テーブル
１０５８  ダミーオブジェクト設定テーブル    １０６０  ワークエリア
１０６２  ソートテーブル    １０６４  ピクセルテーブル
１０６６  Ｚバッファ
【図１】
0003807654.tif 000002
【図２】
0003807654.tif 000003
【図３】
0003807654.tif 000004
【図４】
0003807654.tif 000005
【図５】
0003807654.tif 000006
【図６】
0003807654.tif 000007
【図７】
0003807654.tif 000008
【図８】
0003807654.tif 000009
【図９】
0003807654.tif 000010
【図１０】
0003807654.tif 000011
【図１１】
0003807654.tif 000012
【図１２】
0003807654.tif 000013
【図１３】
0003807654.tif 000014
【図１４】
0003807654.tif 000015
【図１５】
0003807654.tif 000016
【図１６】
0003807654.tif 000017
【図１７】
0003807654.tif 000018
【図１８】
0003807654.tif 000019
【図１９】
0003807654.tif 000020
【図２０】
0003807654.tif 000021
【図２１】
0003807654.tif 000022
【図２２】
0003807654.tif 000023
【図２３】
0003807654.tif 000024