(57)【特許請求の範囲】
【請求項１】
ＣＰＵからの描画命令に基づいて、多角形であるポリゴンを含む画像をフレームメモリ上に描画する描画装置が実行する描画方法であって、
前記描画装置が、
前記ＣＰＵからの描画命令に基づいて、フレームメモリ上にポリゴンを描画する過程と、
描画された前記ポリゴンの輪郭部分に対して、前記ポリゴンの頂点同士を結ぶ所定の幅の線分を上書きする過程と、
を実行する、描画方法であって、
前記描画装置は、
所定の幅の線分を上書きする前記過程を実行する際に、前記ポリゴンの輪郭部分の画素のうち、隣接するポリゴンにより上書きされるものの画素値を、当該画素の画素値に、それと隣接する背景部分の画素の画素値を加味して決定する、
描画方法。
【請求項２】
前記描画装置は、上記線分上の各画素の画素値に重み付けし、その重みに応じて、上記線分上の画素値と内挿する画素を選択する、
請求項１記載の描画方法。
【請求項３】
前記描画装置は、前記ポリゴンに対してテクスチャマッピングを行った後に、前記線分を上書きする前記過程を実行する、
請求項１記載の描画方法。
【請求項４】
ＣＰＵからの描画命令に基づいて、多角形であるポリゴンを含む画像をフレームメモリ上に描画する描画装置であって、
前記ＣＰＵからの描画命令に基づいて、フレームメモリ上にポリゴンを描画する手段と、描画された前記ポリゴンの輪郭部分に対して、前記ポリゴンの頂点同士を結ぶ所定の幅の線分を上書きする手段と、を備えてなり、
所定の幅の線分を上書きする前記手段は、所定の幅の線分を上書きする際に、前記ポリゴンの輪郭部分の画素のうち、隣接するポリゴンにより上書きされるものの画素値を、当該画素の画素値に、それと隣接する背景部分の画素の画素値を加味して決定するようになっている、
描画装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータを用いた映像機器であるコンピュータグラフィックスシステム、特殊効果装置、ビデオゲーム機等に用いられる描画方法に関するものである。
【０００２】
【従来の技術】
例えば、家庭用ＴＶゲーム機やパーソナルコンピュータあるいはコンピュータグラフィックスシステム等において、テレビジョン受像機やモニタ受像機あるいは陰極線管（ＣＲＴ：Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）ディスプレイ装置等に出力して表示する画像のデータ、すなわち表示出力画像データを生成する画像生成装置では、中央演算処理装置（ＣＰＵ：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）  とフレームバッファの間に専用の描画装置を設けることにより、高速処理を可能にしている。
【０００３】
すなわち、上記画像生成装置で３次元の画像を生成する際、ＣＰＵは、直接フレームバッファをアクセスするのではなく、座標変換やクリッピング、光源計算等のジオメトリ処理を行い、三角形や４角形等の多角形（ポリゴン）の組み合わせとして３次元の形状を定義して３次元の画像を描画するための描画命令を生成し、その描画命令を描画装置に転送する。
【０００４】
具体的に説明すると、例えば、図１１に示すような３次元の物体２００の画像を生成する場合、先ず、ＣＰＵは、物体２００をポリゴンＰ２０１，Ｐ２０２，Ｐ２０３の組み合わせとして定義する。
【０００５】
そして、ＣＰＵは、物体２００に基いた３次元画像を描画するための各ポリゴンＰ２０１，Ｐ２０２，Ｐ２０３に対応した描画命令を生成し、その描画命令を描画装置に転送する。
【０００６】
描画装置は、ＣＰＵから転送されてきた描画命令を解釈して、頂点の色データと奥行きを示すＺ値からポリゴンを構成する全ての画素の色とＺ値を考慮して、画素データをフレームバッファに書き込むレンダリング処理を行い、フレームバッファに図形を描画する。
【０００７】
尚、上記Ｚ値は、視点からの奥行き方向の距離を示す情報である。
【０００８】
すなわち、描画装置は、例えば、物体２００を構成するポリゴンＰ２０１，Ｐ２０２，Ｐ２０３のうち図１２に示すポリゴンＰ２０１を描画する場合、先ず、ＣＰＵからの描画命令を解釈することにより、図１３に示すように、ポリゴンＰ２０１の４頂点（ｘ１，ｙ１），（ｘ２，ｙ２），（ｘ３，ｙ３），（ｘ４，ｙ４）のＹ座標ｙ１，ｙ２，ｙ３，ｙ４を求め、Ｙ座標の最大値Ｙｍａｘ（＝ｙ３）及び最小値Ｙｍｉｎ（＝ｙ１）を求める。
【０００９】
ここで、図１４に示すように、フレームバッファ３００における画素Ｄｎは格子状に並んでいるが、ポリゴンＰ２０１の４頂点（ｘ１，ｙ１），（ｘ２，ｙ２），（ｘ３，ｙ３），（ｘ４，ｙ４）は、格子点と必ずしも一致していない。
【００１０】
そこで、描画装置は、Ｙ座標の最小値Ｙｍｉｎと最大値Ｙｍａｘに対して、値の切捨処理及び切上処理を行い、ポリゴンＰ２０１と交差する水平画素ラインＬＨ２〜ＬＨ１７を求める。そして、描画装置は、ポリゴンＰ２０１と水平画素ラインＬＨ２〜ＬＨ１７の交点を求める。
【００１１】
次に、描画装置は、交点のＸ座標の値に対して、値の切捨処理を行い、ポリゴンＰ２０１に含まれる画素のＸ座標の最大値Ｘｍａｘ及び最小値Ｘｍｉｎを求める。
【００１２】
そして、描画装置は、水平画素ラインＬＨ２〜ＬＨ１７において、Ｘ座標の最小値Ｘｍｉｎ〜最大値Ｘｍａｘの範囲内に含まれる画素を各水平画素ライン毎にフレームバッファに書き込む。
【００１３】
【発明が解決しようとする課題】
しかし、従来の描画装置により、上述のようにしてポリゴンＰ２０１がフレームバッファに描画された結果、図１５に示すように、ポリゴンＰ２０１の境界（エッジ）Ｅは、ギザギザの状態（以下、ギザリと言う。）であった。
【００１４】
そこで、上記描画装置では、ギザリを除去する方法として、例えば、サブピクセル法や背景混合法等が採用されていた。
【００１５】
サブピクセル法とは、実際の表示解像度より高い解像度でポリゴンをフレームバッファに描画し、最後にローバスフィルタをかけて実際の表示解像度に落とすことにより、ギザリを除去する方法である。
【００１６】
具体的に説明すると、まず、図１６（ａ）は、上記図１２に示したポリゴンＰ２０１を、水平（Ｈ）方向及び垂直（Ｖ）方向各々表示解像度に対して２倍の解像度でフレームバッファに描画した状態を示した図である。すなわちフレームバッファの１画素（ピクセル）Ｄｎは、２×２画素のサブピクセルＳＤｎ１〜ＳＤｎ４に対応している。したがって、サブピクセルＳＤｎ１〜ＳＤｎ４の中には、複数の色が含まれている。そこで、各ピクセル毎に、サブピクセルＳＤｎ１〜ＳＤｎ４の中に含まれる複数の色の平均値を求め、その平均値を表示画素の色とする。
【００１７】
例えば、上記図１６（ａ）に示すように、背景Ｂ及びポリゴンＰ２０１の各色が各々１色である場合、サブピクセルＳＤｎ１〜ＳＤｎ４の中に含まれる複数の色の平均値は、サブピクセルＳＤｎ１〜ＳＤｎ４全てが背景Ｂの色、サブピクセルＳＤｎ１〜ＳＤｎ４のうち１サブピクセルのみがポリゴンＰ２０１の色、サブピクセルＳＤｎ１〜ＳＤｎ４のうち２サブピクセルのみがポリゴンＰ２０１の色、サブピクセルＳＤｎ１〜ＳＤｎ４のうち３サブピクセルのみがポリゴンＰ２０１の色、及びサブピクセルＳＤｎ１〜ＳＤｎ４全てがポリゴンＰ２０１の色から得られる５段階の色のうちの何れかをとる。
【００１８】
したがって、上記図１６（ｂ）に示すように、ポリゴンＰ２０１は、５段階の色を有する表示画素によりフレームバッファに描画されることとなる。
【００１９】
しかし、上述のようなサブピクセル法を採用した従来の描画装置では、実際の表示解像度より高い解像度で描画を行う必要があるため、実際の表示解像度より高い解像度のフレームバッファを設ける必要があった。これにより、上記描画装置のハードウェア規模が大きくなってしまっていた。
【００２０】
一方、背景混合法とは、ポリゴンの真のエッジが画素と交差するとき、ポリゴンの内部がその画素の中に占める割合を求め、その割合でポリゴンの色と背景の色の混合を行うことにより、ギザリを除去する方法である。
【００２１】
具体的に説明すると、まず、図１７は、背景混合法によりギザリを除去して上記図１２に示したポリゴンＰ２０１をフレームバッファに描画した状態を示した図である。
【００２２】
例えば、上記図１７に示すように、背景Ｂの色が「緑」であり、ポリゴンＰ２０１の色が「青」であった場合、ポリゴンＰ２０１のエッジＥ１の画素の色は、「緑青」となる。
【００２３】
また、図１８に示すように、「赤」色のポリゴンＰ２０２をポリゴンＰ２０１に隣接して描画した場合、ポリゴンＰ２０２のエッジＥ２の画素の色は、「緑赤」となり、ポリゴンＰ２０１とポリゴンＰ２０２が共有するエッジＥ１２の画素の色は、エッジＥ１の画素の色「緑青」に「赤」を加えた「緑青赤」となる。
【００２４】
ここで、ポリゴンＰ２０１とポリゴンＰ２０２が共有するエッジＥ１２では、背景Ｂは見えないはずであるため、エッジＥ１２の画素の色は「青赤」となるべきであるが、上述したように、エッジＥ１２の画素の色は「緑青赤」となり、背景Ｂの色が現れてしまっていた。
【００２５】
すなわち、上述のような背景混合法を採用した従来の描画装置では、見えるはずのない背景の色までエッジの色と混合されることにより、背景の色のにじみが生じてしまっていた。
【００２６】
そこで、本発明は、上述の如き従来の実情に鑑みてなされたものであり、次のような目的を有するものである。
【００２７】
即ち、本発明の目的は、小規模のハードウェアで高精度の描画を行うことができる描画方法を提供することにある。
【００２８】
【課題を解決するための手段】
上述の課題を解決するために、本発明に係る描画方法は、コンピュータグラフィックスにより生成された多角形からなる形状データをフレームメモリ上に描画する描画方法であって、上記フレームメモリに描画された多角形の輪郭部分に対して、上記多角形の輪郭部分に対応する頂点を結ぶ線分を上書きすることを特徴とする。
【００２９】
また、本発明に係る描画方法は、上記輪郭部分に隣接した画素値を用いて、上記線分を上記輪郭部分に上書きすることを特徴とする。
【００３０】
また、本発明に係る描画方法は、隣接する多角形により重複した輪郭部分に対しては、上記輪郭部分の画素値に背景の画素値を混合させた画素値を上書きすることを特徴とする。
【００３１】
また、本発明に係る描画方法は、上記線分上の各画素値に重み付けし、その重みに応じて、上記線分上の画素値と内挿する画素値を選択することを特徴とする。
【００３２】
【発明の実施の形態】
以下、発明の実施の形態について、図面を参照して詳細に説明する。
【００３３】
本発明に係る描画方法は、図１に示すような描画装置１００により実施される。
【００３４】
この描画装置１００は、ピクセルエンジン１０１と、ピクセルエンジン１０１の出力が供給されるＦＩＦＯ（Ｆｉｒｓｔ  ｉｎ  Ｆｉｒｓｔ  ｏｕｔ）バッファ１０２と、ＦＩＦＯバッファ１０２の出力が供給される演算回路１０４及びキャッシュメモリ制御回路１０３と、演算回路１０４及びキャッシュメモリ制御回路１０３の各出力が供給されるキャッシュメモリ１０５と、キャッシュメモリ１０５と接続されたフレームメモリ１０６とを備えている。
【００３５】
まず、描画装置１００の一連の動作について説明する。
【００３６】
ピクセルエンジン１０１には、例えば、図示していないＣＰＵからの描画命令が供給される。この描画命令は、３角形や４角形などの基本的な単位図形（ポリゴン）や線分の組み合わせとして３次元モデルを定義して３次元画像を描画するための各ポリゴンに対応する命令である。
【００３７】
そこで、ピクセルエンジン１０１は、上記ＣＰＵからの描画命令を解釈して、描画する画素データをＦＩＦＯバッファ１０２に一旦格納する。この画素データは、例えば、画素を書き込む位置、Ｚ値、及びカラー値からなるデータである。
【００３８】
演算回路１０４は、ＦＩＦＯバッファ１０２から画素データを読み出し、ポリゴンを構成する全ての画素の色とＺ値を考慮して、ＦＩＦＯバッファ１０２から読み出した画素データをキャッシュメモリ１０５を介してフレームメモリ１０６に書き込む。また、演算回路１０４は、キャッシュメモリ１０５を介してフレームメモリ１０６に画素データを書き込む際に、Ｚバッファ処理、半透明処理、アンチアリシング処理、及びフィルタリング処理等を行う。
【００３９】
また、演算回路１０４は、キャッシュメモリ１０５を介してフレームメモリ１０６から画素データを読み出し、読み出した画素データに対してギザリ除去処理を行う。
【００４０】
尚、演算回路１０４が行うギザリ除去処理についての詳細な説明は後述する。
【００４１】
このとき、キャッシュメモリ１０５を制御するキャッシュメモリ制御回路１０３は、ＦＩＦＯメモリ１０２に一旦格納された画素データを予め読み出すことにより、キャッシュメモリ１０５で必要とされるデータ領域を予め認識する。そして、キャッシュメモリ制御回路１０３は、フレームメモリ１０６のワード境界及びページ境界にまたがらずに上記データ領域に対応する画素データをまとめてフレームメモリ１０６から読み出すように、また、上記データ領域に対応する画素データをまとめてフレームメモリ１０６に書き込むようにキャッシュメモリ１０５を制御する。これにより、キャッシュメモリ１０５は、アクセス時間を短縮してフレームメモリ１０６をアクセスすると共に、フレームメモリ１０６に対するアクセスを少ない回数で行うようになされている。
【００４２】
フレームメモリ１０６は、図示していないが、Ｚバッファ及びフレームバッファからなる。上記Ｚバッファは、画素データに含まれるＺ値を格納するバッファであり、上記フレームバッファは、画素データに含まれるカラー値を格納するバッファである。
【００４３】
そこで、フレームメモリ１０６は、キャッシュメモリ制御回路１０３の制御に基いてキャッシュメモリ１０５からアクセスされることにより、演算回路１０４からキャッシュメモリ１０５を介して画素データが書き込まれると共に、書き込まれた画素データをキャッシュメモリ１０５を介して演算回路１０４に対して出力する。
【００４４】
また、フレームメモリ１０６は、書き込まれた画素データ、すなわち描画された画素データをビデオ信号として、図示していないテレビジョン受像機やモニタ受像機等に供給する。
【００４５】
これにより、上記テレビジョン受像機やモニタ受像機等は、フレームメモリ１０６からの画素データに基いた画像を表示出力する。
【００４６】
つぎに、演算回路１０４が行うギザリ除去処理について具体的に説明する。
【００４７】
例えば、図２に示すような４つのポリゴンＰ１〜Ｐ４から構成される３次元モデルをフレームメモリ１０６に描画する場合、先ず、演算回路１０４は、ギザリ除去処理を行わずにポリゴンＰ１〜Ｐ４をキャッシュメモリ１０５を介してフレームメモリ１０６に描画する。
【００４８】
ここで、フレームメモリ１０６に描画されたポリゴンＰ１〜Ｐ４は、例えば、ポリゴンＰ３とポリゴンＰ４が共有するエッジＥ３４では、ポリゴンＰ３のエッジの画素とポリゴンＰ４のエッジの画素が重複し、ポリゴンＰ２とポリゴンＰ３が共有するエッジＥ２３では、ポリゴンＰ２のエッジの画素とポリゴンＰ３のエッジの画素が重複せずに隣接した状態である。すなわち、各ポリゴンの頂点を共有しているエッジでは、ポリゴンがすきまなく並んでいる状態である。
【００４９】
したがって、ポリゴンＰ１，Ｐ２，Ｐ３，Ｐ４の順に各ポリゴンをフレームメモリ１０６に描画した場合、図３に示すように、各ポリゴンの頂点を共有しているエッジには、後に描画されたポリゴンの画素が書き込まれる。
【００５０】
次に、演算回路１０４は、ギザリ除去処理を行わずにフレームメモリ１０６に描画したポリゴンＰ１〜Ｐ４に対して、ポリゴンＰ１〜Ｐ４の各エッジを構成する頂点を結ぶ。
【００５１】
すなわち、演算回路１０４は、例えば、ポリゴンＰ１とポリゴンＰ４が隣接した部分のエッジを構成する頂点Ｑ１とＱ２を結ぶ。これらの頂点Ｑ１とＱ２を結んで得られた線分Ｌ１２は、１画素分の幅を有するスムーズな線分である。
【００５２】
そして、演算回路１０４は、線分Ｌ１２を、線分Ｌ１２に最も近い２つの画素と線分Ｌ１２の距離により内挿されたスムーズな線分としてキャッシュメモリ１０５を介してフレームメモリ１０６に描画する。
【００５３】
また、演算回路１０４は、他のエッジを構成する頂点を結んで得られた線分についても、図４に示すように頂点Ｑ１とＱ２を結んで得られた線分Ｌ１２と同様にして、キャッシュメモリ１０５を介してフレームメモリ１０６に描画する。
【００５４】
上述のように、演算回路１０４は、ギザリ除去処理を行わずにフレームメモリ１０６にポリゴンを描画した後、上記ポリゴンのエッジを構成する頂点を結んで得られるスムーズな線分を上書きすることにより、上記ポリゴンのギザリを除去するようになされている。
【００５５】
図５は、演算回路１０４のギザリ除去処理を具体的に示したフローチャートである。以下、上記図５を用いて、演算回路１０４のギザリ除去処理について具体的に説明する。
【００５６】
例えば、ポリゴンのエッジを構成する頂点を結んで得られたスムーズな線分が、図６に示すような垂直に近い線分Ｌｎであり、線分Ｌｎを上から下に描画する場合、先ず、上記図６に示すように、線分Ｌｎの始点を（Ｘ１，Ｙ１）とし、終点を（Ｘ２，Ｙ２）とする。そして、始点（Ｘ１，Ｙ１）と終点（Ｘ２，Ｙ２）のＸ座標における差分ｄｘ及びＹ座標における差分ｄｙを、
ｄｘ  ＝  Ｘ２−Ｘ１
ｄｙ  ＝  Ｙ２−Ｙ１
なる演算式により求める（ステップＳ１）。
【００５７】
次に、ステップＳ１で得られた差分ｄｘ，ｄｙを用いて、線分Ｌｎの傾きＳを、      Ｓ  ＝  ｄｘ／ｄｙ
なる演算式により求める（ステップＳ２）。
【００５８】
次に、理想点（Ｆｘ，Ｆｙ）の初期値を、
Ｆｘ  ＝  Ｘ１
Ｆｙ  ＝  Ｙ１
に設定する（ステップＳ３）。
【００５９】
次に、理想点（Ｆｘ，Ｆｙ）を整数化した（Ｎｘ，Ｎｙ）を、
Ｎｘ  ＝  ［Ｆｘ］
Ｎｙ  ＝  ［Ｆｙ］
なる演算式により求める（ステップＳ４）。
【００６０】
尚、ステップＳ４の演算式において、“［］”は、ガウス記号を示す。
【００６１】
次に、ステップＳ４で得られた（Ｎｘ，Ｎｙ）に書き込む画素の値を求めて、求めた画素値を（Ｎｘ，Ｎｙ）に書き込む（ステップＳ５）。
【００６２】
例えば、（Ｎｘ，Ｎｙ）の隣の（Ｎｘ−１，Ｎｙ）の画素値をＣｏｌ１とし、線分Ｌｎ上の理想点（Ｆｘ，Ｆｙ）の画素値をＣｏｌ０とした場合、（Ｎｘ，Ｎｙ）に書き込む画素値Ｃｏｌ＿Ｌは、
Ｃｏｌ＿Ｌ＝（Ｆｘ−Ｎｘ）＊Ｃｏｌ１＋（１−Ｆｘ＋Ｎｘ）＊Ｃｏｌ０なる演算式により求められる。
【００６３】
次に、（Ｎｘ，Ｎｙ）の隣の（Ｎｘ＋１，Ｎｙ）に書き込む画素の値を求めて、求めた画素値を（Ｎｘ＋１，Ｎｙ）に書き込む（ステップＳ６）。
【００６４】
例えば、（Ｎｘ＋１，Ｎｙ）の隣の（Ｎｘ＋２，Ｎｙ）の画素値をＣｏｌ２とし、線分Ｌｎ上の理想点（Ｆｘ，Ｆｙ）の画素値をＣｏｌ０とした場合、（Ｎｘ＋１，Ｎｙ）に書き込む画素値Ｃｏｌ＿Ｒは、
Ｃｏｌ＿Ｒ＝（Ｆｘ−Ｎｘ）＊Ｃｏｌ０＋（１−Ｆｘ＋Ｎｘ）＊Ｃｏｌ２なる演算式により求められる。
【００６５】
次に、次の理想点（Ｆｘ，Ｆｙ）を、
Ｆｘ  ＝  Ｆｘ＋（ｄｘ／ｄｙ）
Ｆｙ  ＝  Ｆｙ＋１
なる演算式により求める（ステップＳ７）。
【００６６】
そして、ステップＳ７で得られた“Ｆｙ”の値が線分Ｌｎの終点（Ｘ２，Ｙ２）のＹ座標（＝Ｙ２）の値以下であるか否か判断する。すなわち、線分Ｌｎの終点（Ｘ２，Ｙ２）までの各理想点（Ｆｘ，Ｆｙ）に対する画素の書込処理を終了したか否かを判断する（ステップＳ８）。
【００６７】
ステップＳ８にて、線分Ｌｎの終点（Ｘ２，Ｙ２）までの各理想点（Ｆｘ，Ｆｙ）に対する画素の書込処理が終了していないと判断した場合には、ステップＳ４の処理に戻り、ステップＳ４〜ステップＳ８の各処理を行う。
【００６８】
一方、ステップＳ８にて、線分Ｌｎの終点（Ｘ２，Ｙ２）までの各理想点（Ｆｘ，Ｆｙ）に対する画素の書込処理が終了した判断した場合には、本フローチャートの処理を終了する。
【００６９】
上述のように、演算回路１０４では、線分Ｌｎの方向に垂直で理想点（Ｆｘ，Ｆｙ）に最も近い２画素（＝（Ｎｘ，Ｎｙ），（Ｎｘ＋１，Ｎｙ））を、線分Ｌｎ上の理想点（Ｆｘ，Ｆｙ）に描画するようになされている。
【００７０】
また、演算回路１０４では、理想点（Ｆｘ，Ｆｙ）に描画する２画素（＝（Ｎｘ，Ｎｙ），（Ｎｘ＋１，Ｎｙ））としてどの２画素を用いるかは、線分Ｌｎの方向が水平に近いか、又は垂直に近いかにより決定するようになされている。
【００７１】
したがって、演算回路１０４でギザリ除去処理が行われた結果、上記図３に示したポリゴンＰ１〜Ｐ４は、図７に示すように、全てのポリゴンＰ１〜Ｐ４の各エッジがスムーズな線分で上書きされた状態となる。
【００７２】
すなわち、演算回路１０４により、スムーズな線分で描画される各画素の位置には、上記線分の方向に垂直な２画素を用いて描画されるため、例えば、ポリゴンＰ４において、スムーズな線分Ｌ４ｎで描画される任意の画素Ｄ４ｎの位置には、線分Ｌ４ｎの方向に垂直な２画素ｄ１，ｄ２を用いて描画される。
【００７３】
上述のように、描画装置１００では、全てのポリゴンの各エッジをスムーズな線分で上書きするようになされてるため、描画装置１００は、ポリゴンで構成される物体全体のギザリを容易に除去することができる。
【００７４】
また、描画装置１００では、ギザリ除去なしの描画処理を行った後に、上記図５のフローチャートで示したギザリ除去処理を行うため、描画装置１００は、背景の色等本来見えるべきでない色の現れを防ぐことができる。
【００７５】
したがって、描画装置１００は、ハードウェア規模を大きくすることなく、高精度の描画を行うことができる。
【００７６】
尚、上記図５のフローチャートで示したギザリ除去処理において、上書きするスムーズな線分上の各画素の色は、線分全体で共通の色としてもよいが、各画素毎に異なる色としてもよい。これにより、上記ギザリ除去処理を、テクスチャマッピングが行われた線分に対して適用することができると共に、テクスチャマッピングが行われたポリゴンにも適用することができる。
【００７７】
また、上記図５のフローチャートで示したギザリ除去処理において、ポリゴンのエッジにスムーズな線分を上書きする際、上記ポリゴンの外側の画素と内挿されるような線分の画素が他のポリゴンにより上書きされる場合には、各ポリゴン毎に対してスムーズな線分の上書きを行うようにしてもよい。
【００７８】
具体的に説明すると、例えば、図８に示すように、２つのポリゴンＰ５，Ｐ６を描画する場合、ポリゴンＰ５のエッジＥ５とポリゴンＰ６のエッジＥ６が一致するため、ポリゴンＰ６に対するスムーズな線分Ｌ６のポリゴンＰ５のエッジＥ５と一致した部分Ｌ５６は、ポリゴンＰ５に対するスムーズな線分Ｌ５により上書きされてしまう。
【００７９】
このような場合、上記ギザリ除去処理では、各ポリゴンＰ５，Ｐ６毎にスムーズな線分Ｌ５，Ｌ６の上書きを行うようにする。これにより、描画装置１００は、背景のにじみを防ぐことができる。
【００８０】
また、この場合、スムーズな線分の画素の色を背景の画素の色と内挿してもよい。これにより、描画装置１００は、任意のポリゴンに対して上書きするスムーズな線分の画素が他のポリゴンで上書きされる場合に、背景のにじみを防ぐことができる。
【００８１】
また、上記図５のフローチャートで示したギザリ除去処理において、隣接するポリゴンで完全に上書きされる画素に対しては、上記画素の色と背景の画素の色を混合して得られた画素の色を書き込み、隣接するポリゴンで完全に上書きされる画素以外の画素に対しては、スムーズな線分の上書きを行うようにしてもよい。
【００８２】
具体的に説明すると、例えば、図９に示すように、２つのポリゴンＰ７，Ｐ８を描画する場合、ポリゴンＰ７のエッジＥ７とポリゴンＰ８のエッジＥ８が重複するため、ポリゴンＰ８に対するスムーズな線分Ｌ８のポリゴンＰ７のエッジＥ７と重複した部分Ｌ７８は、ポリゴンＰ７により完全に上書きされてしまう。
【００８３】
このような場合、上記ギザリ除去処理では、部分Ｌ７８に対しては、部分Ｌ７８の画素の色と背景の画素の色を混合して得られた画素の色を書き込み、部分Ｌ７８以外の画素に対しては、スムーズな線分Ｌ８の上書きを行うようにする。すなわち、上記ギザリ除去処理では、水平なエッジに対してのみスムーズな線分の上書きを行うようにする。
【００８４】
また、上記図５のフローチャートで示したギザリ除去処理において、スムーズな線分を上書きする際、線分の色と内挿する画素の色を以下のようにして選出するようにしてもよい。
【００８５】
例えば、図１０に示すように、スムーズな線分Ｌｎ上の各画素Ｄ（ｘ，ｙ）に対して、各々、線分Ｌｎの交差面積により重み付けし、画素Ｄ（ｘ，ｙ）の交差面積が「０．５」以上の場合には、画素Ｄ（ｘ，ｙ）の隣の画素Ｄ（ｘ−１，ｙ）と内挿する。
【００８６】
このようにして、線分の色の重みに応じて内挿する画素を選出することにより、同じ画素を隣接するポリゴンが共有する場合でも、必ず異なる値をとることとなるため、背景のにじみを防ぐことができる。
【００８７】
【発明の効果】
本発明に係る描画方法では、フレームメモリに描画された多角形の輪郭部分に対して、上記多角形の輪郭部分に対応する頂点を結ぶ線分を上書きする。これにより、上記描画方法は、多角形で構成される物体全体のギザリを容易に除去することができ、背景の色等本来見えるべきでない色の現れを防ぐことができる。したがって、上記描画方法は、小規模のハードウェアで高精度の描画を行うことができる。
【００８８】
また、本発明に係る描画方法では、上記輪郭部分に隣接した画素値を用いて、上記線分を上記輪郭部分に上書きする。これにより、上記描画方法は、背景のにじみを防ぐことができる。したがって、上記描画方法は、さらに高精度の描画を行うことができる。
【００８９】
また、本発明に係る描画方法では、隣接する多角形により重複した輪郭部分に対しては、上記輪郭部分の画素値に背景の画素値を混合させた画素値を上書きする。これにより、上記描画方法は、隣接する多角形により完全に上書きされる画素が発生する場合でも、多角形で構成される物体全体のギザリを除去することができ。したがって、上記描画方法は、さらに高精度の描画を行うことができる。
【００９０】
また、本発明に係る描画方法では、上記線分上の各画素値に重み付けし、その重みに応じて、上記線分上の画素値と内挿する画素値を選択する。これにより、上記描画方法では、同じ画素を隣接する多角形が共有する場合でも、必ず異なる値をとる。したがって、上記描画方法は、背景のにじみを防ぐことができるため、さらに高精度の描画を行うことができる。
【図面の簡単な説明】
【図１】本発明に係る描画方法を適用した描画装置の構成を示すブロック図である。
【図２】描画しようとするポリゴンにおいて、エッジ重複が存在した状態を説明するための図である。
【図３】ギザリ除去処理を行わずに描画されたポリゴンを説明するための図である。
【図４】上記ギザリ除去処理において、エッジを構成する頂点を結んだ状態を説明するための図である。
【図５】上記ギザリ除去処理を説明するためのフローチャートである。
【図６】上記ギザリ除去処理により、垂直に近い線分を描画する場合を説明するための図である。
【図７】上記ギザリ除去処理により、ポリゴンが描画された状態を説明するための図である。
【図８】ポリゴンの外側のスムーズな線分が他のポリゴンにより上書きされる場合のギザリ除去処理を説明するための図である。
【図９】ポリゴンの内側のスムーズな線分が他のポリゴンにより上書きされる場合のギザリ除去処理を説明するための図である。
【図１０】交差面積により内挿する画素を変える場合を説明するための図である。
【図１１】ポリゴンから構成される３次元の形状を説明するための図である。
【図１２】上記ポリゴンを説明するための図である。
【図１３】上記ポリゴンの各頂点のＹ座標の最大値及び最小値を求める処理を説明するための図である。
【図１４】上記ポリゴンと水平画素ラインの交点を求める処理を説明するための図である。
【図１５】上記ポリゴンを描画した結果、ギザリが存在する状態を説明するための図である。
【図１６】上記ギザリを除去するためのサブピクセル法を説明するための図である。
【図１７】上記ギザリを除去するための背景混合法を説明するための図である。
【図１８】隣接する２つのポリゴンに対して上記背景混合法によりギザリの除去を行った場合を説明するための図である。
【符号の説明】
１００  描画装置、１０１  ピクセルエンジン、１０２  ＦＩＦＯバッファ、１０３  キャッシュメモリ制御回路、１０４  演算回路、１０５  キャッシュメモリ、１０６  フレームメモリ
【図１】
0003547250.tif 000002
【図２】
0003547250.tif 000003
【図３】
0003547250.tif 000004
【図４】
0003547250.tif 000005
【図５】
0003547250.tif 000006
【図６】
0003547250.tif 000007
【図７】
0003547250.tif 000008
【図８】
0003547250.tif 000009
【図９】
0003547250.tif 000010
【図１０】
0003547250.tif 000011
【図１１】
0003547250.tif 000012
【図１２】
0003547250.tif 000013
【図１３】
0003547250.tif 000014
【図１４】
0003547250.tif 000015
【図１５】
0003547250.tif 000016
【図１６】
0003547250.tif 000017
【図１７】
0003547250.tif 000018
【図１８】
0003547250.tif 000019