(57)【特許請求の範囲】
【請求項１】
画像を描画する描画装置であって、
前記画像を出力する２次元出力装置に出力させる画素データを記憶する画素データ記憶手段と、
前記画素データを、前記画素データ記憶手段に描画するときの描画位置を、１画素より細かい精度でずらすための複数のずらし量を設定するずらし量設定手段と、
前記画素データ記憶手段における、前記ずらし量設定手段により設定された複数のずらし量に対応する位置それぞれに、前記画素データを描画することにより、前記画像を重ね書きする描画手段と、
前記描画手段が前記画像を重ね書きする重ね書き回数を決定する回数決定手段と、
前記描画手段が、１画面分の前記画素データを、前記画素データ記憶手段に描画するのにかかる描画時間を推定する推定手段と、を備え、
前記回数決定手段は、前記推定手段により推定された前記描画時間に基づいて、前記重ね書き回数を決定すること
を特徴とする描画装置。
【請求項２】
画像を描画する描画装置であって、
前記画像を出力する２次元出力装置に出力させる画素データを記憶する画素データ記憶手段と、
前記画素データを、前記画素データ記憶手段に描画するときの描画位置を、１画素より細かい精度でずらすための複数のずらし量を設定するずらし量設定手段と、
前記画素データ記憶手段における、前記ずらし量設定手段により設定された複数のずらし量に対応する位置それぞれに、前記画素データを描画することにより、前記画像を重ね書きする描画手段と、
前記描画手段が前記画像を重ね書きする重ね書き回数を決定する回数決定手段と、
前記画素データがサブピクセル単位で求められている場合において、前記回数決定手段は、１画素を構成するサブピクセルの数に基づいて、前記重ね書き回数を決定すること
を特徴とする描画装置。
【請求項３】
画像を描画する描画装置であって、
前記画像を出力する２次元出力装置に出力させる画素データを記憶する画素データ記憶手段と、
前記画素データを、前記画素データ記憶手段に描画するときの描画位置を、１画素より細かい精度でずらすための複数のずらし量を設定するずらし量設定手段と、
前記画素データ記憶手段における、前記ずらし量設定手段により設定された複数のずらし量に対応する位置それぞれに、前記画素データを描画することにより、前記画像を重ね書きする描画手段と、
前記画像が動画像である場合において、前記動画像の動きに基づいて、前記ずらし量を補正する補正手段と、を備えること
を特徴とする描画装置。
【請求項４】
前記画像が、単位図形の組合せにより定義される場合において、前記補正手段は、前記単位図形の動きに基づいて、前記ずらし量を補正すること
を特徴とする請求項３に記載の描画装置。
【請求項５】
画像を描画する描画装置であって、
前記画像を出力する２次元出力装置に出力させる画素データを記憶する画素データ記憶手段と、
前記画素データを、前記画素データ記憶手段に描画するときの描画位置を、１画素より細かい精度でずらすための複数のずらし量を設定するずらし量設定手段と、
前記画素データ記憶手段における、前記ずらし量設定手段により設定された複数のずらし量に対応する位置それぞれに、前記画素データを描画することにより、前記画像を重ね書きする描画手段と、
前記画像が、単位図形の組合せにより定義される３次元画像である場合において、前記単位図形を、その奥行き方向順に並べ替える並べ替え手段と、を備え、
前記画像が、単位図形の組合せにより定義される３次元画像である場合において、前記描画手段は、前記単位図形を、視点に近いものから順に描画すること
を特徴とする描画装置。
【請求項６】
画像を描画する描画装置であって、
前記画像を出力する２次元出力装置に出力させる画素データを記憶する画素データ記憶手段と、
前記画素データを、前記画素データ記憶手段に描画するときの描画位置を、１画素より細かい精度でずらすための複数のずらし量を設定するずらし量設定手段と、
前記画素データ記憶手段における、前記ずらし量設定手段により設定された複数のずらし量に対応する位置それぞれに、前記画素データを描画することにより、前記画像を重ね書きする描画手段と、を備え、
前記描画手段は、
前記画素データを、前記画素データ記憶手段に対する前記画像の重ね書き回数で除算して得られる値に基づいて、１回の描画を行い、
前記画素データまたは重ね書き回数を、ＭまたはＮとそれぞれ表すとともに、ｘ／ｙ以下の最大の整数を、ＩＮＴ［ｘ／ｙ］と表す場合において、ＩＮＴ［Ｍ／Ｎ］で表される値に、所定の補正値を加算した値を、１回の描画で、前記画素データ記憶手段に書き込むこと
を特徴とする描画装置。
【請求項７】
ＩＮＴ［Ｍ／Ｎ］×Ｎで表される値が、Ｍより小の場合において、前記補正値は、その補正値を、ＩＮＴ［Ｍ／Ｎ］に加算した値のＮ倍が、Ｍ以上となるような値である
ことを特徴とする請求項６に記載の描画装置。
【請求項８】
画像を描画する描画装置であって、
前記画像を出力する２次元出力装置に出力させる画素データを記憶する画素データ記憶手段と、
前記画素データを、前記画素データ記憶手段に描画するときの描画位置を、１画素より細かい精度でずらすための複数のずらし量を設定するずらし量設定手段と、
前記画素データ記憶手段における、前記ずらし量設定手段により設定された複数のずらし量に対応する位置それぞれに、前記画素データを描画することにより、前記画像を重ね書きする描画手段と、
所定の入力を与えるときに操作される操作手段と、
記録媒体に記録されているデータを読み込み、そのデータを用いて、前記操作手段からの入力に基づき、所定の演算を行う演算手段と、
前記演算手段による演算結果に基づいて、前記画素データを求める画素データ生成手段と、
前記描画手段が前記画像を重ね書きする重ね書き回数を決定する回数決定手段と、
前記描画手段が、１画面分の前記画素データを、前記画素データ記憶手段に描画するのにかかる描画時間を推定する推定手段と、を備え、
前記回数決定手段は、前記推定手段により推定された前記描画時間に基づいて、前記重ね書き回数を決定すること
を特徴とする描画装置。
【請求項９】
画像を描画する描画装置であって、
前記画像を出力する２次元出力装置に出力させる画素データを記憶する画素データ記憶手段と、
前記画素データを、前記画素データ記憶手段に描画するときの描画位置を、１画素より細かい精度でずらすための複数のずらし量を設定するずらし量設定手段と、
前記画素データ記憶手段における、前記ずらし量設定手段により設定された複数のずらし量に対応する位置それぞれに、前記画素データを描画することにより、前記画像を重ね書きする描画手段と、
所定の入力を与えるときに操作される操作手段と、
記録媒体に記録されているデータを読み込み、そのデータを用いて、前記操作手段からの入力に基づき、所定の演算を行う演算手段と、
前記演算手段による演算結果に基づいて、前記画素データを求める画素データ生成手段と、
前記画像が動画像である場合において、前記動画像の動きに基づいて、前記ずらし量を補正する補正手段と、を備えること
を特徴とする描画装置。
【請求項１０】
前記画像が、単位図形の組合せにより定義される場合において、前記補正手段は、前記単位図形の動きに基づいて、前記ずらし量を補正する
ことを特徴とする請求項９に記載の描画装置。
【請求項１１】
画像を描画する描画装置であって、
前記画像を出力する２次元出力装置に出力させる画素データを記憶する画素データ記憶手段と、
前記画素データを、前記画素データ記憶手段に描画するときの描画位置を、１画素より細かい精度でずらすための複数のずらし量を設定するずらし量設定手段と、
前記画素データ記憶手段における、前記ずらし量設定手段により設定された複数のずらし量に対応する位置それぞれに、前記画素データを描画することにより、前記画像を重ね書きする描画手段と、
所定の入力を与えるときに操作される操作手段と、
記録媒体に記録されているデータを読み込み、そのデータを用いて、前記操作手段からの入力に基づき、所定の演算を行う演算手段と、
前記演算手段による演算結果に基づいて、前記画素データを求める画素データ生成手段と、
前記画像が、単位図形の組合せにより定義される３次元画像である場合において、前記単位図形を、その奥行き方向順に並べ替える並べ替え手段と、を備え、
前記画像が、単位図形の組合せにより定義される３次元画像である場合において、前記描画手段は、前記単位図形を、視点に近いものから順に描画すること
を特徴とする描画装置。
【請求項１２】
画像を描画する描画装置であって、
前記画像を出力する２次元出力装置に出力させる画素データを記憶する画素データ記憶手段と、
前記画素データを、前記画素データ記憶手段に描画するときの描画位置を、１画素より細かい精度でずらすための複数のずらし量を設定するずらし量設定手段と、
前記画素データ記憶手段における、前記ずらし量設定手段により設定された複数のずらし量に対応する位置それぞれに、前記画素データを描画することにより、前記画像を重ね書きする描画手段と、
所定の入力を与えるときに操作される操作手段と、
記録媒体に記録されているデータを読み込み、そのデータを用いて、前記操作手段からの入力に基づき、所定の演算を行う演算手段と、
前記演算手段による演算結果に基づいて、前記画素データを求める画素データ生成手段と、を備え、
前記描画手段は、
前記画素データを、前記画素データ記憶手段に対する前記画像の重ね書き回数で除算して得られる値に基づいて、１回の描画を行い、
前記画素データまたは重ね書き回数を、ＭまたはＮとそれぞれ表すとともに、ｘ／ｙ以下の最大の整数を、ＩＮＴ［ｘ／ｙ］と表す場合において、ＩＮＴ［Ｍ／Ｎ］で表される値に、所定の補正値を加算した値を、１回の描画で、前記画素データ記憶手段に書き込むこと
を特徴とする描画装置。
【請求項１３】
ＩＮＴ［Ｍ／Ｎ］×Ｎで表される値が、Ｍより小の場合において、前記補正値は、その補正値を、ＩＮＴ［Ｍ／Ｎ］に加算した値のＮ倍が、Ｍ以上となるような値であること
を特徴とする請求項１２に記載の描画装置。
【請求項１４】
画像を描画する描画装置であって、
前記画像を出力する２次元出力装置に出力させる画素データを記憶する画素データ記憶手段と、
前記画素データを、前記画素データ記憶手段に描画するときの描画位置を、１画素より細かい精度でずらすための複数のずらし量を設定するずらし量設定手段と、
前記画素データ記憶手段における、前記ずらし量設定手段により設定された複数のずらし量に対応する位置それぞれに、前記画素データを描画することにより、前記画像を重ね書きする描画手段と、
前記画像が、単位図形の組合せにより定義される３次元画像である場合において、視点に応じて、前記３次元画像を構成する前記単位図形を、前記２次元出力装置の座標系のものに変換する変換手段と、
前記変換手段によって変換された前記単位図形を、その奥行き方向順に並べ替える並べ替え手段と、
前記画像が、単位図形の組合せにより定義される３次元画像である場合において、前記単位図形の奥行き方向の位置を表す値を記憶する奥行き記憶手段と、を備え、
前記画像が、単位図形の組合せにより定義される３次元画像である場合において、前記描画手段は、前記単位図形を、視点に近いものから順に、前記奥行き記憶手段を用いて描画すること
を特徴とする描画装置。
【請求項１５】
前記画素データがサブピクセル単位で求められている場合において、前記ずらし量設定手段は、前記画素データの前記描画位置を、サブピクセル精度でずらすための複数のずらし量を設定すること
を特徴とする請求項１４に記載の描画装置。
【請求項１６】
前記描画手段が前記画像を重ね書きする重ね書き回数を決定する回数決定手段をさらに備えること
を特徴とする請求項１４に記載の描画装置。
【請求項１７】
前記描画手段が、１画面分の前記画素データを、前記画素データ記憶手段に描画するのにかかる描画時間を推定する推定手段をさらに備え、
前記回数決定手段は、前記推定手段により推定された前記描画時間に基づいて、前記重ね書き回数を決定すること
を特徴とする請求項１６に記載の描画装置。
【請求項１８】
前記画素データがサブピクセル単位で求められている場合において、前記回数決定手段は、１画素を構成するサブピクセルの数に基づいて、前記重ね書き回数を決定すること
を特徴とする請求項１６に記載の描画装置。
【請求項１９】
前記画像が動画像である場合において、前記動画像の動きに基づいて、前記ずらし量を補正する補正手段をさらに備えること
を特徴とする請求項１４に記載の描画装置。
【請求項２０】
前記補正手段は、前記単位図形の動きに基づいて、前記ずらし量を補正する
ことを特徴とする請求項１９に記載の描画装置。
【請求項２１】
前記描画手段は、前記画素データを、前記画素データ記憶手段に対する前記画像の重ね書き回数で除算して得られる値に基づいて、１回の描画を行うこと
を特徴とする請求項１４に記載の描画装置。
【請求項２２】
前記画素データまたは重ね書き回数を、ＭまたはＮとそれぞれ表すとともに、ｘ／ｙ以下の最大の整数を、ＩＮＴ［ｘ／ｙ］と表す場合において、前記描画手段は、ＩＮＴ［Ｍ／Ｎ］で表される値に、所定の補正値を加算した値を、１回の描画で、前記画素データ記憶手段に書き込むこと
を特徴とする請求項２１に記載の描画装置。
【請求項２３】
ＩＮＴ［Ｍ／Ｎ］×Ｎで表される値が、Ｍより小の場合において、前記補正値は、その補正値を、ＩＮＴ［Ｍ／Ｎ］に加算した値のＮ倍が、Ｍ以上となるような値であること
を特徴とする請求項２２に記載の描画装置。
【請求項２４】
画像を描画する描画装置であって、
前記画像を出力する２次元出力装置に出力させる画素データを記憶する画素データ記憶手段と、
前記画素データを、前記画素データ記憶手段に描画するときの描画位置を、１画素より細かい精度でずらすための複数のずらし量を設定するずらし量設定手段と、
前記画素データ記憶手段における、前記ずらし量設定手段により設定された複数のずらし量に対応する位置それぞれに、前記画素データを描画することにより、前記画像を重ね書きする描画手段と、
前記画像が、単位図形の組合せにより定義される３次元画像である場合において、所定の入力を与えるときに操作される操作手段と、
記録媒体に記録されているデータを読み込み、そのデータを用いて、前記操作手段からの入力に基づき、所定の演算を行う演算手段と、
前記演算手段による演算の結果得られる前記単位図形を、前記２次元出力装置の座標系のものに変換する変換手段と、
前記変換手段によって変換された前記単位図形を、その奥行き方向順に並べ替える並べ替え手段と、
前記画像が、単位図形の組合せにより定義される３次元画像である場合において、前記単位図形の奥行き方向の位置を表す値を記憶する奥行き記憶手段と、を備え、
前記画像が、単位図形の組合せにより定義される３次元画像である場合において、前記描画手段は、前記単位図形を、視点に近いものから順に、前記奥行き記憶手段を用いて描画すること
を特徴とする描画装置。
【請求項２５】
前記画素データがサブピクセル単位で求められている場合において、前記ずらし量設定手段は、前記画素データの前記描画位置を、サブピクセル精度でずらすための複数のずらし量を設定すること
を特徴とする請求項２４に記載の描画装置。
【請求項２６】
前記描画手段が前記画像を重ね書きする重ね書き回数を決定する回数決定手段をさらに備えること
を特徴とする請求項２４に記載の描画装置。
【請求項２７】
前記描画手段が、１画面分の前記画素データを、前記画素データ記憶手段に描画するのにかかる描画時間を推定する推定手段をさらに備え、
前記回数決定手段は、前記推定手段により推定された前記描画時間に基づいて、前記重ね書き回数を決定すること
を特徴とする請求項２６に記載の描画装置。
【請求項２８】
前記画素データがサブピクセル単位で求められている場合において、前記回数決定手段は、１画素を構成するサブピクセルの数に基づいて、前記重ね書き回数を決定すること
を特徴とする請求項２６に記載の描画装置。
【請求項２９】
前記画像が動画像である場合において、前記動画像の動きに基づいて、前記ずらし量を補正する補正手段をさらに備えること
を特徴とする請求項２４に記載の描画装置。
【請求項３０】
前記補正手段は、前記単位図形の動きに基づいて、前記ずらし量を補正すること
を特徴とする請求項２９に記載の描画装置。
【請求項３１】
前記描画手段は、前記画素データを、前記画素データ記憶手段に対する前記画像の重ね書き回数で除算して得られる値に基づいて、１回の描画を行うこと
を特徴とする請求項２４に記載の描画装置。
【請求項３２】
前記画素データまたは重ね書き回数を、ＭまたはＮとそれぞれ表すとともに、ｘ／ｙ以下の最大の整数を、ＩＮＴ［ｘ／ｙ］と表す場合において、前記描画手段は、ＩＮＴ［Ｍ／Ｎ］で表される値に、所定の補正値を加算した値を、１回の描画で、前記画素データ記憶手段に書き込むこと
を特徴とする請求項３１に記載の描画装置。
【請求項３３】
ＩＮＴ［Ｍ／Ｎ］×Ｎで表される値が、Ｍより小の場合において、前記補正値は、その補正値を、ＩＮＴ［Ｍ／Ｎ］に加算した値のＮ倍が、Ｍ以上となるような値であること
を特徴とする請求項３２に記載の描画装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、描画装置および描画方法、並びに提供媒体に関し、特に、例えば、コンピュータを用いた映像機器である３次元グラフィックコンピュータや、特殊効果装置（エフェクタ）、ビデオゲーム機などにおいて、高画質の画像を表示することができるようにする描画装置および描画方法、並びに提供媒体に関する。
【０００２】
【従来の技術】
プロセッサやメモリなどの高集積化、高速化等に伴い、従来は困難であった３次元画像のリアルタイム生成が可能となり、これにより、例えば、ビデオゲーム機などにおいては、臨場感のある３次元画像の表示が可能となっている。なお、３次元画像を表示する場合においては、多くの場合、その３次元画像を複数のポリゴン（単位図形）に分解し、これらのポリゴンそれぞれを描画することで、３次元画像全体を描画するようになされている。従って、このようにして描画される３次元画像は、ポリゴンの組合せにより定義されているということができる。
【０００３】
【発明が解決しようとする課題】
ところで、例えば、３次元画像の表示は、それを構成するポリゴンのデータについて、座標変換や、クリッピング（Clipping）処理、ライティング（Lighting）処理等のジオメトリ（Geomerty）処理を施し、その処理の結果得られるデータを透視投影変換することにより、３次元空間上のデータを２次元平面上の画素データにして、それを描画することで行われるが、その描画の際には、それまで、浮動小数点または固定小数点で表されていたポリゴンの位置が、それを画面上の固定の位置にある画素に対応させるのに整数化されるため、エイリアシング（ailasing）が生じ、ジャギー（jaggy）と呼ばれる階段状のギザギザが発生することにより、例えば、ビデオカメラで撮影した画像などよりも、画質が低下する課題があった。
【０００４】
さらに、３次元画像が動画像である場合には、エイリアシングは、画像のちらつきとなって現れ、それを見ているユーザに煩わしさを感じさせる課題があった。
【０００５】
ここで、エイリアシングは、画像に限られず、信号を、有限個の点でサンプリングするときに、そのサンプリングする点の数が少なすぎることに起因して発生するサンプリング誤差である。
【０００６】
エイリアシングによる画質の低下を低減する方法としては、例えば、１画素を、より細かいサブピクセルと呼ばれる単位に仮想的に分割し、そのサブピクセル単位で、レイトレーシングの計算などを行った後に、その計算結果を、１画素単位で平均化するものがあるが、レイトレーシングの計算には、かなりの時間を要するため、プロセッサやメモリなどのハードウェアの高速化が進んだといっても、動画像について、リアルタイムで、上述のようなレイトレーシングの計算を行うのは、いまのところ困難である。即ち、動画像は、一般に、１秒間あたり、２０乃至３０フレーム程度で構成されるが、現状では、ある程度廉価なハードウェアによって、レイトレーシングの計算を、１秒間あたりに、サブピクセル単位で、２０乃至３０回も行うのは困難である。
【０００７】
また、高解像度の画像を生成し、それをフィルタリングして画素数を減らすことで、アンチエイリアシングを行う（エイリアシングによる画質の低下を低減する）方法もあるが、この方法により、動画像を表示する場合には、高解像度の画像を記憶するための大容量かつ高速なフレームバッファやＺバッファが必要となり、装置が高コスト化および大型化する。
【０００８】
さらに、アンチエイリアシングを施すその他の方法としては、例えば、ある図形を表示する場合に、画素の中を、図形が占める割合を求め、その割合に基づいて、図形と背景とを、いわゆるαブレンディング（アルファブレンディング）する方法がある。しかしながら、この方法によれば、図形のエッジについては、アンチエイリアシングが施されるが、図形に貼り付けられるテクスチャのちらつきや、３次元形状どうしが交わっている部分（交線）（例えば、２つの球のうちの一方が他方にめり込んでいる場合の、その２つの球が交わっている部分）に生じるエイリアシングなどには効果がない。
【０００９】
本発明は、このような状況に鑑みてなされたものであり、装置の高コスト化や大型化を極力避けて、エイリアシングに起因する画質の低下を低減することができるようにするものである。
【００１０】
【課題を解決するための手段】
請求項１に記載の描画装置は、画素データを、画素データ記憶手段に描画するときの描画位置を、１画素より細かい精度でずらすための複数のずらし量を設定するずらし量設定手段と、画素データ記憶手段における、ずらし量設定手段により設定された複数のずらし量に対応する位置それぞれに、画素データを描画することにより、画像を重ね書きする描画手段とを備えることを特徴とする。
【００１１】
請求項４３に記載の描画方法は、画素データを、画素データ記憶手段に描画するときの描画位置を、１画素より細かい精度でずらすための複数のずらし量を設定するずらし量設定ステップと、その複数のずらし量に対応する、画素データ記憶手段の位置それぞれに、画素データを描画することにより、画像を重ね書きする描画ステップとを備えることを特徴とする。
【００１２】
請求項７５に記載の提供媒体は、画素データを、メモリに描画するときの描画位置を、１画素より細かい精度でずらすための複数のずらし量を設定するずらし量設定ステップと、その複数のずらし量に対応する、メモリの位置それぞれに、画素データを描画することにより、画像を重ね書きする描画ステップとを備えるコンピュータプログラムを提供することを特徴とする。
【００１３】
請求項１に記載の描画装置においては、ずらし量設定手段は、画素データを、画素データ記憶手段に描画するときの描画位置を、１画素より細かい精度でずらすための複数のずらし量を設定し、描画手段は、画素データ記憶手段における、ずらし量設定手段により設定された複数のずらし量に対応する位置それぞれに、画素データを描画することにより、画像を重ね書きするようになされている。
【００１４】
請求項４３に記載の描画方法においては、画素データを、画素データ記憶手段に描画するときの描画位置を、１画素より細かい精度でずらすための複数のずらし量を設定し、その複数のずらし量に対応する、画素データ記憶手段の位置それぞれに、画素データを描画することにより、画像を重ね書きするようになされている。
【００１５】
請求項７５に記載の提供媒体においては、画素データを、メモリに描画するときの描画位置を、１画素より細かい精度でずらすための複数のずらし量を設定し、その複数のずらし量に対応する、メモリの位置それぞれに、画素データを描画することにより、画像を重ね書きする処理をコンピュータに行わせるためのコンピュータプログラムを提供するようになされている。
【００１６】
【発明の実施の形態】
以下に、本発明の実施の形態を説明するが、その前に、特許請求の範囲に記載の発明の各手段と以下の実施の形態との対応関係を明らかにするために、各手段の後の括弧内に、対応する実施の形態（但し、一例）を付加して、本発明の特徴を記述すると、次のようになる。
【００１７】
即ち、請求項１に記載の描画装置は、画像を描画する描画装置であって、画像を出力する２次元出力装置に出力させる画素データを記憶する画素データ記憶手段（例えば、図６に示すフレームバッファ１４１など）と、画素データを、画素データ記憶手段に描画するときの描画位置を、１画素より細かい精度でずらすための複数のずらし量を設定するずらし量設定手段と（例えば、図１８に示すプログラムの処理ステップＳ６など）、画素データ記憶手段における、ずらし量設定手段により設定された複数のずらし量に対応する位置それぞれに、画素データを描画することにより、画像を重ね書きする描画手段（例えば、図１８に示すプログラムの処理ステップＳ１４など）とを備えることを特徴とする。
【００１８】
請求項３，１４，２５、および３５に記載の描画装置は、描画手段が画像を重ね書きする重ね書き回数を決定する回数決定手段（例えば、図１８に示すプログラムの処理ステップＳ５など）をさらに備えることを特徴とする。
【００１９】
請求項４，１５，２６、および３６に記載の描画装置は、描画手段が、１画面分の画素データを、画素データ記憶手段に描画するのにかかる描画時間を推定する推定手段（例えば、図１８に示すプログラムの処理ステップＳ４など）をさらに備え、回数決定手段が、推定手段により推定された描画時間に基づいて、重ね書き回数を決定することを特徴とする。
【００２０】
請求項６，１７，２８、および３８に記載の描画装置は、画像が動画像である場合において、動画像の動きに基づいて、ずらし量を補正する補正手段（例えば、図１８に示すプログラムの処理ステップＳ１０など）をさらに備えることを特徴とする。
【００２１】
請求項８および１９に記載の描画装置は、画像が、単位図形の組合せにより定義される３次元画像である場合において、単位図形を、その奥行き方向順に並べ替える並べ替え手段（例えば、図１８に示すプログラムの処理ステップＳ７など）をさらに備え、描画手段が、単位図形を、視点に近いものから順に描画することを特徴とする。
【００２２】
請求項１２に記載の描画装置は、所定の入力を与えるときに操作される操作手段（例えば、図１に示す操作装置１７など）と、記録媒体に記録されているデータを読み込み、そのデータを用いて、操作手段からの入力に基づき、所定の演算を行う演算手段（例えば、図５に示すメインＣＰＵ１１１など）と、演算手段による演算結果に基づいて、画素データを求める画素データ生成手段（例えば、図５に示すＧＰＵ１１５など）とをさらに備えることを特徴とする。
【００２３】
請求項２３に記載の描画装置は、画像が、単位図形の組合せにより定義される３次元画像である場合において、視点に応じて、３次元画像を構成する単位図形を、２次元出力装置の座標系のものに変換する変換手段（例えば、図５に示すメインＣＰＵ１１１など）と、変換手段によって変換された単位図形を、その奥行き方向順に並べ替える並べ替え手段（例えば、図１８に示すプログラムの処理ステップＳ７など）と、単位図形の奥行き方向の位置を表す値を記憶する奥行き記憶手段（例えば、図６に示すＺバッファ１４２など）とをさらに備え、描画手段が、単位図形を、視点に近いものから順に、奥行き記憶手段を用いて描画することを特徴とする。
【００２４】
請求項３３に記載の描画装置は、画像が、単位図形の組合せにより定義される３次元画像である場合において、所定の入力を与えるときに操作される操作手段（例えば、図１に示す操作装置１７など）と、記録媒体に記録されているデータを読み込み、そのデータを用いて、操作手段からの入力に基づき、所定の演算を行う演算手段（例えば、図５に示すメインＣＰＵ１１１など）と、演算手段による演算の結果得られる単位図形を、２次元出力装置の座標系のものに変換する変換手段（例えば、図５に示すメインＣＰＵ１１１など）と、変換手段によって変換された単位図形を、その奥行き方向順に並べ替える並べ替え手段（例えば、図１８に示すプログラムの処理ステップＳ７など）と、単位図形の奥行き方向の位置を表す値を記憶する奥行き記憶手段（例えば、図６に示すＺバッファ１４２など）とをさらに備え、描画手段が、単位図形を、視点に近いものから順に、奥行き記憶手段を用いて描画することを特徴とする。
【００２５】
なお、勿論この記載は、各手段を上記したものに限定することを意味するものではない。
【００２６】
図１は、本発明を適用したビデオゲーム機の一実施の形態の構成を示す平面図である。なお、図２に、その正面図（図１において、下方向から見た図）を、図３に、その右側面の側面図（図１において、向かって右方向から見た側面図）を、それぞれ示す。
【００２７】
ビデオゲーム機は、ゲーム機本体２、このゲーム機本体２と接続される略四角形状をなした接続端子部２６を備えた操作装置１７、および同じくゲーム機本体２と接続される記録装置３８とから構成されている。
【００２８】
ゲーム機本体２は、略四角形状に形成され、その中央の位置に、ゲームを行うためのコンピュータプログラム（後述するレンダリング（描画）処理を行うためのプログラムを含む）やデータが記録されたゲーム用記録媒体を装着するディスク装着部３が設けられている。なお、本実施の形態では、ディスク装着部３には、例えば、図４に示すようなＣＤ（Compact Disc）−ＲＯＭ（Read Only Memory）５１がゲーム用記録媒体として着脱可能になされている。但し、ゲーム用記録媒体は、ディスクに限定されるものではない。
【００２９】
ディスク装着部３の左側には、ゲームをリセットするときなどに操作されるリセットスイッチ４と、電源のオン／オフをするときに操作される電源スイッチ５とが設けられており、その右側には、ディスク装着部３を開閉するときに操作されるディスク操作スイッチ６が設けられている。さらに、ゲーム機本体２の正面には、操作装置１７および記録装置３８を１組として接続することのできる接続部７Ａ，７Ｂが設けられている。なお、本実施の形態では、２組の操作装置１７および記録装置３８を接続することができるように、接続部７Ａ，７Ｂが設けられているが、接続部は、２組以外の組数の操作装置１７および記録装置３８を接続することができる数だけ設けるようにすることが可能である。また、接続部７Ａまたは７Ｂに対して、操作装置１７および記録装置３８の接続数を拡張するようなアダプタを装着することにより、多数の操作装置および記録装置を接続するようにすることも可能である。
【００３０】
接続部７Ａ，７Ｂは、図２および図３に示すように、２段に形成され、上段には記録装置３８と接続する記録挿入部８を設け、下段には操作装置１７の接続端子部２６と接続する接続端子挿入部１２を設けた構造となっている。
【００３１】
記録挿入部８の挿入孔は、横方向に長い長方形状に形成し、その下側の両端のコーナーを上側の両端のコーナーに比べて丸みを多くして、記録装置３８が逆に挿入できない構造となっている。さらに、記録挿入部８には、内部の電気的接続を得る接続端子（図示せず）を保護するためのシャッタ９が設けられている。
【００３２】
シャッタ９は、例えば、コイルねじりバネ状に形成されたスプリングなどの弾性体（図示せず）により常時外側に向けて付勢された状態で取り付けられている。従って、シャッタ９は、記録装置３８を差し込む時には記録装置３８を挿入する先端側で奥側に開けられ、記録装置３８を抜いた時には弾性体の付勢力により戻され、自動的に閉じた状態となって、内部の接続端子の防埃の役目をし、さらに外部の衝撃から守る役目をする。
【００３３】
接続端子挿入部１２は、図２および図３に示すように、横方向に長い長方形状をした挿入孔の下側の両端のコーナーを上側の両端のコーナーに比べて丸みを多くした形状にして操作装置１７の接続端子部２６が逆に入らない構造であり、且つ記録装置３８も入らないように挿入孔の形状を異にした構造となっている。このようにして、記録装置３８と操作装置１７の挿入孔の大きさ及び形状を異にして互いに入れ間違いのないようにした構造となっている。
【００３４】
操作装置１７は、図１に示すように、両手の掌で挟持して５本の指が自由自在に動いて操作できる構造をしており、左右対象に連設した丸型形状に形成された第１及び第２の操作部１８，１９、この第１及び第２の操作部１８，１９から角状に突出形成した第１及び第２の支持部２０，２１、第１及び第２の操作部１８，１９の中間位置の括れた部分に設けたセレクトスイッチ２２およびスタートスイッチ２３、第１及び第２の操作部１８，１９の前面側に突出形成した第３及び第４の操作部２４，２５、並びにゲーム機本体２と電気的に接続するための接続端子部２６およびケーブル２７から構成されている。
【００３５】
尚、操作装置１７は、接続端子部２６およびケーブル２７を介さずに、例えば赤外線などによって、ゲーム機本体２と電気的に接続されるような構成とすることもできる。
【００３６】
また、操作装置１７には、それ自体を振動させるための、例えば、モータなどを内蔵させることができる。操作装置１７を、ゲームの場面に応じて振動させることにより、ユーザに対して、より臨場感を与えることが可能となる。なお、操作装置１７に内蔵させるモータとしては、回転数の異なる複数のモータを採用することができる。この場合、ゲームの場合に適した小さな振動や大きな振動、さらには、それらを組み合わせた振動を、ユーザに享受させることが可能となる。
【００３７】
接続端子部２６は、ゲーム機本体２と電気的接続をするためのケーブル２７の先端に取り付けられており、図３に示すように、その左右の両側面には、凹凸状のある形状にして、いわゆるギザギザ模様にした滑り止め加工（例えば、ローレット加工など）が施されている把持部が設けられている。なお、接続端子部２６に設けられた把持部は、いわゆる抜き差し部を形成し、その大きさ、即ち、その幅Ｗと長さＬは、例えば、後述する記録装置３８の把持部と同一とされている。
【００３８】
記録装置３８は、例えばフラッシュメモリなどの不揮発性メモリを内蔵しており、その両側面には、例えば、接続端子部２６における場合と同様に構成される把持部（図３）が設けられ、ゲーム機本体２に対し、容易に着脱することができるようになされている。なお、記録装置３８には、例えば、ゲームを一時的に中断する場合に、そのときの状態が記憶（記録）されるようになされており、これにより、再起動の際に、そこからデータを読み出すことで、そのデータに対応した状態、即ち、中断時の状態から、ゲームを再開することができるようになされている。
【００３９】
以上のように構成されるビデオゲーム機によりゲームを行う場合においては、ユーザは、例えば、操作装置１７を、ゲーム機本体２に接続し、さらに、必要に応じて、記録装置３８も、ゲーム機本体２に接続する。また、ユーザは、ディスク操作スイッチ６を操作することにより、ゲーム用記録媒体としてのＣＤ−ＲＯＭ５１を、ディスク装着部３にセットし、電源スイッチ５を操作することにより、ゲーム機本体２の電源をオンにする。これにより、ゲーム機本体２においては、ゲームのための画像および音声が再生されるので、ユーザは、操作装置１７を操作することによりゲームを行う。
【００４０】
次に、図５は、図１のゲーム機本体２の電気的構成例を示している。
【００４１】
このゲーム機本体２は、各ブロックにおいてデータをやりとりするためのバスとして、メインバス１０１およびサブバス１０２の２種類のバスを有しており、このメインバス１０１とサブバス１０２とは、バスコントローラ１１６を介して接続されている。
【００４２】
メインバス１０１には、バスコントローラ１１６の他、例えばマイクロプロセッサなどからなるメインＣＰＵ（Central Processing Unit）１１１、例えばＲＡＭ（Random Access Memory）などでなるメインメモリ１１２、メインＤＭＡＣ（Direct Memory Access Controller）１１３、ＭＤＥＣ（MPEG（Moving Picture Experts Group） Decoder）、およびＧＰＵ（Graphic Processor Unit）１１５が接続されている。
【００４３】
サブバス１０２には、バスコントローラ１１６の他、ＧＰＵ１１５、例えばメインＣＰＵ１１１と同様に構成されるサブＣＰＵ１２１、例えばメインメモリ１１２と同様に構成されるサブメモリ１２２、サブＤＭＡＣ１２３、オペレーティングシステムなどが格納されたＲＯＭ（Read Only Memory）１２４、ＳＰＵ（Sound Processing Unit）１２５、ＡＴＭ（Asynchronous Transmission Mode）通信部１２６、補助記憶装置１２７、および入力デバイス用Ｉ／Ｆ（Interface）１２８が接続されている。
【００４４】
なお、ここでは、メインバス１０１では、高速でデータのやりとりが行われるようになされており、サブバス１０２では、低速でデータのやりとりが行われるようになされている。即ち、低速でやりとりが可能なデータについては、サブバス１０２を用いることで、メインバス１０１の高速性を確保するようになされている。
【００４５】
バスコントローラ１１６は、メインバス１０１とサブバス１０２とを切り離したり、メインバス１０１にサブバス１０２を接続したりするようになされている。メインバス１０１とサブバス１０２とが切り離された場合、メインバス１０１上からは、メインバス１０１に接続されたデバイスのみにしかアクセスできず、また、サブバス１０２上からも、サブバスに接続されたデバイスのみにしかアクセスすることができないが、メインバス１０１にサブバス１０２が接続された場合には、メインバス１０１およびサブバス１０２のいずれからであっても、いずれのデバイスにもアクセスすることができる。なお、例えば、装置の電源がオンにされた直後などの初期状態においては、バスコントローラ１１６はオープン状態になっている（メインバス１０１とサブバス１０２とが接続された状態となっている）。
【００４６】
メインＣＰＵ１１１は、メインメモリ１１２に記憶されたプログラムにしたがって各種の処理を行うようになされている。即ち、メインＣＰＵ１１１は、例えば、装置が起動されると、バスコントローラ１１６を介して、サブバス１０２上にある（サブバス１０２に接続された）ＲＯＭ１２４からブートプログラムを読み出して実行する。これにより、メインＣＰＵ１１１は、補助記憶装置１２７からアプリケーションプログラム（ここでは、ゲームのプログラムや後述するような描画処理を行うためのプログラム）および必要なデータを、メインメモリ１１２やサブメモリ１１２にロードさせる。そして、メインＣＰＵ１１１は、このようにしてメインメモリ１１２にロードさせたプログラムを実行する。
【００４７】
メインＣＰＵ１１１は、ＧＴＥ（Geometry Transfer Engine）１１７を内蔵しており、このＧＴＥ１１７は、例えば複数の演算を並列に実行する並列演算機構を備え、メインＣＰＵ１１１からの要求に応じて、座標変換や、光源計算、行列演算、ベクトル演算などのジオメトリ処理のための演算処理を高速に行うようになされている。このように、ＧＴＥ１１７は、メインＣＰＵ１１１からの要求にしたがった処理（ジオメトリ処理）を行うことにより、表示すべき３次元画像を構成するポリゴン（本明細書中では、３点以上の頂点を有する多角形の他、直線（線分）や点も含まれるものとする）のデータ（以下、適宜、ポリゴンデータという）を生成し、メインＣＰＵ１１１に供給する。メインＣＰＵ１１１は、ＧＴＥ１１７からポリゴンデータを受信すると、それを透視投影変換することにより、２次元平面上のデータとして、メインバス１０１を介して、ＧＰＵ１１５に転送する。
【００４８】
なお、メインＣＰＵ１１１は、キャッシュメモリ（Cache）１１９を内蔵しており、メインメモリ１１２にアクセスする代わりに、このキャッシュメモリ１１９にアクセスすることで、処理の高速化を図るようになされている。
【００４９】
メインメモリ１１２は、上述したように、プログラムなどを記憶する他、メインＣＰＵ１１１の処理上必要なデータなどを記憶するようにもなされている。メインＤＭＡＣ１１３は、メインバス１０１上のデバイスを対象に、ＤＭＡ転送の制御を行うようになされている。但し、バスコントローラ１１６がオープン状態にあるときは、メインＤＭＡＣ１１３は、サブバス１０２上のデバイスをも対象として制御を行うようになされている。ＭＤＥＣ１１４は、メインＣＰＵ１１１と並列に動作可能なＩ／Ｏデバイスで、画像伸張エンジンとして機能するようになされている。即ち、ＭＤＥＣ１１４は、ＭＰＥＧ符号化されて圧縮された画像データを復号化するようになされている。
【００５０】
ＧＰＵ１１５は、レンダリングプロセッサとして機能するようになされている。即ち、ＧＰＵ１１５は、メインＣＰＵ１１１から送信されてくるポリゴンデータを受信し、そのポリゴンデータのうちの、例えば、ポリゴンの頂点の色データと奥行き（視点からの深さ）を示すＺ値などに基づいて、ポリゴンを構成する画素データを計算し、グラフィックメモリ１１８に書き込む（描画する）レンダリング処理を行うようになされている。さらに、ＧＰＵ１１５は、グラフィックメモリ１１８に書き込んだ画素データを読み出し、ビデオ信号として出力するようにもなされている。なお、ＧＰＵ１１５は、必要に応じて、メインＤＭＡＣ１１３、あるいはサブバス１０２上のデバイスからもポリゴンデータを受信し、そのポリゴンデータにしたがってレンダリング処理を行うようにもなされている。
【００５１】
グラフィックメモリ１１８は、例えば、ＤＲＡＭなどで構成され、図６に示すように、フレームメモリ１４１，Ｚバッファ１４２、およびテクスチャメモリ１４３を有している。フレームメモリ１４１は、画面に表示する画素データを、例えば、１フレーム分だけ記憶するようになされている。Ｚバッファ１４２は、画面に表示する画像の中の最も手前にあるポリゴンのＺ値を記憶するようになされており、例えば、１フレーム分のＺ値を記憶することのできる記憶容量を有している。テクスチャメモリ１４３は、ポリゴンに貼り付けるテクスチャのデータを記憶するようになされている。
【００５２】
ここで、ＧＰＵ１１５は、これらのフレームメモリ１４１，Ｚバッファ１４２、およびテクスチャメモリ１４３を用いてレンダリング処理を行うようになされている。即ち、ＧＰＵ１１５は、Ｚバッファ１４２に、３次元画像を構成するポリゴンのうちの、最も手前にあるもののＺ値を記憶させ、このＺバッファ１４２の記憶値に基づいて、フレームバッファ１４１に、画素データの描画を行うかどうかを決定する。そして、画素データを描画する場合には、テクスチャメモリ１４３からテクスチャのデータを読み出し、そのデータを用いて、描画すべき画素データを求めて、フレームメモリ１４１に描画するようになされている。
【００５３】
なお、ＧＰＵ１５は、ポリゴンを、その奥行き方向順に並べ替えるＺソートを行うようにもなされており、ここでは、レンダリングは、手前にあるポリゴンから順に行うようになされている。
【００５４】
図５に戻り、サブＣＰＵ１２１は、サブメモリ１２２に記憶されたプログラムを読み出して実行することにより、各種の処理を行うようになされている。サブメモリ１２２には、メインメモリ１１２と同様に、プログラムや必要なデータが記憶されるようになされている。サブＤＭＡＣ１２３は、サブバス１０２上のデバイスを対象として、ＤＭＡ転送の制御を行うようになされている。なお、サブＤＭＡＣ１２３は、バスコントローラ１１６がクローズ状態にあるとき（メインバス１０１とサブバス１０２とが切り離されている状態にあるとき）のみ、バス権を獲得するようになされている。ＲＯＭ１２４は、上述したようにブートプログラムや、オペレーティングシステムなどを記憶している。なお、ＲＯＭ１２４には、メインＣＰＵ１１１およびサブＣＰＵ１２１の両方のプログラムが記憶されている。また、ＲＯＭ１２４は、ここでは、アクセス速度の遅いものが用いられており、そのため、サブバス１０２上に設けられている。
【００５５】
ＳＰＵ１２５は、サブＣＰＵ１２１またはサブＤＭＡＣ１２３から送信されてくるパケットを受信し、そのパケットに配置されているサウンドコマンドにしたがって、サウンドメモリ１２９から音声データを読み出すようになされている。そして、ＳＰＵ２５は、読み出した音声データを、図示せぬスピーカに供給して出力させるようになされている。ＡＴＭ通信部１２６は、例えば、図示せぬ公衆回線などを介して行われる通信の制御（ＡＴＭ通信の制御）を行うようになされている。これにより、ビデオゲーム機のユーザは、他のビデオゲーム機のユーザと直接、あるいはインターネットや、いわゆるパソコン通信のセンタ局などを介してデータのやりとりをすることで対戦することができるようになされている。
【００５６】
補助記憶装置１２７は、例えば、ディスクドライブなどで、ＣＤ−ＲＯＭ５１（図１、図４）に記録されている情報（プログラム、データ）を再生するようになされている。また、補助記憶装置１２７は、記録装置３８（図１）に対する情報の記録や読み出しも行うようになされている。入力デバイス用Ｉ／Ｆ１２８は、コントロールパッドとしての操作装置１７（図１）の操作に対応する信号や、他の装置によって再生された画像や音声などの外部入力を受け付けるためのインターフェイスで、外部からの入力に応じた信号を、サブバス１０２上に出力するようになされている。サウンドメモリ１２９は、音声データ（オーディオデータ）を記憶している。
【００５７】
以上のように構成されるゲーム機本体２においては、装置の電源がオンにされると、メインＣＰＵ１１１において、ブートプログラムがＲＯＭ１２４から読み出されて実行されることにより、補助記憶装置１２７にセットされたＣＤ−ＲＯＭ５１（図４）からプログラムおよびデータが読み出され、メインメモリ１１２およびサブメモリ１２２に展開される。そして、メインＣＰＵ１１１またはサブＣＰＵ１２１それぞれにおいて、メインメモリ１１２またはサブメモリ１２２に展開されたプログラムが実行されることにより、ゲームの画像（ここでは、動画像とする）、音声が再生される。
【００５８】
即ち、例えば、メインＣＰＵ１１１において、メインメモリ１１２に記憶されたデータにしたがって、所定の３次元画像を構成するポリゴンを描画するためのポリゴンデータが生成される。このポリゴンデータは、例えば、パケット化され、メインバス１０１を介して、ＧＰＵ１１５に供給される。
【００５９】
ＧＰＵ１１５は、メインＣＰＵ１１１からパケットを受信すると、Ｚソートを行い、手前にあるポリゴンから順に、Ｚバッファ１４２を使用して、フレームメモリ１４１に描画する。フレームメモリ１４１に対する描画結果は、ＧＰＵ１１５において適宜読み出され、ビデオ信号として出力される。これにより、ゲームのための３次元画像が、２次元出力装置としての、例えば、図示せぬディスプレイ上の２次元画面に表示される。
【００６０】
一方、サブＣＰＵ１２１では、サブメモリ１２２に記憶されたデータにしたがって、音声の生成を指示するサウンドコマンドが生成される。このサウンドコマンドは、パケット化され、サブバス１０２を介して、ＳＰＵ１２５に供給される。ＳＰＵ１２５は、サブＣＰＵ１２１からのサウンドコマンドにしたがって、サウンドメモリ１２９から音声データを読み出して出力する。これにより、ゲームのＢＧＭ（Background Music）その他の音声が出力される。
【００６１】
次に、図５のゲーム機本体２において行われるポリゴンのレンダリング（描画）処理について詳述する。
【００６２】
ゲーム機本体２のＧＰＵ１１５では、上述したように、フレームバッファ１４１に対して、ポリゴンの画素データが描画されるが、その際、画素データの描画位置を、１画素より細かい精度である、例えば、サブピクセル精度などでずらすための複数のずらし量が設定され、その複数のずらし量に対応する、フレームバッファ１４１の位置（メモリセル）それぞれに、画素データが描画されるようになされており、これにより、ポリゴン、さらには、ポリゴンで構成される３次元画像が重ね書きされるようになされている。
【００６３】
即ち、例えば、いま、３次元空間上での座標が、（ｘ，ｙ，ｚ）で与えられた点の描画を行うものとすると、メインＣＰＵ１１１において、この点（ｘ，ｙ，ｚ）は、視点の情報などに基づいて、ジオメトリ処理され、さらに、透視変換されることにより、２次元平面である画面座標系（３次元画像を表示するディスプレイの画面に対応する座標系）上の点（Ｘ，Ｙ，Ｚ）に変換される。なお、ｘ，ｙ，ｚ，Ｘ，Ｙ，Ｚは、浮動小数点または固定小数点で表現される値である。また、画面座標系上の点（Ｘ，Ｙ，Ｚ）を表すＺは、その点の、視点からの奥行き方向の位置を表す。
【００６４】
さらに、ＧＰＵ１１５は、点（Ｘ，Ｙ，Ｚ）における点の色情報としてのＲ，Ｇ，Ｂ信号（Ｒｉ，Ｇｉ，Ｂｉ）その他を、視点や、光源、テクスチャなどから求める。なお、Ｒi，Ｇｉ，Ｂｉにおけるｉは、整数値であることを表し、本実施の形態では、Ｒi，Ｇｉ，Ｂｉは、例えば、それぞれ８ビットで表現され、従って、０乃至２５５の範囲の値をとる。
【００６５】
そして、例えば、いま、重ね書き回数を４回とするとともに、図７に示すように、１画素の横および縦を、いずれも４等分することにより、１画素について、１６（＝４×４）個のサブピクセルが想定されているとすると、ＧＰＵ１１５は、点（Ｘ，Ｙ，Ｚ）の１乃至４回目の描画時における、画面座標系での描画位置のずらし量（ｄＸ，ｄＹ）それぞれを、例えば、サブピクセルの２倍（ここでは、１画素の１／２）の精度である（０．０，０．０），（０．５，０．０），（０．５，０．５），（０．０，０．５）に設定する。なお、図７（後述する図８乃至図１７においても同様）においては、右方向または上方向が、それぞれＸ軸またはＹ軸（の正方向）とされている。
【００６６】
その後、ＣＰＵ１１５は、そのずらし量（ｄＸ，ｄＹ）にしたがって、描画位置をずらして、点の描画を行う。
【００６７】
即ち、１回目の描画においては、ＧＰＵ１１５は、点（Ｘ，Ｙ，Ｚ）を、（０．０，０．０）だけずらし、そのずらした点（Ｘ，Ｙ，Ｚ）を、サブピクセルの精度の点（Ｘｓ，Ｙｓ，Ｚｓ）に変換（以下、適宜、サブピクセル精度化という）する。なお、Ｘｓ，Ｙｓ，Ｚｓにおけるｓは、サブピクセル精度の値であることを表し、図７では、１画素の横および縦が、いずれも４等分されているから、サブピクセル精度は０．２５（＝１／４）となっている。即ち、図７では、最も左下のサブピクセルの座標を（０．０，０．０）とし、左または右にいくにつれて、サブピクセルの座標は、０．２５ずつ増加するようになっている。
【００６８】
そして、点（Ｘｓ，Ｙｓ，Ｚｓ）に対応するサブピクセルを含む画素の位置に、点（Ｘｓ，Ｙｓ，Ｚｓ）に対応する色情報（Ｒi，Ｇｉ，Ｂｉ）を書き込む。なお、色情報（画素データ）は、重ね書き回数で除算された値が書き込まれる。具体的には、ここでは、重ね書き回数が４回であるから、色情報としては、（Ｒi／４，Ｇｉ／４，Ｂｉ／４）が書き込まれる。
【００６９】
ここで、例えば、いま、描画対象の点（Ｘ，Ｙ，Ｚ）のＸまたはＹ座標が、それぞれ１．６または１．３であったとすると、１回目の描画では、点（１．６，１．３，Ｚ）を、（０．０，０．０）だけずらし、さらに、そのずらした点（１．６，１．３，Ｚ）（図７（Ａ）に●印で示す）をサブピクセル精度化した点（１．５，１．２５，Ｚｓ）に対応するサブピクセルを含む画素の位置（１，１）に対して、図７（Ａ）に示すように、本来書き込むべき色情報の１／４の色情報（同図（Ａ）において、垂直方向の点線で示す部分）が書き込まれる。
【００７０】
２回目の描画においては、ＧＰＵ１１５は、点（Ｘ，Ｙ，Ｚ）を、（０．５，０．０）だけずらし、そのずらした点を、点（Ｘｓ，Ｙｓ，Ｚｓ）にサブピクセル精度化する。そして、点（Ｘｓ，Ｙｓ，Ｚｓ）に対応するサブピクセルを含む画素の位置に、色情報（Ｒi，Ｇｉ，Ｂｉ）を１／４にしたものが重ね書きされる。
【００７１】
即ち、上述したように、例えば、いま、描画対象の点（Ｘ，Ｙ，Ｚ）のＸまたはＹ座標が、それぞれ１．６または１．３であったとすると、２回目の描画では、点（１．６，１．３，Ｚ）を、（０．５，０．０）だけずらし、さらに、そのずらした点（２．１，１．３，Ｚ）（図７（Ｂ）に●印で示す）をサブピクセル精度化した点（２．０，１．２５，Ｚｓ）に対応するサブピクセルを含む画素（２，１）の位置に対して、図７（Ｂ）に示すように、本来書き込むべき色情報の１／４の色情報（同図（Ｂ）において、水平方向の点線で示す部分）が重ね書きされる。具体的には、画素（２，１）に、既に書き込まれている色情報に対して、本来書き込むべき色情報の１／４が加算され、その加算値が、画素（２，１）に書き込まれる。
【００７２】
３回目および４回目の描画も、同様にして行われる。即ち、例えば、いま、描画対象の点（Ｘ，Ｙ，Ｚ）のＸまたはＹ座標が、それぞれ１．６または１．３であったとすると、３回目の描画では、点（１．６，１．３，Ｚ）を、（０．５，０．５）だけずらし、さらに、そのずらした点（２．１，１．８，Ｚ）（図７（Ｃ）に●印で示す）をサブピクセル精度化した点（２．０，１．７５，Ｚｓ）に対応するサブピクセルを含む画素（２，１）の位置に対して、図７（Ｃ）に示すように、本来書き込むべき色情報の１／４の色情報（同図（Ｃ）において、右上がりの点線で示す部分）が重ね書きされる。具体的には、画素（２，１）に、既に書き込まれている色情報に対して、本来書き込むべき色情報の１／４が加算され、その加算値が、画素（２，１）に書き込まれる。
【００７３】
そして、４回目の描画では、点（１．６，１．３，Ｚ）を、（０．０，０．５）だけずらし、さらに、そのずらした点（１．６，１．８，Ｚ）（図７（Ｄ）に●印で示す）をサブピクセル精度化した点（１．５，１．７５，Ｚｓ）に対応するサブピクセルを含む画素（１，１）の位置に対して、図７（Ｄ）に示すように、本来書き込むべき色情報の１／４の色情報（同図（Ｄ）において、左上がりの点線で示す部分）が重ね書きされる。具体的には、画素（１，１）に、既に書き込まれている色情報に対して、本来書き込むべき色情報の１／４が加算され、その加算値が、画素（１，１）に書き込まれる。
【００７４】
以上により、点（１．６，１．３，Ｚ）の描画結果（重ね書き結果）は、図８に示すようになる。
【００７５】
以上のように重ね書きを行うことで、解像度を、実質的に４倍にすることができ、その結果、アンチエイリアシングを行うことができる。
【００７６】
なお、重ね書きを行う場合において、４回の描画それぞれにおけるずらし量（ｄＸ，ｄＹ）を、上述したように、（０．０，０．０），（０．５，０．０），（０．５，０．５），（０．０，０．５）としたときには、描画された点の位置が、本来の位置よりも右上方向に移動することがあるので、ずらし量（ｄＸ，ｄＹ）は、そのような移動が生じないように、例えば、（−０．２５，−０．２５），（０．２５，−０．２５），（０．２５，０．２５），（−０．２５，０．２５）などとする（ずらし量ｄＸまたはｄＹの平均値が、いずれも０となるようにする）ことも可能である。
【００７７】
次に、図７および図８では、１画素について、１６個のサブピクセルを想定したが、その他、例えば、図９に示すように、１画素の横および縦を、いずれも２等分することにより、１画素について、４（＝２×２）個のサブピクセルを想定した場合でも、同様の重ね書きが可能である。
【００７８】
即ち、例えば、点（１．６，２．２，Ｚ）を描画する場合においては（以下では、適宜、Ｚ座標を省略する）、従来は、図１０に示すように、点（１．６，２．２）が、サブピクセル精度化され、図１０に●印で示すように点（１．５，２．０）とされる。そして、点（１．５，２．０）に対応するサブピクセルを含む画素の位置（１，２）に対して、図１０に斜線を付して示すように、本来書き込むべき色情報が書き込まれる。
【００７９】
これに対して、図５のゲーム機本体２では、ＧＰＵ１１５において、まず１乃至４回目の描画時における、画面座標系での描画位置のずらし量（ｄＸ，ｄＹ）として、例えば、サブピクセルの精度（ここでは、１画素の１／２の精度）である（０．０，０．０），（０．５，０．０），（０．０，０．５），（０．５，０．５）がそれぞれ設定される。その後、１回目の描画では、点（１．６，２．２）が、（０．０，０．０）だけずらされる。さらに、そのずらされた点（１．６，２．２）が、サブピクセル精度化され、図１１（Ａ）に●印で示すように点（１．５，２．０）とされる。そして、点（１．５，２．０）に対応するサブピクセルを含む画素の位置（１，２）に対して、図１１（Ａ）に垂直方向の点線で示すように、本来書き込むべき色情報の１／４の色情報が書き込まれる。
【００８０】
２回目の描画では、点（１．６，２．２）が、（０．５，０．０）だけずらされる。さらに、そのずらされた点（２．１，２．２）が、サブピクセル精度化され、図１１（Ｂ）に●印で示すように点（２．０，２．０）とされる。そして、点（２．０，２．０）に対応するサブピクセルを含む画素の位置（２，２）に対して、図１１（Ｂ）に水平方向の点線で示すように、本来書き込むべき色情報の１／４の色情報が重ね書きされる。
【００８１】
３回目の描画では、点（１．６，２．２）が、（０．０，０．５）だけずらされる。さらに、そのずらされた点（１．６，２．７）が、サブピクセル精度化され、図１１（Ｃ）に●印で示すように点（１．５，２．５）とされる。そして、点（１．５，２．５）に対応するサブピクセルを含む画素の位置（１，２）に対して、図１１（Ｃ）に右上がりの点線で示すように、本来書き込むべき色情報の１／４の色情報が重ね書きされる。
【００８２】
４回目の描画では、点（１．６，２．２）が、（０．５，０．５）だけずらされる。さらに、そのずらされた点（２．１，２．７）が、サブピクセル精度化され、図１１（Ｄ）に●印で示すように点（２．０，２．５）とされる。そして、点（２．０，２．５）に対応するサブピクセルを含む画素の位置（２，２）に対して、図１１（Ｄ）に左上がりの点線で示すように、本来書き込むべき色情報の１／４の色情報が重ね書きされる。
【００８３】
以上により、点（１．６，２．２）の描画結果は、図１２に点線で示すようになり、図１０と図１２とを比較して分かるように、重ね書きを行うことで、アンチエイリアシングの効果が得られる。
【００８４】
ここで、図７における場合と、図１１における場合とでは、いずれも、ずらし量として、（０．０，０．０），（０．５，０．０），（０．０，０．５），（０．５，０．５）を用いているが、４回の描画において用いるずらし量の順番が異なっている（図７では、（０．０，０．０），（０．５，０．０），（０．５，０．５），（０．０，０．５）の順で用いており、図１１では、（０．０，０．０），（０．５，０．０），（０．０，０．５），（０．５，０．５）の順で用いている）。しかしながら、このずらし量を用いる順番は、重ね書きによる画質に影響を与えるものではない。
【００８５】
また、図７における場合と、図１１における場合とでは、サブピクセルの精度が異なるが（図７では、画素の１／１６の精度であり、図１１では画素の１／４の精度である）、これも、重ね書きによる画質に影響を与えることはない（４回の重ね書きを行う場合に、サブピクセルの精度が１／４か、または１／１６かは、あくまでも、「重ね書きによる」画質の向上に影響がないのであって、重ね書きを考えなければ、サブピクセルの精度が高い方が画質は良い）。
【００８６】
なお、上述のように、重ね書き回数を４回とし、その４回の描画時におけるずらし量を、（０．０，０．０），（０．５，０．０），（０．０，０．５），（０．５，０．５）とした場合において、点（Ｘ，Ｙ）のＸまたはＹ座標が、例えば、ぞれぞれ１．５以上２．０未満または２．５以上３．０未満のときには、図１３（Ａ）に示すように、１乃至４回目の描画によって、座標（１，２），（２，２），（１，３），（２，３）で表される画素の描画がそれぞれ行われる。そして、４回の描画においては、いずれも、本来書き込むべき色情報の１／４の色情報が重ね書きされるから、いま、輝度が８ビット（０乃至２５５）で表され、点（Ｘ，Ｙ）の輝度が、最高値である２５５であるとすると、座標（１，２），（２，２），（１，３），（２，３）で表される画素の輝度は、いずれも、２５５の１／４である６４となる（但し、ここでは、小数点以下を切り上げるものとする）。
【００８７】
また、点（Ｘ，Ｙ）のＸまたはＹ座標が、例えば、ぞれぞれ１．５以上２．０未満または２．０以上２．５未満のときには、図１３（Ｂ）に示すように、１乃至４回目の描画によって、座標（１，２），（２，２），（１，２），（２，２）で表される画素の描画がそれぞれ行われる。そして、この場合においては、座標（１，２）および（２，２）で表される画素に対して、いずれも、本来書き込むべき色情報の１／４の色情報が２回ずつ重ね書きされるから、いま、輝度が８ビットで表され、点（Ｘ，Ｙ）の輝度が、最高値である２５５であるとすると、座標（１，２）および（２，２）で表される画素の輝度は、いずれも、１２８となる。即ち、上述したことから、１回の描画は、６４の輝度で行われるから、２回の描画が行われる画素の輝度は１２８（＝６４＋６４）となる。
【００８８】
さらに、点（Ｘ，Ｙ）のＸまたはＹ座標が、例えば、ぞれぞれ１．０以上１．５未満または２．５以上３．０未満のときには、図１３（Ｃ）に示すように、１乃至４回目の描画によって、座標（１，２），（１，３），（１，２），（１，３）で表される画素の描画がそれぞれ行われる。そして、この場合においては、座標（１，２）および（１，３）で表される画素に対して、いずれも、本来書き込むべき色情報の１／４の色情報が２回ずつ重ね書きされるから、いま、輝度が８ビットで表され、点（Ｘ，Ｙ）の輝度が、最高値である２５５であるとすると、座標（１，２）および（１，３）で表される画素の輝度は、図１３（Ｂ）における場合と同様に、いずれも、１２８となる。
【００８９】
また、点（Ｘ，Ｙ）のＸまたはＹ座標が、例えば、ぞれぞれ１．０以上１．５未満または２．０以上２．５未満のときには、図１３（Ｄ）に示すように、１乃至４回目の描画によって、いずれも、座標（１，２）で表される画素の描画が行われる。そして、この場合においては、座標（１，２）で表される画素に対して、いずれも、本来書き込むべき色情報の１／４の色情報が４回重ね書きされるから、いま、輝度が８ビットで表され、点（Ｘ，Ｙ）の輝度が、最高値である２５５であるとすると、座標（１，２）で表される画素の輝度は、２５５となる。即ち、上述したことから、１回の描画は、６４の輝度で行われるから、４回の描画が行われた画素の輝度は、本来ならば、２５６（＝６４＋６４＋６４＋６４）となるが、ここでは、輝度の最高値が２５５とされているため、これを越える値である２５６は、最高値である２５５にクリッピングされる。
【００９０】
以上においては、点の描画について説明したが、次に、線分の描画について説明する。
【００９１】
いま、描画対象の線分の始点または終点を、それぞれ（ｘ１，ｙ１，ｚ１）または（ｘ２，ｙ２，ｚ２）と表す。なお、この始点および終点は、透視変換（透視投影変換）後の画面座標系上の点であるとする。
【００９２】
そして、例えば、いま、重ね書き回数を４回とするとととに、図１４に示すように、１画素の横および縦を、いずれも４等分することにより、１画素について、１６個のサブピクセルが想定されているとすると、ＧＰＵ１１５は、線分の１乃至４回目の描画時における、画面座標系での描画位置のずらし量（ｄＸ，ｄＹ）を、例えば、サブピクセルの２倍（ここでは、１画素の１／２）の精度である（０．０，０．０），（０．５，０．０），（０．５，０．５），（０．０，０．５）にそれぞれ設定する。
【００９３】
その後、ＣＰＵ１１５は、そのずらし量（ｄＸ，ｄＹ）にしたがって、描画位置をずらして、線分の描画を行う。
【００９４】
即ち、１回目の描画においては、ＧＰＵ１１５は、始点（ｘ１，ｙ１，ｚ１）および（ｘ２，ｙ２，ｚ２）を、いずれも、（０．０，０．０）だけずらし、さらに、後述するＤＤＡ（Digital Differntial Analize）演算によって、ずらした始点と終点との間を補間する、サブピクセル精度の点と、その点における色情報等を求める。そして、そのサブピクセル精度の点の集合を、点（Ｘ１ｓ，Ｙ１ｓ，Ｚ１ｓ）乃至（Ｘｎｓ，Ｙｎｓ，Ｚｎｓ）と表すと、それらの点（Ｘ１ｓ，Ｙ１ｓ，Ｚ１ｓ）乃至（Ｘｎｓ，Ｙｎｓ，Ｚｎｓ）に対応するサブピクセルを含む画素の位置に、色情報（上述したように、本来の色情報の１／４の色情報）が書き込まれる。
【００９５】
なお、ここでは、例えば、線分を構成するサブピクセル精度の点に対応するサブピクセルを、２以上含む画素が描画の対象とされ、さらに、描画対象の画素には、色情報として、例えば、その画素に含まれるサブピクセルの色情報の平均値（の１／４）が書き込まれる。
【００９６】
２乃至４回目の描画も、ずらし量が、それぞれ（０．５，０．０），（０．５，０．５），（０．０，０．５）とされることを除けば、１回目の描画における場合と同様に行われる。
【００９７】
ここで、いま、描画対象の線分の始点または終点が、例えば、それぞれ点（１．６，１．３，ｚ１）または点（４．６，４．３，ｚ２）であったとすると、１回目の描画では、図１４（Ａ）に垂直方向の点線で示す部分の画素の描画が、２回目の描画では、図１４（Ｂ）に水平方向の点線で示す部分の画素の描画が、３回目の描画では、図１４（Ｃ）に右上がりの点線で示す部分の画素の描画が、４回目の描画では、図１４（Ｄ）に左上がりの点線で示す部分の画素の描画が、それぞれ行われる。その結果、線分の描画結果は、図１５に点線で示すようになる。
【００９８】
次に、図１４および図１５では、１画素について、１６個のサブピクセルを想定したが、その他、例えば、図１６に示すように、１画素の横および縦を、いずれも２等分することにより、１画素について、４個のサブピクセルを想定した場合でも、同様の重ね書きが可能である。
【００９９】
即ち、例えば、上述した場合と同様に、４回の重ね書きで、点（１．６，１．３，ｚ１）または点（４．６，４．３，ｚ２）をそれぞれ始点または終点とする線分を描画するときに、１乃至４回目の描画時における、画面座標系での描画位置のずらし量（ｄＸ，ｄＹ）として、例えば、サブピクセルの精度（ここでは、１画素の１／２の精度）である（０．０，０．０），（０．５，０．０），（０．０，０．５），（０．５，０．５）がそれぞれ設定されたとすると、１回目の描画では、図１６（Ａ）に垂直方向の点線で示す部分の画素の描画が、２回目の描画では、図１６（Ｂ）に水平方向の点線で示す部分の画素の描画が、３回目の描画では、図１６（Ｃ）に右上がりの点線で示す部分の画素の描画が、４回目の描画では、図１６（Ｄ）に左上がりの点線で示す部分の画素の描画が、それぞれ行われる。
【０１００】
なお、ここでは、例えば、線分を構成するサブピクセル精度の点に対応するサブピクセルを、１以上含む画素が描画の対象とされ、さらに、そのようなサブピクセルを複数含む画素には、色情報として、例えば、その画素に含まれるサブピクセルの色情報の平均値（の１／４）が書き込まれるようになされている。
【０１０１】
以上のような重ね書きによる線分の描画結果は、図１７（Ａ）に点線で示すようになる。
【０１０２】
これに対して、同様の線分の描画を、１回の描画で行った場合、その描画結果は、図１７（Ｂ）に斜線で示すようになる。図１７から明らかなように、重ね書きを行うことで、エイリアシングは低減される。
【０１０３】
次に、図１８のフローチャートを参照して、図５のゲーム機本体２において行われるポリゴンの描画処理について、さらに説明する。なお、ここでは、ポリゴンの描画に必要な、その形状に関するデータや、光源に関するデータなどは、例えば、メインＣＰＵ１１１によって、既に、ＣＤ−ＲＯＭ５１から読み出され、メインメモリ１１２に記憶されているものとする。
【０１０４】
描画処理では、まず最初に、ステップＳ１において、メインＣＰＵ１１１は、例えば、１フレームの３次元画像を構成するポリゴンを描画するためのデータを、メインバス１０１を介して、メインメモリ１１２から読み出し、ＧＴＥ１１１に供給する。ＧＴＥ１１１では、ステップＳ２において、３次元空間上の各ポリゴンに対して、視点に基づき、ジオメトリ処理が施され、さらに、ジオメトリ処理後のデータが透視変換される。ここで、視点は、例えば、ユーザが、操作装置１７（図１）を操作することにより与えられる。
【０１０５】
その後、ステップＳ３に進み、メインＣＰＵ１１１において、透視変換後の画面座標系におけるポリゴンについて、輝度計算やテクスチャアドレスの計算が行われることにより、ポリゴンデータが求められ、メインバス１０１を介して、ＧＰＵ１１５に供給される。
【０１０６】
ここで、ポリゴンデータとしては、例えば、Ｘ，Ｙ，Ｚ，Ｒ，Ｇ，Ｂ，α，Ｓ，Ｔ，Ｑ，Ｆなどがある。
【０１０７】
ポリゴンデータＸ，Ｙ，Ｚ，Ｒ，Ｇ，Ｂ，α，Ｓ，Ｔ，Ｑのうち、Ｘ，Ｙ，Ｚは、３角形のポリゴンの３頂点それぞれのＸ，Ｙ，Ｚ座標をそれぞれ表し、Ｒ，Ｇ，Ｂは、その３頂点それぞれにおける赤（Red）、緑（Green）、青（Blue）の輝度値を表している。
【０１０８】
αは、これから描画しようとする画素のＲＧＢ値と、既に描画されている画素のＲＧＢ値とをαブレンディングする場合の、そのブレンドの割合を表すブレンド（Blend）係数を表している。なお、αは、例えば、０以上１以下の実数で、これから描画しようとしている画素の画素値（ＲＧＢ値）をＦcとするとともに、既に描画されている画素の画素値をＢcとするとき、これらのαブレンディング結果としての画素値Ｃcは、例えば、次式により与えられる。
Ｃc＝αＦc＋（１−α）Ｂc
【０１０９】
Ｓ，Ｔ，Ｑは、３角形のポリゴンの３頂点それぞれにおけるテクスチャ座標（テクスチャについての同次座標）を表す。即ち、ここでは、テクスチャマッピング（texture mapping）によって、物体の表面に模様（テクスチャ）が付されるようになされており、Ｓ，Ｔ，Ｑは、このテクスチャマッピングにおいて用いられる。なお、Ｓ／Ｑ，Ｔ／Ｑそれぞれに、テクスチャサイズ（Texture Size）を乗じた値がテクスチャアドレスとなる。
【０１１０】
Ｆは、これから描画しようとしている画素をぼやけさせる場合のそのぼやけの程度を表すフォグ（fog）値で、例えば、この値が大きいほど、ぼやけて表示される。
【０１１１】
ポリゴンデータが求められた後は、ステップＳ４に進み、メインＣＰＵ１１１において、１フレームの描画時間が推定される。即ち、メインＣＰＵ１１１は、ステップＳ１でデータを読み出したポリゴンの数、即ち、１フレームに描画するポリゴンの数から、その１フレームの描画を、例えば、１回だけ行うのに要する描画時間を推定する。そして、メインＣＰＵ１１１は、ステップＳ５において、ステップＳ４で推定した描画時間に基づき、重ね書き回数Ｎを決定し、メインバス１０１を介して、ＧＰＵ１１５に供給する。
【０１１２】
ここで、重ね書きの回数は、図７乃至図１７における場合には、４回として、固定の値としたが、重ね書きの回数を、固定の値とすると、１フレームを構成するポリゴンの数が膨大な数のときには、１フレームの時間で、描画が終了せず、処理が破綻してしまうことがある。一方、ＲＧＢ値のダイナミックレンジや、サブピクセルの精度を考慮しなければ、重ね書きの回数は多いほど、解像度を向上させることができる。そこで、本実施の形態では、処理が破綻しない範囲で（ここでは、フレームレートを維持することができる範囲で）、できるだけ多くの回数の重ね書きを行うことができるように、１フレームの描画時間に基づいて、重ね書き回数Ｎが、適応的に決定されるようになされている。
【０１１３】
但し、１フレームを構成するポリゴンの数が限定されている場合などにおいては、重ね書きの回数は、処理が破綻することがないような固定値にしても良い。なお、重ね書きによる画質の向上という効果は、理論的には、１画素を構成するサブピクセルの数と同一の回数だけ重ね書きを行う場合に最大となり、その回数より多い回数の重ね書きを行っても、それ以上の効果は得られない。従って、装置の処理能力が十分であり、重ね書きの回数を、１画素を構成するサブピクセルの数以上としても、処理が破綻しない場合においては、重ね書きの回数は、いわば無駄な処理をせずに済むように、１画素を構成するサブピクセルの数と同一とするのが望ましい。同様の理由から、重ね書き回数を、上述のように、適応的に決定する場合も、その回数が、１画素を構成するサブピクセルの数よりも多くなったときには、１画素を構成するサブピクセルの数に制限するのが望ましい。
【０１１４】
重ね書き回数Ｎが決定されると、ステップＳ６に進み、メインＣＰＵ１１１において、その重ね書き回数Ｎだけ描画を行う場合の、各描画時に用いるずらし量（ｄＸ，ｄＹ）が設定され、メインバス１０１を介して、ＧＰＵ１１５に供給される。なお、ずらし量は、サブピクセルの精度以上とし、かつ１画素の精度より小さくするのが望ましい。
【０１１５】
ＧＰＵ１１５は、以上のようにしてメインＣＰＵ１１１から供給される１フレーム分のポリゴンデータ、重ね書き回数Ｎ、およびその重ね書き回数分のずらし量を受信すると、ステップＳ７において、Ｚソートを行うことにより、１フレームを構成するポリゴンを、その奥行き方向順に並べ替える。ここで、Ｚソートについては、例えば、特開平７−１１４６５４号公報などに、その詳細が開示されている。
【０１１６】
そして、ＧＰＵ１１５は、ステップＳ８において、フレームバッファ１４１を、例えば、０にクリアし、ステップＳ９に進み、描画回数をカウントする変数ｎを、例えば、１に初期化する。そして、ステップＳ１０に進み、ＧＰＵ１１５は、各ポリゴンのｎ回目の描画に用いるずらし量を、その動きに基づいて補正する。
【０１１７】
ここで、ポリゴンデータには、上述したデータの他、ポリゴンの動きベクトルも含まれている。いま、あるポリゴンの動きベクトルが、（ｖｘ，ｖｙ）であり、そのポリゴンのｎ回目の描画に用いるずらし量として、（ｄＸｎ，ｄＹｎ）が設定されているとした場合、ずらし量（ｄＸｎ，ｄＹｎ）は、例えば、（ｄＸｎ＋ｖｘ／Ｎ，ｄＹｎ＋ｖｙ／Ｎ）に補正される。ずらし量を、このように補正して描画を行うことで、モーションブラーの効果を得ることができる。
【０１１８】
ずらし量の補正後は、ステップＳ１１に進み、ＧＰＵ１１５は、その補正されたずらし量だけ、各ポリゴンの頂点の座標をずらし、ステップＳ１２に進む。ステップＳ１２では、ＧＰＵ１１５において、Ｚバッファ１４２が、例えば、＋∞に初期化され（ここでは、Ｚ値が、画面の奥側ほど大きくなるとする）、ステップＳ１３に進む。ステップＳ１３では、ポリゴンの頂点の座標が、サブピクセル精度化され、さらに、サブピクセル精度でＤＤＡ演算が行われることにより、ポリゴンの辺および内部を構成するサブピクセルのＲＧＢ値等が求められる。
【０１１９】
ここで、ＤＤＡ演算とは、２点間において、線型補間により、その２点間を結ぶ線分を構成する画素についての各値（ＲＧＢ値など）を求める演算である。即ち、例えば、２点のうちの一方を始点とするとともに、他方を終点とし、その始点および終点に、ある値が与えられているとき、終点に与えられている値と、始点に与えられている値との差分を、その始点と終点との間にある画素数で除算することで、始点および終点に与えられている値の変化分（変化の割合）が求められ、これを、始点から終点の方向に進むにつれて、始点に与えられている値に順次加算（積算）することで、始点と終点との間にある各画素における値が求められる。
【０１２０】
例えば、３角形のポリゴンについては、その３頂点として、サブピクセルｐ１，ｐ２，ｐ３が与えられているとするとき、サブピクセルｐ１とｐ２、サブピクセルｐ２とｐ３、およびサブピクセルｐ１とｐ３に対して、このようなＤＤＡ演算が、サブピクセル精度で施され、これにより、ポリゴンの３辺上にあるサブピクセルについてのポリゴンデータＺ，Ｒ，Ｇ，Ｂ，α，Ｓ，Ｔ，Ｑが、さらには、そのポリゴン内部にあるサブピクセルについてのポリゴンデータＺ，Ｒ，Ｇ，Ｂ，α，Ｓ，Ｔ，Ｑが、Ｘ，Ｙ座標を変数として求められる。
【０１２１】
そして、ステップＳ１４に進み、ＧＰＵ１１５において、Ｚバッファ１４２を用いて、フレームバッファ１４１に、ポリゴンを構成する画素のＲＧＢ値を書き込む重ね書き処理が行われる。
【０１２２】
ここで、ステップＳ１４においてフレームバッファ１４１に書き込まれる最終的なＲＧＢ値は、ＧＰＵ１１５において、例えば、次のようにして求められるようになされている。
【０１２３】
即ち、ＧＰＵ１１５は、ＤＤＡ演算結果である、ポリゴンを構成する各サブピクセルについてのポリゴンデータＸ，Ｙ，Ｚ，Ｒ，Ｇ，Ｂ，α，Ｓ，Ｔ，Ｑに基づいてテクスチャマッピングを行う。具体的には、ＣＰＵ１１５は、例えば、Ｓ，ＴそれぞれをＱで除算することにより、テクスチャアドレスＵ（  Ｓ／Ｑ），Ｖ（  Ｔ／Ｑ）を算出し、必要に応じて各種のフィルタリング処理を行うことで、各サブピクセルのＸ，Ｙ座標におけるテクスチャの色を算出する。即ち、ＧＰＵ１１５は、テクスチャメモリ１４３から、テクスチャアドレスＵ，Ｖに対応するテクスチャデータ（Texture Color Data）を読み出す。さらに、ＧＰＵ１１５は、このテクスチャデータとしてのＲＧＢ値と、ＤＤＡ演算結果としてのＲＧＢ値とに各種のフィルタリング（Filtering）処理を施し、即ち、例えば、両者を所定の割合で混合し、さらに、あらかじめ設定された色を、フォグ値Ｆにしたがって混合し、ポリゴンを構成する各サブピクセルの最終的なＲＧＢ値を算出する。
【０１２４】
ステップＳ１４では、以上のようにして求められたＲＧＢ値が、フレームバッファ１４１に書き込まれる。
【０１２５】
なお、フレームバッファ１４１への書き込みは、原則として、ステップＳ７におけるＺソートによって奥行き方向に並べ替えられたポリゴンについて、視点に近いものから順に行われる。この理由については、後述する。
【０１２６】
また、１画素を構成するサブピクセルのうちの１つだけが、描画の対象となっている場合においては、そのサブピクセルのＲＧＢ値が、フレームバッファ１４１の、そのサブピクセルを含む画素に対応するアドレスに書き込まれるが、１画素を構成するサブピクセルのうちの複数が、描画の対象となっている場合においては、その複数のサブピクセルのＲＧＢ値の、例えば平均値などが書き込まれる。
【０１２７】
ステップＳ１４において、フレームバッファ１４１への、１フレーム分のＲＧＢ値の書き込みが終了すると、ステップＳ１５に進み、変数ｎが、重ね書き回数Ｎより大きいかどうかが判定され、大きくないと判定された場合、ステップＳ１６に進み、変数ｎが１だけインクリメントされ、ステップＳ１０に戻る。そして、ステップＳ１０において、ＧＰＵ１１５は、各ポリゴンのｎ回目の描画に用いるずらし量を、その動きに基づいて補正し、以下、ステップＳ１５において、変数ｎが重ね書き回数Ｎよりも大きいと判定されるまで、ステップＳ１０乃至Ｓ１６の処理が繰り返される。これにより、重ね書きが行われる。
【０１２８】
一方、ステップＳ１５において、変数ｎが重ね書き回数Ｎよりも大きいと判定された場合、即ち、１フレームについて、Ｎ回の重ね書きを行った場合、ＧＰＵ１１５は、フレームバッファ１４１に記憶された１フレーム分のＲＧＢ値を読み出して、ディスプレイに出力し、ステップＳ１に戻る。そして、ステップＳ１において、メインＣＰＵ１１１は、次の１フレームの３次元画像を構成するポリゴンを描画するためのデータを、メインバス１０１を介して、メインメモリ１１２から読み出し、以下、同様の処理が繰り返され、これにより、動画の表示がなされる。
【０１２９】
次に、フレームバッファ１４１への書き込みは、上述したように、Ｚソートによって奥行き方向に並べ替えられたポリゴンについて、視点に近いものから順に行われるが、これは、フレームバッファ１４１へのＲＧＢ値の書き込みが、後述するように、フレームバッファ１４１に既に書き込まれているＲＧＢ値に加算されることで重ね書きされることに起因する。
【０１３０】
即ち、いま、図１９（Ａ）に示すように、フレームバッファ１４１に、例えば、ポリゴンＡおよびＢを含むフレームＣの書き込みが、既にされており、そのような状態のフレームバッファ１４１に対して、さらに、ポリゴンＡおよびＢからなるフレームＣを重ね書きすることを考える。なお、ポリゴンＡは、ポリゴンＢより奥側に位置し、ポリゴンＡとＢとは、その一部が互いに重なり合っているものとする。
【０１３１】
この場合、Ｚバッファ１４２は、図１８のフローチャートで説明したように、ステップＳ１４で重ね書き処理が行われる前に、ステップＳ１２でクリアされるため、フレームバッファ１４１に、フレームＣの全体が書き込まれた後は、Ｚバッファ１４２は、図１９（Ｂ）に示すように、Ｚ値として、無限遠（最も奥側）に対応する値が書き込まれた状態となっている。
【０１３２】
そして、いま、ポリゴンＡまたはＢのうちの、例えば、奥側にあるポリゴンＢを先に書き込み、その後に、手前側にあるポリゴンＡを書き込むとすると、ポリゴンＢの描画時においては、Ｚバッファ１４２に記憶されたＺ値は、無限遠を表しているから、ポリゴンＢを、Ｚバッファ１４２を用いて描画することにより、即ち、ポリゴンＢのＲＧＢ値が、既にフレームバッファ１４１に記憶されているＲＧＢ値に加算されることにより、図２０（Ａ）に示すように、既にフレームバッファ１４１に描画されているフレームＣの、ポリゴンＢの部分が重ね書きされる。この場合、Ｚバッファ１４２の、ポリゴンＢに対応する部分には、ポリゴンＢのＺ値が書き込まれる。
【０１３３】
その後、ポリゴンＡを、Ｚバッファ１４２を用いて、フレームバッファ１４１に書き込むと、ポリゴンＢよりも手前にあるポリゴンＡの描画は、Ｚバッファ１４２によっては妨げられず、従って、ポリゴンＡは、その全体が、フレームバッファ１４１に書き込まれる。即ち、ポリゴンＢのＲＧＢ値は、すべて、既にフレームバッファ１４１に記憶されているＲＧＢ値に加算される。その結果、ポリゴンＡとＢとの重なり部分（図２０において影を付してある部分）については、本来は、ポリゴンＡのみが描画されるべきであるのにもかかわらず、ポリゴンＢの描画による影響が生じる。
【０１３４】
以上のように、重ね書きを行う（ポリゴンのＲＧＢ値を、既にフレームバッファ１４１に書き込まれているＲＧＢ値に加算する）場合には、手前にあるポリゴンよりも、奥側にあるポリゴンを先に描画すると、それらの重なり部分に、奥側にあるポリゴンの影響が生じ、本来、手前にあるポリゴンによって隠面消去されるはずの奥側にあるポリゴンが見えるようになる。
【０１３５】
そこで、このような隠面消去が行われないのを防止するため、図１８で説明したように、本実施の形態では、ポリゴンの描画は、Ｚソートによって奥行き方向に並べ替えられたポリゴンについて、視点に近いものから順に行われるようになされている。
【０１３６】
即ち、例えば、上述の場合においては、ポリゴンＡまたはＢのうちの、手前側にあるポリゴンＡが先に書き込まれ、その後に、奥側にあるポリゴンＢが書き込まれる。この場合、ポリゴンＡの描画時においては、Ｚバッファ１４２に記憶されたＺ値は、無限遠を表しているから、ポリゴンＡを、Ｚバッファ１４２を用いて描画することにより、即ち、ポリゴンＡのＲＧＢ値が、既にフレームバッファ１４１に記憶されているＲＧＢ値に加算されることにより、図２１（Ａ）に示すように、既にフレームバッファ１４１に描画されているフレームＣの、ポリゴンＡの部分が重ね書きされる。この場合、Ｚバッファ１４２の、ポリゴンＡに対応する部分には、ポリゴンＡのＺ値が書き込まれる。
【０１３７】
その後、ポリゴンＢを、Ｚバッファ１４２を用いて、フレームバッファ１４１に書き込むと、ポリゴンＡよりも奥前にあるポリゴンＢの描画は、ポリゴンＡとの重なり部分については、Ｚバッファ４２によって妨げられ、従って、ポリゴンＢの、ポリゴンＡと重ならない部分はフレームバッファ１４１に重ね書きされるが、ポリゴンＡと重なる部分はフレームバッファ１４１に重ね書きされない（描画されない）。その結果、ポリゴンＡとＢとの重なり部分については、手前側にあるポリゴンＡのみが描画され、ポリゴンＢの影響が生じることを防止することができる。即ち、隠面消去を確実に行うことができる。
【０１３８】
なお、重ね書きを行う場合の隠面消去は、以上のようなＺソートとＺバッファ１４２との組み合わせによって行う他、フレームバッファ１４１と同様のバッファ（以下、適宜、第２フレームバッファという）を設けて行うことも可能である。即ち、第２フレームバッファに対して、Ｚバッファ１４２を用いて描画を行い、その第２フレームバッファの描画結果を、フレームバッファ１４１に重ね書きするようにすれば良い。但し、この場合、Ｚソートを行う必要はなくなるが、フレームバッファ１４１と同容量の第２フレームバッファを設ける必要がある。
【０１３９】
また、ＺソートとＺバッファ１４２との組み合わせは、重ね書きを行う場合の隠面消去の他、例えば、半透明のポリゴンの描画を行う場合や、影の描画を行う場合などの、αブレンディングを伴う描画を行う場合において、自然な映像を生成するのに利用することができる（例えば、ＺソートとＺバッファとの組み合わせを利用した半透明のポリゴンの描画については、本件出願人が先に提案した特願平８−１５８１４５号などに開示されている）。但し、ＺソートとＺバッファとの組み合わせを利用した処理は、重ね書きの際の隠面消去を行う場合や、半透明のポリゴンの描画を行う場合などでそれぞれ異なるため、処理アルゴリズムは、場合に応じて切り替える必要がある。
【０１４０】
次に、図２２のフローチャートを参照して、図１８のステップＳ１４における重ね書き処理の詳細について説明する。なお、ここでは、説明を簡単にするために、サブピクセルのことは考えず、既に、画素単位に、Ｚ値やＲＧＢ値が与えられているものとする。また、左からｘ番目で、上からｙ番目の位置の画素を、ｐ（ｘ，ｙ）と表すとともに、その画素ｐ（ｘ，ｙ）のＺ値をＺ（ｘ，ｙ）と、Ｚバッファ１４２に記憶されている、画素ｐ（ｘ，ｙ）に対応する記憶値をｄｅｐｔｈ（ｘ，ｙ）と、それぞれ表す。さらに、フレームバッファ１４１の、画素ｐ（ｘ，ｙ）に対応する位置の記憶値をｎ（ｘ，ｙ）と表す。
【０１４１】
重ね書き処理では、まず最初に、ステップＳ２１において、いま描画対象となっているフレームを構成する画素のうちの所定の画素ｐ（ｘ，ｙ）が注目画素とされ、その注目画素ｐ（ｘ，ｙ）のＺ値Ｚ（ｘ，ｙ）が、Ｚバッファ１４２の記憶値ｄｅｐｔｈ（ｘ，ｙ）以下であるかどうかが判定される。ステップＳ２１において、Ｚ値Ｚ（ｘ，ｙ）が、記憶値ｄｅｐｔｈ（ｘ，ｙ）以下でないと判定された場合、即ち、注目画素ｐ（ｘ，ｙ）を含んで構成されるポリゴンよりも手前にあるポリゴンが存在し、既にフレームバッファ１４１に書き込まれている場合、ステップＳ２１に戻り、まだ、注目画素とされていない画素が、新たに注目画素とされ、以下、同様の処理を繰り返す。
【０１４２】
また、ステップＳ２１において、Ｚ値Ｚ（ｘ，ｙ）が、記憶値ｄｅｐｔｈ（ｘ，ｙ）以下であると判定された場合、ステップＳ２２に進み、輝度減少処理が行われる。即ち、注目画素ｐ（ｘ，ｙ）のＲＧＢ値をＭ（ｘ，ｙ）とするとき、ＲＧＢ値Ｍ（ｘ，ｙ）が、重ね書き回数Ｎで除算され、その除算値（但し、ここでは、小数点以下切り捨てとする）が、重ね書きすべきＲＧＢ値ｍ（ｘ，ｙ）として求められる。
【０１４３】
なお、ｘ／ｙ以下の最大の整数を、ＩＮＴ［ｘ／ｙ］と表すこととすると、輝度減少処理では、式ｍ（ｘ，ｙ）＝ＩＮＴ［Ｍ（ｘ，ｙ）／Ｎ］で示される演算が行われることになる。
【０１４４】
ここで、Ｍ（ｘ，ｙ）／Ｎが整数になる場合は問題がないが、小数点以下を含む場合には、輝度の低下が生じる。即ち、例えば、輝度値の最高値が２５５である場合に、その最高値である２５５の輝度値の描画を、４回の重ね書きによって行うことを考えると、輝度減少処理により、１回あたりの描画の輝度値は、６３（＝ＩＮＴ［２５５／４］）になる。従って、６３の輝度値の描画を４回行っても、即ち、６３を４回加算しても、２５２にしかならず、元の輝度値である２５５よりも低下する。
【０１４５】
そこで、輝度減少処理により得られる値ＩＮＴ［Ｍ（ｘ，ｙ）／Ｎ］のＮ倍が、元のＲＧＢ値Ｍ（ｘ，ｙ）より小さい場合においては、値ＩＮＴ［Ｍ（ｘ，ｙ）／Ｎ］に、所定の補正値Ｄを加算した値を、重ね書きすべきＲＧＢ値ｍ（ｘ，ｙ）とするようにすることができる。
【０１４６】
補正値Ｄは、この補正値Ｄを、値ＩＮＴ［Ｍ（ｘ，ｙ）／Ｎ］に加算した加算値のＮ倍が、元のＲＧＢ値Ｍ（ｘ，ｙ）以上となるような値にする必要がある。具体的には、上述したように、最高値である２５５の輝度値の描画を、４回の重ね書きによって行う場合においては、補正値Ｄは、例えば、１とされる。この場合、１回あたりの描画の輝度値は、６４（＝６３＋１）となり、６４の輝度値の描画を４回行った場合には、２５６となる。なお、ここでは、輝度値の最高値は２５５であり、これを越える値は、最高値である２５５にクリップされるものとする。
【０１４７】
輝度減少処理の後は、ステップＳ２３において、フレームバッファ１４１から、注目画素ｐ（ｘ，ｙ）に対応する記憶値ｎ（ｘ，ｙ）が読み出され、ステップＳ２４に進み、輝度減少処理後のＲＧＢ値ｍ（ｘ，ｙ）と加算されることにより重ね書きされる。ここで、この加算結果を、ｖ（ｘ，ｙ）と表す。
【０１４８】
ステップＳ２４における加算結果、即ち、重ね書き結果ｖ（ｘ，ｙ）は、ステップＳ２５において、フレームバッファ１４１の、ｎ（ｘ，ｙ）が記憶されていた位置（注目画素ｐ（ｘ，ｙ）に対応する位置）に上書きされる。なお、このｖ（ｘ，ｙ）が、次に、画素ｐ（ｘ，ｙ）の描画が行われるときに、記憶値ｎ（ｘ，ｙ）として読み出されることになる。
【０１４９】
さらに、ステップＳ２５では、Ｚバッファ１４２の記憶値ｄｅｐｔｈ（ｘ，ｙ）が、Ｚ値Ｚ（ｘ，ｙ）に書き換えられ、ステップＳ２６に進み、描画対象のフレームを構成するすべての画素を、注目画素として処理を行ったかどうかが判定される。ステップＳ２６において、描画対象のフレームを構成するすべての画素を、まだ、注目画素としていないと判定された場合、ステップＳ２１に戻り、まだ、注目画素としていない画素を、新たに注目画素として、以下、同様の処理を繰り返す。
【０１５０】
一方、ステップＳ２６において、描画対象のフレームを構成するすべての画素を、注目画素としたと判定された場合、リターンする。
【０１５１】
ここで、輝度減少処理は、αブレンディングを利用して行うことも可能である。即ち、ｍ（ｘ，ｙ）は、ブレンド係数αを、１／Ｎに設定し、式ｍ（ｘ，ｙ）＝ＩＮＴ［α×Ｍ（ｘ，ｙ）］を演算することで求めることも可能である。即ち、いま、ブレンド係数αが、１．０を、例えば、１２８（＝２7）に対応させて、式α＝Α→７で実現されているものとする。なお、Αは０乃至１２８の範囲の整数を表し、Α→７は、Αの７ビット右シフトを表す。
【０１５２】
この場合、例えば、上述のように、最高値である２５５の輝度値の描画を、４回の重ね書きによって行うには、Αを、１／４に対応する３２として、式ｍ（ｘ，ｙ）＝ＩＮＴ［α×Ｍ（ｘ，ｙ）］を演算すれば良い。
【０１５３】
但し、この場合でも、上述した場合と同様に、輝度の低下が生じることがある。即ち、最高値である２５５の輝度値の描画を、４回の重ね書きによって行う場合において、Αを、１／４に対応する３２として、式ｍ（ｘ，ｙ）＝ＩＮＴ［α×Ｍ（ｘ，ｙ）］を演算すると、その値ｍ（ｘ，ｙ）は、６３（＝ＩＮＴ［（２５５×３２）→７］）となり、６３の輝度値の描画を４回行っても（６３を４回加算しても）、２５２にしかならず、元の輝度値である２５５よりも低下する。
【０１５４】
そこで、ＩＮＴ［α×Ｍ（ｘ，ｙ）］のＮ倍が、元のＲＧＢ値Ｍ（ｘ，ｙ）より小さい場合においては、ＩＮＴ［α×Ｍ（ｘ，ｙ）］のＮ倍が、元のＲＧＢ値Ｍ（ｘ，ｙ）以上となるように、Αを補正するようにする。具体的には、Αを、１／４に対応する３２に対して、例えば、１を加算した３３に補正すればよい。この場合、１回あたりの描画の輝度値は、６５（＝ＩＮＴ［（２５５×３３）→７］）となり、６５の輝度値の描画を４回行った場合には、２６０となる。なお、上述したように、輝度値の最高値である２５５を越える値は、最高値である２５５にクリップされるものとする。
【０１５５】
以上のように、各画素のＲＧＢ値をフレームバッファ１４１に描画するときの描画位置を、１画素より細かい精度でずらすための複数のずらし量を設定し、その複数のずらし量に対応する、フレームバッファ１４１の位置それぞれに、ＲＧＢ値を描画することにより、画像を重ね書きするようにしたので、大容量かつ高速なフレームバッファやＺバッファを用いなくても、効果的なアンチエイリアシングを施すことができる。
【０１５６】
即ち、以上のような重ね書きによるアンチエイリアシングの効果は、ポリゴンのエッジ部分だけでなく、その内部や、３次元形状どうしが交わっている部分などにも及ぶので、直線に生じるジャギーの低減は勿論のこと、画像全体の画質を向上させることができる。
【０１５７】
また、動きのあるポリゴンには、モーションブラーの効果を与えることができるので、ちらつきのないスムーズな動画像を表示することが可能となる。
【０１５８】
以上、本発明を、ビデオゲーム機に適用した場合について説明したが、本発明は、その他、画像に特殊効果を与えるエフェクタや、ＣＡＤなどのコンピュータグラフィックス処理を行う装置に適用可能である。さらに、本発明は、例えば、ビデオカメラなどで撮影した自然画を符号化して記録再生し、または送受信する記録再生装置または伝送装置などにも適用可能である。即ち、将来、ビデオカメラなどで撮影した自然画を、ポリゴンで表現するような符号化を行った場合において、その再生をするときに、本発明による手法を用いることで、高画質の自然画を再生することが可能となる。
【０１５９】
なお、本実施の形態では、描画処理を、フレーム単位で行うようにしたが、描画処理は、フィールド単位で行うようにしても良い。
【０１６０】
また、本発明は、動画像および静止画像のいずれの描画にも適用可能である。
【０１６１】
さらに、本実施の形態では、３次元グラフィックスの描画について説明したが、本発明は、その他、例えば、２次元グラフィックスの描画にも適用可能である。
【０１６２】
また、ずらし量は、サブピクセル精度に限られるものではなく、それよりも大きくても、あるいは小さくても良い。
【０１６３】
さらに、本実施の形態では、上述のような描画処理を行うコンピュータプログラムを、ＣＤ−ＲＯＭ５１に記録して提供するようにしたが、コンピュータプログラムの提供は、ＣＤ−ＲＯＭや光磁気ディスクその他の記録媒体によって行う他、例えば、インターネットや衛星回線その他の伝送媒体によって行うことも可能である。
【０１６４】
また、描画処理は、コンピュータプログラムをプロセッサに実行させることにより行う他、それ専用のハードウェアに行わせることも可能である。
【０１６５】
さらに、本実施の形態では、３次元画像を、ディスプレイに表示するようにしたが、本発明は、その他、例えば、３次元画像をプリンタ（２次元出力装置）によって印刷する場合などにも適用可能である。
【０１６６】
また、本実施の形態では、１フレームの画像の描画を、Ｘ方向およびＹ方向の両方にずらして行うようにしたが、いずれか一方向にのみずらすようにすることも可能である。即ち、ずらし量（ｄＸ，ｄＹ）は、例えば、（０．０，−０．２），（０．０，−０．１），（０．０，０．１），（０．０，０．２）などとすることも可能である。
【０１６７】
さらに、ずらし量（ｄＸ，ｄＹ）は、例えば、重ね書き回数ごとに、あらかじめ決めておくことが可能である。
【０１６８】
なお、上述したように、重ね書きの回数は、多いほど解像度を向上させることができるが、重ね書きの回数が多くなるのに伴い、輝度減少処理により、１回に描画されるＲＧＢ値を表現するビット数が少なくなるため、画像の階調が悪化する。従って、重ね書きの回数は、解像度の観点からだけでなく、階調も考慮して決めるのが望ましい。
【０１６９】
【発明の効果】
本発明の描画装置および描画方法によれば、画素データを、画素データ記憶手段に描画するときの描画位置を、１画素より細かい精度でずらすための複数のずらし量が設定され、その複数のずらし量に対応する、画素データ記憶手段の位置それぞれに、画素データを描画することにより、画像が重ね書きされる。また、本発明の提供媒体によれば、画素データを、メモリに描画するときの描画位置を、１画素より細かい精度でずらすための複数のずらし量を設定し、その複数のずらし量に対応する、メモリの位置それぞれに、画素データを描画することにより、画像を重ね書きするコンピュータプログラムが提供される。従って、画像に生じるエイリアシングを低減することが可能となる。
【図面の簡単な説明】
【図１】本発明を適用したビデオゲーム機の一実施の形態の構成例を示す平面図である。
【図２】図１のビデオゲーム機の正面図である。
【図３】図１のビデオゲーム機の側面図である。
【図４】ＣＤ−ＲＯＭ５１を示す平面図である。
【図５】図１のゲーム機本体２の電気的構成例を示すブロック図である。
【図６】図５のグラフィックメモリ１１８の詳細構成例を示すブロック図である。
【図７】点の重ね書きを説明するための図である。
【図８】点の重ね書き結果を示す図である。
【図９】２×２のサブピクセルで構成される画素を示す図である。
【図１０】点を、重ね書きせずに、１回で描画したときの描画結果を示す図である。
【図１１】点の重ね書きを説明するための図である。
【図１２】点の重ね書き結果を示す図である。
【図１３】描画対象の点の位置と、重ね書き結果との関係を説明するための図である。
【図１４】直線の重ね書きを説明するための図である。
【図１５】直線の重ね書き結果を示す図である。
【図１６】直線の重ね書きを説明するための図である。
【図１７】直線の重ね書き結果を示す図である。
【図１８】図５のゲーム機本体２におけるポリゴンの描画処理を説明するためのフローチャートである。
【図１９】視点に近いポリゴンから順に、描画を行う理由を説明するための図である。
【図２０】視点に遠いポリゴンから順に、描画を行った場合を説明するための図である。
【図２１】視点に近いポリゴンから順に、描画を行った場合を説明するための図である。
【図２２】図１８のステップＳ１４の処理のより詳細を説明するためのフローチャートである。
【符号の説明】
２  ゲーム機本体，  ３  ディスク装着部，  ４  リセットスイッチ，  ５  電源スイッチ，  ６  ディスク操作スイッチ，  ７Ａ，７Ｂ  接続部，  ８  記録挿入部，  ９  シャッタ，  １２  接続端子挿入部，  １７  操作装置，  １８，１９  操作部，  ２０，２１  支持部，  ２２  セレクトスイッチ，  ２３スタートスイッチ，  ２４，２５  操作部，  ２６  接続端子部，  ２７  ケーブル，  ３８  記録装置，  ５１  ＣＤ−ＲＯＭ，  １０１  メインバス，  １０２  サブバス，  １１１  メインＣＰＵ，  １１２  メインメモリ，  １１３  メインＤＭＡＣ，  １１４  ＭＤＥＣ，  １１５  ＧＰＵ，  １１６  バスコントローラ，  １１７  ＧＴＥ，  １１８  グラフィックメモリ，  １１９  キャッシュメモリ，  １２１  サブＣＰＵ，  １２２  サブメモリ，  １２３  サブＤＭＡＣ，  １２４  ＲＯＭ，  １２５  ＳＰＵ，  １２６  ＡＴＭ通信部，  １２７  補助記憶装置，  １２８  入力デバイス用Ｉ／Ｆ，  １２９  サウンドメモリ，  １４１  フレームバッファ，  １４２  Ｚバッファ，  １４３  テクスチャメモリ
【図１】
0003639108.tif 000002
【図２】
0003639108.tif 000003
【図３】
0003639108.tif 000004
【図４】
0003639108.tif 000005
【図５】
0003639108.tif 000006
【図６】
0003639108.tif 000007
【図７】
0003639108.tif 000008
【図８】
0003639108.tif 000009
【図９】
0003639108.tif 000010
【図１０】
0003639108.tif 000011
【図１１】
0003639108.tif 000012
【図１２】
0003639108.tif 000013
【図１３】
0003639108.tif 000014
【図１４】
0003639108.tif 000015
【図１５】
0003639108.tif 000016
【図１６】
0003639108.tif 000017
【図１７】
0003639108.tif 000018
【図１８】
0003639108.tif 000019
【図１９】
0003639108.tif 000020
【図２０】
0003639108.tif 000021
【図２１】
0003639108.tif 000022
【図２２】
0003639108.tif 000023