(57)【特許請求の範囲】
【請求項１】
ポリゴンを構成する端点情報とカラー情報を格納する第１の記憶手段と、上記第１の記憶手段からの各端点情報をスクリーン端点情報に変換する座標変換手段と、上記座標変換手段からのポリゴン端点情報に基づきポリゴン辺の対を求める手段と、上記ポリゴン端点情報に基づきポリゴン辺の方向を算出し、この算出した方向からアンチエイリアシングする方向を決定する手段と、上記ポリゴン端点情報に基づきポリゴン辺の傾きを求める手段と、ポリゴン辺の各データをデジタル微分解析で算出する手段と、ポリゴン辺の傾きとデジタル微分解析により算出したスクリーン座標の小数部に基づきドット面積を求めるドットエリア処理手段と、ポリゴン辺の各ドットのカラー情報、ドット面積、アンチエイリアシングを行う方向の情報とを格納する第２の記憶手段と、上記第２の記憶手段に格納されたカラー情報、前記ドット面積とアンチエイリアシングを行う方向の情報からそのドットの色を演算する表示処理手段と、上記表示処理手段で得られた色を表示する表示装置と、を備えてなるアンチエイリアシング機能を有する画像生成装置。
【請求項２】
上記ドットエリア処理手段は、ポリゴン辺の傾きにより量子化し角度を符号化する手段と、スクリーン座標の小数部を量子化し交点を符号化する手段と、符号化した角度と符号化した交点に基づきドットの面積を算出する手段と、を備えることを特徴とする請求項１に記載のアンチエイリアシング機能を有する画像生成装置。
【請求項３】
上記表示処理手段は、第２の記憶手段から処理するドットとその上下左右方向のドットを読み出し、処理するドットのポリゴン辺の方向により上下左右のどれか１つのドットを選択する手段と、処理するドットと選択されたドットに基づきそのドットの色を算出する手段と、を備えることを特徴とする請求項１または２に記載のアンチエイリアシング機能を有する画像生成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、画像生成におけるエイリアシングを除去する機能を備えた画像生成装置に関する。
【０００２】
【従来の技術】
コンピュータによる画像生成の応用分野は、各種設計、ゲーム機器、芸術、コマーシャルフィルム、アニメーション及び各種シミュレーションの可視化等多枝に亘っている。これらの分野においては、写実性を追求する要望があり、生成された画像が如何に本物らしく表現できるかが重要になってくる。
【０００３】
このような画像生成においては、モデル作成や画像表示の過程におけるデジタル化されたサンプリングによってエイリアシングの問題が発生する。コンピュータによる画像生成において、エイリアシングは物体の輪郭部分がぎざぎざに見えるいわゆるジャギーなどに現れる。このジャギーは、画素と同程度或いはそれ以下の大きさに投影された物体が、無視されたり実際よりずっと大きく表示されることにより生じる。
【０００４】
多くの場合、陰面消去等による計算は、画素の中の１点についてしか行われない。しかし、実際には、画素はある大きさを有するので、このままでは残りの多くの部分に関する情報が失われる。このために本来その一部に非常に明るい部分を含む画素も計算に使った部分が暗ければ全体が暗い色に塗られてしまいエイリアシングが発生することになる。
【０００５】
このエイリアシングを除去するアンチエイリアシングのアルゴリズムが種々提案されている。
【０００６】
例えば、スーパーサンプリング法は、ＣＲＴの１ドットにフレームバッファとして、４×４、８×８等の複数のドットを割り当て１６倍、６４倍のフレームバッファメモリ上に描画し、ＣＲＴに表示するときにはＣＲＴの１ドットに対応する複数ドットの平均値を採用するものである。
【０００７】
また、フィルタリング法は、フレームバッファ上の画素周辺の画素の色のフィルタリングを行うことにより、ジャギーをなくすものである。
【０００８】
他の方法として、画素境界において、物体をクリッピングし、画素内の面積を正確に計算する方法や、サブスキャンラインと呼ばれる補助のスキャンラインを使用し、台形計算によって面積比を求める方法などが知られている。
【０００９】
また、上記フィルタリング法を基本として全体のぼけを防止するために、Ｚバッファの不連続領域を検出してフィルタリングすることによりアンチエイリアシングを行う方法が特開平３−１３９７７４号（Ｇ０６Ｆ  １５／６８）に提案されている。
【００１０】
さらに、テクスチャマッピングにおけるアンチエイリアシングの方法としては、スクリーン上の１ドットに対応するマッピングパターンの色を積分する方法、スクリーン上の１ドットに対応するマッピングパターンの色を等間隔に複数個サンプリングする方法、スクリーン上の１ドットに対応するマッピングパターンの色をランダムに複数個サンプリングする方法等が知られている。
【００１１】
【発明が解決しようとする課題】
上記したスーパーサンプリング法は、画像はかなり良いが、例えば１ドットを８×８ドットで構成した場合に、フレームバッファメモリの容量は６４倍も必要とし、コストが高くなるという問題がある。
【００１２】
また、フィルタリング法は、画面全体をフィルタリングするため画像がぼけた形になるという難点がある。
【００１３】
さらに、ピクセル内の面積を正確に計算する方法は、１ドットづつクリッピングを施すため、画像は美しいが、多くの演算を必要とし、描画スピードの低下を招くという問題がある。
【００１４】
また、Ｚバッファの不連続を検出してフィルタリングする方法は、Ｚバッファの不連続領域を検出するため、その領域を保存するマスクメモリが必要となり、コストの増大と全体に微分フィルタをかけるため描画スピードの低下を招くという難点がある。
【００１５】
この発明は、上述した従来の難点を解消するためになされたものにして、極端なメモリの増大と描画スピードの低下を招かずにアンチエイリアシングを行える描画装置を提供することを目的とする。
【００１６】
【課題を解決するための手段】
この発明の第１の画像生成装置は、ポリゴンを構成する端点情報とカラー情報を格納する第１の記憶手段と、上記第１の記憶手段からの各端点情報をスクリーン端点情報に変換する座標変換手段と、上記座標変換手段からのポリゴン端点情報に基づきポリゴン辺の対を求める手段と、上記ポリゴン端点情報に基づきポリゴン辺の方向を算出し、この算出した方向からアンチエイリアシングする方向を決定する手段と、上記ポリゴン端点情報に基づきポリゴン辺の傾きを求める手段と、ポリゴン辺の各データをデジタル微分解析で算出する手段と、ポリゴン辺の傾きとデジタル微分解析により算出したスクリーン座標の小数部に基づきドット面積を求めるドットエリア処理手段と、ポリゴン辺の各ドットのカラー情報、ドット面積、アンチエイリアシングを行う方向の情報とを格納する第２の記憶手段と、上記第２の記憶手段に格納されたカラー情報、前記ドット面積とアンチエイリアシングを行う方向の情報からそのドットの色を演算する表示処理手段と、上記表示処理手段で得られた色を表示する表示装置と、を備えてなる。
【００１７】
【００１８】
また、上記ドットエリア処理手段は、ポリゴン辺の傾きにより量子化し角度を符号化する手段と、スクリーン座標の小数部を量子化し交点を符号化する手段と、符号化した角度と符号化した交点に基づきドットの面積を算出する手段と、で構成することができる。
【００１９】
また、上記表示処理手段は、第２の記憶手段から処理するドットとその上下左右方向のドットを読み出し、処理するドットのポリゴン辺の方向により上下左右のどれか１つのドットを選択する手段と、処理するドットと選択されたドットに基づきそのドットの色を算出する手段と、で構成することができる。
【００２０】
【００２１】
【００２２】
【００２３】
【００２４】
この発明は、ポリゴン辺にアンチエイリアシングを施すことによって、極端なメモリの増大と描画スピードの低下を招かずにアンチエイリアシングを行える。
【００２５】
【００２６】
【発明の実施の形態】
以下、この発明の実施の形態を図面を参照して説明する。
【００２７】
図１は、この発明の第１の実施の形態が適用される画像生成装置の構成を示すブロック図である。
【００２８】
この画像生成装置は、メモリ１、座標変換処理装置２、描画処理装置３、Ｚバッファメモリ４、フレームメモリ５、表示処理装置６及び画像を表示するＣＲＴ７を備える。
【００２９】
メモリ１には、オブジェクトを構成するポリゴンの端点や法線ベクトル等が格納されている。このメモリ１からオブジェクトに対する各データが座標変換処理装置２に与えられる。座標変換処理装置２は、ＣＰＵまたはＤＳＰで構成され、オブジェクトに対する回転、拡大、縮小等を行い、ワールド座標に配置後、視野変換を行いスクリーン投影を行う。この座標変換装置２よりスクリーン投影されたポリゴンの各データが描画処理装置３へ与えられる。
【００３０】
この描画処理装置３は、座標変換処理装置２によりスクリーン座標に変換されたポリゴンをＺバッファメモリ４に格納された各ドットのＺ値と比較して陰面処理を行い、さらにポリゴン辺の各ドット中の面積を算出し、フレームメモリ５にそのデータを書き込む。
【００３１】
フレームメモリ５は、図２に示すように、各ドットの色値（Ｒ、Ｇ、Ｂ）またはＬＵＴ（ルックアップテーブル）アドレスとドットの面積とアンチエイリアシングを行う方向コードが格納される。このアンチエイリアシングを行う方向を示す方向コードは各辺の方向ベクトルにより決定される。
【００３２】
表示処理装置６は、フレームメモリ５をアクセスし、フレームメモリ５に格納された色値またはＬＵＴアドレスとドットの面積と方向コードからそのドットの色を演算して求め、その演算で得られた色をＣＲＴ７に送り、ＣＲＴ７にて画像が表示される。
【００３３】
次に、この実施の形態における描画処理装置３の構成例を図３に従い説明する。
【００３４】
視野変換されたポリゴン端点の視野座標上のＸ、Ｙ、Ｚ値等の各データが座標変換処理装置２より描画処理装置３内部の外部インターフェース（ＩＦ）３１に与えられる。すなわち、このインターフェース３１により座標変換処理装置２と描画処理装置３とのデータの受け渡しが行われる。インターフェース３１を介して与えられた座標変換処理装置２からの各データがポリゴン摘出装置３２に与えられる。
【００３５】
このポリゴン摘出装置３２は、ポリゴン辺の情報を後の処理で処理し易いように、それぞれのデータを辺テーブル３３に格納させる処理を行う。このポリゴン摘出装置３２は、例えば図４に示すように構成される。
【００３６】
図４は、ポリゴン摘出装置３２の具体的構成例を示すブロック図である。
【００３７】
外部インタフェース３１からポリゴン端点のＸ、Ｙ、Ｚ値、色値、属性などがポリゴン摘出装置３２に与えられる。外部インタフェース３１から与えられた各ポリゴン端点で構成される各ポリゴン辺のＸ始点（Ｘｓ）はレジスタ１０１に、ポリゴン辺のＸ終点（Ｘｅ）はレジスタ１０２に、ポリゴン辺のＹ始点（Ｙｓ）はレジスタ１０３に、ポリゴン辺のＹ終点（Ｙｅ）はレジスタ１０４にそれぞれ格納される。
【００３８】
また、色値またはＬＵＴアドレスのカラー情報はカラーレジスタ１０５に格納される。
【００３９】
そして、コントローラ１１６は、格納されたポリゴン辺の端点のアドレスに基づいて、ポリゴンを構成する各辺のベクトルが図５に示すどの方向に属するかを判断し、その方向ベクトルを算出すると共に、そのベクトル方向に応じて、図６に示すようにポリゴン辺が右辺に属するか左辺に属するか決定する。
【００４０】
この実施の形態では、ポリゴン辺のベクトルは下方向に向くように変換して演算を行うようにしている。そのため、例えば、図７の（ａ）、（ｂ）、（ｃ）に示すようなポリゴンの種類に対して、図８の（ａ）、（ｂ）、（ｃ）に示すポリゴン辺の対を求める。従って、上向きのポリゴン辺を逆転させる必要がある。また、図３８に示すようなポリゴンに対しては、２つの辺の対になるように、ポリゴン辺を分割し、それぞれ下向きのポリゴン辺対になるように構成している。
【００４１】
このために、レジスタ１０３、１０４に格納されたＹｓ、Ｙｅは比較器１０６に与えられ、この比較器１０６にて、Ｙｓ、Ｙｅを比較する。そして、この比較結果は、マルチプレクサ１０７、１０８に与えられる。この比較結果により、ポリゴン辺を逆転させるか否か決定し、マルチプレクサ１０７、１０８が制御される。すなわち、図７に示すようなポリゴンの種類に対しては、図８のように、ポリゴン辺対を求めるべく上向きのポリゴン辺を逆転させ、マルチプレクサ１０７、１０８は始点、終点を入れ替えて辺テーブル３３にデータを送り、ポリゴン辺を逆転させない場合には、マルチプレクサ１０７、１０８外部インタフェース３３から与えられたデータをそのまま辺テーブル３３に送る。
【００４２】
辺テーブル３３は、図１０に示すようにフォーマットされ、ポリゴン辺の対になる右辺、左辺のそれぞれのデータが格納される。
【００４３】
図９は、方向ベクトルの変更結果とそのポリゴン辺が右辺、左辺のどちらに属するかを表した図である。この図に示すように、上向きのベクトルは始点、終点の入れ替えにより下向きのベクトルに変更されるが、そのポリゴン辺の属する右辺、左辺の関係は変更しない。
【００４４】
また、マルチプレクサ１０８から出力され、辺テーブル３３の左辺の０アドレスに格納される辺情報のＹ始点（Ｙｓ）がレジスタ１０９に、辺テーブル３３の右辺の０アドレスに格納される辺情報のＹ始点（Ｙｓ）がレジスタ１１０に、辺テーブル３３の左辺の１アドレスに格納される辺情報のＹ始点（Ｙｓ）がレジスタ１１１に、辺テーブル３３の右辺の１アドレスに格納される辺情報のＹ始点（Ｙｓ）がレジスタ１１２にそれぞれ与えられる。
【００４５】
また、レジスタ１０９、レジスタ１１０に格納された左辺、右辺の０アドレスに格納されたＹ始点がマルチプレクサ１１３を介して比較器１１５に与えられる。さらに、レジスタ１１１、レジスタ１１２に格納された左辺、右辺の１アドレスに格納されたＹ始点がマルチプレクサ１１４を介して比較器１１５に与えられる。比較器１１５では、辺テーブル３３の左辺または右辺の０、１アドレスに格納された辺情報はどちらが上の辺でどちらが下の辺であるかの判定を行いその判定結果をパラメータ演算装置３４に与える。これら各回路は、コントローラ１１６により制御される。
【００４６】
そして、辺テーブル３３及びポリゴン摘出装置３２並びに後述する水平テーブル３７からデータがパラメータ演算装置３４に与えられる。
【００４７】
このパラメータ演算装置３４は、ポリゴンの左辺、右辺の傾きや、左辺、右辺を水平に交叉するスキャンラインのＺ値の傾きなどを演算する。このパラメータ演算装置３４は、例えば、図１１のように構成される。
【００４８】
図１１は、このパラメータ演算装置３４の具体的構成例を示すブロック図である。
【００４９】
図１１に示すように、パラメータ演算装置３４は、デジタル微分解析（ＤＤＡ）に用いるパラメータとしてのポリゴン辺の傾き等を求めるもので、辺テーブル３３より傾きを求めるために除算される始点、終点がレジスタ１２１、１２２に格納され、このレジスタ１２１、１２２に格納された始点、終点が減算器１２３に与えられ、この減算器１２３で除算される始点、終点の長さが求められ、その長さがレジスタ１２４に与えられる。
【００５０】
また、辺テーブル３３より除算される始点、終点がレジスタ１２５、１２６に格納され、このレジスタ１２５、１２６に格納された始点、終点が減算器１２７に与えられ、この減算器１２７で除算される始点、終点の長さが求められ、その長さがレジスタ１２８に与えられる。すなわち、これら、減算器１２３、１２７にて、ポリゴン辺の右辺、左辺のそれぞれに対して、ＤＹ＝Ｙｅ−Ｙｓ、ＤＸ＝Ｘｅ−Ｘｓ、ＤＺ＝Ｚｅ−Ｚｓの演算が行われ、この演算結果（長さ）がレジスタ１２４、１２８に格納される。
【００５１】
レジスタ１２４、１２８に格納されたそれぞれの長さは、除算器１２９に与えられ、この除算器１２９で除算することにより各辺の傾きを求め、求めた傾きをレジスタ１３０に格納し、ＤＤＡ処理装置３５に送る。
【００５２】
レジスタ１３２には左辺のＹ終点が格納され、レジスタ１３３には右辺のＹ終点が格納され、これらレジスタ１３２、１３３に格納されたＹ終点は、比較器１３４及びマルチプレクサ１３５に与えられる。そして、比較器１３４にて左辺、右辺のＹ終点を比較して、その比較結果によりマルチプレクサ１３５を制御することにより、左辺、右辺の小さい方のＹ終点の値を求めＤＤＡ処理装置３５へ送る。
【００５３】
一方、レジスタ１３１には、辺テーブル３３の各種パラメータが格納され、格納されたパラメータはＤＤＡ処理装置３５に与えられる。
【００５４】
パラメータ演算装置３４で算出された各パラメータはＤＤＡ処理装置３５及びドットエリア処理装置３６にそれぞれ与えられる。
【００５５】
ＤＤＡ処理装置３５は、ポリゴンの左辺、右辺のＹ、Ｘ、Ｚ値をディジタル微分解析（ＤＤＡ）により求め、Ｙ値が１つ変わるごとに左辺、右辺のＸ値、Ｚ値をＤＤＡする。この時、ＤＤＡは左辺のＤＤＡを行った後、水平テーブル３７に求めた左辺のＸ値、Ｚ値と色値またはＬＵＴアドレスのカラー情報を書き込む。そして、右辺のＤＤＡを行い水平テーブル３７に求めた右辺のＸ値、Ｚ値とＹ値、属性を書き込む。このＤＤＡ処理装置３５は、例えば、図１２ないし図１４のように構成される。
【００５６】
上記水平テーブル３７は図１５に示すようにフォーマットされており、左辺、右辺に水平に交叉するスキャンラインのＸ値、Ｙ値、Ｚ値と色値またはＬＵＴアドレスのカラー情報などを一時的に格納し、左辺、右辺ともデータが揃った時に、パラメータ演算装置３４に送り、水平方向のＤＤＡを行うために必要なパラメータを演算させる。
【００５７】
図１２ないし図１４は、上記ＤＤＡ処理装置３５の具体的構成例を示すブロック図である。図１２は、Ｘ軸を基軸とするＤＤＡ処理装置、図１３は、Ｙ軸を基軸とするＤＤＡ処理装置、図１４は、Ｚ軸を基軸とするＤＤＡ処理装置である。
【００５８】
次に、ＤＤＡ処理装置３５の具体的構成例につき図１２ないし図１４に従い説明する。
【００５９】
図１２に示すように、Ｘ軸を基軸とするＤＤＡを行う場合には、１または−１を送るためマルチプレクサ１４１に１または−１が与えられる。このマルチプレクサ１４１からマルチプレクサ１４５を介して加算器１４７に１または−１が与えられる。パラメータ演算装置３４から与えられた右辺のＸの傾きがレジスタ１４２に、左辺のＸの傾きがレジスタ１４３にそれぞれ格納される。レジスタ１４２、１４３からＸ値の傾きがマルチプレクサ１４５を介して加算器１４７に与えられる。
【００６０】
マルチプレクサ１４４にはパラメータ演算処理装置３４から送られてきた値または加算器１４７の加算結果が与えられ、この値をＸレジスタ１４６に与える。すなわち、このＸレジスタ１４６にはＤＤＡを行うＸ値が格納される。加算器１４７はＸレジスタ１４６の値とマルチプレクサ１４５により選択された値を加算する。加算器１４７によりＤＤＡされ、Ｘレジスタ１４６に格納されたＸ値はドットエリア処理装置３６に送られる。
【００６１】
図１３に示すように、Ｙ軸を基軸とするＤＤＡを行う場合には、１または−１を送るためマルチプレクサ１４８に１または−１が与えられる。このマルチプレクサ１４８からマルチプレクサ１５２を介して加算器１５４に１または−１が与えられる。パラメータ演算装置３４から与えられた右辺のＹの傾きがレジスタ１４９に、左辺のＹの傾きがレジスタ１５０にそれぞれ格納される。レジスタ１４９、１５０からＹ値の傾きがマルチプレクサ１５４を介して加算器１５４に与えられる。
【００６２】
マルチプレクサ１５１には、パラメータ演算処理装置３４から送られてきた値または加算器１５４の加算結果が与えられ、この値をＹレジスタ１５３に与える。すなわち、このＹレジスタ１５３にはＤＤＡを行うＹ値が格納される。加算器１５４はＹレジスタ１５３の値とマルチプレクサ１５２により選択された値を加算する。加算器１５５によりＤＤＡされ、Ｙレジスタ１５３に格納されたＹ値はドットエリア処理装置３６に送られる。
【００６３】
レジスタ１５６にはパラメータ演算処理装置３４より与えられた辺ペアのＹ値の終値が格納され、この値とＹレジスタ１５３に格納された値とが比較器１５７で比較される。すなわち、辺ペアのＹ値とＹ値の終値（Ｙｅ）を比較し、この結果をＤＤＡの処理を制御するコントローラに与え、処理の終了が判断される。
【００６４】
また、Ｙレジスタ１５３に格納された辺ペアのＹ値と、加算器１５４の加算結果が比較器１５５に与えられ、この比較器１５５により、Ｘ軸が基軸のＤＤＡを行う場合に、Ｙ値の整数が変化したかを判断し、比較結果をコントローラへ送る。
【００６５】
図１４に示すように、Ｚ軸を基軸とするＤＤＡを行う場合には、パラメータ演算処理装置３４から与えられるＺ値の傾きがレジスタ１５８に与えられる。このレジスタ１５８からマルチプレクサ１６２を介して加算器１６４にＺ値の傾き（ＤＤＺＸ）が与えられる。パラメータ演算装置３４から与えられた右辺のＺの傾きがレジスタ１５９に、左辺のＺの傾きがレジスタ１６０にそれぞれ格納される。レジスタ１５９、１６０からＺ値の傾きがマルチプレクサ１６２を介して加算器１６４に与えられる。
【００６６】
マルチプレクサ１６１にはパラメータ演算処理装置３４から送られてきた値または加算器１６４の加算結果が与えられ、この値をＺレジスタ１６３に与える。すなわち、このＺレジスタ１６３にはＤＤＡを行うＺ値が格納される。加算器１６４はＺレジスタ１６３の値とマルチプレクサ１６２により選択された値を加算する。加算器１６４によりＤＤＡされ、Ｚレジスタ１６３に格納されたＺ値はドットエリア処理装置３６に送られる。
【００６７】
パラメータ演算装置３４及びＤＤＡ処理装置３５で算出したそれぞれのデータはドットエリア処理装置３６に与えられる。このドットエリア処理装置３６はパラメータ演算処理装置３４で求めた左辺、右辺の傾きとＤＤＡ処理装置３５で求めたＸ値、Ｙ値の小数部を受け取り、左辺、右辺のドット面積を求める。このドットエリア処理装置３６は、例えば図１６のように構成される。
【００６８】
図１６はドットエリア処理装置の具体的構成例を示すブロック図である。
【００６９】
パラメータ演算処理装置３４から送られたポリゴン辺の傾きがＰＡＬまたはＲＯＭで構成された量子化回路１７１に与えられる。この量子化回路１７１にて、ポリゴン辺の傾きにより図１７、図１８に示すように、量子化し、角度を符号化する。例えば、図１７に示すような傾きで、”０．１”であれば、”４”である。そして、この量子化回路１７１にて角度符号化された左辺の角度符号がレジスタ１７３に右辺の角度符号がレジスタ１７４に格納される。
【００７０】
ＤＤＡ処理装置３５から送られたＸ、Ｙ値の小数部がＰＡＬまたはＲＯＭで構成された量子化回路１７２に与えられる。この量子化回路１７２にて、Ｘ、Ｙ値の小数部により図１９に示すように、量子化し、Ｘ、Ｙ軸の交点を符号化する。例えば、図１９で、０、１とあるのは、ポリゴン辺の傾きによって変えているからであり、図２０のＬのように各方向によってどちらを選ぶか決める。この実施の形態では、図２１のように、ポリゴン辺の傾きを示す方向ベクトルにより、それぞれポリゴンを分けるとき、上側の面積部分を対象にしているのか、下側の面積を対象にしているかにより、その面積が変わるからである。そして、この量子化回路１７２にて符号化された左辺の交点符号がレジスタ１７５に右辺の交点符号がレジスタ１７６に格納される。
【００７１】
レジスタ１７３、１７４に格納された左辺、右辺の角度符号はマルチプレクサ１７７に、レジスタ１７５、１７６に格納された左辺、右辺の交点符号はマルチプレクサ１７８に、それぞれ与えられる。このマルチプレクサ１７７、１７８は左辺、右辺を処理するごとに切り替わり、レジスタ１７９に各符号を与える。このレジスタは格納された符号をアドレスとして、ＰＡＬまたはＲＯＭで構成された量子化回路１８０をアクセスする。この量子化回路１８０は、図２１に示すように、Ｘ軸、Ｙ軸との交点の符号値と角度の符号値から面積を量子化し、図２２、図２３のように数値化したものが格納されている。図２２、図２３は１ドットを８×８に分割して考え、最大（ＭＡＸ）は６４であり、図２２、図２３のように２つあるのは、前述したように、図２１のように、仕切る時、上側か下側かの面積を考えるかにより分けるからである。これは図２０のＭの０、１により、上側の面積を考えるか下側の面積を考えるかを使い分ける。Ｍが０の時は、下側の面積をＭが１の時上側の面積を選択する。
【００７２】
そして、量子化回路１８０から読み出された、左辺、右辺のドットの面積はレジスタ１８１に格納され、フレームメモリＺバッファ処理装置３８に送られる。
【００７３】
図２４ないし図２５に、各ポリゴン辺の方向での交点符号と角度の例を示す。
【００７４】
図２４（ａ）は、ポリゴン辺の方向ベクトルが１で、量子化された角度が２の場合を示し、この図において、［Ｆｉｌｌ」と記載されているドットは、６４の最大値を表しており、「Ｆｉｌｌ］以外のドットがアンチエイリアシングされるドットである。（ａ）の例では、交点符号が３、７、３と求められる。この求められた交点の符号値と角度によりドットの面積が量子化される。
【００７５】
（ｂ）は、ポリゴン辺の方向ベクトルが０で、量子化された角度が１の場合を示し、この例では、交点符号が１、３、６と求められる。
【００７６】
（ｃ）は、ポリゴン辺の方向ベクトルが３で、量子化された角度が３の場合を示し、この例では、交点符号が１、４、６と求められる。
【００７７】
（ｄ）は、ポリゴン辺の方向ベクトルが２で、量子化された角度が２の場合を示し、この例では、交点符号が４、７、４と求められる。
【００７８】
図２５（ｅ）は、ポリゴン辺の方向ベクトルが４で、量子化された角度が３の場合を示し、この例では、交点符号が３、４、６と求められる。
【００７９】
（ｆ）は、ポリゴン辺の方向ベクトルが５で、量子化された角度が３の場合を示し、この例では、交点符号が２、４、６と求められる。
【００８０】
（ｇ）は、ポリゴン辺の方向ベクトルが６で、量子化された角度が１の場合を示し、この例では、交点符号が６、３、０と求められる。
【００８１】
（ｈ）は、ポリゴン辺の方向ベクトルが７で、量子化された角度が２の場合を示し、この例では、交点符号が３、７、３と求められる。
【００８２】
そして、ドットエリア処理装置３６及びＤＤＡ処理装置３５からのデータがフレームメモリＺバッファ処理装置３８に与えられる。このフレームメモリＺバッファ処理装置３８は、ドットエリア処理装置３６から各ドットの面積をＤＤＡ処理装置３５からＸ値、Ｙ値、Ｚ値と色値またはＬＵＴアドレス値のカラー情報を受け取り、Ｚバッファメモリアドレスとフレームメモリアドレスを求め、Ｚバッファメモリ４に格納されたＺ値と比較し、Ｚ値が小さければ、Ｚバッファメモリ４を更新し、フレームメモリ５へ色値またはＬＵＴアドレス値と面積と方向コードを書き込む。このフレームメモリＺバッファ処理装置３８は、例えば図２６に示すように構成される。
【００８３】
図２６は、フレームメモリＺバッファ処理装置３８の具体的構成例を示すブロック図である。
【００８４】
各部から受け取ったデータはレジスタ１９１に格納される。このレジスタ１９１は、パラメータ演算処理装置３４からのデータはフラグ（ＦＬＡＧ）領域へ、ＤＤＡ処理装置３５からの色データがカラー領域へ、ドットエリア処理回路３６からのデータはエリア領域へそれぞれ格納する。
【００８５】
ＤＤＡ処理装置３５から受け取ったＹ値がフレームメモリアドレス生成回路１９２に与えられ。フレームメモリのアドレスを生成し、フレームメモリ５に与え、レジスタ１９１に格納されたデータがフレームメモリ５に転送される。
【００８６】
また、Ｚバッファメモリ４から受け取ったＺ値はレジスタに格納され、このＺ値が比較器１９５に与えられる。またＤＤＡ処理装置３５から受け取ったＺ値はレジスタ１９４に格納され、このＺ値が比較器１９５に与えられ、Ｚバッファメモリ４のＺ値とＤＤＡ処理装置３５のＺ値を比較し、ＺバッファメモリのＺ値が大きければＺ値を更新するため、Ｚレジスタ１９６に格納する。
【００８７】
ＤＤＡ処理装置３５から受け取ったＹ値がＺバッファメモリアドレス生成回路１９７に与えられ。Ｚバッファメモリのアドレスを生成し、Ｚバッファメモリ４に与え、レジスタ１９６に格納されたデータがＺバッファメモリ４に転送される。
【００８８】
上述した描画処理装置３の各装置はコントローラ３９で制御され、このコントローラ３９は図２７ないし図３４に示すフローチャートに従い描画処理装置３の全体を制御する。
【００８９】
次に、上記フローチャートに従い描画処理装置３の動作につき説明する。
【００９０】
動作を開始すると、座標変換処理装置２からポリゴン辺の始点（Ｘｓ、Ｙｓ）、終点（Ｘｅ、Ｙｅ）を読み出す（ステップＳ１）。そして、ポリゴン辺の始点、終点のアドレスに基づいて、ポリゴンを構成する各辺のベクトルが図５に示すどの方向に属するかを判断し、その方向ベクトル（ＤＩＲ）を算出すると共に、そのベクトル方向に応じて、ポリゴン辺が右辺に属するか左辺に属するか決定する。（ステップＳ２）。
【００９１】
この実施の形態では、ポリゴン辺のベクトルは下方向に向くように変換して演算を行うようにしている。このため、方向ベクトル（ＤＩＲ）が４より大きいか否か判断され（ステップＳ４）、方向ベクトル（ＤＩＲ）が４より小さい場合は、図５に示すように、方向ベクトルは上向きであるので、上向きのポリゴン辺を逆転させるため方向ベクトル（ＤＩＲ）を反転させ、そして左辺、右辺の属性を示すフラグを１にセットする（ステップＳ４）。
【００９２】
方向ベクトル（ＤＩＲ）が４以上の場合は、図５に示すように、方向ベクトルは下向きであるので、方向ベクトル（ＤＩＲ）はそのままの状態で、左辺、右辺の属性を示すフラグを０にセットする（ステップＳ５）。
【００９３】
辺テーブル３３に、ポリゴン辺の対になる右辺、左辺のそれぞれのデータが格納される（ステップＳ６）、すべてのポリゴン辺を読み出すまで前述の動作を繰り返し（ステップＳ７）、すべてのポリゴン辺の右辺、左辺のそれぞれのデータが辺テーブル３３に格納されると、辺テーブル３３がソートされる（ステップＳ８）。そして、辺テーブル３３からＹアドレスの終点（Ｙｅ）を求める。
【００９４】
続いて、辺テーブル３３の０アドレスの左辺から、Ｘ始点、Ｙ始点、Ｚ始点とＸ終点、Ｙ終点、Ｚ終点並びにこの方向ベクトルを読み出す（ステップＳ１０）。
【００９５】
さらに、辺テーブル３３の０アドレスの右辺から、Ｘ始点、Ｙ始点、Ｚ始点とＸ終点、Ｙ終点、Ｚ終点並びにこの方向ベクトルを読み出す（ステップＳ１１）。
【００９６】
そして、パラメータ演算のサブルーチン処理（ＶＰＡＲＡ）（ステップＳ１２）、左辺のＤＤＡ演算のサブルーチン処理（ＬＶＤＤＡ）（ステップＳ１３）、右辺のＤＤＡ演算のサブルーチン処理（ＲＶＤＤＡ）（ステップＳ１４）、スキャンラインと平行な水平方向のＤＤＡ演算のサブルーチン処理（ＨＤＤＡ）（ステップＳ１５）の演算が行われる。
【００９７】
これらサブルーチン処理につき説明する。
【００９８】
まず、パラメータ演算のサブルーチン処理（ＶＰＡＲＡ）について、図２９に従い説明する。辺テーブル３３より読み出した左辺の方向ベクトル（ＤＩＲＬ）が５または７か判断し（ステップＳ１００）、方向ベクトルが５または７の場合には、左辺に対してＹ軸を基軸とするＸの傾き及びＺの傾きを求め、Ｘの傾きをＤＤＸＬ、Ｚの傾きをＤＤＺＬとする（ステップＳ１０１）。
【００９９】
そして、傾きＤＤＸＬを図１７、図１８に基づき量子化して、ＡＤＩＲＬとし、方向ベクトル（ＤＩＲＬ）をアンチエイリアシングを行う方向コード（ＬＦＬＡＧ）に変換する（ステップＳ１０２）。すなわち、図３９に示すように、（ａ）の方向ベクトルに基づき、（ｂ）のように、アンチエイリアシングを行う方向が決められている。その方向ベクトルと方向コード（ＦＬＡＧ）との関係が図４０に示されている。この図４０に示すテーブルに基づき方向ベクトル（ＤＩＲ）が方向コード（ＬＦＬＡＧ）に変換される。
【０１００】
また、ステップＳ１００において、方向ベクトルが５または７以外の場合には、左辺に対してＸ軸を基軸とするＹの傾き及びＺの傾きをを求め、Ｙの傾きをＤＤＹＬ、Ｚの傾きをＤＤＺＬとする（ステップＳ１０３）。
【０１０１】
そして、傾きＤＤＹＬを図１７、図１８に基づき量子化して、ＡＤＩＲＬとし、方向ベクトル（ＤＩＲＬ）を図４０に示すテーブルに基づきアンチエイリアシングを行う方向コード（ＬＦＬＡＧ）に変換する（ステップＳ１０４）。
【０１０２】
続いて、辺テーブル３３より読み出した右辺の方向ベクトル（ＤＩＲＲ）が５または７か判断し（ステップＳ１０５）、方向ベクトルが５または７の場合には、右辺に対してＹ軸を基軸とするＸの傾き及びＺの傾きを求め、Ｘの傾きをＤＤＸＲ、Ｚの傾きをＤＤＺＲとする（ステップＳ１０６）。
【０１０３】
そして、傾きＤＤＸＲを図１７、図１８に基づき量子化して、ＡＤＩＲＲとし、方向ベクトル（ＤＩＲＲ）を図４０に示すテーブルに基づきアンチエイリアシングを行う方向コード（ＲＦＬＡＧ）に変換する（ステップＳ１０７）。
【０１０４】
また、ステップＳ１０５において、方向ベクトルが５または７以外の場合には、右辺に対してＸ軸を基軸とするＹの傾き及びＺの傾きを求め、Ｙの傾きをＤＤＹＲ、Ｚの傾きをＤＤＺＲとする（ステップＳ１０８）。
【０１０５】
そして、傾きＤＤＹＲを図１７、図１８に基づき量子化して、ＡＤＩＲＲとし、方向ベクトル（ＤＩＲＲ）を図４に示すテーブルに基づきアンチエイリアシングを行う方向コード（ＲＦＬＡＧ）に変換する（ステップＳ１０９）。
【０１０６】
その後、左辺のＸ始点をＸＬ、Ｙ始点をＹＬ、Ｚ始点をＺＬ、Ｘ終点をＸＬＥ、Ｙ終点をＹＬＥとし（ステップＳ１１０）、さらに、右辺のＸ始点をＸＲ、Ｙ始点をＹＲ  Ｚ始点をＺＲ、Ｘ終点をＸＲＥ、Ｙ終点をＹＲＥとし（ステップＳ１１１）として、このサブルーチンが終了する。
【０１０７】
パラメータ演算のサブルーチン処理（ＶＰＡＲＡ）（ステップＳ１２）が終了すると、左辺のＤＤＡ演算のサブルーチン処理（ＬＶＤＤＡ）（ステップＳ１３）、が行われる。
【０１０８】
左辺のＤＤＡ演算のサブルーチン処理（ＬＶＤＤＡ）について、図３０を参照して説明する。
【０１０９】
ＶＰＡＲＡサブルーチンで設定したＸＬ、ＹＬ、ＺＬをそれぞれＸ、Ｙ、Ｚとした後（ステップＳ１２１）、左辺の方向ベクトル（ＤＩＲＬ）が５または７か否か判断する（ステップＳ１２２）。
【０１１０】
方向ベクトル（ＤＩＲＬ）が５または７の場合、Ｘ及びＺをＤＤＡで算出する。すなわち、Ｘ＝Ｘ＋ＤＤＸＬ、Ｚ＝Ｚ＋ＤＤＺＬの演算を行う（ステップＳ１２３）。そして、Ｘ値の小数点から図１９のテーブルに基づき交点符号化を行い、その値をＡＤＩＲ２Ｌとする（ステップＳ１２４）。
【０１１１】
続いて、ＡＤＩＲＬ、ＡＤＩＲ２Ｌに基づいて、図２２、図２３のテーブルを参照し、ピクセルの面積を求め（ステップＳ１２５）、Ｚバッファメモリから（Ｘ、Ｙ）の示すＺ値を読み出し、ＺＭとする（ステップＳ１２６）。
【０１１２】
そして、ＺＭ値とＺ値が比較され（ステップＳ１２７）、ＺＭ値がＺ値より大きい場合には、ＺバッファメモリにＺ値を書き込み、フレームメモリにカラー値と面積と方向コード（ＬＦＬＡＧ）を書き込んだ後（ステップＳ１２８）、Ｙ＝Ｙ＋ＤＹの演算を行う（ステップＳ１２９）。
【０１１３】
また、ＺＭ値がＺ値以下の時は、直ちに、Ｙ＝Ｙ＋ＤＹの演算を行う（ステップＳ１２７、１２９）。
【０１１４】
続いて、ＸＬをＸに、ＹＬをＹに、ＺＬをＺに設定する（ステップＳ１３０）。
【０１１５】
一方、ステップＳ１２２において、方向ベクトル（ＤＩＲＬ）が５または７でない場合には、Ｙ及びＺをＤＤＡで算出する。すなわち、Ｙ＝Ｙ＋ＤＤＹＬ、Ｚ＝Ｚ＋ＤＤＺＬの演算を行う（ステップＳ１３１）。そして、Ｙ値の小数点から図１９のテーブルに基づき交点符号化を行い、その値をＡＤＩＲ２Ｌとする（ステップＳ１３２）。
【０１１６】
続いて、ＡＤＩＲＬ、ＡＤＩＲ２Ｌに基づいて図２２、図２３のテーブルを参照し、ピクセルの面積を求め（ステップＳ１３３）、Ｚバッファメモリから（Ｘ、Ｙ）の示すＺ値を読み出し、ＺＭとする（ステップＳ１３４）。
【０１１７】
そして、ＺＭ値とＺ値が比較され、ＺＭ値がＺ値より大きい場合には、ＺバッファメモリにＺ値を書き込み、フレームメモリにカラー値と面積と方向コード（ＬＦＬＡＧ）を書き込み（ステップＳ１３６）、ＸＬをＸに、ＹＬをＹに、ＺＬをＺに設定する（ステップＳ１３７）。
【０１１８】
また、ＺＭ値がＺ値以下の時は、直ちに、ＸＬをＸに、ＹＬをＹに、ＺＬをＺに設定する（ステップＳ１３５、１３７）。
【０１１９】
続いて、Ｙ値の整数が変化したかが判断され（ステップＳ１３８）、Ｙ値の整数が変化しない場合には、Ｘ＝Ｘ＋ＤＸの演算を行った後（ステップＳ１３９）、ステップＳ１３１に戻り前述の動作を繰り返す。
【０１２０】
Ｙ値の整数が変化し、或いはステップＳ１３０の動作が終了すると、水平テーブルの左辺領域にＸ、Ｙ、Ｚ値とカラー値を書き込み（ステップＳ１４０）、このサブルーチンを終了する。
【０１２１】
左辺のＤＤＡ演算のサブルーチン処理（ＬＶＤＤＡ）（ステップＳ１３）が終了すると、右辺のＤＤＡ演算のサブルーチン処理（ＬＶＤＤＡ）（ステップＳ１４）が行われる。
【０１２２】
右辺のＤＤＡ演算のサブルーチン処理（ＲＶＤＤＡ）について、図３１を参照して説明する。
【０１２３】
ＶＰＡＲＡサブルーチンで設定したＸＲ、ＹＲ、ＺＲをそれぞれＸ、Ｙ、Ｚとし（ステップＳ１４１）た後、右辺の方向ベクトル（ＤＩＲＲ）が５または７か否か判断する（ステップＳ１４２）。
【０１２４】
方向ベクトル（ＤＩＲＲ）が５または７の場合、Ｘ及びＺをＤＤＡで算出する。すなわち、Ｘ＝Ｘ＋ＤＤＸＲ、Ｚ＝Ｚ＋ＤＤＺＲの演算を行う（ステップＳ１４３）。そして、Ｘ値の小数点から図１９のテーブルに基づき交点符号化を行い、その値をＡＤＩＲ２Ｒとする（ステップＳ１４４）。
【０１２５】
続いて、ＡＤＩＲＲ、ＡＤＩＲ２Ｒに基づいて図２２、図２３のテーブルを参照し、ピクセルの面積を求め（ステップＳ１４５）、Ｚバッファメモリから（Ｘ、Ｙ）の示すＺ値を読み出し、ＺＭとする（ステップＳ１４６）。
【０１２６】
そして、ＺＭ値とＺ値が比較され（ステップＳ１４７）、ＺＭ値がＺ値より大きい場合には、ＺバッファメモリにＺ値を書き込み、フレームメモリにカラー値と面積と方向コード（ＲＦＬＡＧ）を書き込んだ後（ステップＳ１４８）、Ｙ＝Ｙ＋ＤＹの演算を行う（ステップＳ１４９）。
【０１２７】
また、ＺＭ値がＺ値以下の時は、直ちに、Ｙ＝Ｙ＋ＤＹの演算を行う（ステップＳ１４７、１４９）。
【０１２８】
続いて、ＸＲをＸに、ＹＲをＹに、ＺＲをＺに設定する（ステップＳ１５０）。
【０１２９】
一方、ステップＳ１４２において、方向ベクトル（ＤＩＲＲ）が５または７でない場合には、Ｙ及びＺをＤＤＡで算出する。すなわち、Ｙ＝Ｙ＋ＤＤＹＲ、Ｚ＝Ｚ＋ＤＤＺＲの演算を行う（ステップＳ１５１）。そして、Ｙ値の小数点から図１９のテーブルに基づき交点符号化を行い、その値をＡＤＩＲ２Ｒとする（ステップＳ１５２）。
【０１３０】
続いて、ＡＤＩＲＲ、ＡＤＩＲ２Ｒに基づいて図２２、図２３のテーブルを参照し、ピクセルの面積を求め（ステップＳ１５３）、Ｚバッファメモリから（Ｘ、Ｙ）の示すＺ値を読み出し、ＺＭとする（ステップＳ１５４）。
【０１３１】
そして、ＺＭ値とＺ値が比較され（ステップＳ１５５）、ＺＭ値がＺ値より大きい場合には、ＺバッファメモリにＺ値を書き込み、フレームメモリにカラー値と面積と方向コード（ＲＦＬＡＧ）を書き込み（ステップＳ１５６）、ＸＲをＸに、ＹＲをＹに、ＺＲをＺに設定する（ステップＳ１５７）。
【０１３２】
また、ＺＭ値がＺ値以下の時は、直ちに、ＸＲをＸに、ＹＲをＹに、ＺＲをＺに設定する（ステップＳ１５５、１５７）。
【０１３３】
続いて、Ｙ値の整数が変化したかが判断され（ステップＳ１５８）、Ｙ値の整数が変化しない場合には、Ｘ＝Ｘ＋ＤＸの演算を行った後（ステップＳ１５９）、ステップＳ１５１に戻り前述の動作を繰り返す。
【０１３４】
Ｙ値の整数が変化し、或いはステップＳ１５０の動作が終了すると、水平テーブルの左辺領域にＸ、Ｙ、Ｚ値と属性を書き込み（ステップＳ１６０）、このサブルーチンを終了する。
【０１３５】
右辺のＤＤＡ演算のサブルーチン処理（ＲＶＤＤＡ）（ステップＳ１４）が終了すると、スキャンラインと平行な水平方向のＤＤＡ演算のサブルーチン処理（ＨＤＤＡ）（ステップＳ１５）が行われる。
【０１３６】
スキャンラインと平行な水平方向のＤＤＡ演算のサブルーチン処理（ＨＤＤＡ）について、図３２を参照して説明する。
【０１３７】
水平テーブルから読み出した左辺のＸ、Ｙ、Ｚ値をそれぞれＸＬ、ＹＬ、ＺＬとし、さらに右辺のＸ、Ｙ、Ｚ値をそれぞれＸＲ、ＺＲとする（ステップＳ１６１）。
【０１３８】
そして、Ｘ軸を基準とするＺの傾きを求め、その値をＤＤＺＸとし、（ステップＳ１６２）、Ｘ＝ＸＬ＋１、Ｙ＝ＹＬ、Ｚ＝Ｚ＋ＤＤＺＸの演算を行う（ステップＳ１６３）。
【０１３９】
続いて、Ｚバッファメモリから（Ｘ、Ｙ）の示すＺ値を読み出し、このＺ値とステップＳ１６３で求めたＺと比較する（ステップＳ１６４）。
【０１４０】
そして、ＺバッファメモリのＺ値がＺより大きい場合には、ＺバッファメモリにＺ値を書き込み、フレームメモリにカラー値と面積として、Ｆｕｌｌの６４を書き込んだ後（ステップＳ１６５）、Ｘ＝Ｘ＋１、Ｚ＝Ｚ＋ＤＤＺＸの演算を行う（ステップＳ１６６）。
【０１４１】
また、ＺバッファメモリのＺ値がＺ以下の時は、直ちに、Ｘ＝Ｘ＋１、Ｚ＝Ｚ＋ＤＤＺＸの演算を行う（ステップＳ１６４、１６６）。
【０１４２】
続いて、ＸがＸＲより小さいか否か判断され（ステップＳ１６７）、小さい場合には、ステップＳ１６４に戻り前述の動作を繰り返す。ＸがＸＲ以上になるとこのサブルーチンを終了する。
【０１４３】
スキャンラインと平行な水平方向のＤＤＡ演算のサブルーチン処理（ＨＤＤＡ）（ステップＳ１５）が終了すると、ＹがＹｅより小さいか否か判断され（ステップＳ１６）、ＹがＹｅより小さい場合には、ステップＳ１３に戻り、ＬＶＤＤＡ、ＲＶＤＤＡ、ＨＤＤＡのＤＤＡ演算サブルーチン処理が行われる。
【０１４４】
そして、辺テーブルの１アドレスの右辺にデータがあるか否か判断され（ステップＳ１７）、データがある場合には、辺テーブルの１アドレスの右辺から、Ｘ始点、Ｙ始点、Ｚ始点とＸ終点、Ｙ終点、Ｚ終点並びにこの方向ベクトルを読み出す（ステップＳ１８）。
【０１４５】
次に、第２のパラメータ演算のサブルーチン処理（ＶＰＡＲＡ１）（ステップＳ１９）、左辺のＤＤＡ演算のサブルーチン処理（ＬＶＤＤＡ）（ステップＳ２０）、右辺のＤＤＡ演算のサブルーチン処理（ＲＶＤＤＡ）（ステップＳ２１）、スキャンラインと平行な水平方向のＤＤＡ演算のサブルーチン処理（ＨＤＤＡ）（ステップＳ２２）の演算が行われる。これらサブルーチン処理のうちステップＳ２０から２２の処理は前述の図２９ないし図３２に示した処理と同じ処理が行われるので、ここでは第２のパラメータ演算のサブルーチン処理（ＶＰＡＲＡ１）につき図３３に従い説明する。
【０１４６】
辺テーブル３３の１アドレスより読み出した右辺の方向ベクトル（ＤＩＲＲ）が５または７か判断し（ステップＳ１７１）、方向ベクトルが５または７の場合には、右辺に対してＹ軸を基軸とするＸの傾き及びＺの傾きを求め、Ｘの傾きをＤＤＸＲ、Ｚの傾きをＤＤＺＲとする（ステップＳ１７２）。
【０１４７】
そして、傾きＤＤＸＲを図１７、図１８に基づき量子化して、ＡＤＩＲＲとし、方向ベクトル（ＤＩＲＲ）を図４０に示すテーブルに基づいてアンチエイリアシングを行う方向コード（ＲＦＬＡＧ）に変換する（ステップＳ１７３）。
【０１４８】
また、ステップＳ１７１において、方向ベクトルが５または７以外の場合には、右辺に対してＸ軸を基軸とするＹの傾き及びＺの傾きを求め、Ｙの傾きをＤＤＹＲ、Ｚの傾きをＤＤＺＲとする（ステップＳ１７４）。
【０１４９】
そして、傾きＤＤＹＲを図１７、図１８に基づき量子化して、ＡＤＩＲＲとし、方向ベクトル（ＤＩＲＲ）を図４０に示すアンチエイリアシングを行う方向コード（ＲＦＬＡＧ）に変換する（ステップＳ１７５）。
【０１５０】
その後、右辺のＸ始点をＸＲ、Ｙ始点をＹＲ  Ｚ始点をＺＲ、Ｘ終点をＸＲＥ、Ｙ終点をＹＲＥとし（ステップＳ１７６）として、このサブルーチンが終了する。
【０１５１】
この第２のパラメータ演算のサブルーチンが終了すると（ステップＳ１９）、続いて、ＬＶＤＤＡサブルーチン（ステップＳ２０）、ＲＶＤＤＡサブルーチン（ステップＳ２１）、ＨＤＤＡサブルーチン（ステップＳ２２）の各ＤＤＡ演算サブルーチン処理が行われる。そして、ＹがＹｅより小さいか否か判断され（ステップＳ２３）、ＹがＹｅより小さい場合には、ステップＳ２０に戻り、ＬＶＤＤＡ、ＲＶＤＤＡ、ＨＤＤＡのＤＤＡ演算サブルーチン処理が行われる。ＹがＹｅ以上になるとこの描画処理動作が終了する。
【０１５２】
一方、ステップＳ１７において、辺テーブルの１アドレスの右辺にデータがないと判断されると、続いて、辺テーブルの１アドレスの左辺にデータがあるか否か判断され（ステップＳ２４）。データがない場合にはこの描画処理動作は終了する。
【０１５３】
また、データがある場合には、辺テーブルの１アドレスの左辺から、Ｘ始点、Ｙ始点、Ｚ始点とＸ終点、Ｙ終点、Ｚ終点並びにこの方向ベクトルを読み出す（ステップＳ２５）。
【０１５４】
そして、第３のパラメータ演算のサブルーチン処理（ＶＰＡＲＡ２）（ステップＳ２６）、左辺のＤＤＡ演算のサブルーチン処理（ＬＶＤＤＡ）（ステップＳ２７）、右辺のＤＤＡ演算のサブルーチン処理（ＲＶＤＤＡ）（ステップＳ２８）、スキャンラインと平行な水平方向のＤＤＡ演算のサブルーチン処理（ＨＤＤＡ）（ステップＳ２９）の演算が行われる。これらサブルーチン処理のうちステップＳ２７から２９の処理は前述の図２９ないし図３２に示した処理と同じ処理が行われるので、ここでは第３のパラメータ演算のサブルーチン処理（ＶＰＡＲＡ２）につき図３４に従い説明する。
【０１５５】
辺テーブル３３の１アドレスより読み出した右辺の方向ベクトル（ＤＩＲＲ）が５または７か判断し（ステップＳ１８１）、方向ベクトルが５または７の場合には、左辺に対してＹ軸を基軸とするＸの傾き及びＺの傾きを求め、Ｘの傾きをＤＤＸＬ、Ｚの傾きをＤＤＺＬとする（ステップＳ１８２）。
【０１５６】
そして、傾きＤＤＸＬを図１７、図１８に基づき量子化して、ＡＤＩＲＬとし、方向ベクトル（ＤＩＲＬ）を図４０のテーブルに基づきアンチエイリアシングを行う方向コード（ＬＦＬＡＧ）に変換する（ステップＳ１８３）。
【０１５７】
また、ステップＳ１８１において、方向ベクトルが５または７以外の場合には、右辺に対してＸ軸を基軸とするＹの傾き及びＺの傾きを求め、Ｙの傾きをＤＤＹＬ、Ｚの傾きをＤＤＺＬとする（ステップＳ１８４）。
【０１５８】
そして、傾きＤＤＹＬを図１７、図１８に基づき量子化して、ＡＤＩＲＬとし、方向ベクトル（ＤＩＲＬ）を図４０のテーブルに基づきアンチエイリアシングを行う方向コード（ＬＦＬＡＧ）に変換する（ステップＳ１８５）。
【０１５９】
その後、左辺のＸ始点をＸＬ、Ｙ始点をＹＬ  Ｚ始点をＺＬ、Ｘ終点をＸＬＥ、Ｙ終点をＹＬＥとし（ステップＳ１８６）として、このサブルーチンが終了する。
【０１６０】
この第３のパラメータ演算のサブルーチンが終了すると（ステップＳ２６）、続いて、ＬＶＤＤＡサブルーチン（ステップＳ２７）、ＲＶＤＤＡサブルーチン（ステップＳ２８）、ＨＤＤＡサブルーチン（ステップＳ２９）の各ＤＤＡ演算サブルーチン処理が行われる。そして、ＹがＹｅより小さいか否か判断され（ステップＳ３０）、ＹがＹｅより小さい場合には、ステップＳ２７に戻り、ＬＶＤＤＡ、ＲＶＤＤＡ、ＨＤＤＡのＤＤＡ演算サブルーチン処理が行われる。ＹがＹｅ以上になるとこの描画処理動作が終了する。
【０１６１】
上記のように、描画処理装置３により処理されたデータはフレームメモリ５に格納される。
【０１６２】
図３５は、この実施の形態におけるフレームメモリ５の分割方法を示すもので、この実施の形態においては、フレームメモリ５は５つに分割されてドットデータを格納し、あるドットを中心にする十字の５点のドットが５つフレームメモリに分離されて並列に読み出しができるように構成されている。
【０１６３】
次に、表示処理装置６の構成につき図３６のブロック図に従い説明する。
上述したように、フレームメモリ５は、０〜４の５つに分離されており、あるドットを中心にする十字の５点のドットがフレームメモリ５から並列に読み出される。フレームメモリ５から並列に読み出されたデータはフレームメモリデータ入力処理装置６１に与えられる。
【０１６４】
この処理装置６１は、フレームメモリ５から処理するドットとその上下左右のドットを並列に読み出し、処理するドットの方向コードにより、上下左右のどれか１つのドットを選び、その処理するドットと選ばれた１つの周辺ドットのＬＵＴアドレスをルックアップテーブル６４により送り、ルックアップテーブル６４より色情報を読み出し、色演算処理装置６３へ転送する。また、フレームメモリ５に色値を持つものはフレームメモリデータ入力処理装置６１から色演算装置６３にそのデータが送られる。
【０１６５】
なお、フレームメモリ５のアドレスはフレームメモリアドレス生成装置６２にて生成され、その生成されたアドレスに従いフレームメモリ５はアクセスされる。
【０１６６】
色演算装置６３は、フレームメモリデータ入力処理装置１からドットの面積を、ルックアップテーブル６４より色情報をそれぞれ受け取り、面積によるそのドットの色を求めＣＲＴ７へ送る。
【０１６７】
この色演算処理装置６３の具体的構成を図３７に示す。表示処理装置６の色演算処理装置６の具体的構成例を図３７に従い説明する。
【０１６８】
ＬＵＴメモリ６４より与えられた周辺ドットの色情報Ｒがレジスタ２１１に格納され、フレームメモリデータ入力処理装置より与えられる処理ドットの面積がエリアレジスタ２１２に格納される。レジスタ２１２に格納された面積は減算器２１８の一方の入力に与えられ、この減算器２１８の他方の入力には、この実施の形態では８×８で行っているため６４が与えられ、周辺ドットの面積が求められる。また、ＬＵＴメモリ６４より与えられた処理ドットの色情報Ｒがレジスタ２１３に格納される。
【０１６９】
レジスタ２１１に格納された周辺ドットの色情報Ｒが乗算器２１９の一方の入力に、他方の入力には周辺ドットの面積が与えられ、周辺ドットのＲ値が算出され、この値が加算器２２１に与えられる。
【０１７０】
また、レジスタ２１３に格納された処理ドットの色情報Ｒが乗算器２１９の一方の入力に、他方の入力には処理ドットの面積が与えられ、処理ドットのＲ値が算出され、この値が加算器２２１に与えられる。この加算器２２１にて、周辺ドットのＲ値と処理ドットのＲ値を加算し、処理ドットのＲ値を求め、レジスタ２２２に格納する。
【０１７１】
ＬＵＴメモリ６４より与えられた周辺ドットの色情報Ｇがレジスタ２１４に格納され、ＬＵＴメモリ６４より与えられた処理ドットの色情報Ｇがレジスタ２１５に格納される。
【０１７２】
レジスタ２１４に格納された周辺ドットの色情報Ｇが乗算器２２３の一方の入力に、他方の入力には周辺ドットの面積が与えられ、周辺ドットのＧ値が算出され、この値が加算器２２５に与えられる。
【０１７３】
また、レジスタ２１５に格納された処理ドットの色情報Ｇが乗算器２２４の一方の入力に、他方の入力には処理ドットの面積が与えられ、処理ドットのＧ値が算出され、この値が加算器２２５に与えられる。この加算器２２５にて、周辺ドットのＧ値と処理ドットのＧ値を加算し、処理ドットのＧ値を求め、レジスタ２２６に格納する。
【０１７４】
ＬＵＴメモリ６４より与えられた周辺ドットの色情報Ｂがレジスタ２１６に格納され、ＬＵＴメモリ６４より与えられた処理ドットの色情報Ｂがレジスタ２１７に格納される。
【０１７５】
レジスタ２１６に格納された周辺ドットの色情報Ｂが乗算器２２７の一方の入力に、他方の入力には周辺ドットの面積が与えられ、周辺ドットのＢ値が算出され、この値が加算器２２９に与えられる。
【０１７６】
また、レジスタ２１７に格納された処理ドットの色情報Ｂが乗算器２２８の一方の入力に、他方の入力には処理ドットの面積が与えられ、処理ドットのＢ値が算出され、この値が加算器２２９に与えられる。この加算器２２９にて、周辺ドットのＢ値と処理ドットのＢ値を加算し、処理ドットのＢ値を求め、レジスタ２３０に格納する。
【０１７７】
図３９及び図４０に各辺の方向とアンチエイリアシングを行う方向が示されている。
【０１７８】
図４１ないし図４８に、ポリゴン辺の各方向（方向ベクトル）に対する描画例を示す、各図はそれぞれ（ａ）〜（ｅ）の５種類の角度によりアンチエイリアシングするドット面積を求めている。これら図において、黒く塗りつぶしたものが面積を求めたドットである。
【０１７９】
なお、図４１が方向ベクトルが０の場合、図４２が方向ベクトルが１の場合、図４３が方向ベクトルが２の場合、図４４が方向ベクトルが３の場合、図４５が方向ベクトルが４の場合、図４６が方向ベクトルが５の場合、図４７が方向ベクトルが６の場合、図４８が方向ベクトルが０の場合を示す。
【０１８０】
図４９、図５０にＺバッファ法による陰面処理を行った例を示す。この実施の形態においては、４角形のポリゴンが５角形のポリゴンより前に位置しているので、５角形のポリゴンが陰面処理されている。
【０１８１】
図５１、図５２に処理例を示す。図５１は方向ベクトルが０、量子化した角度が１の場合、図５２は方向ベクトルが１、量子化した角度が２の場合である。
【０１８２】
図５１の例において、矢印Ｂで示すドットに対しては、Ｂの部分のドット面積が０．８４であるので、Ｂカラー＝（Ｂカラー×０．８４）＋（Ａカラー×０．１６）による演算により、このドットの色が算出される。
【０１８３】
図５２の例において、矢印Ｂで示すドットに対しては、Ｂの部分のドット面積が０．７５であるので、Ｂカラー＝（Ｂカラー×０．７５）＋（Ａカラー×０．２５）による演算により、このドットの色が算出される。
【０１８４】
図５３、図５４にポリゴンを描画した例である。図５３は、この発明により、アンチエイリアシングの対象となるドット面積を求めた例を示す。この図５３において、黒で塗りつぶした箇所がドット面積を求めた箇所である。図５３に示すように、ポイントＡのようにとがったものに対しては、この実施の形態では、ミスを起こす場合があるが、全体から見ると影響はほとんどない。図５４は実際のディスプレイの例を示し、クロスのハッチングが施されている箇所が、回りの色を考慮してアンチエイリアシングされたドットである。
【０１８５】
図５５は、この発明の参考例が適用される画像生成装置の構成を示すブロック図である。
【０１８６】
この画像生成装置は第１の実施の形態と同様に、メモリ１ａ、座標変換処理装置２ａ、描画処理装置３ａ、マッピングパターンメモリ１０、フレームメモリ５ａ、表示処理装置６ａ及び画像を表示するＣＲＴ７を備える。
【０１８７】
メモリ１ａには、オブジェクトを構成するポリゴンの端点、ポリゴンに対応してテクスチャ画像を格納するマッピングパターンメモリの端点情報データや法線ベクトル等が格納されている。このメモリ１ａからオブジェクトに対する各データが座標変換処理装置２ａに与えられる。
【０１８８】
座標変換処理装置２ａは、ＣＰＵまたはＤＳＰで構成され、オブジェクトに対する回転、拡大、縮小等を行い、ワールド座標に配置後、視野変換を行いスクリーン投影を行う。この座標変換装置２ａよりスクリーン投影されたポリゴン端点のＸ、Ｙ値、マッピングパターンメモリ１０のＸ、Ｙ座標（ＭＸ、ＭＹ）値等の各データが描画処理装置３ａへ与えられる。
【０１８９】
この描画処理装置３ａは、座標変換処理装置２ａによりスクリーン座標に変換されたポリゴン辺の各ドット中の面積、各ドットの色値（Ｒ、Ｇ、Ｂ）を算出し、フレームメモリ５ａにそのデータを書き込む。この描画処理装置３ａは、スクリーンの１ドットに対して、Ｎ×Ｎドット、この実施の形態では２×２ドットを対応させている。そして、ポリゴン面に対しては、２×２ドットのマッピングパターンメモリ１０の色値（Ｒ、Ｇ、Ｂ）をすべて読み出し、平均化して新たなスクリーンの１ドットに対応する色値（Ｒ、Ｇ、Ｂ）を求め、その値をフレームメモリ５ａに書き込む。また、ポリゴン辺に対しては、２×２ドット中のスクリーンの１ドットに何個のドットが入っているかカウントし、そのカウント値によりドット面積を簡略的に求め、フレームメモリ５ａに書き込む。
【０１９０】
フレームメモリ５ａは、前述した第１の実施の形態と同じく図２に示すように、各ドットの色値（Ｒ、Ｇ、Ｂ）とドットの面積とアンチエイリアシングを行う方向コードが格納される。このアンチエイリアシングを行う方向を示す方向コードは各辺の方向ベクトルにより決定される。
【０１９１】
表示処理装置６ａは、フレームメモリ５をアクセスし、フレームメモリ５に格納された色値とドットの面積と方向コードからそのドットの色を演算して求め、その演算で得られた色をＣＲＴ７に送り、ＣＲＴ７にて画像が表示される。
【０１９２】
次に、この実施の形態における描画処理装置３ａの構成例を図５６に従い説明する。
【０１９３】
視野変換されたポリゴン端点の視野座標上のＸ、Ｙ値、マッピングパターンメモリのＸ、Ｙ座標（ＭＸ、ＭＹ）値等の各データが座標変換処理装置２ａより描画処理装置３ａ内部の外部インターフェース（ＩＦ）３１ａに与えられる。すなわち、このインターフェース３１ａにより座標変換処理装置２ａと描画処理装置３ａとのデータの受け渡しが行われる。インターフェース３１ａを介して与えられた座標変換処理装置２ａからの各データがポリゴン摘出装置３２ａに与えられる。
【０１９４】
このポリゴン摘出装置３２ａは、ポリゴン辺の情報を後の処理で処理し易いように、それぞれのデータを辺テーブル３３ａに格納させる処理を行う。このポリゴン摘出装置３２ａは、例えば図５７に示すように構成される。
【０１９５】
図５７は、ポリゴン摘出装置３２ａの具体的構成例を示すブロック図である。
【０１９６】
外部インタフェース３１ａからポリゴン端点のＸ、Ｙ値、マッピングパターンメモリのＸ、Ｙ座標（ＭＸ、ＭＹ）値、色値、属性などがポリゴン摘出装置３２ａに与えられる。外部インタフェース３１から与えられた各ポリゴン端点で構成される各ポリゴン辺のＸ始点（Ｘｓ）はレジスタ１０１ａに、ポリゴン辺のＸ終点（Ｘｅ）はレジスタ１０２ａに、ポリゴン辺のＹ始点（Ｙｓ）はレジスタ１０３ａに、ポリゴン辺のＹ終点（Ｙｅ）はレジスタ１０４ａにそれぞれ格納される。また、属性は属性レジスタ１０５ａに格納される。
【０１９７】
さらに、マッピングパターンメモリのＸ始点（ＭＸｓ）はレジスタ３０１に、マッピングパターンメモリのＸ終点（ＭＸｅ）はレジスタ３０２に、マッピングパターンメモリポリゴンのＹ始点（ＭＹｓ）はレジスタ３０３に、マッピングパターンメモリのＹ終点（ＭＹｅ）はレジスタ３０４にそれぞれ格納される。
【０１９８】
そして、コントローラ１１６ａは、前述の第１の実施の形態と同じく格納されたポリゴン辺の端点のアドレスに基づいて、ポリゴンを構成する各辺のベクトルが図５に示すどの方向に属するかを判断し、その方向ベクトルを算出すると共に、そのベクトル方向に応じて、図６に示すようにポリゴン辺が右辺に属するか左辺に属するか決定する。
【０１９９】
この実施の形態では、前述の第１の実施の形態と同じくポリゴン辺のベクトルは下方向に向くように変換して演算を行うようにしている。そのため、例えば、図７の（ａ）、（ｂ）、（ｃ）に示すようなポリゴンの種類に対して、図８の（ａ）、（ｂ）、（ｃ）に示すポリゴン辺の対を求める。従って、上向きのポリゴン辺を逆転させる必要がある。また、図３８に示すようなポリゴンに対しては、２つの辺の対になるように、ポリゴン辺を分割し、それぞれ下向きのポリゴン辺対になるように構成している。
【０２００】
このために、レジスタ１０３ａ、１０４ａに格納されたＹｓ、Ｙｅは比較器１０６ａに与えられ、この比較器１０６ａにて、Ｙｓ、Ｙｅを比較する。そして、この比較結果は、マルチプレクサ１０７ａ、１０８ａ、３０５、３０６に与えられる。この比較結果により、ポリゴン辺を逆転させるか否か決定し、マルチプレクサ１０７ａ、１０８ａ、３０５、３０６が制御される。すなわち、図７に示すようなポリゴンの種類に対しては、図８のように、ポリゴン辺対を求めるべく上向きのポリゴン辺を逆転させ、マルチプレクサ１０７ａ、１０８ａ、３０５、３０６は始点、終点を入れ替えて辺テーブル３３ａにデータを送り、ポリゴン辺を逆転させない場合には、マルチプレクサ１０７ａ、１０８ａ、３０５、３０６外部インタフェース３３ａから与えられたデータをそのまま辺テーブル３３ａに送る。
【０２０１】
辺テーブル３３ａは、図５８に示すようにフォーマットされ、ポリゴン辺の対になる右辺、左辺のそれぞれのデータが格納される。
【０２０２】
前述の第１の実施の形態と同じくこの参考例においても上向きのベクトルは始点、終点の入れ替えにより下向きのベクトルに変更されるが、図９に示すように、そのポリゴン辺の属する右辺、左辺の関係は変更しない。
【０２０３】
また、マルチプレクサ１０８ａから出力され、辺テーブル３３ａの左辺の０アドレスに格納される辺情報のＹ始点（Ｙｓ）がレジスタ１０９ａに、辺テーブル３３ａの右辺の０アドレスに格納される辺情報のＹ始点（Ｙｓ）がレジスタ１１０ａに、辺テーブル３３ａの左辺の１アドレスに格納される辺情報のＹ始点（Ｙｓ）がレジスタ１１１ａに、辺テーブル３３ａの右辺の１アドレスに格納される辺情報のＹ始点（Ｙｓ）がレジスタ１１２ａにそれぞれ与えられる。
【０２０４】
また、レジスタ１０９ａ、レジスタ１１０ａに格納された左辺、右辺の０アドレスに格納されたＹ始点がマルチプレクサ１１３ａを介して比較器１１５ａに与えられる。また、レジスタ１１１ａ、レジスタ１１２ａに格納された左辺、右辺の１アドレスに格納されたＹ始点がマルチプレクサ１１４ａを介して比較器１１５ａに与えられる。比較器１１５ａでは、辺テーブル３３ａの左辺または右辺の０、１アドレスに格納された辺情報はどちらが上の辺でどちらが下の辺であるかの判定を行いその判定結果をパラメータ演算装置３４ａに与える。これら各回路は、コントローラ１１６ａにより制御される。
【０２０５】
そして、辺テーブル３３ａ及びポリゴン摘出装置３２ａ並びに後述する水平テーブル３７ａからのデータがパラメータ演算装置３４ａに与えられる。
【０２０６】
このパラメータ演算装置３４ａは、ポリゴンの左辺、右辺のＸ、Ｙ値の傾きやマッピングパターンメモリのＭＸ、ＭＹ値の傾きなどを演算する。このパラメータ演算装置３４ａは、例えば、図５９のように構成される。
【０２０７】
図５９は、このパラメータ演算装置３４ａの具体的構成例を示すブロック図である。
【０２０８】
図５９に示すように、パラメータ演算装置３４ａは、デジタル微分解析（ＤＤＡ）に用いるパラメータとしてのポリゴン辺の傾き等を求めるもので、辺テーブル３３ａより傾きを求めるために除算される始点、終点がレジスタ１２１ａ、１２２ａに格納され、このレジスタ１２１ａ、１２２ａに格納された始点、終点が減算器１２３ａに与えられ、この減算器１２３ａで除算される始点、終点の長さが求められ、その長さがレジスタ１２４ａに与えられる。
【０２０９】
また、辺テーブル３３ａより除算される始点、終点がレジスタ１２５ａ、１２６ａに格納され、このレジスタ１２５ａ、１２６ａに格納された始点、終点が減算器１２７ａに与えられ、この減算器１２７ａで除算される始点、終点の長さが求められ、その長さがレジスタ１２８ａに与えられる。すなわち、これら、減算器１２３ａ、１２７ａにて、ポリゴン辺の右辺、左辺のそれぞれに対して、ＤＹ＝Ｙｅ−Ｙｓ、ＤＸ＝Ｘｅ−Ｘｓ、ＤＭＸ＝ＭＸｅ−ＭＹｓ、ＤＭＹ＝ＭＹｅ−ＭＹＳの演算が行われ、この演算結果（長さ）がレジスタ１２４ａ、１２８ａに格納される。
【０２１０】
レジスタ１２４ａ、１２８ａに格納されたそれぞれの長さは、除算器１２９ａに与えられ、この除算器１２９ａで除算することにより各辺の傾きを求め、求めた傾きをレジスタ１３０ａに格納し、ＤＤＡ処理装置３５ａに送る。
【０２１１】
また、レジスタ１３２ａには左辺のＹ終点が格納され、レジスタ１３３ａには右辺のＹ終点が格納され、これらレジスタ１３２ａ、１３３ａに格納されたＹ終点は、比較器１３４ａ及びマルチプレクサ１３５ａに与えられる。そして、比較器１３４ａにて左辺、右辺のＹ終点を比較して、その比較結果によりマルチプレクサ１３５ａを制御することにより、左辺、右辺の小さい方のＹ終点の値を求めＤＤＡ処理装置３５ａへ送る。
【０２１２】
一方、レジスタ１３１ａには、辺テーブル３３ａの各種パラメータが格納され、格納されたパラメータはＤＤＡ処理装置３５ａに与えられる。
【０２１３】
パラメータ演算装置３４ａで算出された各パラメータはＤＤＡ処理装置３５ａ及びアンチエイリアシング処理装置３６ａにそれぞれ与えられる。
【０２１４】
ＤＤＡ処理装置３５は、ポリゴンの左辺、右辺のスクリーンアドレス値（Ｘ、Ｙ）及びマッピングパターンメモリアドレス値（ＭＸ、ＭＹ）値をディジタル微分解析（ＤＤＡ）により求め、Ｙ値が１つ変わるごとに左辺、右辺のＸ値、ＭＸ値、ＭＹ値をＤＤＡする。この時、ＤＤＡは左辺のＤＤＡを行った後、水平テーブル３７ａに求めた左辺のＸ値、ＭＸ値、ＭＹ値、方向ベクトルを書き込む。そして、右辺のＤＤＡを行い水平テーブル３７ａに求めた右辺のＸ値、Ｙ値、ＭＸ値、ＭＹ値、方向ベクトル及び属性を書き込む。このＤＤＡ処理装置３５ａは、例えば、図６０ないし図６３のように構成される。
【０２１５】
上記水平テーブル３７ａは図６６に示すようにフォーマットされており、左辺、右辺に水平に交叉するスキャンラインのＸ値、マッピングパターンメモリアドレス値ＭＸ、ＭＹ、方向ベクトル、属性などを一時的に格納し、左辺、右辺ともデータが揃った時に、パラメータ演算装置３４ａに送り、水平方向のＤＤＡを行うために必要なパラメータを演算させる。
【０２１６】
図６０ないし図６３は、上記ＤＤＡ処理装置３５ａの具体的構成例を示すブロック図である。図６０は、Ｘ軸を基軸とするＤＤＡ処理装置、図６１は、Ｙ軸を基軸とするＤＤＡ処理装置、図６２は、マッピングパターンメモリアドレスのＭＸを求めるＤＤＡ処理装置、図６３は、マッピングパターンメモリアドレスのＭＹを求めるＤＤＡ処理装置である。
【０２１７】
次に、ＤＤＡ処理装置３５ａの具体的構成例につき図６０ないし図６３に従い説明する。
【０２１８】
図６０に示すように、Ｘ軸を基軸とするＤＤＡを行う場合には、パラメータ演算装置３４ａから与えられた右辺のＸの傾きがレジスタ３１０に、左辺のＸの傾きがレジスタ３１１にそれぞれ格納される。レジスタ３１０、３１１からＸ値の傾きがマルチプレクサ３１３を介して加算器３１５に与えられる。
【０２１９】
マルチプレクサ３１２にはパラメータ演算処理装置３４ａから送られてきた値または加算器３１５の加算結果が与えられ、この値をＸレジスタ３１４に与える。すなわち、このＸレジスタ３１４にはＤＤＡを行うＸ値が格納される。加算器３１５はＸレジスタ３１４の値とマルチプレクサ３１５により選択された値を加算する。加算器３１５によりＤＤＡされ、Ｘレジスタ３１４に格納されたＸ値はアンチエイリアシング処理装置３６ａに送られる。
【０２２０】
図６１に示すように、Ｙ軸を基軸とするＤＤＡを行う場合には、１または−１を送るためマルチプレクサ３２０に１または−１が与えられる。このマルチプレクサ３２０から加算器３２３に１または−１が与えられる。
【０２２１】
マルチプレクサ３２１には、パラメータ演算処理装置３４ａから送られてきたＹ値または加算器３２３の加算結果が与えられ、この値をＹレジスタ３２２に与える。すなわち、このＹレジスタ３２２にはＤＤＡを行うＹ値が格納される。加算器３２３はＹレジスタ３２２の値とマルチプレクサ３２０により選択された値を加算する。加算器３２３によりＤＤＡされ、Ｙレジスタ３２２に格納されたＹ値はアンチエイリアシング処理装置３６ａに送られる。
【０２２２】
また、レジスタ３２４にはパラメータ演算処理装置３４ａより与えられた辺ペアのＹ値の終値（Ｙｅ）が格納され、この値とＹレジスタ３２２に格納された値とが比較器３２５で比較される。すなわち、辺ペアのＹ値とＹ値の終値（Ｙｅ）を比較し、この結果をＤＤＡの処理を制御するコントローラに与え、処理の終了が判断される。
【０２２３】
図６２に示すように、マッピングパターンメモリアドレスのＭＸのＤＤＡを行う場合には、パラメータ演算処理装置３４ａから与えられる右辺のＭＸ値の傾きがレジスタ３３０に、左辺のＭＸ値の傾きがレジスタ３３１に与えられる。このレジスタ３３０、３３１からマルチプレクサ３３３を介して加算器３３５にＭＸ値の傾き（ＤＤＭＸＲまたはＤＤＭＸＬ）が与えられる。
【０２２４】
マルチプレクサ３３２にはパラメータ演算処理装置３４ａから送られてきた値または加算器３３５の加算結果が与えられ、この値をＭＸレジスタ３３４に与える。すなわち、このＭＸレジスタ３３４にはＤＤＡを行うＭＸ値が格納される。加算器３３５はＭＸレジスタ３３４の値とマルチプレクサ３３３により選択された値を加算する。加算器３３５によりＤＤＡされ、ＭＸレジスタ３３４に格納されたＭＸ値はアンチエイリアシング処理装置３６ａに送られる。
【０２２５】
図６３に示すように、マッピングパターンメモリアドレスのＭＹのＤＤＡを行う場合には、パラメータ演算処理装置３４ａから与えられる右辺のＭＹ値の傾きがレジスタ３４０に、左辺のＭＹ値の傾きがレジスタ３４１に与えられる。このレジスタ３４０、３４１からマルチプレクサ３４３を介して加算器３４５にＭＹ値の傾き（ＤＤＭＹＲまたはＤＤＭＹＬ）が与えられる。
【０２２６】
マルチプレクサ３４２にはパラメータ演算処理装置３４ａから送られてきた値または加算器３４５の加算結果が与えられ、この値をＭＹレジスタ３４４に与える。すなわち、このＭＹレジスタ３４４にはＤＤＡを行うＭＹ値が格納される。加算器３４５はＭＸレジスタ３４４の値とマルチプレクサ３４３により選択された値を加算する。加算器３４５によりＤＤＡされ、ＭＹレジスタ３４４に格納されたＭＹ値はアンチエイリアシング処理装置３６ａに送られる。
【０２２７】
パラメータ演算装置３４ａ及びＤＤＡ処理装置３５ａで算出したそれぞれのデータはアンチエイリアシング処理装置３６ａに与えられる。このアンチエイリアシング処理装置３６ａは、ＤＤＡ処理装置３５ａからマッピングパターンメモリアドレス（ＭＸ、ＭＹ）を受け取り、このマッピングパターンメモリアドレスにより、マッピングパターンメモリ１０をアクセスし、２×２ドットのマッピングデータをアクセスする。そして、パラメータ演算装置３４ａから奇数ラインと偶数ラインのスキャンライン上のポリゴンの左辺Ｘ値（ＸＬ）、右辺Ｘ値（ＸＲ）を受け取り、ＤＤＡ処理装置３５ａから現在処理中のＸ値に基づきスクリーンに対応するドットの中に何ドット入っているかをカウントした値により、入力されたマッピングデータを平均化し、マッピングのアンチエイリアシングを行う。さらに、ポリゴンのエッジ判定と右辺／左辺の方向を割り振るために現在のラインの最も左の左辺Ｘ値（ＢＸＬ）と最も右の右辺Ｘ値（ＢＸＲ）と、前のラインの最も左の左辺Ｘ値と最も右の右辺Ｘ値とをパラメータ演算装置３４ａから受け取る。
【０２２８】
そして、ＸＬ＜Ｘ＜ＢＸＬの場合は、左辺のポリゴンエッジであることが分かり、アンチエイリアシングの方向を左辺の方向に選択する。また、ＸＲ＜Ｘ＜ＢＸＲの場合は、右辺のポリゴンエッジであることが分かり、アンチエイリアシングの方向を右辺の方向に選択する。このようにして得られたＲＧＢとドット面積並びにアンチエイリアシングの方向をフレームメモリ制御装置３８ａに転送する。このアンチエイリアシング処理装置３６ａは、例えば図６４のように構成される。
【０２２９】
図６４は、アンチエイリアシング処理装置３６ａの具体的構成例を示すブロック図である。
【０２３０】
ＤＤＡ処理装置３５ａから与えられたマッピングパターンメモリアドレス（ＭＸ、ＭＹ）はマッピングパターンメモリアドレス生成装置３５０に格納される。このマッピングパターンメモリ生成装置３５０は、ＤＤＡ処理装置３５ａからマッピングパターンメモリ１０のアドレス（ＭＸ、ＭＹ）を受け取り、マッピングパターンメモリ１０をアクセスするアドレスを生成する。この実施の形態では、奇数、偶数ラインのアドレスを格納するため、レジスタ３５１に、奇数、偶数ラインのＸアドレス（ＭＸＬ１、ＭＸＬ２）が格納され、レジスタ３５２に、奇数、偶数ラインのＹアドレス（ＭＹＬ１、ＭＹＬ２）が格納される。そして、レジスタ３５１、３５２に格納されたマッピングパターンメモリ１０のＸ、Ｙアドレスにより、マッピングパターンメモリ１０よりＲＧＢ情報を読み出し、そのＲＧＢ情報がＲＧＢ合成装置３６０に与えられる。
【０２３１】
ＲＧＢ合成装置３６０は、マッピングパターンメモリ１０より読み出されたＲＧＢ情報を受け取り、スクリーンの１ドット内に含まれるドットを加算し、ドット面積生成装置３７０より受け取った何ドット含まれるかを示すドット面積値によりその平均値を求め、アンチエイリアシング処理を行うものである。
【０２３２】
すなわち、マッピングパターンメモリ１０からのＲＧＢ情報は一旦レジスタ３６１に格納され、このＲＧＢ情報がマルチプレクサ３６３を介して加算器３６５に与えられる。マルチプレクサ３６３は、ドットが存在していないときに、マッピングパターンメモリ１０からのデータの代わりに”０”値を加算器３６５に送る。
【０２３３】
加算器３６５からのデータは、マルチプレクサ３６４を介してレジスタ３６２に与えられる。マルチプレクサ３６４は初期化時に”０”値をレジスタ３６２に送り、その他の時には加算器３６５からのデータをレジスタ３６２に送る。レジスタ３６２はマッピングパターンメモリ１０より読み出したＲＧＢを加算していく値を格納するものである。このレジスタ３６２に格納されたデータが除算器３６６に与えられる。この除算器３６６はドット面積生成装置３７０から送られるドット数をレジスタ３６２から送られるデータから除算することにより平均化を行い、その結果がレジスタ３６７に転送する。レジスタ３６７に格納された平均化されたＲＧＢデータがフレームメモリ制御装置３８ａに送られる。
【０２３４】
ドット面積生成装置３７０は、スクリーンの１ドットに対応するドットの数をカウントし、面積を算出するものである。すなわち、パラメータ演算装置３４ａから送られてくる奇数／偶数ラインのポリゴン辺の左辺のＸ値（ＸＬ１、ＸＬ２）がレジスタ３７１に格納され、パラメータ演算装置３４ａから送られてくる奇数／偶数ラインのポリゴン辺の右辺のＸ値（ＸＲ１、ＸＲ２）がレジスタ３７３に格納される。また、ＤＤＡ処理装置３７０から与えられる現在処理中のＸ値がレジスタ３７２に与えられる。レジスタ３７１、３７２、３７３に格納されたデータが比較器３７４に与えられる。比較器３７４は、奇数／偶数ラインのＸ値を比較、すなわち、ＸＬ＜Ｘ＜ＸＲの比較を行い、現在処理中のＸ値がポリゴンに含まれるか否か判断し、その結果をカウンタ３７５に与える。
【０２３５】
カウンタ３７５は、スクリーンの１ドット中に何個のドットがあるかをカウントし、そのカウント結果をＲＧＢ合成装置３６０及びフレームメモリ制御装置３８ａに送る。
【０２３６】
アンチエイリアシング方向生成装置３８０は、スキャンライン上のドットがポリゴン辺であるか否か判断するとともに、ポリゴン辺であれば右辺か左辺かを判断し、図６５に示すように、その方向を決定する。
【０２３７】
パラメータ演算装置３４ａから左辺の方向ベクトルがレジスタ３８１に、右辺の方向ベクトルがレジスタ３８２に格納される。レジスタ３８１、３８２に格納された方向データがマルチプレクサ３８７に与えられる。
【０２３８】
一方、パラメータ演算装置３４ａから現在のラインの最も左のＸ値と最も右のＸ値がレジスタ３８３に、前のラインの最も左のＸ値と最も右のＸ値がレジスタ３８５にそれぞれ格納される。また、ＤＤＡ処理装置３５ａから現在処理中のＸ値がレジスタ３８４に格納される。レジスタ３８３、３８４、３８５に格納されたデータは比較器３８６に与えられ、この比較器３８６にて、ＸＬ＜Ｘ＜ＢＸＬまたはＸＲ＜Ｘ＜ＢＸＲの比較が行われ、ＸＬ＜Ｘ＜ＢＸＬの場合は、左辺のポリゴンエッジであるので、マルチプレクサ３８７から左辺の方向を出力するように制御する。また、ＸＲ＜Ｘ＜ＢＸＲの場合は、右辺のポリゴンエッジであるので、マルチプレクサ３８７から右辺の方向を出力するように制御する。これら各回路はコントローラ３９０により制御される。
【０２３９】
そして、ＤＤＡ処理装置３５ａ及びアンチエイリアシング処理装置３６ａからのデータがフレームメモリ制御装置３８ａに与えられる。このフレームメモリ制御装置３８ａは、アンチエイリアシング処理装置３６ａから各ドットの面積と、ＲＧＢ情報と辺の方向をＤＤＡ処理装置３５ａからＸ値、Ｙ値、Ｚ値を受け取り、フレームメモリアドレスを求め、フレームメモリ５ａへＲＧＢ情報と辺の方向とドットの面積と方向コードを書き込む。このフレームメモリ制御装置３８ａは、例えば図６７に示すように構成される。
【０２４０】
図６７は、フレームメモリ制御装置３８ａの具体的構成例を示すブロック図である。
【０２４１】
各部から受け取ったデータはレジスタ１９１ａに格納される。このレジスタ１９１ａは、パラメータ演算処理装置３４ａからのデータはフラグ（ＦＬＡＧ）領域へ、ＤＤＡ処理装置３５ａからの色データがカラー領域へ、アンチエイリアシング処理回路３６からのデータはエリア領域へそれぞれ格納する。
【０２４２】
ＤＤＡ処理装置３５ａから受け取ったＹ値がフレームメモリアドレス生成回路１９２ａに与えられ、この生成回路１９２ａにてフレームメモリのアドレスを生成し、フレームメモリ５ａに与え、レジスタ１９１ａに格納されたデータがフレームメモリ５ａに転送される。
【０２４３】
上述した描画処理装置３ａの各装置はコントローラ３９ａで制御され、このコントローラ３９ａは図６８ないし図７６に示すフローチャートに従い描画処理装置３の全体を制御する。
【０２４４】
次に、上記フローチャートに従い描画処理装置３ａの動作につき説明する。
【０２４５】
動作を開始すると、座標変換処理装置２ａからポリゴン辺の始点（Ｘｓ、Ｙｓ）、終点（Ｘｅ、Ｙｅ）を読み出す（ステップＳ４１）。そして、ポリゴン辺の始点、終点のアドレスに基づいて、前述の第１の実施の形態と同じくポリゴンを構成する各辺のベクトルが図５に示すどの方向に属するかを判断し、その方向ベクトル（ＤＩＲ）を算出すると共に、そのベクトル方向に応じて、ポリゴン辺が右辺に属するか左辺に属するか決定する。（ステップＳ４２）。
【０２４６】
この実施の形態においても前述の第１の実施の形態と同じく、ポリゴン辺のベクトルは下方向に向くように変換して演算を行うようにしている。このため、方向ベクトル（ＤＩＲ）が４より大きいか否か判断され（ステップＳ４３）、方向ベクトル（ＤＩＲ）が４より小さい場合は、図５に示すように、方向ベクトルは上向きであるので、上向きのポリゴン辺を逆転させるため方向ベクトル（ＤＩＲ）を反転させ、そして左辺、右辺の属性を示すフラグを１にセットする（ステップＳ４４）。
【０２４７】
方向ベクトル（ＤＩＲ）が４以上の場合は、図５に示すように、方向ベクトルは下向きであるので、方向ベクトル（ＤＩＲ）はそのままの状態で、左辺、右辺の属性を示すフラグを０にセットする（ステップＳ４５）。
【０２４８】
辺テーブル３３ａに、ポリゴン辺の対になる右辺、左辺のそれぞれのデータが格納される（ステップＳ４６）、すべてのポリゴン辺を読み出すまで前述の動作を繰り返し（ステップＳ４７）、すべてのポリゴン辺の右辺、左辺のそれぞれのデータが辺テーブル３３ａに格納されると、辺テーブル３３ａがソートされる（ステップＳ４８）。そして、辺テーブル３３ａからＹアドレスの終点（Ｙｅ）を求める（ステップＳ４９）。
【０２４９】
続いて、辺テーブル３３ａの０アドレスの左辺から、Ｘ始点、Ｙ始点、マッピングパターンメモリアドレスのＸ始点（ＭＸｓ）、マッピングパターンメモリアドレスのＹ始点（ＭＹｓ）とＸ終点、Ｙ終点、マッピングパターンメモリアドレスのＸ終点（ＭＸｅ）、マッピングパターンメモリアドレスのＹ終点（ＭＹｅ）並びにこの方向ベクトルを読み出す（ステップＳ５０）。
【０２５０】
さらに、辺テーブル３３ａの０アドレスの右辺から、Ｘ始点、Ｙ始点、マッピングパターンメモリアドレスのＸ始点（ＭＸｓ）、マッピングパターンメモリアドレスのＹ始点（ＭＹｓ）とＸ終点、Ｙ終点、マッピングパターンメモリアドレスのＸ終点（ＭＸｅ）、マッピングパターンメモリアドレスのＹ終点（ＭＹｅ）並びにこの方向ベクトルを読み出す（ステップＳ５１）。
【０２５１】
そして、パラメータ演算のサブルーチン処理（ＶＰＡＲＡ）（ステップＳ５２）、左辺のＤＤＡ演算のサブルーチン処理（ＬＶＤＤＡ）（ステップＳ５３）、右辺のＤＤＡ演算のサブルーチン処理（ＲＶＤＤＡ）（ステップＳ５４）、スキャンラインと平行な水平方向のＤＤＡ演算のサブルーチン処理（ＨＤＤＡ）（ステップＳ５５）の演算が行われる。
【０２５２】
これらサブルーチン処理につき説明する。
【０２５３】
まず、パラメータ演算のサブルーチン処理（ＶＰＡＲＡ）について、図７０に従い説明する。左辺に対してＹ軸を基軸とするＸの傾きを求めこの傾きをＤＤＸＬとし、マッピングパターンメモリアドレスのＸの傾きを求めこの傾きをＤＤＭＸＬとし、マッピングパターンメモリアドレスのＹの傾きを求めこの傾きをＤＤＭＹＬとするとともに、方向ベクトル（ＤＩＲＬ）をアンチエイリアシングを行う方向コード（ＬＦＬＡＧ）に変換する（ステップＳ２００）。
【０２５４】
なお、この参考例においても第１の実施の形態と同じく、図３９に示すように、（ａ）の方向ベクトルに基づき、（ｂ）のように、アンチエイリアシングを行う方向が決められている。その方向ベクトルと方向コード（ＦＬＡＧ）との関係が図４０に示されている。この図４０に示すテーブルに基づき方向ベクトル（ＤＩＲ）が方向コード（ＬＦＬＡＧ）に変換される。
【０２５５】
続いて、右辺に対してＹ軸を基軸とするＸの傾きを求めこの傾きをＤＤＸＲとし、マッピングパターンメモリアドレスのＸの傾きを求めこの傾きをＤＤＭＸＲとし、マッピングパターンメモリアドレスのＹの傾きを求めこの傾きをＤＤＭＹＲとするとともに、方向ベクトル（ＤＩＲＬ）をアンチエイリアシングを行う方向コード（ＲＦＬＡＧ）に変換する（ステップＳ２０１）。
【０２５６】
その後、左辺のＸ始点をＸＬ、ＭＸ始点をＭＸＬとし、また、Ｙ始点をＹＬ、ＭＹ始点をＭＹＬとすると共に、Ｘ終点をＸＬＥ、ＭＸ終点をＭＸＬＥ、Ｙ終点をＹＬＥ、ＭＹ終点をＭＹＬＥとする（ステップＳ２０２）。
【０２５７】
さらに、右辺のＸ始点をＸＲ、ＭＸ始点をＭＸＲとし、また、Ｙ始点をＹＲ、ＭＹ始点をＭＹＲとすると共に、Ｘ終点をＸＲＥ、ＭＸ終点をＭＸＲＥ、Ｙ終点をＹＲＥ、ＭＹ終点をＭＹＲＥとして（ステップＳ２０２）、このサブルーチンが終了する。
【０２５８】
パラメータ演算のサブルーチン処理（ＶＰＡＲＡ）（ステップＳ５２）が終了すると、左辺のＤＤＡ演算のサブルーチン処理（ＬＶＤＤＡ）（ステップＳ５３）が行われる。
【０２５９】
左辺のＤＤＡ演算のサブルーチン処理（ＬＶＤＤＡ）について、図７１を参照して説明する。
【０２６０】
ＶＰＡＲＡサブルーチンで設定したＸＬ、ＹＬ、ＭＸＬ、ＭＹＬをそれぞれＸ、Ｙ、ＭＸ、ＭＹとする（ステップＳ２１０）。
【０２６１】
続いて、Ｘ、ＭＸ及びＭＹをＤＤＡで算出する。すなわち、Ｘ＝Ｘ＋ＤＤＸＬ、ＭＸ＝ＭＸ＋ＤＤＭＸＬ、ＭＹ＝ＭＹ＋ＤＤＭＹＬの演算を行った後（ステップＳ２１１）、Ｙ＝Ｙ＋ＤＹの演算を行う（ステップＳ２１２）。
【０２６２】
そして、水平テーブル３７ａの奇数ラインの左辺の領域に求めたＸ、ＭＸ、ＭＹを書き込む（ステップＳ２１３）。
【０２６３】
次に、偶数ラインの各データを求めるため、Ｘ、ＭＸ及びＭＹをＤＤＡでさらに算出する。すなわち、Ｘ＝Ｘ＋ＤＤＸＬ、ＭＸ＝ＭＸ＋ＤＤＭＸＬ、ＭＹ＝ＭＹ＋ＤＤＭＹＬの演算を行った後（ステップＳ２１４）、Ｙ＝Ｙ＋ＤＹの演算を行う（ステップＳ２１５）。
【０２６４】
そして、水平テーブル３７ａの偶数ラインの左辺の領域に求めたＸ、ＭＸ、ＭＹを書き込む（ステップＳ２１６）。
【０２６５】
続いて、ＸＬをＸに、ＹＬをＹに、ＭＸＬをＭＸに、ＭＹＬをＭＹに設定し（ステップＳ２１７）、このサブルーチンを終了する。
【０２６６】
左辺のＤＤＡ演算のサブルーチン処理（ＬＶＤＤＡ）（ステップＳ５３）が終了すると、右辺のＤＤＡ演算のサブルーチン処理（ＲＶＤＤＡ）（ステップＳ５４）が行われる。
【０２６７】
右辺のＤＤＡ演算のサブルーチン処理（ＲＶＤＤＡ）について、図７２を参照して説明する。
【０２６８】
ＶＰＡＲＡサブルーチンで設定したＸＲ、ＹＲ、ＭＸＲ、ＭＹＲをそれぞれＸ、Ｙ、ＭＸ、ＭＹとする（ステップＳ２２０）。
【０２６９】
続いて、Ｘ、ＭＸ及びＭＹをＤＤＡで算出する。すなわち、Ｘ＝Ｘ＋ＤＤＸＲ、ＭＸ＝ＭＸ＋ＤＤＭＸＲ、ＭＹ＝ＭＹ＋ＤＤＭＹＲの演算を行った後（ステップＳ２２１）、Ｙ＝Ｙ＋ＤＹの演算を行う（ステップＳ２２２）。
【０２７０】
そして、水平テーブル３７ａの奇数ラインの右辺の領域に求めたＸ、ＭＸ、ＭＹを書き込む（ステップＳ２２３）。
【０２７１】
次に、偶数ラインの各データを求めるため、Ｘ、ＭＸ及びＭＹをＤＤＡでさらに算出する。すなわち、Ｘ＝Ｘ＋ＤＤＸＲ、ＭＸ＝ＭＸ＋ＤＤＭＸＲ、ＭＹ＝ＭＹ＋ＤＤＭＹＲの演算を行った後（ステップＳ２２４）、Ｙ＝Ｙ＋ＤＹの演算を行う（ステップＳ２２５）。
【０２７２】
そして、水平テーブル３７ａの偶数ラインの右辺の領域に求めたＸ、ＭＸ、ＭＹを書き込む（ステップＳ２２６）。
【０２７３】
続いて、ＸＲをＸに、ＹＲをＹに、ＭＸＲをＭＸに、ＭＹＲをＭＹに設定し（ステップＳ２２７）、このサブルーチンを終了する。
【０２７４】
右辺のＤＤＡ演算のサブルーチン処理（ＲＶＤＤＡ）（ステップＳ５４）が終了すると、スキャンラインと平行な水平方向のＤＤＡ演算のサブルーチン処理（ＨＤＤＡ）（ステップＳ５５）が行われる。
【０２７５】
スキャンラインと平行な水平方向のＤＤＡ演算のサブルーチン処理（ＨＤＤＡ）について、図７３及び図７４を参照して説明する。
【０２７６】
水平テーブルの奇数領域から読み出した左辺のＸ、Ｙ、ＭＸ、ＭＹ値をそれぞれＸＬ１、ＹＬ１、ＭＸＬ１、ＭＹＬ１とし、さらに右辺のＸ、ＭＸ、ＭＹ値をそれぞれＸＲ１、ＭＸＲ１、ＭＹＲ１とするとともに、左辺の方向ベクトルをＤＩＲＬ１、右辺の方向ベクトルをＤＩＲＲ１とする（ステップＳ２３０）。
【０２７７】
続いて、水平テーブルの偶数領域から読み出した左辺のＸ、Ｙ、ＭＸ、ＭＹ値をそれぞれＸＬ２、ＹＬ２、ＭＸＬ２、ＭＹＬ２とし、さらに右辺のＸ、ＭＸ、ＭＹ値をそれぞれＸＲ２、ＭＸＲ２、ＭＹＲ２とする（ステップＳ２３１）。
【０２７８】
そして、ＸＬ１とＸＬ２とを比較し、Ｘ値の小さい方をＸＬとし（ステップＳ２３２）、ＸＲ１とＸＲ２とを比較し、Ｘ値の大きい方をＸＲとする（ステップＳ２３３）。
【０２７９】
次に、水平テーブルの奇数領域のＸ軸を基軸としてマッピングパターンメモリのＸアドレスの傾きを求め、この傾きをＤＤＭＸ１とすると共に、マッピングパターンメモリのＹアドレスの傾きを求め、この傾きをＤＤＭＹ１とする（ステップＳ２３４）。さらに、水平テーブルの偶数領域のＸ軸を基軸としてマッピングパターンメモリのＸアドレスの傾きを求め、この傾きをＤＤＭＸ２とすると共に、マッピングパターンメモリのＹアドレスの傾きを求め、この傾きをＤＤＭＹ２とする（ステップＳ２３５）。そして、カウンタ値（ＤＣＮＴ）を”０”に初期化した後（ステップＳ２３６）、ＸをＸＬとする（ステップＳ２３７）。
【０２８０】
続いて、現在処理中のＸ値がＸＬ１とＸＲ１との間にあるか否か、すなわち、ＸＬ１＜Ｘ＜ＸＲ１の判断が行われ（ステップＳ２３８）、Ｘ値がＸＬ１＜Ｘ＜ＸＲ１であれば、ＭＸＬ１＝ＭＸＬ１＋ＤＤＭＸ１、ＭＹＬ１＝ＭＹＬ１＋ＤＤＭＹ１の演算が行われ（ステップＳ２３９）、カウンタ値（ＤＣＮＴ）を１にセットする（ステップＳ２４０）。
【０２８１】
そして、マッピングパターンメモリ１０からマッピングパターンメモリアドレスＭＸＬ１、ＭＹＬ１が示すＲＧＢデータを読み出し、Ｒ１、Ｇ１、Ｂ１とした後（ステップＳ２４１）、現在処理中のＸ値がＸＬ２とＸＲ２との間にあるか否か、すなわち、ＸＬ２＜Ｘ＜ＸＲ２の判断が行われる（ステップＳ２４２）。
【０２８２】
一方、ステップＳ２３８で、現在処理中のＸ値がＸＬ１とＸＲ１との間にないと判断されると、直ちにステップＳ２４２でＸＬ２＜Ｘ＜ＸＲ２の判断が行われる。
【０２８３】
ステップＳ２４２にて、Ｘ値がＸＬ２＜Ｘ＜ＸＲ２と判断されると、ＭＸＬ２＝ＭＸＬ２＋ＤＤＭＸ２、ＭＹＬ２＝ＭＹＬ２＋ＤＤＭＹ２の演算が行われ（ステップＳ２４３）、カウンタ値（ＤＣＮＴ）を１つインクリメントする（ステップＳ２４４）。
【０２８４】
そして、マッピングパターンメモリ１０からマッピングパターンメモリアドレスＭＸＬ２、ＭＹＬ２が示すＲＧＢデータを読み出し、Ｒ２、Ｇ２、Ｂ２とした後（ステップＳ２４５）、Ｘ＝Ｘ＋１の演算が行われる（ステップＳ２４６）。
【０２８５】
一方、ステップＳ２４２で、現在処理中のＸ値がＸＬ２とＸＲ２との間にないと判断されると、直ちにステップＳ２４６でＸ＝Ｘ＋１の演算が行われる。
【０２８６】
続いて、再び現在処理中のＸ値がＸＬ１とＸＲ１との間にあるか否か、すなわち、ＸＬ１＜Ｘ＜ＸＲ１の判断が行われ（ステップＳ２４７）、Ｘ値がＸＬ１＜Ｘ＜ＸＲ１であれば、ＭＸＬ１＝ＭＸＬ１＋ＤＤＭＸ１、ＭＹＬ１＝ＭＹＬ１＋ＤＤＭＹ１の演算が行われ（ステップＳ２４８）、カウンタ値（ＤＣＮＴ）を１つインクリメントする（ステップＳ２４９）。
【０２８７】
そして、マッピングパターンメモリ１０からマッピングパターンメモリアドレスＭＸＬ１、ＭＹＬ１が示すＲＧＢデータを読み出し、Ｒ３、Ｇ３、Ｂ３とした後（ステップＳ２５０）、現在処理中のＸ値がＸＬ２とＸＲ２との間にあるか否か、すなわち、ＸＬ２＜Ｘ＜ＸＲ２の判断が行われる（ステップＳ２５１）。
【０２８８】
一方、ステップＳ２４７で、現在処理中のＸ値がＸＬ１とＸＲ１との間にないと判断されると、直ちにステップＳ２５１でＸＬ２＜Ｘ＜ＸＲ２の判断が行われる。
【０２８９】
ステップＳ２５１にて、Ｘ値がＸＬ２＜Ｘ＜ＸＲ２と判断されると、ＭＸＬ２＝ＭＸＬ２＋ＤＤＭＸ２、ＭＹＬ２＝ＭＹＬ２＋ＤＤＭＹ２の演算が行われ（ステップＳ２５２）、カウンタ値（ＤＣＮＴ）を１つインクリメントする（ステップＳ２５３）。
【０２９０】
そして、マッピングパターンメモリ１０からマッピングパターンメモリアドレスＭＸＬ２、ＭＹＬ２が示すＲＧＢデータを読み出し、Ｒ４、Ｇ４、Ｂ４とした後（ステップＳ２５４）、Ｘ＝Ｘ＋１の演算が行われる（ステップＳ２５５）。
【０２９１】
一方、ステップＳ２５１で、現在処理中のＸ値がＸＬ２とＸＲ２との間にないと判断されると、直ちにステップＳ２５５でＸ＝Ｘ＋１の演算が行われる。
【０２９２】
続いて、現在処理中のＸ値が、ＸＬとＢＸＬの間にあるか否か、すなわち、ＸＬ＜Ｘ＜ＢＸＬ或いは、ＢＸＬ＜Ｘ＜ＸＬが判断され、ＸがＸＬとＢＸＬの間にある場合には、ステップＳ２５７で、ＤＩＲ＝ＤＩＲＬとした後、辺フラグをｏｎにし（ステップＳ２６０）、ステップＳ２６１に進む。
【０２９３】
また、現在処理中のＸ値が、ＸＬとＢＸＬの間にないときは、ステップＳ２５８で、現在処理中のＸ値が、ＸＲとＢＸＲの間にあるか否か、すなわち、ＸＲ＜Ｘ＜ＢＸＲ或いは、ＢＸＲ＜Ｘ＜ＸＲが判断され、ＸがＸＲとＢＸＲの間にある場合には、ステップＳ２５９で、ＤＩＲ＝ＤＩＲＲとした後、辺フラグをｏｎにし（ステップＳ２６０）、ステップＳ２６１に進む。
【０２９４】
ステップＳ２５８において、現在処理中のＸ値が、ＸＲとＢＸＲの間にない場合には、直ちにステップＳ２６１に進み、ステップＳ２６１にて、Ｒ＝（Ｒ１＋Ｒ２＋Ｒ３＋Ｒ４）／ＤＣＮＴ、Ｇ＝（Ｇ１＋Ｇ２＋Ｇ３＋Ｇ４）／ＤＣＮＴ、Ｂ＝（Ｂ１＋Ｂ２＋Ｂ３＋Ｂ４）／ＤＣＮＴの演算が行った後、その演算により求めたＲ、Ｇ、Ｂとカウンタ値（ＤＣＮＴ）並びに辺フラグをフレームメモリに書き込む（ステップＳ２６２）。
【０２９５】
続いて、ＢＸＬ＝ＸＬ．ＢＸＲ＝ＸＲとした後（ステップＳ２６３）、Ｘ＜ＸＲが判断され、現在処理中のＸ値がＸＲより小さい場合には、ステップＳ２３８に戻り、前述の動作を繰り返す。Ｘ値がＸＲ以上になるとこのサブルーチンが終了する。
【０２９６】
スキャンラインと平行な水平方向のＤＤＡ演算のサブルーチン処理（ＨＤＤＡ）（ステップＳ５５）が終了すると、ＹがＹｅより小さいか否か判断され（ステップＳ５６）、ＹがＹｅより小さい場合には、ステップＳ５３に戻り、ＬＶＤＤＡ、ＲＶＤＤＡ、ＨＤＤＡのＤＤＡ演算サブルーチン処理が行われる。
【０２９７】
そして、辺テーブルの１アドレスの右辺にデータがあるか否か判断され（ステップＳ５７）、データがある場合には、辺テーブルの１アドレスの右辺から、Ｘ始点、Ｙ始点、マッピングパターンメモリアドレスのＸ始点、マッピングパターンメモリアドレスのＹ始点とＸ終点、Ｙ終点、マッピングパターンメモリアドレスのＸ終点、マッピングパターンメモリアドレスのＹ終点並びにこの方向ベクトルを読み出す（ステップＳ５８）。
【０２９８】
次に、第２のパラメータ演算のサブルーチン処理（ＶＰＡＲＡ１）（ステップＳ５９）、左辺のＤＤＡ演算のサブルーチン処理（ＬＶＤＤＡ）（ステップＳ６０）、右辺のＤＤＡ演算のサブルーチン処理（ＲＶＤＤＡ）（ステップＳ６１）、スキャンラインと平行な水平方向のＤＤＡ演算のサブルーチン処理（ＨＤＤＡ）（ステップＳ６２）の演算が行われる。これらサブルーチン処理のうちステップＳ６０から６２の処理は前述の図７１ないし図７４に示した処理と同じ処理が行われるので、ここでは第２のパラメータ演算のサブルーチン処理（ＶＰＡＲＡ１）につき図７５に従い説明する。
【０２９９】
右辺に対してＹ軸を基軸とするＸの傾きを求めこの傾きをＤＤＸＲとし、マッピングパターンメモリアドレスのＸの傾きを求めこの傾きをＤＤＭＸＲとし、マッピングパターンメモリアドレスのＹの傾きを求めこの傾きをＤＤＭＹＲとするとともに、方向ベクトル（ＤＩＲＬ）をアンチエイリアシングを行う方向コード（ＲＦＬＡＧ）に変換する（ステップＳ２７０）。
【０３００】
その後、右辺のＸ始点をＸＲ、ＭＸ始点をＭＸＲとし、また、Ｙ始点をＹＲ、ＭＹ始点をＭＹＲとすると共に、Ｘ終点をＸＲＥ、ＭＸ終点をＭＸＲＥ、Ｙ終点をＹＲＥ、ＭＹ終点をＭＹＲＥとして（ステップＳ２７１）、このサブルーチンが終了する。
【０３０１】
この第２のパラメータ演算のサブルーチンが終了すると（ステップＳ５９）、続いて、ＬＶＤＤＡサブルーチン（ステップＳ６０）、ＲＶＤＤＡサブルーチン（ステップＳ６１）、ＨＤＤＡサブルーチン（ステップＳ６２）の各ＤＤＡ演算サブルーチン処理が行われる。そして、ＹがＹｅより小さいか否か判断され（ステップＳ６３）、ＹがＹｅより小さい場合には、ステップＳ６０に戻り、ＬＶＤＤＡ、ＲＶＤＤＡ、ＨＤＤＡのＤＤＡ演算サブルーチン処理が行われる。ＹがＹｅ以上になるとこの描画処理動作が終了する。
【０３０２】
一方、ステップＳ５７において、辺テーブルの１アドレスの右辺にデータがないと判断されると、続いて、辺テーブルの１アドレスの左辺にデータがあるか否か判断され（ステップＳ６４）。データがない場合にはこの描画処理動作は終了する。
【０３０３】
また、データがある場合には、辺テーブルの１アドレスの左辺から、Ｘ始点、Ｙ始点、マッピングパターンメモリアドレスのＸ始点、マッピングパターンメモリのＹ始点とＸ終点、Ｙ終点、マッピングパターンメモリアドレスのＸ終点、マッピングパターンメモリのＹ終点並びにこの方向ベクトルを読み出す（ステップＳ６５）。
【０３０４】
そして、第３のパラメータ演算のサブルーチン処理（ＶＰＡＲＡ２）（ステップＳ６６）、左辺のＤＤＡ演算のサブルーチン処理（ＬＶＤＤＡ）（ステップＳ６７）、右辺のＤＤＡ演算のサブルーチン処理（ＲＶＤＤＡ）（ステップＳ６８）、スキャンラインと平行な水平方向のＤＤＡ演算のサブルーチン処理（ＨＤＤＡ）（ステップＳ６９）の演算が行われる。これらサブルーチン処理のうちステップＳ６７から６９の処理は前述の図７１ないし図７４に示した処理と同じ処理が行われるので、ここでは第３のパラメータ演算のサブルーチン処理（ＶＰＡＲＡ２）につき図７６に従い説明する。
【０３０５】
左辺に対してＹ軸を基軸とするＸの傾きを求めこの傾きをＤＤＸＬとし、マッピングパターンメモリアドレスのＸの傾きを求めこの傾きをＤＤＭＸＬとし、マッピングパターンメモリアドレスのＹの傾きを求めこの傾きをＤＤＭＹＬとするとともに、方向ベクトル（ＤＩＲＬ）をアンチエイリアシングを行う方向コード（ＬＦＬＡＧ）に変換する（ステップＳ２７２）。
【０３０６】
その後、左辺のＸ始点をＸＬ、ＭＸ始点をＭＸＬとし、また、Ｙ始点をＹＬ、ＭＹ始点をＭＹＬとすると共に、Ｘ終点をＸＲＬ、ＭＸ終点をＭＸＲＬ、Ｙ終点をＹＬＥ、ＭＹ終点をＭＹＬＥとして（ステップＳ２７３）、このサブルーチンが終了する。
【０３０７】
この第３のパラメータ演算のサブルーチンが終了すると（ステップＳ６６）、続いて、ＬＶＤＤＡサブルーチン（ステップＳ６７）、ＲＶＤＤＡサブルーチン（ステップＳ６８）、ＨＤＤＡサブルーチン（ステップＳ６９）の各ＤＤＡ演算サブルーチン処理が行われる。そして、ＹがＹｅより小さいか否か判断され（ステップＳ７０）、ＹがＹｅより小さい場合には、ステップＳ６７に戻り、ＬＶＤＤＡ、ＲＶＤＤＡ、ＨＤＤＡのＤＤＡ演算サブルーチン処理が行われる。ＹがＹｅ以上になるとこの描画処理動作が終了する。
【０３０８】
上記のように、描画処理装置３ａにより処理されたデータはフレームメモリ５ａに格納される。
【０３０９】
次に、表示処理装置６ａの構成につき図７７のブロック図に従い説明する。
【０３１０】
表示処理装置６ａは、ＣＲＴ７の表示クロックに同期し、ＣＲＴ７の表示するドットをフレームメモリ５ａより読み出し、そのデータがポリゴンエッジであれば、その方向の１ドット隣のデータもフレームメモリ５ａから読み出し、ドット面積により加重平均を行いそのドットの色を合成し、ＣＲＴ７に表示するものである。すなわち、フレームメモリ５ａより処理するドットとして読み出されたデータはフレームメモリデータ入力処理装置６１ａに与えられる。このフレームメモリデータ入力処理装置６１ａは読み込んだフレームメモリ５のデータに基づきポリゴン辺であるか否かを判断し、ポリゴン辺であればその方向の１ドット隣のデータを読み出し、ドット面積と処理するドットのＲＧＢ値と隣接するＲＧＢ値を色演算装置６３ａにそのデータが送られる。
【０３１１】
なお、フレームメモリ５ａのアドレスはフレームメモリデータ入力処理装置６１ａのアドレス生成部にて生成され、その生成されたアドレスに従いフレームメモリ５ａはアクセスされる。
【０３１２】
色演算装置６３ａは、フレームメモリデータ入力処理装置６１ａからのドットの面積と処理するドットＲＧＢ値と隣接するドットのＲＧＢ値を受け取り、加重平均を行いそのドットの色を新たに求めてＣＲＴ７へ送る。
【０３１３】
この色演算処理装置６３ａの具体的構成を図７８に示す。表示処理装置６ａの色演算処理装置６３ａの具体的構成例を図７８に従い説明する。
【０３１４】
フレームメモリデータ入力処理装置６１ａより与えられた周辺ドットの色情報Ｒがレジスタ２１１ａに格納され、フレームメモリデータ入力処理装置より与えられる処理ドットの面積がエリアレジスタ２１２ａに格納される。レジスタ２１２ａに格納された面積は減算器２１８ａの一方の入力に与えられ、この減算器２１８ａの他方の入力には、この実施の形態では８×８で行っているため６４が与えられ、周辺ドットの面積が求められる。また、フレームメモリデータ入力処理装置６１ａより与えられた処理ドットの色情報Ｒがレジスタ２１３ａに格納される。
【０３１５】
レジスタ２１１ａに格納された周辺ドットの色情報Ｒが乗算器２１９ａの一方の入力に、他方の入力には周辺ドットの面積が与えられ、周辺ドットのＲ値が算出され、この値が加算器２２１ａに与えられる。
【０３１６】
また、レジスタ２１３ａに格納された処理ドットの色情報Ｒが乗算器２１９ａの一方の入力に、他方の入力には処理ドットの面積が与えられ、処理ドットのＲ値が算出され、この値が加算器２２１ａに与えられる。この加算器２２１ａにて、周辺ドットのＲ値と処理ドットのＲ値を加算し、処理ドットのＲ値を求め、レジスタ２２２ａに格納する。
【０３１７】
フレームメモリデータ入力処理装置６１ａより与えられた周辺ドットの色情報Ｇがレジスタ２１４ａに格納され、フレームメモリデータ入力処理装置６１ａより与えられた処理ドットの色情報Ｇがレジスタ２１５ａに格納される。
【０３１８】
レジスタ２１４ａに格納された周辺ドットの色情報Ｇが乗算器２２３ａの一方の入力に、他方の入力には周辺ドットの面積が与えられ、周辺ドットのＧ値が算出され、この値が加算器２２５ａに与えられる。
【０３１９】
また、レジスタ２１５ａに格納された処理ドットの色情報Ｇが乗算器２２４ａの一方の入力に、他方の入力には処理ドットの面積が与えられ、処理ドットのＧ値が算出され、この値が加算器２２５ａに与えられる。この加算器２２５ａにて、周辺ドットのＧ値と処理ドットのＧ値を加算し、処理ドットのＧ値を求め、レジスタ２２６ａに格納する。
【０３２０】
フレームメモリデータ入力処理装置６１ａより与えられた周辺ドットの色情報Ｂがレジスタ２１６ａに格納され、フレームメモリデータ入力処理装置６１ａより与えられた処理ドットの色情報Ｂがレジスタ２１７ａに格納される。
【０３２１】
レジスタ２１６ａに格納された周辺ドットの色情報Ｂが乗算器２２７ａの一方の入力に、他方の入力には周辺ドットの面積が与えられ、周辺ドットのＢ値が算出され、この値が加算器２２９ａに与えられる。
【０３２２】
また、レジスタ２１７ａに格納された処理ドットの色情報Ｂが乗算器２２８ａの一方の入力に、他方の入力には処理ドットの面積が与えられ、処理ドットのＢ値が算出され、この値が加算器２２９ａに与えられる。この加算器２２９ａにて、周辺ドットのＢ値と処理ドットのＢ値を加算し、処理ドットのＢ値を求め、レジスタ２３０ａに格納する。
【０３２３】
図７９、図８０に処理例を示す。図７９は方向ベクトルが０、角度が１の場合、図８０は方向ベクトルが１、角度が２の場合である。
【０３２４】
図７９の例において、矢印Ｂで示すドットに対しては、Ｂの部分のドット面積が０．７５であるので、Ｂカラー＝（Ｂカラー×０．７５）＋（Ａカラー×０．２５）による演算により、このドットの色が算出される。
【０３２５】
図８０の例において、矢印Ｂで示すドットに対しては、Ｂの部分のドット面積が０．２５であるので、Ｂカラー＝（Ｂカラー×０．２５）＋（Ａカラー×０．７５）による演算により、このドットの色が算出される。
【０３２６】
図８１は、ポリゴンを表示した例を示す模式図である。
【０３２７】
上述した参考例においては、陰面処理については説明していないが、陰面処理としては、Ｚソート法、Ｚバッファ法を用いることができる。例えば、Ｚバッファ法を用いる場合には、第１の実施の形態と同様にして、Ｚバッファメモリを設け、描画処理装置３ａにてＺ値を求め、フレームメモリ５ａには、陰面処理されたデータのみ書き込むように構成すればよい。
【０３２８】
図８２は、この発明の参考例２が適用される画像生成装置の構成を示すブロック図である。
【０３２９】
この画像生成装置は参考例と同様に、メモリ１ｂ、座標変換処理装置２ｂ、描画処理装置３ｂ、マッピングパターンメモリ１０、フレームメモリ５ｂ、表示処理装置６ｂ及び画像を表示するＣＲＴ７を備える。
【０３３０】
メモリ１ｂには、オブジェクトを構成するポリゴンの端点、輝度値、ポリゴンに対応してテクスチャ画像を格納するマッピングパターンメモリの端点情報データや法線ベクトル等が格納されている。さらに、この実施の形態においては、予め指定された最も明るい色情報（Ｒｅ、Ｇｅ、Ｂｅ）と最も暗い色情報（Ｒｓ、Ｇｓ、Ｂｓ）がメモリ１ｂに格納されている。このメモリ１ｂからオブジェクトに対する各データが座標変換処理装置２ｂに与えられる。
【０３３１】
座標変換処理装置２ｂは、ＣＰＵまたはＤＳＰで構成され、オブジェクトに対する回転、拡大、縮小等を行い、ワールド座標に配置後、視野変換を行いスクリーン投影を行う。この座標変換装置２ｂよりスクリーン投影されたポリゴン端点のＸ、Ｙ値、輝度値（Ｉ）、マッピングパターンメモリ１０のＸ、Ｙ座標（ＭＸ、ＭＹ）値等の各データが描画処理装置３ｂへ与えられる。
【０３３２】
この描画処理装置３ｂは、座標変換処理装置２ｂによりスクリーン座標に変換されたポリゴン辺の各ドット中の面積、各ドットの色値（Ｒ、Ｇ、Ｂ）及び輝度値（Ｉ）を算出し、フレームメモリ５ｂにそのデータを書き込む。この描画処理装置３ｂは、スクリーンの１ドットに対して、Ｎ×Ｎドット、この実施の形態では２×２ドットを対応させている。そして、ポリゴン面に対しては、２×２ドットのマッピングパターンメモリ１０ｂの色値（Ｒ、Ｇ、Ｂ）をすべて読み出し、平均化して新たなスクリーンの１ドットに対応する色値（Ｒ、Ｇ、Ｂ）及び輝度値（Ｉ）を求め、その値をフレームメモリ５ｂに書き込む。また、ポリゴン辺に対しては、２×２ドット中のスクリーンの１ドットに何個のドットが入っているかカウントし、そのカウント値によりドット面積を簡略的に求め、フレームメモリ５ｂに書き込む。
【０３３３】
フレームメモリ５ｂは、前述した参考例と同じく図２に示すように、各ドットの色値（Ｒ、Ｇ、Ｂ）、輝度値（Ｉ）とドットの面積とアンチエイリアシングを行う方向コードが格納される。このアンチエイリアシングを行う方向を示す方向コードは各辺の方向ベクトルにより決定される。
【０３３４】
表示処理装置６ｂは、フレームメモリ５ｂをアクセスし、フレームメモリ５ｂに格納された色値とドットの面積と方向コードからそのドットの色を演算して求め、その演算で得られた色をＣＲＴ７に送り、ＣＲＴ７にて画像が表示される。
【０３３５】
次に、この実施の形態における描画処理装置３ｂの構成例を図８３に従い説明する。
【０３３６】
視野変換されたポリゴン端点の視野座標上のＸ、Ｙ値、マッピングパターンメモリのＸ、Ｙ座標（ＭＸ、ＭＹ）値、輝度値（Ｉ）等の各データが座標変換処理装置２ｂより描画処理装置３ｂ内部の外部インターフェース（ＩＦ）３１ｂに与えられる。すなわち、このインターフェース３１ｂにより座標変換処理装置２ｂと描画処理装置３ｂとのデータの受け渡しが行われる。インターフェース３１ｂを介して与えられた座標変換処理装置２ｂからの各データがポリゴン摘出装置３２ｂに与えられる。
【０３３７】
このポリゴン摘出装置３２ｂは、ポリゴン辺の情報を後の処理で処理し易いように、それぞれのデータを辺テーブル３３ｂに格納させる処理を行う。このポリゴン摘出装置３２ｂは、例えば図８４に示すように構成される。
【０３３８】
図８４は、ポリゴン摘出装置３２ｂの具体的構成例を示すブロック図である。
【０３３９】
外部インタフェース３１ｂからポリゴン端点のＸ、Ｙ値、マッピングパターンメモリのＸ、Ｙ座標（ＭＸ、ＭＹ）値、輝度値（Ｉ）、属性などがポリゴン摘出装置３２ｂに与えられる。外部インタフェース３１から与えられた各ポリゴン端点で構成される各ポリゴン辺のＸ始点（Ｘｓ）はレジスタ１０１ｂに、ポリゴン辺のＸ終点（Ｘｅ）はレジスタ１０２ｂに、ポリゴン辺のＹ始点（Ｙｓ）はレジスタ１０３ｂに、ポリゴン辺のＹ終点（Ｙｅ）はレジスタ１０４ｂにそれぞれ格納される。さらに、ポリゴン辺の始点と終点の輝度値（Ｉ）がそれぞれレジスタ１１７ｂ、１１６ｂに格納される。すなわち、ポリゴン辺の始点の輝度値Ｉ始点（Ｉｓ）がレジスタ１１７ｂに、終点の輝度値Ｉ終点（Ｉｅ）がレジスタ１１６ｂに格納される。また、属性は属性レジスタ１０５ｂに格納される。
【０３４０】
さらに、マッピングパターンメモリのＸ始点（ＭＸｓ）はレジスタ３０１ｂに、マッピングパターンメモリのＸ終点（ＭＸｅ）はレジスタ３０２ｂに、マッピングパターンメモリポリゴンのＹ始点（ＭＹｓ）はレジスタ３０３ｂに、マッピングパターンメモリのＹ終点（ＭＹｅ）はレジスタ３０４ｂにそれぞれ格納される。
【０３４１】
そして、コントローラ１１６ｂは、前述の第１及び参考例と同じく格納されたポリゴン辺の端点のアドレスに基づいて、ポリゴンを構成する各辺のベクトルが図５に示すどの方向に属するかを判断し、その方向ベクトルを算出すると共に、そのベクトル方向に応じて、図６に示すようにポリゴン辺が右辺に属するか左辺に属するか決定する。
【０３４２】
この参考例２では、前述の第１及び参考例と同じくポリゴン辺のベクトルは下方向に向くように変換して演算を行うようにしている。そのため、例えば、図７の（ａ）、（ｂ）、（ｃ）に示すようなポリゴンの種類に対して、図８の（ａ）、（ｂ）、（ｃ）に示すポリゴン辺の対を求める。従って、上向きのポリゴン辺を逆転させる必要がある。また、図３８に示すようなポリゴンに対しては、２つの辺の対になるように、ポリゴン辺を分割し、それぞれ下向きのポリゴン辺対になるように構成している。
【０３４３】
このために、レジスタ１０３ｂ、１０４ｂに格納されたＹｓ、Ｙｅは比較器１０６ｂに与えられ、この比較器１０６ｂにて、Ｙｓ、Ｙｅを比較する。そして、この比較結果は、マルチプレクサ１０７ｂ、１０８ｂ、１１８ｂ、３０５ｂ、３０６ｂに与えられる。この比較結果により、ポリゴン辺を逆転させるか否か決定し、マルチプレクサ１０７ｂ、１０８ｂ、１１８ｂ、３０５ｂ、３０６ｂが制御される。すなわち、図７に示すようなポリゴンの種類に対しては、図８のように、ポリゴン辺対を求めるべく上向きのポリゴン辺を逆転させ、マルチプレクサ１０７ｂ、１０８ｂ、１１８ｂ、３０５ｂ、３０６ｂは始点、終点を入れ替えて辺テーブル３３ｂにデータを送り、ポリゴン辺を逆転させない場合には、マルチプレクサ１０７ｂ、１０８ｂ、１１８ｂ、３０５ｂ、３０６ｂは、外部インタフェース３３ｂから与えられたデータをそのまま辺テーブル３３ｂに送る。
【０３４４】
辺テーブル３３ｂは、図８５に示すようにフォーマットされ、ポリゴン辺の対になる右辺、左辺のそれぞれのデータが格納される。
【０３４５】
前述の第１及び参考例と同じくこの参考例２においても上向きのベクトルは始点、終点の入れ替えにより下向きのベクトルに変更されるが、図９に示すように、そのポリゴン辺の属する右辺、左辺の関係は変更しない。
【０３４６】
また、マルチプレクサ１０８ｂから出力され、辺テーブル３３ｂの左辺の０アドレスに格納される辺情報のＹ始点（Ｙｓ）がレジスタ１０９ｂに、辺テーブル３３ｂの右辺の０アドレスに格納される辺情報のＹ始点（Ｙｓ）がレジスタ１１０ｂに、辺テーブル３３ｂの左辺の１アドレスに格納される辺情報のＹ始点（Ｙｓ）がレジスタ１１１ｂに、辺テーブル３３ｂの右辺の１アドレスに格納される辺情報のＹ始点（Ｙｓ）がレジスタ１１２ｂにそれぞれ与えられる。
【０３４７】
また、レジスタ１０９ｂ、レジスタ１１０ｂに格納された左辺、右辺の０アドレスに格納されたＹ始点がマルチプレクサ１１３ｂを介して比較器１１５ｂに与えられる。また、レジスタ１１１ｂ、レジスタ１１２ｂに格納された左辺、右辺の１アドレスに格納されたＹ始点がマルチプレクサ１１４ｂを介して比較器１１５ｂに与えられる。比較器１１５ｂでは、辺テーブル３３ｂの左辺または右辺の０、１アドレスに格納された辺情報はどちらが上の辺でどちらが下の辺であるかの判定を行いその判定結果をパラメータ演算装置３４ｂに与える。これら各回路は、コントローラ１１６ｂにより制御される。
【０３４８】
そして、辺テーブル３３ｂ及びポリゴン摘出装置３２ｂ並びに後述する水平テーブル３７ｂからのデータがパラメータ演算装置３４ｂに与えられる。
【０３４９】
このパラメータ演算装置３４ｂは、ポリゴンの左辺、右辺のＸ、Ｙ値、Ｉ値の傾きやマッピングパターンメモリのＭＸ、ＭＹ値の傾きなどを演算する。このパラメータ演算装置３４ｂは、例えば、図８６のように構成される。
【０３５０】
図８６は、このパラメータ演算装置３４ｂの具体的構成例を示すブロック図である。
【０３５１】
図８６に示すように、パラメータ演算装置３４ｂは、デジタル微分解析（ＤＤＡ）に用いるパラメータとしてのポリゴン辺の傾き等を求めるもので、辺テーブル３３ｂより傾きを求めるために除算される始点、終点がレジスタ１２１ｂ、１２２ｂに格納され、このレジスタ１２１ｂ、１２２ｂに格納された始点、終点が減算器１２３ｂに与えられ、この減算器１２３ｂで除算される始点、終点の長さが求められ、その長さがレジスタ１２４ｂに与えられる。
【０３５２】
また、辺テーブル３３ｂより除算される始点、終点がレジスタ１２５ｂ、１２６ｂに格納され、このレジスタ１２５ｂ、１２６ｂに格納された始点、終点が減算器１２７ｂに与えられ、この減算器１２７ｂで除算される始点、終点の長さが求められ、その長さがレジスタ１２８ｂに与えられる。すなわち、これら、減算器１２３ｂ、１２７ｂにて、ポリゴン辺の右辺、左辺のそれぞれに対して、ＤＹ＝Ｙｅ−Ｙｓ、ＤＸ＝Ｘｅ−Ｘｓ、ＤＩ＝Ｉｅ−Ｉｓ、ＤＭＸ＝ＭＸｅ−ＭＹｓ、ＤＭＹ＝ＭＹｅ−ＭＹＳの演算が行われ、この演算結果（長さ）がレジスタ１２４ｂ、１２８ｂに格納される。
【０３５３】
レジスタ１２４ｂ、１２８ｂに格納されたそれぞれの長さは、除算器１２９ｂに与えられ、この除算器１２９ｂで除算することにより各辺の傾きを求め、求めた傾きをレジスタ１３０ｂに格納し、ＤＤＡ処理装置３５ｂに送る。
【０３５４】
また、レジスタ１３２ｂには左辺のＹ終点が格納され、レジスタ１３３ｂには右辺のＹ終点が格納され、これらレジスタ１３２ｂ、１３３ｂに格納されたＹ終点は、比較器１３４ｂ及びマルチプレクサ１３５ｂに与えられる。そして、比較器１３４ｂにて左辺、右辺のＹ終点を比較して、その比較結果によりマルチプレクサ１３５ｂを制御することにより、左辺、右辺の小さい方のＹ終点の値を求めＤＤＡ処理装置３５ｂへ送る。
【０３５５】
一方、レジスタ１３１ｂには、辺テーブル３３ｂの各種パラメータが格納され、格納されたパラメータはＤＤＡ処理装置３５ｂに与えられる。
【０３５６】
パラメータ演算装置３４ｂで算出された各パラメータはＤＤＡ処理装置３５ｂ及びアンチエイリアシング処理装置３６ｂにそれぞれ与えられる。
【０３５７】
ＤＤＡ処理装置３５は、ポリゴンの左辺、右辺のスクリーンアドレス値（Ｘ、Ｙ）、輝度値（Ｉ）及びマッピングパターンメモリアドレス値（ＭＸ、ＭＹ）をディジタル微分解析（ＤＤＡ）により求め、Ｙ値が１つ変わるごとに左辺、右辺のＸ値、Ｉ値、ＭＸ値、ＭＹ値をＤＤＡする。この時、ＤＤＡは左辺のＤＤＡを行った後、水平テーブル３７ｂに求めた左辺のＸ値、Ｉ値、ＭＸ値、ＭＹ値を書き込む。そして、右辺のＤＤＡを行い水平テーブル３７ｂに求めた右辺のＸ値、Ｙ値、ＭＸ値、ＭＹ値及び属性を書き込む。このＤＤＡ処理装置３５ｂは、例えば、図８７ないし図９１のように構成される。
【０３５８】
上記水平テーブル３７ｂは図９４に示すようにフォーマットされており、左辺、右辺に水平に交叉するスキャンラインのＸ値、マッピングパターンメモリアドレス値ＭＸ、ＭＹ、Ｉ値、方向ベクトルなどを一時的に格納し、左辺、右辺ともデータが揃った時に、パラメータ演算装置３４ｂに送り、水平方向のＤＤＡを行うために必要なパラメータを演算させる。
【０３５９】
図８７ないし図９１は、上記ＤＤＡ処理装置３５ｂの具体的構成例を示すブロック図である。図８７は、Ｘ軸を基軸とするＤＤＡ処理装置、図８８は、Ｙ軸を基軸とするＤＤＡ処理装置、図８９は、マッピングパターンメモリアドレスのＭＸを求めるＤＤＡ処理装置、図９０は、マッピングパターンメモリアドレスのＭＹを求めるＤＤＡ処理装置、図９１は、輝度値Ｉを求めるＤＤＡ処理装置である。
【０３６０】
次に、ＤＤＡ処理装置３５ｂの具体的構成例につき図８７ないし図９１に従い説明する。
【０３６１】
図８７に示すように、Ｘ軸を基軸とするＤＤＡを行う場合には、パラメータ演算装置３４ｂから与えられた右辺のＸの傾きがレジスタ３１０ｂに、左辺のＸの傾きがレジスタ３１１ｂにそれぞれ格納される。レジスタ３１０ｂ、３１１ｂからＸ値の傾きがマルチプレクサ３１３ｂを介して加算器３１５ｂに与えられる。
【０３６２】
マルチプレクサ３１２ｂにはパラメータ演算処理装置３４ｂから送られてきた値または加算器３１５ｂの加算結果が与えられ、この値をＸレジスタ３１４ｂに与える。すなわち、このＸレジスタ３１４ｂにはＤＤＡを行うＸ値が格納される。加算器３１５ｂはＸレジスタ３１４ｂの値とマルチプレクサ３１５ｂにより選択された値を加算する。加算器３１５ｂによりＤＤＡされ、Ｘレジスタ３１４ｂに格納されたＸ値はアンチエイリアシング処理装置３６ｂに送られる。
【０３６３】
図８８に示すように、Ｙ軸を基軸とするＤＤＡを行う場合には、１または−１を送るためマルチプレクサ３２０ｂに１または−１が与えられる。このマルチプレクサ３２０ｂから加算器３２３ｂに１または−１が与えられる。
【０３６４】
マルチプレクサ３２１ｂには、パラメータ演算処理装置３４ｂから送られてきたＹ値または加算器３２３ｂの加算結果が与えられ、この値をＹレジスタ３２２ｂに与える。すなわち、このＹレジスタ３２２ｂにはＤＤＡを行うＹ値が格納される。加算器３２３ｂはＹレジスタ３２２ｂの値とマルチプレクサ３２０ｂにより選択された値を加算する。加算器３２３ｂによりＤＤＡされ、Ｙレジスタ３２２ｂに格納されたＹ値はアンチエイリアシング処理装置３６ｂに送られる。
【０３６５】
また、レジスタ３２４ｂにはパラメータ演算処理装置３４ｂより与えられた辺ペアのＹ値の終値（Ｙｅ）が格納され、この値とＹレジスタ３２２ｂに格納された値とが比較器３２５ｂで比較される。すなわち、辺ペアのＹ値とＹ値の終値（Ｙｅ）を比較し、この結果をＤＤＡの処理を制御するコントローラに与え、処理の終了が判断される。
【０３６６】
図８９に示すように、マッピングパターンメモリアドレスのＭＸのＤＤＡを行う場合には、パラメータ演算処理装置３４ｂから与えられる右辺のＭＸ値の傾きがレジスタ３３０ｂに、左辺のＭＸ値の傾きがレジスタ３３１ｂに与えられる。このレジスタ３３０ｂ、３３１ｂからマルチプレクサ３３３ｂを介して加算器３３５ｂにＭＸ値の傾き（ＤＤＭＸＲまたはＤＤＭＸＬ）が与えられる。
【０３６７】
マルチプレクサ３３２ｂにはパラメータ演算処理装置３４ｂから送られてきた値または加算器３３５ｂの加算結果が与えられ、この値をＭＸレジスタ３３４ｂに与える。すなわち、このＭＸレジスタ３３４ｂにはＤＤＡを行うＭＸ値が格納される。加算器３３５ｂはＭＸレジスタ３３４ｂの値とマルチプレクサ３３３ｂにより選択された値を加算する。加算器３３５ｂによりＤＤＡされ、ＭＸレジスタ３３４ｂに格納されたＭＸ値はアンチエイリアシング処理装置３６ｂに送られる。
【０３６８】
図９０に示すように、マッピングパターンメモリアドレスのＭＹのＤＤＡを行う場合には、パラメータ演算処理装置３４ｂから与えられる右辺のＭＹ値の傾きがレジスタ３４０ｂに、左辺のＭＹ値の傾きがレジスタ３４１ｂに与えられる。このレジスタ３４０ｂ、３４１ｂからマルチプレクサ３４３ｂを介して加算器３４５ｂにＭＹ値の傾き（ＤＤＭＹＲまたはＤＤＭＹＬ）が与えられる。
【０３６９】
マルチプレクサ３４２ｂにはパラメータ演算処理装置３４ｂから送られてきた値または加算器３４５ｂの加算結果が与えられ、この値をＭＹレジスタ３４４ｂに与える。すなわち、このＭＹレジスタ３４４ｂにはＤＤＡを行うＭＹ値が格納される。加算器３４５ｂはＭＸレジスタ３４４ｂの値とマルチプレクサ３４３ｂにより選択された値を加算する。加算器３４５ｂによりＤＤＡされ、ＭＹレジスタ３４４ｂに格納されたＭＹ値はアンチエイリアシング処理装置３６ｂに送られる。
【０３７０】
図９１に示すように、輝度値ＩのＤＤＡを行う場合には、パラメータ演算処理装置３４ｂから与えられる右辺の輝度Ｉ値の傾きがレジスタ４００ｂに、左辺の輝度Ｉ値の傾きがレジスタ４０１ｂに与えられる。このレジスタ４００ｂ、４０１ｂからマルチプレクサ４０３ｂを介して加算器４０５ｂに輝度Ｉ値の傾き（ＤＤＩＲまたはＤＤＩＬ）が与えられる。
【０３７１】
マルチプレクサ４０２ｂにはパラメータ演算処理装置３４ｂから送られてきた値または加算器４０５ｂの加算結果が与えられ、この値をＩ値レジスタ４０４ｂに与える。すなわち、このＩ値レジスタ４０４ｂにはＤＤＡを行う輝度Ｉ値が格納される。加算器４０５ｂはＩ値レジスタ４０４ｂの値とマルチプレクサ４０３ｂにより選択された値を加算する。加算器４０５ｂによりＤＤＡされ、Ｉ値レジスタ４０４ｂに格納された輝度Ｉ値はアンチエイリアシング処理装置３６ｂに送られる。
【０３７２】
上述したパラメータ演算装置３４ｂ及びＤＤＡ処理装置３５ｂで算出したそれぞれのデータはアンチエイリアシング処理装置３６ｂに与えられる。このアンチエイリアシング処理装置３６ｂは、ＤＤＡ処理装置３５ｂからマッピングパターンメモリアドレス（ＭＸ、ＭＹ）を受け取り、このマッピングパターンメモリアドレスにより、マッピングパターンメモリ１０をアクセスし、２×２ドットのマッピングデータをアクセスする。そして、パラメータ演算装置３４ｂから奇数ラインと偶数ラインのスキャンライン上のポリゴンの左辺Ｘ値（ＸＬ）、右辺Ｘ値（ＸＲ）を受け取り、ＤＤＡ処理装置３５ｂから現在処理中のＸ値に基づきスクリーンに対応するドットの中に何ドット入っているかをカウントした値により、入力されたマッピングデータを平均化し、マッピングのアンチエイリアシングを行う。さらに、ポリゴンのエッジ判定と右辺／左辺の方向を割り振るために現在のラインの最も左の左辺Ｘ値（ＢＸＬ）と最も右の右辺Ｘ値（ＢＸＲ）と、前のラインの最も左の左辺Ｘ値と最も右の右辺Ｘ値とをパラメータ演算装置３４ｂから受け取る。
【０３７３】
そして、ＸＬ＜Ｘ＜ＢＸＬの場合は、左辺のポリゴンエッジであることが分かり、アンチエイリアシングの方向を左辺の方向に選択する。また、ＸＲ＜Ｘ＜ＢＸＲの場合は、右辺のポリゴンエッジであることが分かり、アンチエイリアシングの方向を右辺の方向に選択する。このようにして得られたＲＧＢとドット面積並びにアンチエイリアシングの方向をフレームメモリ制御装置３８ｂに転送する。このアンチエイリアシング処理装置３６ｂは、例えば図９２のように構成される。
【０３７４】
図９２は、アンチエイリアシング処理装置３６ｂの具体的構成例を示すブロック図である。
【０３７５】
ＤＤＡ処理装置３５ｂから与えられたマッピングパターンメモリアドレス（ＭＸ、ＭＹ）はマッピングパターンメモリアドレス生成装置３５０ｂに格納される。このマッピングパターンメモリ生成装置３５０ｂは、ＤＤＡ処理装置３５ｂからマッピングパターンメモリ１０ｂのアドレス（ＭＸ、ＭＹ）を受け取り、マッピングパターンメモリ１０ｂをアクセスするアドレスを生成する。この実施の形態では、奇数、偶数ラインのアドレスを格納するため、レジスタ３５１ｂに、奇数、偶数ラインのＸアドレス（ＭＸＬ１、ＭＸＬ２）が格納され、レジスタ３５２ｂに、奇数、偶数ラインのＹアドレス（ＭＹＬ１、ＭＹＬ２）が格納される。そして、レジスタ３５１ｂ、３５２ｂに格納されたマッピングパターンメモリ１０ｂのＸ、Ｙアドレスにより、マッピングパターンメモリ１０ｂよりＲＧＢ情報を読み出し、そのＲＧＢ情報がＲＧＢ合成装置３６０ｂに与えられる。
【０３７６】
ＲＧＢ合成装置３６０ｂは、マッピングパターンメモリ１０ｂより読み出されたＲＧＢ情報を受け取り、スクリーンの１ドット内に含まれるドットを加算し、ドット面積生成装置３７０ｂより受け取った何ドット含まれるかを示すドット面積値によりその平均値を求め、アンチエイリアシング処理を行うものである。
【０３７７】
すなわち、マッピングパターンメモリ１０ｂからのＲＧＢ情報は一旦レジスタ３６１ｂに格納され、このＲＧＢ情報がマルチプレクサ３６３ｂを介して加算器３６５ｂに与えられる。マルチプレクサ３６３ｂは、ドットが存在していないときに、マッピングパターンメモリ１０ｂからのデータの代わりに”０”値を加算器３６５ｂに送る。
【０３７８】
加算器３６５ｂからのデータは、マルチプレクサ３６４ｂを介してレジスタ３６２ｂに与えられる。マルチプレクサ３６４ｂは初期化時に”０”値をレジスタ３６２ｂに送り、その他の時には加算器３６５ｂからのデータをレジスタ３６２ｂに送る。レジスタ３６２ｂはマッピングパターンメモリ１０ｂより読み出したＲＧＢを加算していく値を格納するものである。このレジスタ３６２ｂに格納されたデータが除算器３６６ｂに与えられる。この除算器３６６ｂはドット面積生成装置３７０ｂから送られるドット数をレジスタ３６２ｂから送られるデータから除算することにより平均化を行い、その結果がレジスタ３６７に転送する。レジスタ３６７に格納された平均化されたＲＧＢデータがＲＧＢ補正装置４０ｂに送られる。
【０３７９】
ドット面積生成装置３７０ｂは、スクリーンの１ドットに対応するドットの数をカウントし、面積を算出するものである。すなわち、パラメータ演算装置３４ｂから送られてくる奇数／偶数ラインのポリゴン辺の左辺のＸ値（ＸＬ１、ＸＬ２）がレジスタ３７１ｂに格納され、パラメータ演算装置３４ｂから送られてくる奇数／偶数ラインのポリゴン辺の右辺のＸ値（ＸＲ１、ＸＲ２）がレジスタ３７３ｂに格納される。また、ＤＤＡ処理装置３７０ｂから与えられる現在処理中のＸ値がレジスタ３７２ｂに与えられる。レジスタ３７１ｂ、３７２ｂ、３７３ｂに格納されたデータが比較器３７４ｂに与えられる。比較器３７４ｂは、奇数／偶数ラインのＸ値を比較、すなわち、ＸＬ＜Ｘ＜ＸＲの比較を行い、現在処理中のＸ値がポリゴンに含まれるか否か判断し、その結果をカウンタ３７５ｂに与える。
【０３８０】
カウンタ３７５ｂは、スクリーンの１ドット中に何個のドットがあるかをカウントし、そのカウント結果をＲＧＢ合成装置３６０ｂ及びフレームメモリ制御装置３８ｂに送る。
【０３８１】
アンチエイリアシング方向生成装置３８０ｂは、スキャンライン上のドットがポリゴン辺であるか否か判断するとともに、ポリゴン辺であれば右辺か左辺かを判断し、図９３に示すように、その方向を決定する。
【０３８２】
パラメータ演算装置３４ｂから左辺の方向ベクトルがレジスタ３８１ｂに、右辺の方向ベクトルがレジスタ３８２ｂに格納される。レジスタ３８１ｂ、３８２ｂに格納された方向データがマルチプレクサ３８７ｂに与えられる。
【０３８３】
一方、パラメータ演算装置３４ｂから現在のラインの最も左のＸ値と最も右のＸ値がレジスタ３８３ｂに、前のラインの最も左のＸ値と最も右のＸ値がレジスタ３８５ｂにそれぞれ格納される。また、ＤＤＡ処理装置３５ｂから現在処理中のＸ値がレジスタ３８４ｂに格納される。レジスタ３８３ｂ、３８４ｂ、３８５ｂに格納されたデータは比較器３８６ｂに与えられ、この比較器３８６ｂにて、ＸＬ＜Ｘ＜ＢＸＬまたはＸＲ＜Ｘ＜ＢＸＲの比較が行われ、ＸＬ＜Ｘ＜ＢＸＬの場合は、左辺のポリゴンエッジであるので、マルチプレクサ３８７ｂから左辺の方向を出力するように制御する。また、ＸＲ＜Ｘ＜ＢＸＲの場合は、右辺のポリゴンエッジであるので、マルチプレクサ３８７ｂから右辺の方向を出力するように制御する。これら各回路はコントローラ３９０ｂにより制御される。
【０３８４】
アンチエイリアシング処理装置３６ｂで算出されたポリゴン端点が持つ色情報データ（ＲＭ、ＧＭ、ＢＭ）がＲＧＢ補正装置４０ｂに与えられる。このＲＧＢ補正装置４０ｂは、最も明るい色情報（Ｒｅ、Ｇｅ、Ｂｅ）と最も暗い色情報（Ｒｓ、Ｇｓ、Ｂｓ）とＤＤＡ処理装置３５ｂから与えられるポリゴンの端点情報の輝度値（Ｉ）に基づきＲＧＢの補正演算を行う。
【０３８５】
すなわち、ＤＤＡ処理装置３５ｂからの輝度値Ｉは一旦レジスタ４１０ｂに格納され、この輝度値Ｉが減算器４１１ｂの一方に与えられる。この輝度値Ｉは０．０〜１．０の範囲の値を持つ。減算器４１１ｂの他方には輝度値の中間の値である０．５の値が与えられ、レジスタ４１０ｂから与えられた輝度値Ｉが０．５より大きいか否か判断する。この減算器４１１ｂの出力により、後述するマルチプレクサ４１４ｂ、４２４ｂ、４２５ｂ、４３０ｂ、４３１ｂ、４３６ｂ、４３７ｂの出力が制御される。減算器４１１ｂの出力は１ビットシフター４１２ｂに与えられる。また、レジスタ４１０ｂの格納された輝度値Ｉが１ビットシフター４１３ｂに与えられる。この１ビットシフター４１２ｂ、４１３ｂにより（Ｉ＊２）の演算、すなわち、輝度値Ｉが中間の輝度値０．５に対して何％の割合にあるかが演算される。
【０３８６】
１ビットシフター４１２ｂ、４１３ｂの出力はマルチプレクサ３６３ｂを介して乗算器４２６ｂに与えられる。減算器４１１ｂの値がマイナス、即ち、輝度値Ｉが０．５より小さい場合には、マルチプレクサ３６３ｂは、１ビットシフター４１３ｂの出力が乗算器４２７ｂ、４３３ｂ、４３９ｂに与える。また、減算器４１１ｂの値がプラス、即ち、輝度値Ｉが０．５より大きい場合には、マルチプレクサ３６３ｂは、１ビットシフター４１２ｂの出力が乗算器４２７ｂ、４３３ｂ、４３９ｂに与える。
【０３８７】
アンチエイリアシング処理装置３６ｂで算出されたポリゴン端点が持つ色情報データ（ＲＭ、ＧＭ、ＢＭ）がレジスタ４１５ｂ、４１８ｂ、４２１ｂに与えられ、レジスタ４１５ｂにはＲＭが、レジスタ４１８ｂにはＧＭが、レジスタ４２１ｂにはＢＭがそれぞれ格納される。そして、予め指定され、メモリ１ｂに格納されている最も明るい色情報（Ｒｅ、Ｇｅ、Ｂｅ）と最も暗い色情報（Ｒｓ、Ｇｓ、Ｂｓ）が外部インタフェース３１ｂから４１６ｂ、４１７ｂ、４１９ｂ、４２０ｂ、４２２ｂ、４２３ｂに与えられ、レジスタ４１６ｂにはＲｅが、レジスタ４１７ｂにはＲｓが、レジスタ４１９ｂにはＧｅが、レジスタ４２０ｂにはＧｓが、レジスタ４２２ｂにはＢｅが、レジスタ４２３ｂにはＢｓがそれぞれ格納される。
【０３８８】
レジスタ４１５ｂに格納されたＲＭデータはマルチプレクサ４２４ｂ、４２５ｂに与えられ、レジスタ４１６ｂに格納されたＲｅデータはマルチプレクサ４２４ｂ、レジスタ４１７ｂに格納されたＲｓデータはマルチプレクサ４２５ｂに与えられる。マルチプレクサ４２４ｂ、４２５ｂは前述したように、減算器４１１ｂの出力により制御され、減算器４１１ｂの値がマイナス、即ち、輝度値Ｉが０．５より小さい場合には、マルチプレクサ４２４ｂは、レジスタ４１５ｂに格納されたＲＭデータを減算器４２６ｂに与え、マルチプレクサ４２５ｂはレジスタ４１７ｂに格納されたＲｓデータを減算器４２６ｂ及び加算器４２８ｂに与える。
【０３８９】
また、減算器４１１ｂの値がプラス、即ち、輝度値Ｉが０．５より大きい場合には、マルチプレクサ４１５ｂは、レジスタ４１６ｂに格納されたＲｅデータを減算器４２６ｂに与え、マルチプレクサ４２５ｂはレジスタ４１５ｂに格納されたＲＭデータを減算器４２６ｂ及び加算器４２８ｂに与える。
【０３９０】
減算器４２６ｂでは、輝度値Ｉが０．５より小さい場合には、レジスタ４１５ｂに格納されたＲＭデータとレジスタ４１７ｂに格納されたＲｓデータを減算し、減算結果（ＲＭ−Ｒｓ）を乗算器４２７ｂに与える。乗算器４２７ｂはこの減算結果（ＲＭ−Ｒｓ）に１ビットシフター４１３ｂのデータＩ２（Ｉ＊２）を乗算し、この乗算結果（（ＲＭ−Ｒｓ）＊Ｉ２）を加算器４２８ｂに与える。そして、加算器４２８ｂにて、（ＲＭ−Ｒｓ）＊Ｉ２にＲｓを加算し、Ｒを輝度値により補正した結果（Ｒ）をレジスタ４２９ｂに格納する。
【０３９１】
また、減算器４２６ｂでは、輝度値Ｉが０．５より大きい場合には、レジスタ４１６ｂに格納されたＲｅデータとレジスタ４１５ｂに格納されたＲＭデータを減算し、減算結果（Ｒｅ−ＲＭ）を乗算器４２７ｂに与える。乗算器４２７ｂはこの減算結果（Ｒｅ−ＲＭ）に１ビットシフター４１２ｂのデータＩ２（（Ｉ−０．５）＊２）を乗算し、この乗算結果（（Ｒｅ−ＲＭ）＊Ｉ２）を加算器４２８ｂに与える。そして、加算器４２８ｂにて、（Ｒｅ−ＲＭ）＊Ｉ２にＲＭを加算し、Ｒを輝度値により補正した結果（Ｒ）をレジスタ４２９ｂに格納する。
【０３９２】
一方、レジスタ４１８ｂに格納されたＧＭデータはマルチプレクサ４３０ｂ、４３１ｂに与えられ、レジスタ４１９ｂに格納されたＧｅデータはマルチプレクサ４３０ｂ、レジスタ４２０ｂに格納されたＧｓデータはマルチプレクサ４３１ｂに与えられる。マルチプレクサ４３０ｂ、４３１ｂは前述したように、減算器４１１ｂの出力により制御され、減算器４１１ｂの値がマイナス、即ち、輝度値Ｉが０．５より小さい場合には、マルチプレクサ４３０ｂは、レジスタ４１８ｂに格納されたＧＭデータを減算器４３２ｂに与え、マルチプレクサ４３１ｂはレジスタ４２０ｂに格納されたＧｓデータを減算器４３２ｂ及び加算器４３４ｂに与える。
【０３９３】
また、減算器４１１ｂの値がプラス、即ち、輝度値Ｉが０．５より大きい場合には、マルチプレクサ４３０ｂは、レジスタ４１９ｂに格納されたＧｅデータを減算器４３２ｂに与え、マルチプレクサ４３１ｂはレジスタ４１８ｂに格納されたＧＭデータを減算器４３２ｂ及び加算器４３４ｂに与える。
【０３９４】
減算器４３２ｂでは、輝度値Ｉが０．５より小さい場合には、レジスタ４１８ｂに格納されたＧＭデータとレジスタ４２０ｂに格納されたＧｓデータを減算し、減算結果（ＧＭ−Ｇｓ）を乗算器４３２ｂに与える。乗算器４３２ｂはこの減算結果（ＧＭ−Ｇｓ）に１ビットシフター４１３ｂのデータＩ２（Ｉ＊２）を乗算し、この乗算結果（（ＧＭ−Ｇｓ）＊Ｉ２）を加算器４３４ｂに与える。そして、加算器４３４ｂにて、（ＧＭ−Ｇｓ）＊Ｉ２にＧｓを加算し、Ｇを輝度値により補正した結果（Ｇ）をレジスタ４３５ｂに格納する。
【０３９５】
また、減算器４３２ｂでは、輝度値Ｉが０．５より大きい場合には、レジスタ４１９ｂに格納されたＧｅデータとレジスタ４１８ｂに格納されたＧＭデータを減算し、減算結果（Ｇｅ−ＧＭ）を乗算器４３２ｂに与える。乗算器４３２ｂはこの減算結果（Ｇｅ−ＧＭ）に１ビットシフター４１２ｂのデータＩ２（（Ｉ−０．５）＊２）を乗算し、この乗算結果（（Ｇｅ−ＧＭ）＊Ｉ２）を加算器４３４ｂに与える。そして、加算器４３４ｂにて、（Ｇｅ−ＧＭ）＊Ｉ２にＧＭを加算し、Ｇを輝度値により補正した結果（Ｇ）をレジスタ４３５ｂに格納する。
【０３９６】
さらに、レジスタ４２１ｂに格納されたＢＭデータはマルチプレクサ４３６ｂ、４３７ｂに与えられ、レジスタ４２２ｂに格納されたＢｅデータはマルチプレクサ４３６ｂ、レジスタ４２３ｂに格納されたＢｓデータはマルチプレクサ４３７ｂに与えられる。マルチプレクサ４３６ｂ、４３７ｂは前述したように、減算器４１１ｂの出力により制御され、減算器４１１ｂの値がマイナス、即ち、輝度値Ｉが０．５より小さい場合には、マルチプレクサ４３６ｂは、レジスタ４２１ｂに格納されたＢＭデータを減算器４３８ｂに与え、マルチプレクサ４３７ｂはレジスタ４２３ｂに格納されたＢｓデータを減算器４３８ｂ及び加算器４４０ｂに与える。
【０３９７】
また、減算器４１１ｂの値がプラス、即ち、輝度値Ｉが０．５より大きい場合には、マルチプレクサ４３６ｂは、レジスタ４２２ｂに格納されたＢｅデータを減算器４３８ｂに与え、マルチプレクサ４３７ｂはレジスタ４２１ｂに格納されたＢＭデータを減算器４３８ｂ及び加算器４４０ｂに与える。
【０３９８】
減算器４３８ｂでは、輝度値Ｉが０．５より小さい場合には、レジスタ４２１ｂに格納されたＢＭデータとレジスタ４２３ｂに格納されたＢｓデータを減算し、減算結果（ＢＭ−Ｂｓ）を乗算器４３９ｂに与える。乗算器４３９ｂはこの減算結果（ＢＭ−Ｂｓ）に１ビットシフター４１３ｂのデータＩ２（Ｉ＊２）を乗算し、この乗算結果（（ＢＭ−Ｂｓ）＊Ｉ２）を加算器４４０ｂに与える。そして、加算器４４０ｂにて、（ＢＭ−Ｂｓ）＊Ｉ２にＢｓを加算し、Ｂを輝度値により補正した結果（Ｂ）をレジスタ４４１ｂに格納する。
【０３９９】
また、減算器４３８ｂでは、輝度値Ｉが０．５より大きい場合には、レジスタ４２２ｂに格納されたＢｅデータとレジスタ４２１ｂに格納されたＢＭデータを減算し、減算結果（Ｂｅ−ＢＭ）を乗算器４３９ｂに与える。乗算器４３９ｂはこの減算結果（Ｂｅ−ＢＭ）に１ビットシフター４１２ｂのデータＩ２（（Ｉ−０．５）＊２）を乗算し、この乗算結果（（Ｂｅ−ＢＭ）＊Ｉ２）を加算器４４０ｂに与える。そして、加算器４４０ｂにて、（Ｂｅ−ＢＭ）＊Ｉ２にＢＭを加算し、Ｂを輝度値により補正した結果（Ｂ）をレジスタ４４１ｂに格納する。
【０４００】
そして、ＤＤＡ処理装置３５ｂ、アンチエイリアシング処理装置３６ｂ及びＲＧＢ補正装置４０ｂからのデータがフレームメモリ制御装置３８ｂに与えられる。このフレームメモリ制御装置３８ｂは、アンチエイリアシング処理装置３６ｂから各ドットの面積と辺の方向を、ＤＤＡ処理装置３５ｂからＸ値、Ｙ値、Ｚ値を、ＲＧＢ補正装置４０ｂからＲＧＢ情報をそれぞれ受け取り、フレームメモリアドレスを求め、フレームメモリ５ｂへＲＧＢ情報と辺の方向とドットの面積と方向コードを書き込む。このフレームメモリ制御装置３８ｂは、例えば図９４に示すように構成される。
【０４０１】
図９４は、フレームメモリ制御装置３８ｂの具体的構成例を示すブロック図である。
【０４０２】
各部から受け取ったデータはレジスタ１９１ｂに格納される。このレジスタ１９１ｂは、パラメータ演算処理装置３４からのデータはフラグ（ＦＬＡＧ）領域へ、ＲＧＢ補正装置３５ｂからのＲＧＢ情報データがＲＧＢ領域へ、アンチエイリアシング処理回路３６ｂからのデータはエリア領域へそれぞれ格納する。
【０４０３】
ＤＤＡ処理装置３５ｂから受け取ったＹ値がフレームメモリアドレス生成回路１９２ｂに与えられ、この生成回路１９２ｂにてフレームメモリのアドレスを生成し、フレームメモリ５ｂに与え、レジスタ１９１ｂに格納されたデータがフレームメモリ５ｂに転送される。
【０４０４】
上述した描画処理装置３ｂの各装置はコントローラ３９ｂで制御され、このコントローラ３９ｂは図９６ないし図１０５に示すフローチャートに従い描画処理装置３の全体を制御する。
【０４０５】
次に、上記フローチャートに従い描画処理装置３ｂの動作につき説明する。
【０４０６】
動作を開始すると、まず、予め指定され、メモリ１ｂに格納されている最も明るい色情報（Ｒｅ、Ｇｅ、Ｂｅ）と最も暗い色情報（Ｒｓ、Ｇｓ、Ｂｓ）を外部インタフェース３１ｂから４１６ｂ、４１７ｂ、４１９ｂ、４２０ｂ、４２２ｂ、４２３ｂに与え、レジスタ４１６ｂにはＲｅが、レジスタ４１７ｂにはＲｓが、レジスタ４１９ｂにはＧｅを、レジスタ４２０ｂにはＧｓを、レジスタ４２２ｂにはＢｅを、レジスタ４２３ｂにはＢｓをそれぞれ格納する（ステップＳ４０ｂ）。そして、座標変換処理装置２ｂからポリゴン辺の始点（Ｘｓ、Ｙｓ）、終点（Ｘｅ、Ｙｅ）を読み出す（ステップＳ４１ｂ）。続いて、ポリゴン辺の始点、終点のアドレスに基づいて、前述の第１及び参考例と同じくポリゴンを構成する各辺のベクトルが図５に示すどの方向に属するかを判断し、その方向ベクトル（ＤＩＲ）を算出すると共に、そのベクトル方向に応じて、ポリゴン辺が右辺に属するか左辺に属するか決定する。（ステップＳ４２ｂ）。
【０４０７】
この参考例においても前述の第１及び参考例と同じく、ポリゴン辺のベクトルは下方向に向くように変換して演算を行うようにしている。このため、方向ベクトル（ＤＩＲ）が４より大きいか否か判断され（ステップＳ４３ｂ）、方向ベクトル（ＤＩＲ）が４より小さい場合は、図５に示すように、方向ベクトルは上向きであるので、上向きのポリゴン辺を逆転させるため方向ベクトル（ＤＩＲ）を反転させ、そして左辺、右辺の属性を示すフラグを１にセットする（ステップＳ４４ｂ）。
【０４０８】
方向ベクトル（ＤＩＲ）が４以上の場合は、図５に示すように、方向ベクトルは下向きであるので、方向ベクトル（ＤＩＲ）はそのままの状態で、左辺、右辺の属性を示すフラグを０にセットする（ステップＳ４５ｂ）。
【０４０９】
辺テーブル３３ｂに、ポリゴン辺の対になる右辺、左辺のそれぞれのデータが格納される（ステップＳ４６ｂ）、すべてのポリゴン辺を読み出すまで前述の動作を繰り返し（ステップＳ４７ｂ）、すべてのポリゴン辺の右辺、左辺のそれぞれのデータが辺テーブル３３ｂに格納されると、辺テーブル３３ｂがソートされる（ステップＳ４８ｂ）。そして、辺テーブル３３ｂからＹアドレスの終点（Ｙｅ）を求める（ステップＳ４９ｂ）。
【０４１０】
続いて、辺テーブル３３ｂの０アドレスの左辺から、Ｘ始点、Ｙ始点、Ｉ始点、マッピングパターンメモリアドレスのＸ始点（ＭＸｓ）、マッピングパターンメモリアドレスのＹ始点（ＭＹｓ）とＸ終点、Ｙ終点、Ｉ終点、マッピングパターンメモリアドレスのＸ終点（ＭＸｅ）、マッピングパターンメモリアドレスのＹ終点（ＭＹｅ）並びにこの方向ベクトルを読み出す（ステップＳ５０ｂ）。
【０４１１】
さらに、辺テーブル３３ｂの０アドレスの右辺から、Ｘ始点、Ｙ始点、Ｉ始点、マッピングパターンメモリアドレスのＸ始点（ＭＸｓ）、マッピングパターンメモリアドレスのＹ始点（ＭＹｓ）とＸ終点、Ｙ終点、Ｉ終点、マッピングパターンメモリアドレスのＸ終点（ＭＸｅ）、マッピングパターンメモリアドレスのＹ終点（ＭＹｅ）並びにこの方向ベクトルを読み出す（ステップＳ５１ｂ）。
【０４１２】
そして、パラメータ演算のサブルーチン処理（ＶＰＡＲＡ）（ステップＳ５２ｂ）、左辺のＤＤＡ演算のサブルーチン処理（ＬＶＤＤＡ）（ステップＳ５３ｂ）、右辺のＤＤＡ演算のサブルーチン処理（ＲＶＤＤＡ）（ステップＳ５４ｂ）、スキャンラインと平行な水平方向のＤＤＡ演算のサブルーチン処理（ＨＤＤＡ）（ステップＳ５５ｂ）の演算が行われる。
【０４１３】
これらサブルーチン処理につき説明する。
【０４１４】
まず、パラメータ演算のサブルーチン処理（ＶＰＡＲＡ）について、図９９に従い説明する。左辺に対してＹ軸を基軸とするＸの傾きを求めこの傾きをＤＤＸＬとし、マッピングパターンメモリアドレスのＸの傾きを求めこの傾きをＤＤＭＸＬとし、マッピングパターンメモリアドレスのＹの傾きを求めこの傾きをＤＤＭＹＬとし、輝度値Ｉの傾きを求めこの傾きをＤＤＩＬとするとともに、方向ベクトル（ＤＩＲＬ）をアンチエイリアシングを行う方向コード（ＬＦＬＡＧ）に変換する（ステップＳ２００ｂ）。
【０４１５】
なお、この参考例２においても第１及び参考例と同じく、図３９に示すように、（ａ）の方向ベクトルに基づき、（ｂ）のように、アンチエイリアシングを行う方向が決められている。その方向ベクトルと方向コード（ＦＬＡＧ）との関係が図４０に示されている。この図４０に示すテーブルに基づき方向ベクトル（ＤＩＲ）が方向コード（ＬＦＬＡＧ）に変換される。
【０４１６】
続いて、右辺に対してＹ軸を基軸とするＸの傾きを求めこの傾きをＤＤＸＲとし、マッピングパターンメモリアドレスのＸの傾きを求めこの傾きをＤＤＭＸＲとし、マッピングパターンメモリアドレスのＹの傾きを求めこの傾きをＤＤＭＹＲとし、輝度値Ｉの傾きを求めこの傾きをＤＤＩＲとするとともに、方向ベクトル（ＤＩＲＬ）をアンチエイリアシングを行う方向コード（ＲＦＬＡＧ）に変換する（ステップＳ２０１ｂ）。
【０４１７】
その後、左辺のＸ始点をＸＬ、ＭＸ始点をＭＸＬとし、また、Ｙ始点をＹＬ、ＭＹ始点をＭＹＬとし、さらにＩ始点をＩＬとすると共に、Ｘ終点をＸＬＥ、ＭＸ終点をＭＸＬＥ、Ｙ終点をＹＬＥ、ＭＹ終点をＭＹＬＥ、Ｉ終点をＩＬＥとする（ステップＳ２０２ｂ）。
【０４１８】
さらに、右辺のＸ始点をＸＲ、ＭＸ始点をＭＸＲとし、また、Ｙ始点をＹＲ、ＭＹ始点をＭＹＲとし、さらにＩ始点をＩＲとすると共に、Ｘ終点をＸＲＥ、ＭＸ終点をＭＸＲＥ、Ｙ終点をＹＲＥ、ＭＹ終点をＭＹＲＥ、Ｉ終点をＩＲＥとして（ステップＳ２０３ｂ）、このサブルーチンが終了する。
【０４１９】
パラメータ演算のサブルーチン処理（ＶＰＡＲＡ）（ステップＳ５２ｂ）が終了すると、左辺のＤＤＡ演算のサブルーチン処理（ＬＶＤＤＡ）（ステップＳ５３ｂ）が行われる。
【０４２０】
左辺のＤＤＡ演算のサブルーチン処理（ＬＶＤＤＡ）について、図１００を参照して説明する。
【０４２１】
ＶＰＡＲＡサブルーチンで設定したＸＬ、ＹＬ、ＭＸＬ、ＭＹＬ、ＩＬをそれぞれＸ、Ｙ、ＭＸ、ＭＹとする（ステップＳ２１０ｂ）。
【０４２２】
続いて、Ｘ、ＭＸ、ＭＹ及びＩをＤＤＡで算出する。すなわち、Ｘ＝Ｘ＋ＤＤＸＬ、ＭＸ＝ＭＸ＋ＤＤＭＸＬ、ＭＹ＝ＭＹ＋ＤＤＭＹＬ、Ｉ＝Ｉ＋ＤＤＩＬの演算を行った後（ステップＳ２１１ｂ）、Ｙ＝Ｙ＋ＤＹの演算を行う（ステップＳ２１２ｂ）。
【０４２３】
そして、水平テーブル３７ｂの奇数ラインの左辺の領域に求めたＸ、ＭＸ、ＭＹ、Ｉを書き込む（ステップＳ２１３ｂ）。
【０４２４】
次に、偶数ラインの各データを求めるため、Ｘ、ＭＸ、ＭＹ及びＩをＤＤＡでさらに算出する。すなわち、Ｘ＝Ｘ＋ＤＤＸＬ、ＭＸ＝ＭＸ＋ＤＤＭＸＬ、ＭＹ＝ＭＹ＋ＤＤＭＹＬ、Ｉ＝Ｉ＋ＤＤＩＬの演算を行った後（ステップＳ２１４ｂ）、Ｙ＝Ｙ＋ＤＹの演算を行う（ステップＳ２１５ｂ）。
【０４２５】
そして、水平テーブル３７ｂの偶数ラインの左辺の領域に求めたＸ、ＭＸ、ＭＹ、Ｉを書き込む（ステップＳ２１６ｂ）。
【０４２６】
続いて、ＸＬをＸに、ＹＬをＹに、ＭＸＬをＭＸに、ＭＹＬをＭＹに、ＩＬをＩにそれぞれ設定し（ステップＳ２１７ｂ）、このサブルーチンを終了する。
【０４２７】
左辺のＤＤＡ演算のサブルーチン処理（ＬＶＤＤＡ）（ステップＳ５３ｂ）が終了すると、右辺のＤＤＡ演算のサブルーチン処理（ＲＶＤＤＡ）（ステップＳ５４ｂ）が行われる。
【０４２８】
右辺のＤＤＡ演算のサブルーチン処理（ＲＶＤＤＡ）について、図１０１を参照して説明する。
【０４２９】
ＶＰＡＲＡサブルーチンで設定したＸＲ、ＹＲ、ＭＸＲ、ＭＹＲ、ＩＲをそれぞれＸ、Ｙ、ＭＸ、ＭＹ、Ｉとする（ステップＳ２２０ｂ）。
【０４３０】
続いて、Ｘ、ＭＸ、ＭＹ及びＩをＤＤＡで算出する。すなわち、Ｘ＝Ｘ＋ＤＤＸＲ、ＭＸ＝ＭＸ＋ＤＤＭＸＲ、ＭＹ＝ＭＹ＋ＤＤＭＹＲ、Ｉ＝Ｉ＋ＤＤＩＲの演算を行った後（ステップＳ２２１ｂ）、Ｙ＝Ｙ＋ＤＹの演算を行う（ステップＳ２２２ｂ）。
【０４３１】
そして、水平テーブル３７ｂの奇数ラインの右辺の領域に求めたＸ、ＭＸ、ＭＹ、Ｉを書き込む（ステップＳ２２３ｂ）。
【０４３２】
次に、偶数ラインの各データを求めるため、Ｘ、ＭＸ、ＭＹ及びＩをＤＤＡでさらに算出する。すなわち、Ｘ＝Ｘ＋ＤＤＸＲ、ＭＸ＝ＭＸ＋ＤＤＭＸＲ、ＭＹ＝ＭＹ＋ＤＤＭＹＲ、Ｉ＝Ｉ＋ＤＤＩＲの演算を行った後（ステップＳ２２４ｂ）、Ｙ＝Ｙ＋ＤＹの演算を行う（ステップＳ２２５ｂ）。
【０４３３】
そして、水平テーブル３７ｂの偶数ラインの右辺の領域に求めたＸ、ＭＸ、ＭＹ、Ｉを書き込む（ステップＳ２２６ｂ）。
【０４３４】
続いて、ＸＲをＸに、ＹＲをＹに、ＭＸＲをＭＸに、ＭＹＲをＭＹに、ＩＲをＩにそれぞれ設定し（ステップＳ２２７ｂ）、このサブルーチンを終了する。
【０４３５】
右辺のＤＤＡ演算のサブルーチン処理（ＲＶＤＤＡ）（ステップＳ５４ｂ）が終了すると、スキャンラインと平行な水平方向のＤＤＡ演算のサブルーチン処理（ＨＤＤＡ）（ステップＳ５５ｂ）が行われる。
【０４３６】
スキャンラインと平行な水平方向のＤＤＡ演算のサブルーチン処理（ＨＤＤＡ）について、図１０２ないし図１０４を参照して説明する。
【０４３７】
水平テーブルの奇数領域から読み出した左辺のＸ、Ｙ、ＭＸ、ＭＹ、Ｉ値をそれぞれＸＬ１、ＹＬ１、ＭＸＬ１、ＭＹＬ１、ＩＬ１とし、さらに右辺のＸ、ＭＸ、ＭＹ、Ｉ値をそれぞれＸＲ１、ＭＸＲ１、ＭＹＲ１、ＩＲ１とするとともに、左辺の方向ベクトルをＤＩＲＬ１、右辺の方向ベクトルをＤＩＲＲ１とする（ステップＳ２３０ｂ）。
【０４３８】
続いて、水平テーブルの偶数領域から読み出した左辺のＸ、Ｙ、ＭＸ、ＭＹ、Ｉ値をそれぞれＸＬ２、ＹＬ２、ＭＸＬ２、ＭＹＬ２、ＩＬ２とし、さらに右辺のＸ、ＭＸ、ＭＹ、Ｉ値をそれぞれＸＲ２、ＭＸＲ２、ＭＹＲ２、ＩＲ２とする（ステップＳ２３１ｂ）。
【０４３９】
そして、ＸＬ１とＸＬ２とを比較し、Ｘ値の小さい方をＸＬとし（ステップＳ２３２ｂ）、ＸＲ１とＸＲ２とを比較し、Ｘ値の大きい方をＸＲとする（ステップＳ２３３ｂ）。
【０４４０】
次に、水平テーブルの奇数領域のＸ軸を基軸としてマッピングパターンメモリのＸアドレスの傾きを求め、この傾きをＤＤＭＸ１とすると共に、マッピングパターンメモリのＹアドレスの傾きを求め、この傾きをＤＤＭＹ１とする、さらに輝度値Ｉの傾きを求め、この傾きをＤＤＩ１とする（ステップＳ２３４ｂ）。そして、水平テーブルの偶数領域のＸ軸を基軸としてマッピングパターンメモリのＸアドレスの傾きを求め、この傾きをＤＤＭＸ２とすると共に、マッピングパターンメモリのＹアドレスの傾きを求め、この傾きをＤＤＭＹ２とする、さらに輝度値Ｉの傾きを求め、この傾きをＤＤＩ２とする（ステップＳ２３５ｂ）。続いて、カウンタ値（ＤＣＮＴ）を”０”に初期化した後（ステップＳ２３６ｂ）、ＸをＸＬとする（ステップＳ２３７ｂ）。
【０４４１】
そして、現在処理中のＸ値がＸＬ１とＸＲ１との間にあるか否か、すなわち、ＸＬ１＜Ｘ＜ＸＲ１の判断が行われ（ステップＳ２３８ｂ）、Ｘ値がＸＬ１＜Ｘ＜ＸＲ１であれば、ＭＸＬ１＝ＭＸＬ１＋ＤＤＭＸ１、ＭＹＬ１＝ＭＹＬ１＋ＤＤＭＹ１、ＩＬ１＝ＩＬ１＋ＤＤＩ１の演算が行われ（ステップＳ２３９ｂ）、カウンタ値（ＤＣＮＴ）を１にセットする（ステップＳ２４０ｂ）。
【０４４２】
そして、マッピングパターンメモリ１０からマッピングパターンメモリアドレスＭＸＬ１、ＭＹＬ１が示すＲＧＢデータを読み出し、ＲＭ、ＧＭ、ＢＭとした後（ステップＳ２４１ｂ）、ＲＧＢ補正装置４０ｂにて後述するＲＧＢ補正演算のサブルーチンにより、補正演算したＲ１、Ｇ１、Ｂ１を求める（ステップＳ２４２ｂ）。そして、現在処理中のＸ値がＸＬ２とＸＲ２との間にあるか否か、すなわち、ＸＬ２＜Ｘ＜ＸＲ２の判断が行われる（ステップＳ２４３ｂ）。
【０４４３】
一方、ステップＳ２３８で、現在処理中のＸ値がＸＬ１とＸＲ１との間にないと判断されると、直ちにステップＳ２４３ｂでＸＬ２＜Ｘ＜ＸＲ２の判断が行われる。
【０４４４】
ステップＳ２４３ｂにて、Ｘ値がＸＬ２＜Ｘ＜ＸＲ２と判断されると、ＭＸＬ２＝ＭＸＬ２＋ＤＤＭＸ２、ＭＹＬ２＝ＭＹＬ２＋ＤＤＭＹ２、ＩＬ２＝ＩＬ２＋ＤＤＩ２の演算が行われ（ステップＳ２４４ｂ）、カウンタ値（ＤＣＮＴ）を１つインクリメントする（ステップＳ２４５ｂ）。
【０４４５】
そして、マッピングパターンメモリ１０ｂからマッピングパターンメモリアドレスＭＸＬ２、ＭＹＬ２が示すＲＧＢデータを読み出し、ＲＭ、ＧＭ、ＢＭとした後（ステップＳ２４６ｂ）、ＲＧＢ補正装置４０ｂにて後述するＲＧＢ補正演算のサブルーチンにより、補正演算したＲ２、Ｇ２、Ｂ２を求める（ステップＳ２４７ｂ）。その後、Ｘ＝Ｘ＋１の演算が行われる（ステップＳ２４８ｂ）。
【０４４６】
一方、ステップＳ２４３ｂで、現在処理中のＸ値がＸＬ２とＸＲ２との間にないと判断されると、直ちにステップＳ２４８ｂでＸ＝Ｘ＋１の演算が行われる。
【０４４７】
続いて、再び現在処理中のＸ値がＸＬ１とＸＲ１との間にあるか否か、すなわち、ＸＬ１＜Ｘ＜ＸＲ１の判断が行われ（ステップＳ２４９ｂ）、Ｘ値がＸＬ１＜Ｘ＜ＸＲ１であれば、ＭＸＬ１＝ＭＸＬ１＋ＤＤＭＸ１、ＭＹＬ１＝ＭＹＬ１＋ＤＤＭＹ１、ＩＬ１＝ＩＬ１＋ＤＤＩ１の演算が行われ（ステップＳ２５０ｂ）、カウンタ値（ＤＣＮＴ）を１つインクリメントする（ステップＳ２５１ｂ）。
【０４４８】
そして、マッピングパターンメモリ１０からマッピングパターンメモリアドレスＭＸＬ１、ＭＹＬ１が示すＲＧＢデータを読み出し、ＲＭ、ＧＭ、ＢＭとした後（ステップＳ２５２ｂ）、ＲＧＢ補正装置４０ｂにて後述するＲＧＢ補正演算のサブルーチンにより、補正演算したＲ３、Ｇ３、Ｂ３を求める（ステップＳ２５３ｂ）。その後、現在処理中のＸ値がＸＬ２とＸＲ２との間にあるか否か、すなわち、ＸＬ２＜Ｘ＜ＸＲ２の判断が行われる（ステップＳ２５４ｂ）。
【０４４９】
一方、ステップＳ２４９ｂで、現在処理中のＸ値がＸＬ１とＸＲ１との間にないと判断されると、直ちにステップＳ２５４ｂでＸＬ２＜Ｘ＜ＸＲ２の判断が行われる。
【０４５０】
ステップＳ２５４ｂにて、Ｘ値がＸＬ２＜Ｘ＜ＸＲ２と判断されると、ＭＸＬ２＝ＭＸＬ２＋ＤＤＭＸ２、ＭＹＬ２＝ＭＹＬ２＋ＤＤＭＹ２ＩＬ１＝ＩＬ２＋ＤＤＩ２の演算が行われ（ステップＳ２５５ｂ）、カウンタ値（ＤＣＮＴ）を１つインクリメントする（ステップＳ２５６ｂ）。
【０４５１】
そして、マッピングパターンメモリ１０からマッピングパターンメモリアドレスＭＸＬ２、ＭＹＬ２が示すＲＧＢデータを読み出し、ＲＭ、ＧＭ、ＢＭとした後（ステップＳ２５７ｂ）、ＲＧＢ補正装置４０ｂにて後述するＲＧＢ補正演算のサブルーチンにより、補正演算したＲ４、Ｇ４、Ｂ４を求める（ステップＳ２５８ｂ）。この後、Ｘ＝Ｘ＋１の演算が行われる（ステップＳ２５９ｂ）。
【０４５２】
一方、ステップＳ２５４ｂで、現在処理中のＸ値がＸＬ２とＸＲ２との間にないと判断されると、直ちにステップＳ２５９ｂでＸ＝Ｘ＋１の演算が行われる。
【０４５３】
続いて、ステップＳ２６０ｂで現在処理中のＸ値が、ＸＬとＢＸＬの間にあるか否か、すなわち、ＸＬ＜Ｘ＜ＢＸＬ或いは、ＢＸＬ＜Ｘ＜ＸＬが判断され、ＸがＸＬとＢＸＬの間にある場合には、ステップＳ２６１ｂで、ＤＩＲ＝ＤＩＲＬとした後、辺フラグをｏｎにし（ステップＳ２６４ｂ）、ステップＳ２６５ｂに進む。
【０４５４】
また、現在処理中のＸ値が、ＸＬとＢＸＬの間にないときは、ステップＳ２６２ｂで、現在処理中のＸ値が、ＸＲとＢＸＲの間にあるか否か、すなわち、ＸＲ＜Ｘ＜ＢＸＲ或いは、ＢＸＲ＜Ｘ＜ＸＲが判断され、ＸがＸＲとＢＸＲの間にある場合には、ステップＳ２６３ｂで、ＤＩＲ＝ＤＩＲＲとした後、辺フラグをｏｎにし（ステップＳ２６４ｂ）、ステップＳ２６５ｂに進む。
【０４５５】
ステップＳ２６２ｂにおいて、現在処理中のＸ値が、ＸＲとＢＸＲの間にない場合には、直ちにステップＳ２６５ｂに進み、ステップＳ２６５ｂにて、Ｒ＝（Ｒ１＋Ｒ２＋Ｒ３＋Ｒ４）／ＤＣＮＴ、Ｇ＝（Ｇ１＋Ｇ２＋Ｇ３＋Ｇ４）／ＤＣＮＴ、Ｂ＝（Ｂ１＋Ｂ２＋Ｂ３＋Ｂ４）／ＤＣＮＴの演算が行った後、その演算により求めたＲ、Ｇ、Ｂとカウンタ値（ＤＣＮＴ）並びに辺フラグをフレームメモリに書き込む（ステップＳ２６６ｂ）。
【０４５６】
続いて、ＢＸＬ＝ＸＬ．ＢＸＲ＝ＸＲとした後（ステップＳ２６７ｂ）、Ｘ＜ＸＲが判断され、現在処理中のＸ値がＸＲより小さい場合には、ステップＳ２３８ｂに戻り、前述の動作を繰り返す。Ｘ値がＸＲ以上になるとこのサブルーチンが終了する。
【０４５７】
ＲＧＢ補正装置４０ｂにおけるＲＧＢ補正演算のサブルーチン処理について図１０５に従い説明する。
【０４５８】
このＲＧＢ補正装置４０ｂには、最も明るい色情報（Ｒｅ、Ｇｅ、Ｂｅ）と最も暗い色情報（Ｒｓ、Ｇｓ、Ｂｓ）とＤＤＡ処理装置３５ｂから与えられるポリゴンの端点情報の輝度値（Ｉ）に基づきＲＧＢの補正演算を行う。
【０４５９】
まず、ＤＤＡ処理装置３５ｂから与えられる輝度値Ｉが０．５より大きい以下否か判断され（ステップＳ２８１ｂ）、輝度値Ｉが０．５より小さい場合には、ステップＳ２８２ｂに進み、Ｉ２＝Ｉ＊２、即ち、輝度値Ｉを２倍にする演算を行い、ステップＳ２８３ｂに進む。また、輝度値Ｉが０．５より大きい場合には、ステップＳ２８４ｂに進み、Ｉ２＝（Ｉ−０．５）＊２、即ち、輝度値Ｉより０．５減算し、この減算した値を２倍にする演算を行いステップＳ２８５ｂに進む。
【０４６０】
輝度値Ｉが０．５より小さい場合には、ステップＳ２８３ｂにて、ＲＭデータとＲｓデータを減算し、この（ＲＭ−Ｒｓ）にステップＳ２８２ｂで求めたＩ２（Ｉ＊２）を乗算し、この（（ＲＭ−Ｒｓ）＊Ｉ２）にＲｓを加算し、Ｒを輝度値により補正したＲが求められる。同じく、ＧＭデータとＧｓデータを減算し、この（ＧＭ−Ｇｓ）にステップＳ２８２ｂで求めたＩ２（Ｉ＊２）を乗算し、この（（ＧＭ−Ｇｓ）＊Ｉ２）にＧｓを加算し、Ｇを輝度値により補正したＧが求められる。さらに、ＢＭデータとＢｓデータを減算し、この（ＢＭ−Ｂｓ）にステップＳ２８２ｂで求めたＩ２（Ｉ＊２）を乗算し、この（（ＢＭ−Ｂｓ）＊Ｉ２）にＢｓを加算し、Ｂを輝度値により補正したＢが求められる。
【０４６１】
一方、輝度値Ｉが０．５より大きい場合は、ステップＳ２８５ｂにて、ＲｅデータとＲＭデータを減算し、この（Ｒｅ−ＲＭ）にステップＳ２８４ｂで求めたＩ２（（Ｉ−０．５）＊２）を乗算し、この（（Ｒｅ−ＲＭ）＊Ｉ２）にＲＭを加算し、Ｒを輝度値により補正したＲが求められる。同じく、ＧｅデータとＧＭデータを減算し、この（ＧＭ−Ｇｓ）にステップＳ２８４ｂで求めたＩ２を乗算し、この（（Ｇｅ−ＧＭ）＊Ｉ２）にＧＭを加算し、Ｇを輝度値により補正したＧが求められる。さらに、ＢｅデータとＢＭデータを減算し、この（Ｂｅ−ＢＭ）にステップＳ２８４ｂで求めたＩ２を乗算し、この（（Ｂｅ−ＢＭ）＊Ｉ２）にＢＭを加算し、Ｂを輝度値により補正したＢが求められる。このようにして、輝度値Ｉに応じてＲ、Ｇ、Ｂの補正演算を行いこのサブルーチン処理が終了する。
【０４６２】
スキャンラインと平行な水平方向のＤＤＡ演算のサブルーチン処理（ＨＤＤＡ）（ステップＳ５５ｂ）が終了すると、ＹがＹｅより小さいか否か判断され（ステップＳ５６ｂ）、ＹがＹｅより小さい場合には、ステップＳ５３に戻り、ＬＶＤＤＡ、ＲＶＤＤＡ、ＨＤＤＡのＤＤＡ演算サブルーチン処理が行われる。
【０４６３】
そして、辺テーブルの１アドレスの右辺にデータがあるか否か判断され（ステップＳ５７ｂ）、データがある場合には、辺テーブルの１アドレスの右辺から、Ｘ始点、Ｙ始点、Ｉ始点、マッピングパターンメモリアドレスのＸ始点、マッピングパターンメモリアドレスのＹ始点とＸ終点、Ｙ終点、Ｉ終点、マッピングパターンメモリアドレスのＸ終点、マッピングパターンメモリアドレスのＹ終点並びにこの方向ベクトルを読み出す（ステップＳ５８ｂ）。
【０４６４】
次に、第２のパラメータ演算のサブルーチン処理（ＶＰＡＲＡ１）（ステップＳ５９ｂ）、左辺のＤＤＡ演算のサブルーチン処理（ＬＶＤＤＡ）（ステップＳ６０ｂ）、右辺のＤＤＡ演算のサブルーチン処理（ＲＶＤＤＡ）（ステップＳ６１ｂ）、スキャンラインと平行な水平方向のＤＤＡ演算のサブルーチン処理（ＨＤＤＡ）（ステップＳ６２ｂ）の演算が行われる。これらサブルーチン処理のうちステップＳ６０から６２の処理は前述の図１００ないし図１０５に示した処理と同じ処理が行われるので、ここでは第２のパラメータ演算のサブルーチン処理（ＶＰＡＲＡ１）につき図１０６に従い説明する。
【０４６５】
右辺に対してＹ軸を基軸とするＸの傾きを求めこの傾きをＤＤＸＲとし、マッピングパターンメモリアドレスのＸの傾きを求めこの傾きをＤＤＭＸＲとし、マッピングパターンメモリアドレスのＹの傾きを求めこの傾きをＤＤＭＹＲとし、輝度値Ｉの傾きを求めこの傾きをＤＤＩＬとするとともに、方向ベクトル（ＤＩＲＬ）をアンチエイリアシングを行う方向コード（ＲＦＬＡＧ）に変換する（ステップＳ２７０ｂ）。
【０４６６】
その後、右辺のＸ始点をＸＲ、ＭＸ始点をＭＸＲとし、また、Ｙ始点をＹＲ、ＭＹ始点をＭＹＲ、Ｉ始点をＩＲとすると共に、Ｘ終点をＸＲＥ、ＭＸ終点をＭＸＲＥ、Ｙ終点をＹＲＥ、ＭＹ終点をＭＹＲＥ、Ｉ終点をＩＲＥとして（ステップＳ２７１ｂ）、このサブルーチンが終了する。
【０４６７】
この第２のパラメータ演算のサブルーチンが終了すると（ステップＳ５９ｂ）、続いて、ＬＶＤＤＡサブルーチン（ステップＳ６０ｂ）、ＲＶＤＤＡサブルーチン（ステップＳ６１ｂ）、ＨＤＤＡサブルーチン（ステップＳ６２ｂ）の各ＤＤＡ演算サブルーチン処理が行われる。そして、ＹがＹｅより小さいか否か判断され（ステップＳ６３ｂ）、ＹがＹｅより小さい場合には、ステップＳ６０ｂに戻り、ＬＶＤＤＡ、ＲＶＤＤＡ、ＨＤＤＡのＤＤＡ演算サブルーチン処理が行われる。ＹがＹｅ以上になるとこの描画処理動作が終了する。
【０４６８】
一方、ステップＳ５７ｂにおいて、辺テーブルの１アドレスの右辺にデータがないと判断されると、続いて、辺テーブルの１アドレスの左辺にデータがあるか否か判断され（ステップＳ６４ｂ）。データがない場合にはこの描画処理動作は終了する。
【０４６９】
また、データがある場合には、辺テーブルの１アドレスの左辺から、Ｘ始点、Ｙ始点、Ｉ始点、マッピングパターンメモリアドレスのＸ始点、マッピングパターンメモリのＹ始点とＸ終点、Ｙ終点、Ｉ終点、マッピングパターンメモリアドレスのＸ終点、マッピングパターンメモリのＹ終点並びにこの方向ベクトルを読み出す（ステップＳ６５ｂ）。
【０４７０】
そして、第３のパラメータ演算のサブルーチン処理（ＶＰＡＲＡ２）（ステップＳ６６ｂ）、左辺のＤＤＡ演算のサブルーチン処理（ＬＶＤＤＡ）（ステップＳ６７ｂ）、右辺のＤＤＡ演算のサブルーチン処理（ＲＶＤＤＡ）（ステップＳ６８ｂ）、スキャンラインと平行な水平方向のＤＤＡ演算のサブルーチン処理（ＨＤＤＡ）（ステップＳ６９ｂ）の演算が行われる。これらサブルーチン処理のうちステップＳ６７から６９の処理は前述の図１００ないし図１０５に示した処理と同じ処理が行われるので、ここでは第３のパラメータ演算のサブルーチン処理（ＶＰＡＲＡ２）につき図１０７に従い説明する。
【０４７１】
左辺に対してＹ軸を基軸とするＸの傾きを求めこの傾きをＤＤＸＬとし、マッピングパターンメモリアドレスのＸの傾きを求めこの傾きをＤＤＭＸＬとし、マッピングパターンメモリアドレスのＹの傾きを求めこの傾きをＤＤＭＹＬとし、輝度値Ｉの傾きを求めこの傾きをＤＤＩＬとするとともに、方向ベクトル（ＤＩＲＬ）をアンチエイリアシングを行う方向コード（ＬＦＬＡＧ）に変換する（ステップＳ２７２ｂ）。
【０４７２】
その後、左辺のＸ始点をＸＬ、ＭＸ始点をＭＸＬとし、また、Ｙ始点をＹＬ、ＭＹ始点をＭＹＬ、Ｉ始点をＩＬとすると共に、Ｘ終点をＸＲＬ、ＭＸ終点をＭＸＲＬ、Ｙ終点をＹＲＬ、ＭＹ終点をＭＹＲＬ、Ｉ終点をＩＬＥとして（ステップＳ２７３ｂ）、このサブルーチンが終了する。
【０４７３】
この第３のパラメータ演算のサブルーチンが終了すると（ステップＳ６６ｂ）、続いて、ＬＶＤＤＡサブルーチン（ステップＳ６７ｂ）、ＲＶＤＤＡサブルーチン（ステップＳ６８ｂ）、ＨＤＤＡサブルーチン（ステップＳ６９ｂ）の各ＤＤＡ演算サブルーチン処理が行われる。そして、ＹがＹｅより小さいか否か判断され（ステップＳ７０）、ＹがＹｅより小さい場合には、ステップＳ６７ｂに戻り、ＬＶＤＤＡ、ＲＶＤＤＡ、ＨＤＤＡのＤＤＡ演算サブルーチン処理が行われる。ＹがＹｅ以上になるとこの描画処理動作が終了する。
【０４７４】
上記のように、描画処理装置３ｂにより処理されたデータはフレームメモリ５ｂに格納される。
【０４７５】
フレームメモリ５ｂに格納されたデータは、表示処理装置６ｂに与えられ、表示処理装置６ｂからＣＲＴ７へデータを転送する。この表示処理装置６ｂは、参考例における表示処理装置と同様に構成されている。表示処理装置６ｂは、ＣＲＴ７の表示クロックに同期し、ＣＲＴ７の表示するドットをフレームメモリ５ｂより読み出し、そのデータがポリゴンエッジであれば、その方向の１ドット隣のデータもフレームメモリ５ｂから読み出し、ドット面積により加重平均を行いそのドットの色を合成し、ＣＲＴ７に表示する。
【０４７６】
上述した参考例２においても、陰面処理については説明していないが、陰面処理としては、Ｚソート法、Ｚバッファ法を用いることができる。例えば、Ｚバッファ法を用いる場合には、第１の実施の形態と同様にして、Ｚバッファメモリを設け、描画処理装置３ｂにてＺ値を求め、フレームメモリ５ｂには、陰面処理されたデータのみ書き込むように構成すればよい。
【０４７７】
【発明の効果】
以上説明したように、この発明によれば、ポリゴン辺にアンチエイリアシングを施すことによって、極端なメモリの増大と描画スピードの低下を招かずにアンチエイリアシングを行うことができる。
【０４７８】
【図面の簡単な説明】
【図１】この発明の第１の実施の形態が適用される画像生成装置の構成を示すブロック図である。
【図２】この発明の第１の実施の形態に用いられるフレームメモリの構成を示す図である。
【図３】この発明の第１の実施の形態における描画処理装置の構成例を示すブロック図である。
【図４】この発明の第１の実施の形態における描画処理装置のポリゴン摘出装置の構成を示すブロック図である。
【図５】ポリゴンの辺ベクトルと方向ベクトルの関係を示す図である。
【図６】ポリゴンの方向ベクトルと辺との関係を示す図である。
【図７】ポリゴンの例を示す図である。
【図８】図７に示すポリゴン辺の対を変更した状態を示す図である。
【図９】方向ベクトルの変更結果と辺との関係を示す図である。
【図１０】この発明の第１の実施の形態における描画処理装置の辺テーブルを示す図である。
【図１１】この発明の第１の実施の形態における描画処理装置のパラメータ演算装置の構成を示すブロック図である。
【図１２】この発明の第１の実施の形態における描画処理装置のＤＤＡ処理装置の構成を示すブロック図である。
【図１３】この発明の第１の実施の形態における描画処理装置のＤＤＡ処理装置の構成を示すブロック図である。
【図１４】この発明の第１の実施の形態における描画処理装置のＤＤＡ処理装置の構成を示すブロック図である。
【図１５】この発明の第１の実施の形態における描画処理装置の水平テーブルを示す図である。
【図１６】この発明の第１の実施の形態における描画処理装置のドットエリア処理装置の構成を示すブロック図である。
【図１７】この発明の第１の実施の形態におけるポリゴン辺の傾きの量子化の態様を示す模式図である。
【図１８】この発明の第１の実施の形態におけるポリゴン辺の傾きの量子化の態様を示す模式図である。
【図１９】この発明の第１の実施の形態におけるポリゴンのＸ、Ｙ値の小数部と量子化との関係を示す図である。
【図２０】この発明の第１の実施の形態におけるポリゴン辺の傾きとアンチエイリアシングするドットの位置との関係を示す図である。
【図２１】この発明の第１の実施の形態におけるＸ軸、Ｙ軸との交点符号値と角度の符号値との関係を示す模式図である。
【図２２】この発明の第１の実施の形態におけるＸ軸、Ｙ軸との交点符号値と角度の符号値とドット面積の関係を示す図である。
【図２３】この発明の第１の実施の形態におけるＸ軸、Ｙ軸との交点符号値と角度の符号値とドット面積の関係を示す図である。
【図２４】この発明の第１の実施の形態におけるポリゴン辺の各方向における交点符号の例を示す模式図である。
【図２５】この発明の第１の実施の形態におけるポリゴン辺の各方向における交点符号の例を示す模式図である。
【図２６】この発明の第１の実施の形態における描画処理装置のフレームメモリＺバッファ処理装置の構成を示すブロック図である。
【図２７】この発明の第１の実施の形態における描画処理装置の動作を説明するフローチャートである。
【図２８】この発明の第１の実施の形態における描画処理装置の動作を説明するフローチャートである。
【図２９】この発明の第１の実施の形態における描画処理装置のパラメータ演算のサブルーチン処理（ＶＰＡＲＡ）の動作を説明するフローチャートである。
【図３０】この発明の第１の実施の形態における描画処理装置の左辺のＤＤＡ演算のサブルーチン処理（ＬＶＤＤＡ）の動作を説明するフローチャートである。
【図３１】この発明の第１の実施の形態における描画処理装置の右辺のＤＤＡ演算のサブルーチン処理（ＲＶＤＤＡ）の動作を説明するフローチャートである。
【図３２】この発明の第１の実施の形態における描画処理装置のスキャンラインと平行な水平方向のＤＤＡ演算のサブルーチン処理（ＨＶＤＤＡ）の動作を説明するフローチャートである。
【図３３】この発明の第１の実施の形態における描画処理装置の第２のパラメータ演算のサブルーチン処理（ＶＰＡＲＡ）の動作を説明するフローチャートである。
【図３４】この発明の第１の実施の形態における描画処理装置の第３のパラメータ演算のサブルーチン処理（ＶＰＡＲＡ）の動作を説明するフローチャートである。
【図３５】この発明の第１の実施の形態におけるフレームメモリの分割方法を示す模式図である。
【図３６】この発明の第１の実施の形態における表示処理装置を示すブロック図である。
【図３７】この発明の第１の実施の形態における表示処理装置の色演算装置の構成を示すブロック図である。
【図３８】この発明の第１の実施の形態におけるポリゴンとポリゴン辺対との関係を示す図である。
【図３９】方向ベクトルとアンチエイリアシングを行う方向との関係を示す図であり、（ａ）は方向ベクトル、（ｂ）アンチエイリアシングを行う方向を示す。
【図４０】方向ベクトルとアンチエイリアシングの方向コード（ＦＬＡＧ）との関係を示す図である。
【図４１】方向ベクトルが”０”の場合における描画例を示す模式図である。
【図４２】方向ベクトルが”１”の場合における描画例を示す模式図である。
【図４３】方向ベクトルが”２”の場合における描画例を示す模式図である。
【図４４】方向ベクトルが”３”の場合における描画例を示す模式図である。
【図４５】方向ベクトルが”４”の場合における描画例を示す模式図である。
【図４６】方向ベクトルが”５”の場合における描画例を示す模式図である。
【図４７】方向ベクトルが”６”の場合における描画例を示す模式図である。
【図４８】方向ベクトルが”７”の場合における描画例を示す模式図である。
【図４９】Ｚバッファ法により陰面処理を行った例を示す模式図である。
【図５０】Ｚバッファ法により陰面処理を行った例を示す模式図である。
【図５１】この発明の第１の実施の形態に基づいてアンチエイリアシングした例を示す模式図である。
【図５２】この発明の第１の実施の形態に基づいてアンチエイリアシングした例を示す模式図である。
【図５３】この発明の第１の実施の形態における処理例を示す模式図である。
【図５４】この発明の第１の実施の形態における処理例を示す模式図である。
【図５５】この発明の参考例が適用される画像生成装置の構成を示すブロック図である。
【図５６】この発明の参考例における描画処理装置の構成例を示すブロック図である。
【図５７】この発明の参考例における描画処理装置のポリゴン摘出装置の構成を示すブロック図である。
【図５８】この発明の参考例における描画処理装置の辺テーブルを示す図である。
【図５９】この発明の参考例における描画処理装置のパラメータ演算装置の構成を示すブロック図である。
【図６０】この発明の参考例における描画処理装置のＤＤＡ処理装置の構成を示すブロック図である。
【図６１】この発明の参考例における描画処理装置のＤＤＡ処理装置の構成を示すブロック図である。
【図６２】この発明の参考例における描画処理装置のＤＤＡ処理装置の構成を示すブロック図である。
【図６３】この発明の参考例における描画処理装置のＤＤＡ処理装置の構成を示すブロック図である。
【図６４】この発明の参考例における描画処理装置のアンチエイリアシング処理装置の構成を示すブロック図である。
【図６５】ドットカウント値と方向ベクトルの関係を示す模式図である。
【図６６】この発明の参考例における描画処理装置の水平テーブルの構成を示す模式図である。
【図６７】この発明の参考例における描画処理装置のフレームメモリ制御装置の構成を示すブロック図である。
【図６８】この発明の参考例における描画処理装置の動作を説明するフローチャートである。
【図６９】この発明の参考例における描画処理装置の動作を説明するフローチャートである。
【図７０】この発明の参考例における描画処理装置のパラメータ演算のサブルーチン処理（ＶＰＡＲＡ）の動作を説明するフローチャートである。
【図７１】この発明の参考例における描画処理装置の左辺のＤＤＡ演算のサブルーチン処理（ＬＶＤＤＡ）の動作を説明するフローチャートである。
【図７２】この発明の参考例における描画処理装置の右辺のＤＤＡ演算のサブルーチン処理（ＲＶＤＤＡ）の動作を説明するフローチャートである。
【図７３】この発明の参考例における描画処理装置のスキャンラインと平行な水平方向のＤＤＡ演算のサブルーチン処理（ＨＶＤＤＡ）の動作を説明するフローチャートである。
【図７４】この発明の参考例における描画処理装置のスキャンラインと平行な水平方向のＤＤＡ演算のサブルーチン処理（ＨＶＤＤＡ）の動作を説明するフローチャートである。
【図７５】この発明の参考例における描画処理装置の第２のパラメータ演算のサブルーチン処理（ＶＰＡＲＡ）の動作を説明するフローチャートである。
【図７６】この発明の参考例における描画処理装置の第３のパラメータ演算のサブルーチン処理（ＶＰＡＲＡ）の動作を説明するフローチャートである。
【図７７】この発明の参考例における表示処理装置を示すブロック図である。
【図７８】この発明の参考例における表示処理装置の色演算装置の構成を示すブロック図である。
【図７９】この発明の参考例における処理例を示す模式図である。
【図８０】この発明の参考例における処理例を示す模式図である。
【図８１】ポリゴンの表示例を示す模式図である。
【図８２】この発明の参考例２が適用される画像生成装置の構成を示すブロック図である。
【図８３】この発明の参考例２における描画処理装置の構成例を示すブロック図である。
【図８４】この発明の参考例２における描画処理装置のポリゴン摘出装置の構成を示すブロック図である。
【図８５】この発明の参考例２における描画処理装置の辺テーブルを示す図である。
【図８６】この発明の参考例２における描画処理装置のパラメータ演算装置の構成を示すブロック図である。
【図８７】この発明の参考例２における描画処理装置のＤＤＡ処理装置の構成を示すブロック図である。
【図８８】この発明の参考例２における描画処理装置のＤＤＡ処理装置の構成を示すブロック図である。
【図８９】この発明の参考例２における描画処理装置のＤＤＡ処理装置の構成を示すブロック図である。
【図９０】この発明の参考例２における描画処理装置のＤＤＡ処理装置の構成を示すブロック図である。
【図９１】この発明の参考例２における描画処理装置のＤＤＡ処理装置の構成を示すブロック図である。
【図９２】この発明の参考例２における描画処理装置のアンチエイリアシング処理装置の構成を示すブロック図である。
【図９３】この発明の参考例２における描画処理装置のＲＧＢ補正装置の構成を示すブロック図である。
【図９４】この発明の参考例２における描画処理装置のフレームメモリ制御装置の構成を示すブロック図である。
【図９５】ドットカウント値と方向ベクトルの関係を示す模式図である。
【図９６】この発明の参考例２における描画処理装置の水平テーブルの構成を示す模式図である。
【図９７】この発明の参考例２における描画処理装置の動作を説明するフローチャートである。
【図９８】この発明の参考例２における描画処理装置の動作を説明するフローチャートである。
【図９９】この発明の参考例２における描画処理装置のパラメータ演算のサブルーチン処理（ＶＰＡＲＡ）の動作を説明するフローチャートである。
【図１００】この発明の参考例２における描画処理装置の左辺のＤＤＡ演算のサブルーチン処理（ＬＶＤＤＡ）の動作を説明するフローチャートである。
【図１０１】この発明の参考例２における描画処理装置の右辺のＤＤＡ演算のサブルーチン処理（ＲＶＤＤＡ）の動作を説明するフローチャートである。
【図１０２】この発明の参考例２における描画処理装置のスキャンラインと平行な水平方向のＤＤＡ演算のサブルーチン処理（ＨＶＤＤＡ）の動作を説明するフローチャートである。
【図１０３】この発明の参考例２における描画処理装置のスキャンラインと平行な水平方向のＤＤＡ演算のサブルーチン処理（ＨＶＤＤＡ）の動作を説明するフローチャートである。
【図１０４】この発明の参考例２における描画処理装置のスキャンラインと平行な水平方向のＤＤＡ演算のサブルーチン処理（ＨＶＤＤＡ）の動作を説明するフローチャートである。
【図１０５】この発明の参考例２における描画処理装置のＲＧＢ補正演算のサブルーチン処理の動作を説明するフローチャートである。
【図１０６】この発明の参考例２における描画処理装置の第３のパラメータ演算のサブルーチン処理（ＶＰＡＲＡ）の動作を説明するフローチャートである。
【図１０７】この発明の参考例２における描画処理装置の第３のパラメータ演算のサブルーチン処理（ＶＰＡＲＡ）の動作を説明するフローチャートである。
【符号の説明】
１  メモリ
２  座標変換処理装置
３  描画処理装置
４  Ｚバッファメモリ
５  フレームメモリ
６  表示処理装置
７  表示装置（ＣＲＴ）
１０  マッピングパターンメモリ
【図１】
0003609189.tif 000002
【図２】
0003609189.tif 000003
【図３】
0003609189.tif 000004
【図４】
0003609189.tif 000005
【図５】
0003609189.tif 000006
【図６】
0003609189.tif 000007
【図７】
0003609189.tif 000008
【図８】
0003609189.tif 000009
【図９】
0003609189.tif 000010
【図１０】
0003609189.tif 000011
【図１１】
0003609189.tif 000012
【図１２】
0003609189.tif 000013
【図１３】
0003609189.tif 000014
【図１４】
0003609189.tif 000015
【図１５】
0003609189.tif 000016
【図１６】
0003609189.tif 000017
【図１７】
0003609189.tif 000018
【図１８】
0003609189.tif 000019
【図１９】
0003609189.tif 000020
【図２０】
0003609189.tif 000021
【図２１】
0003609189.tif 000022
【図２２】
0003609189.tif 000023
【図２３】
0003609189.tif 000024
【図２４】
0003609189.tif 000025
【図２５】
0003609189.tif 000026
【図２６】
0003609189.tif 000027
【図２７】
0003609189.tif 000028
【図２８】
0003609189.tif 000029
【図２９】
0003609189.tif 000030
【図３０】
0003609189.tif 000031
【図３１】
0003609189.tif 000032
【図３２】
0003609189.tif 000033
【図３３】
0003609189.tif 000034
【図３４】
0003609189.tif 000035
【図３５】
0003609189.tif 000036
【図３６】
0003609189.tif 000037
【図３７】
0003609189.tif 000038
【図３８】
0003609189.tif 000039
【図３９】
0003609189.tif 000040
【図４０】
0003609189.tif 000041
【図４１】
0003609189.tif 000042
【図４２】
0003609189.tif 000043
【図４３】
0003609189.tif 000044
【図４４】
0003609189.tif 000045
【図４５】
0003609189.tif 000046
【図４６】
0003609189.tif 000047
【図４７】
0003609189.tif 000048
【図４８】
0003609189.tif 000049
【図４９】
0003609189.tif 000050
【図５０】
0003609189.tif 000051
【図５１】
0003609189.tif 000052
【図５２】
0003609189.tif 000053
【図５３】
0003609189.tif 000054
【図５４】
0003609189.tif 000055
【図５５】
0003609189.tif 000056
【図５６】
0003609189.tif 000057
【図５７】
0003609189.tif 000058
【図５８】
0003609189.tif 000059
【図５９】
0003609189.tif 000060
【図６０】
0003609189.tif 000061
【図６１】
0003609189.tif 000062
【図６２】
0003609189.tif 000063
【図６３】
0003609189.tif 000064
【図６４】
0003609189.tif 000065
【図６５】
0003609189.tif 000066
【図６６】
0003609189.tif 000067
【図６７】
0003609189.tif 000068
【図６８】
0003609189.tif 000069
【図６９】
0003609189.tif 000070
【図７０】
0003609189.tif 000071
【図７１】
0003609189.tif 000072
【図７２】
0003609189.tif 000073
【図７３】
0003609189.tif 000074
【図７４】
0003609189.tif 000075
【図７５】
0003609189.tif 000076
【図７６】
0003609189.tif 000077
【図７７】
0003609189.tif 000078
【図７８】
0003609189.tif 000079
【図７９】
0003609189.tif 000080
【図８０】
0003609189.tif 000081
【図８１】
0003609189.tif 000082
【図８２】
0003609189.tif 000083
【図８３】
0003609189.tif 000084
【図８４】
0003609189.tif 000085
【図８５】
0003609189.tif 000086
【図８６】
0003609189.tif 000087
【図８７】
0003609189.tif 000088
【図８８】
0003609189.tif 000089
【図８９】
0003609189.tif 000090
【図９０】
0003609189.tif 000091
【図９１】
0003609189.tif 000092
【図９２】
0003609189.tif 000093
【図９３】
0003609189.tif 000094
【図９４】
0003609189.tif 000095
【図９５】
0003609189.tif 000096
【図９６】
0003609189.tif 000097
【図９７】
0003609189.tif 000098
【図９８】
0003609189.tif 000099
【図９９】
0003609189.tif 000100
【図１００】
0003609189.tif 000101
【図１０１】
0003609189.tif 000102
【図１０２】
0003609189.tif 000103
【図１０３】
0003609189.tif 000104
【図１０４】
0003609189.tif 000105
【図１０５】
0003609189.tif 000106
【図１０６】
0003609189.tif 000107
【図１０７】
0003609189.tif 000108