(57)【特許請求の範囲】
【請求項１】
（ａ）少なくとも３つの頂点を有し、各異なった頂点対が異なったエッジを形成する少なくとも１個の表示すべきポリゴン面の各頂点の１組のディスプレイ空間座標(Ｉ,Ｊ)を示す入力データ信号を最初に受信する工程と、
（ｂ）前記ポリゴン面の各エッジが、ディスプレイを構成する画素アレイの各画素の境界を成す複数個のエッジ線分のうちの連携する１個と交差するならば、その交差位置を示すデータ信号を、前記受信した頂点データ信号に応答して生成する工程と、
（ｃ）その画素に影響を及ぼす全てのポリゴン面の前記エッジ線分との交差を示すデータ信号を、その画素の任意の部分を占める前記ポリゴン面の各々の色データと共に、画素単位で、記憶する工程と、
（ｄ）表示すべき各画素毎に、選択された複数個の隣接する画素の群の複数個の異なったエッジ線分の記憶データを処理して、各表示可能画素の各コーナー毎に色強度データ信号を得る工程と、
（ｅ）現在処理されている画素の全てのコーナーの色強度データ信号をミキシングし、そのディスプレイ画素の観察可能色を決定する工程とを含んで成ることを特徴とするコンピュータ画像生成装置の映像データ信号出力に応答して表示すべき画素アレイの各画素の視認可能色を決定するための方法。
【請求項２】
工程（ｂ）が、サンプル点として前記画素の１組の４個のコーナーの選択されたコーナーを利用する工程と、前記画素の前記４個のコーナーの指定されたコーナーから同一の画素の他のコーナーに延在するエッジ線分について交差位置を示すデータを決定する工程とを含む請求項１記載の方法。
【請求項３】
工程（ｃ）が、各画素毎に透明と不透明との間の半透明性値Ｔを決定する工程と、透明性を示すＴ値を有する画素に関し如何なるサンプルコーナー点のデータも記憶しない工程と、前記半透明性値Ｔの増加に応答して、データに記憶されるサンプルコーナー点の数を増加させる工程とを更に含む請求項２記載の方法。
【請求項４】
その画素が完全な不透明性の半透明性値Ｔを有する場合にのみ画素の４個のコーナー全てについてデータを記憶する工程を含む請求項３記載の方法。
【請求項５】
Ｔ値の最大値未満の複数個のＴ値の範囲の各範囲毎に、データに記憶されるべき画素のコーナーの複数個の相補的パターンを提供する工程と、いずれかのポリゴン面に関する前記複数個の相補的パターンのうちの異なった１個のパターンを選択する工程とを更に含む請求項３記載の方法。
【請求項６】
予め選択された範囲内のＴ値を有し、かつ特定のディスプレイ画素と連携する各ポリゴン面毎に一対のパターンのうちの１個のパターンをランダムに選択する工程を更に含む請求項５記載の方法。
【請求項７】
工程（ｄ）が、画素群の画素を、画素のコーナーの対を結ぶ少なくとも１個のエッジ線分に隣接するべく選択する工程を含む請求項１記載の方法。
【請求項８】
処理されている前記画素に隣接する４個の他の画素を包含するように前記画素群を配置する工程を含む請求項７記載の方法。
【請求項９】
前記画素群の前記４個の他の画素を、処理されている前記画素の直ぐ上、下、前、および後にそれぞれ配置するように選択する工程を更に含む請求項８記載の方法。
【請求項１０】
複数個のポリゴン面が、処理されている前記画素の色を与え、その画素のコーナーの任意のアクティブな一つのコーナーを被覆する全てのポリゴン面からの色度データをブレンドすることにより、処理されている前記画素の色を得る工程を更に含む請求項１記載の方法。
【請求項１１】
色度のブレンディングに先立って、特定のポリゴン面の半透明性に応答して各被覆ポリゴン面からの前記色度データを修正する工程を更に含む請求項１０記載の方法。
【請求項１２】
１個のディスプレイ画素の面積より小さい面積を有する全てのポリゴン面をデジタル的にフィルタリングする工程を更に含む請求項１１記載の方法。
【請求項１３】
工程（ｂ）が、各画素毎に透明と不透明との間の半透明性値Ｔを決定する工程と、その半透明性値Ｔの変動に応答して、データに記憶されるサンプルコーナー点の数を変化させる工程とを更に含む請求項１記載の方法。
【請求項１４】
前記画素の連携コーナーに連携した前記ポリゴン面の前記半透明性値の増加に応じて、前記連携するエッジ線分の交差を前記画素のそのコーナーから遠ざけるように前記エッジ線分の交差を示す前記データ信号の大きさを増加させる工程を更に含む請求項１３記載の方法。
【請求項１５】
もし、選択された方向における前記画素の前記コーナーからエッジ交差点までの距離がサンプル点間距離より大きければ、前記エッジの交差を示す前記データ信号の値を予め定めた最大値にクランプする工程を更に含む請求項１４記載の方法。
【請求項１６】
ディスプレイ空間がディスプレイのラスタであり、前記画素の前記コーナーの選択されたコーナーに関して第一のラスタ方向における前記画素の前記コーナーからエッジ交差点までの距離を修正する工程と、前記画素の前記コーナーの全ての残りのコーナーに関して前記第一のラスター方向に垂直な第二の方向における前記画素の前記コーナーからエッジ交差点までの距離を修正する工程とを含む請求項１５記載の方法。
【請求項１７】
表示すべき多数のポリゴン面のそれぞれの少なくとも３個の各頂点の１組のディスプレイ空間座標(Ｉ,Ｊ)を示す入力データ信号を受信して、（ａ）前記受信された頂点データ信号の各異なった頂点対により定められるポリゴン面のエッジによって交差される逐次連続する可視ディスプレイ画素の各画素のエッジ線分、及び（ｂ）前記画素の連携する前記エッジ線分に沿う前記交差の位置を決定するエッジ交点計算機手段と、
各画素に影響を及ぼす全てのポリゴン面の前記エッジ線分との交差を示すデータ信号を、その画素の任意の部分を占める前記ポリゴン面のそれぞれの色データと共に、画素単位で、記憶するためのフレームバッファ手段と、
表示すべき各画素毎に、複数個の隣接する画素の群の複数個のエッジ線分のデータ信号を前記フレームバッファ手段から受信して、エッジを解像し、かつ前記ポリゴン面の色強度データをミキシングして、コンピュータ画像生成装置(ＣＩＧ)の映像データ出力を受信するディスプレイ手段により表示すべき各画素について観察可能色データ信号を決定するポストプロセッサ手段とを含んで成ることを特徴とするコンピュータ画像生成装置(ＣＩＧ)におけるディスプレイ・プロセッサのための色強度サブアセンブリ。
【請求項１８】
前記ポストプロセッサ手段が更に、現在の画素の全体の色を与える各ポリゴン面の半透明性値Ｔを示すデータ信号を受信し、前記受信したＴ値に応答してその色情報信号をブレンドする請求項１７記載のサブアセンブリ。
【請求項１９】
前記画素の群が、現在処理されている各画素に隣接する４個の追加の画素を包含する請求項１７記載のサブアセンブリ。
【請求項２０】
前記ポストプロセッサ手段が、ディスプレイのラスターの複数本のエッジラインに沿うコーナーのデータ信号を同時に提供するコーナーデータレジスタ手段と、各エッジラインの前記データ信号を受信して前記複数本のエッジラインのそれぞれに沿う複数個のコーナーのデータ信号を同時に提供する保持レジスタ手段と、前記保持レジスタ手段に接続され前記保持レジスタ手段から前記複数個のコーナーの前記データ信号を受信して前記画素群の画素の複数個のエッジ線分のそれぞれに沿う交差長を決定する線分計算器手段とを含む請求項１９記載のサブアセンブリ。
【発明の詳細な説明】
発明の分野
本発明はコンピュータ画像生成(CIG)システムに関し、より詳細にはディスプレイプロセッサにおいて使用するための新規な色決定手段に、そしてまたリアルタイム・イメージングシステムにおいてオブジェクト面(object face)について二次元表示をディスプレイするためのそれらオブジェクトを描く画像データを処理するための新規な方法に関する。
発明の背景
リアルタイム・コンピュータ画像システムは様々なシミュレータシステム、たとえば戦車シミュレータおよびフライトシミュレータ用にリアルな画像再生を提供するためにデザインされる。この種のシミュレータは戦闘員に対し、戦場に出掛ける必要無しに、現実的な戦闘システムを用いることにより実践をもたらすトレーニング装置として使用される。これらのシミュレータはユーザー、たとえばパイロットまたは戦車の射撃手に対し、本物のトレーニングに関する費用を伴わずに彼の技能を維持かつ向上させ得るものである。従って、トレーニングおよび実践目的に関し有益であるビデオ表示リアリズムをユーザーに提供することは非常に有利である。
代表的なリアルタイムコンピュータ画像生成システム、たとえばフライトシミュレータシステムにおいて、画像生成は３種類の別の処理段階、すなわちコントローラ、ジオメトリー・プロセッサおよびディスプレイ・プロセッサに分割することが出来る。これら３種類の処理段階またはセクションは表示すべきこれらの連続したシーンの一つを表す、あるいは連続したシーンの一つに対応するデータに対し全て独立的に作用する。コントローラはシーンまたは画像のデータを一定時間であって、16.67ミリ秒のフィールドタイムあるいは33.3ミリ秒のフレームタイムであってよく、通常は前者である一定時間に亘りデータを処理し、次いで、その処理したデータをジオメトリー・プロセッサに送る。この特有のフィールドおよびフレームタイムは典型的なテレビジョンフォーマット・ディスプレイ、すなわち30フレーム／秒によるフレーム当たり２種類のインターレースされたフィールドのための、その時間に相当する。ジオメトリー・プロセッサはその計算を行うのと等しい時間を保持し、そしてその時間の終わりにはその結果をディスプレイ・プロセッサに送る。そのディスプレイ・プロセッサはワン・フィールドタイムにおいてビデオディスプレイのために１種類のインターレースフィールドを常に処理する。各時間間隔の間、これら全てのプロセッサはビジー状態の侭なので、あらゆる任意時間においてこれらプロセッサはこれら別個のシーンに関して作業する。各セクションは入力を処理し、そしてそのインターバルの間に出力を生成するので、データはこれら３段階を経由して逐次的に流れる。コンピュータ的負荷は専門化されたプロセッサセクションの中に展開されるので、たとえそれらの結果が遅延した３種類のフィールドまたはフレームであっても、これが各フィールドまたはフレームタイムに新しいシーンを表示させる。
たとえば、フライトシミュレータシステムにおいて、パイロットの入力はコントローラにより受信され、そしてコントローラ、ジオメトリー・プロセッサおよびディスプレイ・プロセッサによって逐次的に処理された後、その出力は色シーンとしてシミュレータにおけるパイロットにより観察されるビデオディスプレイに対し送られる。パイロットにより認識されたそのデータは環境デフィニション(environment definition)に対して適用される単純な制御入力として出発し、そしてピクセルビデオディスプレイ情報に変換される。コントローラにおいて、パイロットの入力は航空機の新しい位置および方位を計算するために使用され、そしてこれから、数学的回転マトリクスが計算され、これは基準座標系からオブジェクトを回転させるために利用されて、座標系を表示する。航空機を処理するあらゆる他の情報、ターゲットの位置および他の航空機に関する情報もまたコントローラ内で計算される。或る用途において、コントローラは汎用コンピュータである。
ジオメトリー・プロセッサ（幾何プロセッサ）はデータベース、オブジェクトの記述であって、シーンについて記憶された三次元デジタル表示において潜在的に可視であるものから読出す。読出されたオブジェクトは、コントローラ内で計算された回転マトリクスを用いて、ディスプレイ座標内で回転される。これら三次元オブジェクトのエッジは、それらがビューウインドウの境界を超えて延在すれば、ジオメトリー・プロセッサによってクリップされる。ジオメトリー・プロセッサは三次元データを二次元ディスプレイウィンドウ上に投影する。ディスプレイウィンドウ境界を超えて延在するオブジェクト面は二次元イメージ空間内でクリップされる。更に、ジオメトリー・プロセッサは(デプス・バッファ［depth-buffer］等を利用することによって)どのオブジェクトが他のオブジェクトの前方または後方に存在するかを計算し、そしてこの情報をプライオリティリスト中に格納する。処理された各オブジェクトは個々の面により構成され、ここにおいて各面は真っ直ぐなエッジにより境界されたポリゴン（多角形）状である。プライオリティリストは、リスト中の第一面が最高のプライオリティ面として、またリスト中の最終面が最低のプライオリティ面としてシーン内の全ての面の順序を収録している。ディスプレイ上で２個の面がオーバーラップするときは何時でも、より高いプライオリティ面が可視となり、そしてより低いプライオリティ面は不鮮明となる。最後に、このジオメトリー・プロセッサは二次元面を境界するエッジのためにディスプレイエンド点を計算し、そしてまたこれらの境界エッジを記述するライン等式係数(coefficients of the line equations)を計算する。
ディスプレイ・プロセッサは、面色、面フェーディング情報、面プライオリティリスト、セルテクスチャリング(cell texturing)、レベル・オブ・ディーテル・ブレンディング(level-of-detail blending)、半透明性、曲率シェーディング等と共に二次元面記述を受信し、そしてこの情報を使用してカラーディスプレイに描くデータをシーン中の各画素に出力する。システム内の各カラーディスプレイは1024ラインのビデオ情報から典型的に構成され、各ラインは1024の個々の色ドットまたは画素を有している。しかしながら、ライン当たり、他のラインおよび画素の組合わせも間違いなく可能である。ディスプレイ・プロセッサは各画素に関して、どれだけの画素の色を付与すべきか、画素中に数多くの面を存在させ得るか、そして面の或る部分を他の面により被覆してもよいかを解決せねばならない。ディスプレイ内には1024ｘ1024ピクセル存在し得るし、そしてこれら全てを１秒の1/60で計算する必要があるので、ディスプレイ・プロセッサにおける処理負荷は非常に高い。マルチ・ディスプレイシステム（単一のシステムは14台ものディスプレイを包含している）について映像を計算するために、ディスプレイ・プロセッサは秒当たり100億回を超える演算を行わねばならない。途方もなく大きな処理負荷に起因して、ディスプレイ・プロセッサは僅かに２、３台のディスプレイを駆動し得るに過ぎない。或るシステムにおいては、単一のコントローラおよびジオメトリー・プロセッサを使用して、各ディスプレイ・プロセッサに接続された数台のディスプレイを備える数台のディスプレイ・プロセッサを駆動することが出来る。従って、このディスプレイ・プロセッサはリアルタイムコンピュータ画像生成システムにおいて処理の主流を表しており、そしてこの理由故に、CIGシステムの性能およびリアリズムを改良するための努力の大部分はディスプレイ・プロセッサ領域に集中されている。
一つの持続的な問題は、アンチエイリアシング方法であって、適切な高精細度エッジ効果を可視化させる一方、その画素において不適切な色または半透明性として出現するような、望ましくない映像データ成分（歪み）が所望成分と同一性を呈することを阻止する方法において画素色強度情報を処理することであった。
発明の概要
本発明によれば、リアルタイムコンピュータ画像生成装置におけるディスプレイプロセッサは、エッジ交点計算機手段であって、表示すべき各ポリゴンの少なくとも３個の頂点のそれぞれについてのディスプレイ空間(I，J)座標を特徴づける入力データ信号を受信して、もしあれば、ディスプレイラスタの各連続画素のどのエッジがポリゴンエッジによってカットされるかを決定し、またその決定されたエッジに沿うカットの位置を測定するものと、各画素に影響を及ぼす全てのポリゴンに関するエッジ交差信号は、その画素のいずれかの部分を占める面のそれぞれについての色データと共にフレームバッファ内にピクセル単位で格納されるものとし、表示すべき各画素に関し、４個の隣接する画素の群(constellation)からなる12個のエッジを特徴づけるデータ信号を受信して、エッジ関係を解像し、かつポリゴン色強度データをミキシングして、CIGの映像データ出力を受信するディスプレイ手段により表示すべき各画素について最終の観察可能色を決定するポストプロセッサ手段とを包含する。
リアルタイムコンピュータ画像生成装置の映像データ出力を受信するディスプレイ手段によって表示すべき各画素の最終可視色を決定するための方法は、表示すべき各ポリゴン面の少なくとも３個の頂点のそれぞれについてのディスプレイ空間(I，J)座標を特徴づける入力データ信号を最初に受信する工程と、次いで、その頂点データを利用して、もしあれば、どのポリゴンエッジがディスプレイラスターを形成する画素のシーケンスの１個をカットするかを決定する工程と、更に関連するピクセルエッジに沿ってそのカットの場所を決定する工程とを含んで構成される。各画素に影響を及ぼす全てのポリゴンに関するエッジ交差データ信号は、その画素のいずれかの部分を占める各ポリゴンに関する色データと共にフレームバッファ内にピクセル単位で格納され、そして表示すべき各画素に関して選択された隣接の画素の数個（たとえば12個）の群が、エッジ関係を解像し、かつポリゴン色強度データをミキシングして各ディスプレイ画素について最終の観察可能色を決定するために処理される。
従って、本発明の目的はコンピュータ画像システムディスプレイにおいて各画素の色強度を決定するための新規な装置および方法を提供することである。
本発明のこの目的および他の目的は関連する図面を参照して考慮すれば、現在好ましい実施態様についての以下の詳細な説明を読取ることによって明らかとなるであろう。
【図面の簡単な説明】
図１は本発明の装置および方法を実施し得るコンピュータ画像生成(CIG)システムを示す概略ブロック図であり、
図２はオブジェクト空間におけるオブジェクトポリゴン面と、イメージ空間における対応する映像ポリゴン面との関係ならびにそれに対して映像面が出現するディスプレイラスターの画素（ピクセル）を示す空間図であり、
図２ａは表示すべき所望のポリゴンの近傍における図２の映像ディスプレイの拡大部分であり、
図３ａはそれに対して一対のポリゴン面が投影されるディスプレイ画素のアレイを示す図であり、
図３ｂはそれに対しポリゴン面が配置されるディスプレイ画素のアレイを示す図であり、また本発明による画素色データ決定方法のオペレーションに必要な様々なサンプリングコーナーＣ、画素エッジＥおよびエッジ距離Ｄを示す、
図３ｃはその隣接するコーナー、エッジ交差およびエッジ距離を備える線分群における画素のコーナーCoならびに本発明の数種類の特徴を評価するために有用であるものを表す、
図４はCIGディスプレイ・プロセッサにおいて使用するための、本発明の原理による色強度サブアセンブリを示すブロック図であり、
図５ａ、５ｂ、５ｄおよび５ｅは色強度サブアセンブリのオペレーションの方法において利用される各エッジ決定、線分長さ決定、小ポリゴンフィルタリングおよび色ミキシングプロセス部分のための、それぞれのフローチャートであり、
図５ｂ′は作動される各画素の周りの８−画素、12−線分群を例示し、そしてこれら図は方法オペレーションを理解するに際し有用であり、
図５ｂ”は本方法におけるライン長さ決定についての一特徴を例示しており、
図５ｃは３×３ピクセル群における混色を示しており、
図６ａはパターンセレクトビット(Pattern Select bit)についての異なった半透明性レベルおよび異なった２進値に対してサンプリングされたコーナーの相補的セットを例示する一方、図６ｂ−６ｇは様々な異なった半透明性動作および条件を示し、そしてこれらは全て半透明性「ルック−スルー」″look-through″が達成される方法を理解するのに有用であり、
図７は本発明による色強度サブアセンブリのための新規なポスト・プロセッサエッジ−レジスタ／リゾルバ(resolver：解像器)手段の一つのり得る実行を示す概略ブロック図であり、そして
図８ａ−８ｇは単一のポリゴンエッジによりカットされた一対のエッジを有する画素のあり得るセットの全体およびその１個の画素においてオーバーラップする４個のポリゴン間に形成されるエッジによってカットされた全て４個のエッジを有する画素の単一のあり得るケースを示している。
図示実施例の説明
最初に図１を参照にすると、航空機のコックピットのシュミレーションシステムの如きコンピュータ画像発生システム１０の機能的ブロックダイアグラムが示されている。読者は、「Advanced Video Object Generator」としてBunker等に１９８８年２月２３日に付与された米国特許第４，７２７，３６５号および「Depth Buffer Priority Processing For Real Time Computer Image Generating Systems」としてD．Merzに１９８９年４月２５日に付与された米国特許第４，８２５，３９１号の如き開示を含む既存のＣＩＧ技術を言及され、両米国特許はその全体が引用によってここに合体される。
このシステムはコントローラユニット１２、幾何プロセッサユニット１４、およびディスプレイプロセッサユニット１６を含む。ディスプレイプロセッサユニット１６はシーン（scene）上の航空機の動きをシュミレートするためにコックピットディスプレイウィンドウに情報をディスプレイする。パイロット訓練±２０は入力制御インターフェース２２を通してコンピュータ画像発生システム１０に結合させられる。コックピットのパイロットの作戦上の動きは入力制御インターフェース２２に供給される。入力制御インターフェースは航空機の位置、航空機のロール、ピッチ、およびヨーの位置の如き適当な飛行データをパイロット色コントローラ１２に変換する。
コントローラ１２において、パイロットの入力は航空機の新たな位置と方向を計算するために使用され、これから、数学的回転マトリクスが計算されて基準座標システムカラーディスプレイ座標システムへ物体を回転するために使用され、これらは従来より知られている。シーン、目標の位置、あるいは他の航空機を取り扱う情報はコントローラで計算される。あるコンピュータ画像発生システムにおいて、コントローラユニットは汎用のコンピュータである。
コントローラユニット１２は最新の航空機の方向によって定期的に最新化される。この方位は入力コントロールインターフェース２２を経てパイロット色コントローラ１２への航空機のロール、ピッチ、ヨーおよび位置を含む。コントローラ１２はフィールドあるいはフレームのシーン上で動作し、それからデータを幾何プロセッサ１４へ通す。
幾何プロセッサ１４はシーンデータベースメモリ２４から記憶された三次元の地球のデジタル表示において視認できる塔、道路、河川、航空機用シェルタ等の物体の記述を読み出す。物体はシーンデータベースから読み出され、コントローラ１２で計算された回転マトリクスを使用するディスプレイ座標へ回転させられる。幾何プロセッサ１４は物体空間における視覚ウィンドウの境界を越えて伸びるすべてのエッジをカットする。それは数学的に三次元の物体データを二次元のディスプレイウィンドウへ投影する。ディスプレイウィンドウの境界を越えて伸びる物体の面（face）は二次元の画像空間でカットされる。二次元の物体は点、線、閉じた凸状のポリゴン（polygon）あるいはそれらの組み合わせより成り立つ。それぞれの閉じた凸状のポリゴンは面として知られている。従って、処理された各物体は個々の面によって作られ、各面は真直なエッジ（edge）によって境界付けられる。幾何プロセッサ１４で三次元の物体から計算されると、データディスプレイプロセッサ１６へと通される。更に、幾何プロセッサ１４は公知の技法でどの面が他の面の前後にあるかを計算してこの情報を優先リストに記憶する。優先リストは、リストの最初の面が最も優先度の低い面であるといったシーンの全ての面の順序を含んでいる。２つの面がディスプレイ上で重なるときはいつも、優先度の高い面視認でき、低い優先度の面の重なった部分は視認できない。優先リストを計算した後、幾何プロセッサは二次元面を境界付け、境界エッジを記述するライン等式の係数を計算する線分のディスプレイの端点を計算する。幾何プロセッサ１４は境界付けられた面を記述する各エッジの端点と各エッジのスロープを計算する。これらのデータはディスプレイプロセッサ１６へ通される。
図１において、ビデオディスプレイ１８を駆動するために使用されるディスプレイプロセッサ１６が示されている。あるシステムにおいて、１つのコントローラ１２と幾何プロセッサ１４が１つ以上のディスプレイプロセッサを駆動するために使用される。ディスプレイプロセッサ１６は、リアル・タイムコンピュータ発生システムにおいて大部分の処理とハードウェアを表わし、この理由によってハードウェアのサイズと処理時間を減じる大部分の努力がディスプレイプロセッサの部分に集中されてきた。ディスプレイプロセッサはビデオディスプレイ１８にディスプレイされる情報を処理することに責任がある。ディスプレイプロセッサ１６は、多くの面がピクセルで存在し、面のこれらの部分が他の面によって変換されるとき、ビデオディスプレイ１８の各ピクセルを分解してピクセルの色を何にすべきかについて判定する。ピクセル内の各視認面の部分が面の色によって多重化され、これら全ての重みづけされた色の和がピクセル色として出力される。ディスプレイプロセッサ１６は、面の色と面の優先リストとともに幾何プロセッサ１４から二次元の面の記述を受信し、カラービデオディスプレイ１８にシーンを出力するためにこの情報を使用する。システムの各カラーディスプレイは１０２４ライン以上のビデオ情報より作られ、各ラインで典型的に１０２４個の個々の色ドットあるいはピクセル（画素）が存在する。ディスプレイには、百万個以上のピクセルがあるので、これらの全てが１／６０秒で計算されることで必要なのでディスプレイプロセッサの処理上の負荷は非常に高い。各ピクセルにとって、ディスプレイは１２ビットの赤データ信号と、１２ビットの緑データ信号と、１２ビットの青データ信号をピクセルの色を記述する強度情報の一部として受信する。
図２を参照すると、観察者の眼２０’が視点Ｖｐにあり、物体空間３０’の視覚ウインドウ内のサンプル面３０のポリゴンを視ている。視線３２に沿う観察者２０’に最も近い面３０だけが示されている。視覚面は技術分野にとって知られている奥行きバッフア技術を使いながら視点Ｖｐと面点Ｐｆの間の範囲距離Ｒの比較によって決められる。従って、視覚ポリゴン３０（ここでは、頂点Ｖａ，Ｖｂ，およびＶｃによって識別される三角形面）は視線３２に沿って最低範囲Ｒｍｉｎを有するポリゴンである。物体空間３０’は、画像空間３４’のディスプレイウインドウ３４へ投影させられている。ポリゴン面３０は頂点Ｖａ，ＶｂおよびＶｃに相当する頂点Ｖ1,Ｖ2およびＶ3を有するディスプレイポリゴン３６として投影されている。ディスプレイウインドウは、しばしば、ディスプレイのラスタであり、ラスタ／ウインドウの左端（Ｊ＝Ｊ0）から右端（Ｊ＝Ｊｍａｘ）まで水平線（Ｊ方向において）に沿って逐次的様式で走査されるピクセル３８を有し、ラスタ／ウインドウの上端（Ｉ＝Ｉ0）から下端（Ｉ＝Ｉｍａｘ）に増加する距離（Ｉ方向において）を有するラインを有する。従って、Ｐ番目のラインＬｐは最初（左手）のピクセルＰ1から最後（右手）のピクセルＰｒまで走査される。ピクセルＰｐは、ウインドウ３４の面を通る視点３２によって識別され、ピクセルＰｐはポリゴン点Ｐｆに投影してそれに相当する画像点を含む。ポリゴン３６は、ラインＬｐに沿って、左のライン位置において交差するＪLによって識別される左端のピクセルＰ0から右のライン位置において交差するＪRによって識別される右端のピクセルＰｑまでのピクセルを含む。
図２ａに示されるように、検討される画像空間の部分を拡大すると、走査線３４”に沿うピクセル３８の行は左端のピクセル３８ｈで出発してＪ方向に逐次的に走査される。次のピクセル３８ｉは、ピクセル３８ｌがそのラインの左端に到達してポリゴン３６によって部分的に被覆されるまで動作されられる。このピクセルは、ポリゴンの端の左端の交差線ＪLとＪライン３４”によって識別される。ポリゴンによって完全に被覆される他のピクセル３８を通してラインに沿って続くと、ピクセル３８ｒは、そのラインにとってポリゴンの右端に到達してポリゴン３６によって部分的に被覆される。このピクセルは、ポリゴンの端の右端の交差線ＪRによって識別される。Ｊライン３４”に沿って更に移行すると、その走査線の右端のピクセル３８ｖに到達する。もっと遠くにあるポリゴンからの濃度のフィードスルーおよび半透明を考慮しないでポリゴン３６によって完全に被覆されたピクセル３８の属性、即ち、ポリゴン３６の内部に完全に被覆されるピクセル３８の属性は、ポリゴンの面の属性（色、強度、半透明性等）を正確に有し、一方、ポリゴン３６によって部分的に被覆されたピクセル（例えば、ピクセル３８ｌおよび３８ｒ）は、現実に被覆されているピクセルの部分にとってのみ特定のポリゴンの属性を有し、それによってピクセルの残りの属性は他の情報から得られ、色情報のポリゴン／ソースによって被覆されるピクセルの各種のパーセンテージに基づいて混合されねばならない。
これは、第３ａ図を参照することによって理解され、第１のポリゴン３６ａは画像空間において得られるように他のポリゴン３６ｂの前方に順番付けられている（周知の奥行きバッファ処理によって行われるように）。ポリゴン３６は交差線４０によってピクセル境界を交差する複数のポリゴンエッジ３９（例えば、エッジ３９ａ，３９ｂ，３９ｃ，および３９ｄ）によって接続された複数の頂点（例えば、４つの頂点Ｖ1，Ｖ2，Ｖ3およびＶ4）を有する。画像スクリーンは次に大きな番号を有する（次に走査される）ピクセルラインを有するピクセルの各ラインＬの低い境界において水平エッジＥを有する水平ライン（例えば、ラインＬ−２，Ｌ−１，Ｌ，Ｌ＋１，Ｌ＋２…）に沿って垂直な列（例えば、ラインＰ−２，Ｐ−１，Ｐ，Ｐ＋１，Ｐ＋２…）において逐次的に配列された矩形のピクセルのアレイから形成される。各ピクセルはその行のラインＬと列Ｐの指定によって順番付けられることができる。ピクセル（Ｌ，Ｐ）のごときピクセルは完全にただひとつのポリゴン（ポリゴン３６ａ）によって被覆され、従って、そのポリゴンの属性だけを有する他のピクセルは複数のポリゴンの属性の分配／混合を有する。
本発明のひとつの特徴に基づくと、図３ｂに示されるように全体のピクセルを考慮することによって色の属性を決定することが好ましく、前述した米国特許第４，８２５，３９１号の奥行きバッファ処理構造（スパン／サブスパン処理方法を使用する、しないに関係なく）が使用されたとしても各ピクセル（あるいは、サブピクセル）の複数の分割された部分の色情報を処理する必要がない。我々の方法において処理される情報の各アイテムは、電子デジタルデータの信号ワードであるが、我々は簡略化した名称（例えば、コーナー，エッジ，ポリゴン等）によってこれらの信号を議論しても良く、我々はそれぞれの幾何学的な概念のそれぞれに使用されるデータ信号を意味のあるものにするためにこれらの用語を意味付ける（例えば、「コーナー」は二次元のピクセルのコーナーの位置を特定するデーターワードを意味し、「エッジ」は関連するポリゴンのエッジライン（境界線）を表すデータ信号のセットであり、「ポリゴン」は特定のポリゴンと等しいデジタルデータの構造を意味する）。我々の処理の最終結果は、ビデオディスプレイ手段１８の個々のピクセルの色と強度を点灯するビデオ信号の最終的なシーケンス（デジタルビデオ，あるいはデジタルから導かれたアナログビデオ）を提供するものであり、観察者２０にとって視認できるようにするものである。
ポリゴン３６を、ピクセル間隔でサンプリングする。ここで、サンプル点は、各ピクセルの４つのコーナーＣである。各ピクセル（Ｌ、Ｐ）について、４ｘ４アレイのコーナー（例えば、エッジＥ−２についてはコーナーＣ１１〜Ｃ１４、エッジＥ−１についてはコーナーＣ２１〜Ｃ２４、エッジＥについてはコーナーＣ３１〜Ｃ３４、エッジＥ＋１についてはコーナーＣ４１〜Ｃ４４）を使用して、３ｘ３列のピクセルを定義できる（次に、中央ピクセルＬ、Ｐ周囲の８つの隣接ピクセルを考慮する）。したがって、ピクセル配列は、ライン（Ｌ−１）に沿ってピクセル（Ｌ−１、Ｐ−１）、（Ｌ−１、Ｐ）及び（Ｌ−１、Ｐ＋１）、ライン（Ｌ）に沿ってピクセル（Ｌ、Ｐ−１）、（Ｌ、Ｐ）及び（Ｌ、Ｐ＋１）並びにライン（Ｌ＋１）に沿ってピクセル（Ｌ＋１、Ｐ−１）、（Ｌ＋１、Ｐ）及び（Ｌ＋１、Ｐ＋１）を含んでいる。コーナー（サンプル）点Ｃij（但し、ｉはライン識別子であり、ｊは列識別子である（関連ピクセルについての））にあるビューワに最も近接しているポリゴン３６″の色を、ディスプレイの各ピクセルについて保存する。得られた色データ信号を、ディスプレイを構成する各ピクセルの色情報を含有するビデオメモリーに保存する。
ビデオメモリーにおける各サンプルコーナー点での色情報を、ＣＩＧ技術における当業者によく知られている通常の手段により演算する。色情報を得る必要があるのは、各ピクセルの一つのコーナー（例えば、Ｉ、Ｊディスプレイにおける各ピクセルの第一遭遇又は左上コーナー）からのみである。全ての隣接ピクセルについての全ての左上コーナーＣｏについてのデータが得られるときには、いずれか一つの特定のピクセルについての完全な色情報を求めることができる。コーナーの色属性により表される各ピクセルの部分を、コーナー点Ｃｏの周りの線分のあらかじめ選択された群に関してポリゴンエッジ交差４０が生じるという認識を介して求めることができる。ここで、線分群の５つのコーナー（中央コーナーＣｏ及びその中央ピクセルのコーナーＣｏに連携した４つのコーナー点）について、４線分「交差」群を使用する。コーナーＣｏの周りを１２時の位置から時計回りに、線分群のこれらの４つの線分は：コーナーＣｏと、コーナーＣｏのすぐ上であって且つ前のエッジ（Ｅ−２）のトップコーナーＣTとの間のトップ線分ＳT；コーナーＣｏと、スキャンエッジ（Ｅ−１）に沿ったすぐ次のコーナーであって、コーナーＣｏの右にある右コーナーＣTとの間の右線分ＳR；コーナーＣｏと、コーナーＣｏのすぐ下にあり且つ次のエッジ（Ｅ）上にあるボトムコーナーＣBとの間のボトム線分ＳB；及びコーナーＣｏと、同じエッジ（Ｅ−１）に沿ったすぐ前のコーナーである左コーナーＣLとの間の左線分ＳLである。ピクセルのコーナーＣｏから連携する交差４０までと上、右、下又は左のそれぞれの線分までとの距離Ｄｘ（但し、ｘはＴ、Ｒ、Ｂ又はＬである）を、当該技術分野において公知の方法及び手段により求め、距離Ｄxデータ信号を、ビデオメモリーに保存する。さらに、各サンプルコーナー点Ｃｏについての半透明フラグビット（透明＝０及び不透明＝１として定義できる）を、ビデオメモリーに加える。
ここで、図３ｃについて、もし同じポリゴンがピクセルのサンプル点Ｃｏを被覆するならば、そのポリゴンのエッジを考慮して、ピクセルのサンプル点と４つの隣接サンプル線分群コーナーＣｘとの間の垂直及び水平エッジ交差の各々の位置４０ｘを求める。このようにして、線分群エッジ交差４０ｔ、４０ｒ、４０ｂ及び４０ｌを求め、対応の線分群距離ＤT、ＤR、ＤB及びＤLを、全て演算し、ビデオメモリーに保存する。しかしながら、エッジ交差距離ＤXがサンプルコーナー点間の距離より大きいならば、距離ＤXをサンプル点間の距離に固定する。線分群の隣接コーナー間の距離を、正規化値１．０に設定できる。次に、実距離ＤXが、全て正規化され、０．０〜１．０の値を有する。図示するように、中央コーナーＣｏから中央上コーナーＣTの方向へのエッジ交差４０ｔの距離ＤTが１．０未満（全コーナー−コーナー距離）であり、演算される実距離についてのデータ信号として保存される。各正規化距離は線分群コーナー間距離よりも小さいので、中央コーナーＣｏと、それぞれの右交差４０ｒ及び左交差４０１との間のそれぞれの距離ＤR及びＤLについても同様である。これは、隣接コーナーＣBより下にあり、したがって、１よりも大きい距離を有する、ボトム交差４０ｂについての場合ではない。距離値を、両方のコーナーＣｏ及びＣB上に延びていることを考慮して、ポリゴンを示す１．０に固定する。すなわち、もし距離Ｄxがサンプルコーナー点間の距離に等しいならば、そのときには、中央コーナー点Ｃｏ上のポリゴンは、対応の隣接サンプルコーナーも被覆していると考えられる。各距離ＤXについてのデータワードに使用するビット数は、３〜５ビットの範囲であるが、システムごとに変更してよい。したがって、各サンプルコーナー点Ｃは、ビデオメモリーにおける別個の位置のアドレスである。この位置は、色、半透明フラグ並びに関連トップ、左、右及びボトム交差距離データを規定するデータを含む。また、もしサンプル点上のポリゴンが半透明であるならば、半透明フラグを設定する。
現在のところ、スクリーン距離が、通常左から右に、及びトップからボトムの方向に増加するので、サンプル線分群がコーナー間隔距離１．０を有し、且つ右及びボトム交差について交差距離が１．０であるか、左及びトップ交差について交差距離が０．０である場合には、ポリゴンが両方の隣接サンプル点を被覆すると仮定するのが好ましい。したがって、距離データワードの単純な先端切断及び固定により、距離は、左から右に、及びトップからボトムに、０．０〜１．０変化する。もしトップ又は左交差が０．０であるならば、ポリゴンは、左又はトップ隣接コーナー点を被覆し、もしボトム又は右交差が１．０であるならば、ポリゴンは、ボトム又は右コーナー点を被覆する。これは、ただ一つの適当なインプリメンテーションであり、特定の用途によって、必要に合わせて変更できる。エッジ交差距離を演算する種々の方法は、周知であり、コンピュータグラフィクスにおいて通常のことであり、当業者には公知であろう。
ここで、図４に、図５ａ〜図５ｅの流れ図に示した方法を用いて、入力頂点データ信号を処理して、ビューワ２０に対して表示するためのビデオ出力データ信号を得るための、一つの典型的な色強度サブアセンブリ１６ａを示す。サブアセンブリの第一入力１６ａ−１を、エッジ交点計算手段４２の第一入力４２ａに結合し、ディスプレイプロセッサ１６の残りから、（Ｉ、Ｊ）座標にディスプレイポリゴン頂点データ信号を受ける。計算手段の出力４２ｂは、次に処理される特定のピクセルについての正規化エッジ交差データワードの組である。このピクセル（Ｌｐ、Ｐｐ）は、サブアセンブリ入力１６ａ−２からの平均入力４２ｃでのピクセル列番号Ｐｐデータ、及びサブアセンブリ入力１６ａ−３からの平均入力４２ｄでのディスプレイラインＬｐ番号により特定される。
エッジデータ信号は、ディスプレイの無数のピクセルの各々についての数多くのビット深さの保存位置を有するフレームバッファ（マスメモリー）手段の第一入力４４ａに現れる。各位置は、それぞれ入力４４ｃ及び４４ｄでの行ライン及びピクセル列データワードにより単一に規定される（すなわち、行ラインＪO≦ＬP≦Ｊmax及び列ＩO≦ＰP≦Ｉmax）。フレームバッファも、サブアセンブリインターフェース１６ａ−４に結合した入力４４ｅでポリゴン色データ信号を受け取り、サブアセンブリインターフェース１６ａ−５に結合した入力４４ｆで半透明性データ信号を受け取る。フレームバッファ入力セクション４４ａは、ピクセル単位で各ピクセルについての色／半透明性、エッジ交差及びフラグ情報の全てを保存する。また、このデータを、ピクセル単位で、フレームバッファ出力４４ｂに供給する。本バッファ手段は、次にアドレスされる一つのピクセルのみが入力データを受け、データを出力４４ｂに供給するように単一組のピクセル指定入力４４ｃ／４４ｄのみを有するように示されているが、同様に複数組のピクセル指定入力を設けて、入力データを一つ（又はそれ以上）のピクセル位置にローディングするとともに、記憶されたデータを受けて、一つ（又はそれ以上）の独立的に規定した異なるピクセル位置に出力できることが、理解されなければならない。
フレームバッファ出力４１ｂは、選択されたアンチエーリアシング線分群のコーナー及びエッジ（ここでは、次に処理される中央ピクセル（ＬP、ＰP）の周りの４つの隣接ピクセルの１２個のエッジ）のデジタルデータ信号を、ポストプロセッサ手段４６の入力４６ａに供給し、行ライン及びピクセル列データ信号は、他の入力４６ｃ及び４６ｄに供給される。エッジレジスタをエッジリゾルバ４６−２によりアクセスして、ポリゴン面の色／半透明性属性により被覆される現在処理しているピクセルの部分を決定する。次に、この情報を色ミキサー４６−３により使用して、本（ＬP、ＰP）ピクセルの最終配合色を設定し、このデータを、ポストプロセッサ出力４６ｂからサブアセンブリ出力１６ａ−６ビデオ出力データ信号（表示してもよいし、必要に応じてさらに処理してもよい）として通過させる。
エッジ交点計算器は、図５ａのフローチャートに示したプロセスステップを実行する。ピクセル行ラインＬP及び列ＰPデータ信号をステップ５０で受け、そしてポリゴン３６頂点データ信号をステップ５１で受ける。ステップ５２（ディスプレイラインＬループの開始）において、計算器は、トップライン（但し、Ｉ＝Ｉｏ）からボトムライン（Ｉ＝Ｉｍａｘ）までのどのディスプレイラインＬがポリゴンを一つのピクセルの少なくとも一部分に存在して有するかを求める。これらのライン番号Ｌを一時的に記録し、ライン番号ＬPの第一のものを設定する。このライン番号を、ステップ５３に入れる。ここで、そのラインについて、左及び右ポリゴンエッジ行ライン交点ＪL及びＪRを見いだす。これらのリミットも、一時的に保存する。ステップ５４は、ステップ５３で見いだされるリミット（左から右）から、ステップ５２で決定されたラインＬPに沿って各ピクセルＪＰを考慮しながら、ネストされたピクセルループを開始する。ネストされたループ内には、ステップ５５、５６、５７及び５８が見いだされる。これらにおいて、それぞれ、ピクセルの左上コーナーＣｏについて、４つの交差ＣX及びそのコーナーの線分群の連携した４つの正規化距離ＤXを見いだし、もし特定の距離ＤXが、１ピクセル距離よりも大きいならば距離ＤXを最大１ピクセル値にクランプ（固定）し、「被覆」フラグを設定し（ステップ５５）；ピクセルデータのあるアスペクトについて、ポリゴンが半透明かどうかについて動作し（半透明については、以下で詳細に検討する）；コーナー点Ｃｏの色を、ポリゴンの色、テクスチャ効果（色、変調等）等の全ての関連因子の関数として演算し（ステップ５７）；その後、一時的に関係のあるデータ信号をビデオメモリー（フレームバッファ４４）に保存する。その後、ステップ５９に入り、Ｊループが決定する。ここで、次の順次ピクセルについてのＪ値が、右側リミットＪRを超えるかをみる。もし超えなければ、そのＬPラインについて、さらなるピクセル処理を進める。出力５９ａを使用し、ステップ６０に入って、ループをステップ５４に戻す（Ｊ＝Ｊ＋１）。本ピクセルがＪRであったならば、次のピクセルは、本ポリゴンの一部分をも含まず、そして出力５９ｂを、プロセスが次のラインＬ＝（ＬＰ＋１）に移動するように出す。ステップ６１に入り、ラインループは、次の順次ラインがそのポリゴンについて下のラインリミットＬmaxを超えるかどうかを決定する。もし超えなければ、そのラインについてのさらなるピクセル処理を進める。出力６１ａを使用し、そして、ラインループが実際にここでステップ５４に戻る（Ｌ＝Ｌ＋１）ようにステップ６２に入る。この新しいラインについてのピクセルループが、トラバースされる。もしちょうど完了したラインがポリゴンのボトムにあるならば、次のラインは本ポリゴンの一部分をも含まず、そして出力６１ｂを、プロセスが次のポリゴン３６′に移動するように出す。本ポリゴン処理が完了したら、ステップ６３に入り、ポリゴンループが、このビューウインドー３４における全てのポリゴンが考慮されたかどうかを決定する。もし他のポリゴンが残存していて処理すべきであるならば、出口６３ａを取り、ポリゴン識別子をステップ６４��進め、次のポリゴン頂点の組をフェッチする（ステップ５１）。考慮すべき他のポリゴンが残存していなければ、そのディスプレイフレームについて、このシステム部分におけるさらなるピクセル処理は必要なく；出力６１ｂを、プロセスがデータ信号の次のイメージウィンドーフレームに移動して、ディスプレイフレームのピクセルデータについてのエッジ交点計算プロセスを開始するように出す。
半透明性
各ポリゴン面３６は、一定の公知の半透明性を有する。半透明レベルを、レベルが０．０（完全に透明）と１．０（完全に不透明）との間の数により示すことができるように正規化する。半透明性は、特定のピクセルのコーナーのサンプル点を無視するか、ディセーブルして、たとえポリゴンがサンプルコーナー点にある（すなわち、被覆している）ことがあるとしても、ポリゴン特性データがピクセルのコーナーのビデオメモリーに書き込まれないようにすることにより得られる。省略されたコーナーに関連したエッジ交差も、メモリーに書き込まれない。半透明の量に応じてサンプル点をディセーブルすることにより、半透明ポリゴンよりも視覚的に後ろのポリゴンを見ることができる。
ポリゴンがより半透明になればなるほど、より多くのサンプル点がディセーブル化（disabled）される。これは、背後にあるものを見るために半透明なポリゴン中に穴を作ることに似ている。あるパターン選択コードおよび半透明性値が、あるポリゴンに割り当てられる。半透明性値はディセーブル化されているサンプル点の数を示しており、パターン選択コードは何れのサンプル点がディセーブル化されているかを示す。
このディセーブル化プロセスは、図６ａを参照して理解されるかもしれない。同図において、パターン選択（ＰＳ）ビットの２つのレベルの各々に対して、５個の異なる透明性レベルＴが示されている。異なる範囲のＴレベルに対して、低いバイナリレベル（ＰＳ＝０）でのパターン選択ビットに対する半透明性ディセーブル化パターンは、高いバイナリレベル（ＰＳ＝１）でのパターン選択ビットを有する選択されたパターンに対して相補的であることが理解されるであろう。５レベルのみの半透明性Ｔが図示されているが、より多くの半透明性レベルが計算できる。
Ｔレベルの数は、図６ｂ−６ｅに示されるように、半透明性の関数として、エッジ交差（edge crossing）を修正することにより達成される。ポリゴン面をより半透明にすればするほど、１のサンプル点に割り当てられる面積は少なくなる。この手順は、各サンプルコーナー点上のポリゴンの面積を増加あるいは減少させる：図６ｂに示されるように、半透明性レベルＴは十分低く（０＜Ｔ＜1/4）、１つのピクセルのコーナーＣaのみが選択されたパターンの部分であり、同一のピクセルから成る他のコーナーＣd、ＣcおよびＣdがディセーブル化され且つ考慮されておらず；左および右の交差はサンプル点に向かって移動し、その結果、距離ＤLa、およびＤRaはそれぞれ１．０、０．０となり、一方修正された底部交差（bottom crossing）距離Ｄ′Baは（４＊Ｔ＊ＤBa）となる。ここで、ＤBaは、コーナーＣａに対する無修正の底部交差４０″距離である。同様に、頂部交差（top crossing）４０′距離ＤTaはＤ′Ta＝１−（４＊Ｔ＊（Ｄ−ＤTa）である。ここでＤは単位ピクセルエッジ線分（edge segment）距離である。半透明性レベルＴが増加するにつれて、エッジ交差はサンプルコーナー点から離れて移動し、考慮されているピクセル中のポリゴン面の有効面積を増加させる。
図６ｃは1/4≦Ｔ＜1/2である場合を示す：一対のピクセルのコーナーが用いられ（ここでは、コーナーＣaおよびＣc）且つ一対のコーナー（ＣbおよびＣd）がディセーブル化され、考慮されていない。頂部コーナーＣa点に対しては、左および右の交差はサンプル点に向かって移動し続け、距離ＤLaおよびＤRaは夫々１．０および０．０であり続ける；頂部および底部交差距離ＤTaおよびＤBaは修正されない。底部コーナーＣc点に対しては、頂部および底部交差距離ＤTcおよびＤBcは夫々１．０および０．０となり、一方修正された右交差距離Ｄ′Rcは（４＊（Ｔ-1/4）＊ＤRc）となる。ここで、ＤRcは、コーナーＣcに対する無修正の底部交差距離である。同様に、左交差距離ＤLcはＤ′L＝１−（４＊（Ｔ-1/4）
＊（Ｄ−ＤLc）に修正される。
図６ｄは1/2≦Ｔ＜3/4である場合を示す：ピクセルの３個のコーナーが用いられ（ここでは、コーナーＣa、ＣcおよびＣd）且つ唯一のコーナー（Ｃb）がディセーブル化され、考慮されていない。頂部コーナーＣa点の左および右の交差距離ＤLaおよびＤRaは夫々１．０および０．０であり続け、頂部および底部交差距離ＤTaおよびＤBaは修正されない。底部コーナーＣc点の頂部および底部交差距離は夫々１．０および０．０であり続け、一方左および右交差は変更されずＤLcおよびＤRcであり続ける。コーナーＣd距離は修正されず、左および右の交差距離は夫々１．０と０．０の値に固定されている。底部交差距離Ｄ′Bdは（４＊（Ｔ-1/2）＊ＤBd）となる。ここで、ＤBdは、無修正の底部交差距離である。同様に、頂部交差距離ＤTdは、Ｄ′Td＝１−（４＊（Ｔ-1/2）＊（Ｄ−ＤTd）に修正される。
最後に、図６ｅは3/4≦Ｔ＜0.999である場合を示す：４個すべてのコーナーの使用はＴ＝１の不透明性を暗示するので、３個のコーナーのみが用いられ（再び、コーナーＣa、ＣcおよびＣd）、１のコーナー（Ｃb）がディセーブル化されている；コーナーＣbのみのイネーブルを検査することは完全な不透明点（Ｔ＝１．０）を決定するために考慮されている。頂部コーナーＣa点の左および右の交差距離ＤLaおよびＤRaは夫々Ｄ′La＝１（４＊（Ｔ-3/4）＊（Ｄ−ＤLa）とＤ′Ra＝（４＊（Ｔ-3/4）＊（Ｄ−ＤRa）とに修正される：頂部および底部の交差距離ＤTaおよびＤBaは修正されない。左底部コーナーＣc点の頂部および底部交差距離は夫々１．０および０．０であり続け、一方左および右交差は変更されずＤLcおよびＤRcであり続ける。底部右コーナーＣdの右および左交差距離は夫々１．０と０．０の値に固定され、一方頂部および底部交差距離は夫々の初期値ＤTd，ＤBdであり続ける。
上述した手順の効果は、（ＰＳ＝０に対する）図６ｆと（ＰＳ＝１に対する）図６ｇに示されるように、サンプルコーナー点に影響を及ぼすポリゴン面積を増加させるか、あるいは減少させることである。ＰＳ＝０に対しては、半透明性Ｔ値が０と1/4の間にある場合、サンプルコーナーＣaの面積は、矢印Ｘａにより示されるように、Ｔが（不透明点より大きく）増加するにつれて増加する。1/4≦Ｔ＜1/2である場合、サンプルコーナーＣcの面積は、矢印Ｘｂにより示されるように、Ｔが増加するにつれて増加する。1/2≦Ｔ＜3/4である場合、サンプルコーナーＣdの面積は、矢印Ｘｃにより示されるように、Ｔが増加するにつれて増加する。サンプルのコーナーＣcにおける増加に対する矢印Ｘｄは、Ｔ＞3/4である場合にＣＣＷが他の矢印に対して増加するのと対照的に、時計回りの方向に増加する。反対の変化は、図６ｇに示されるように、ＰＳ＝１に対して得られる。あるピクセルを被覆する各ポリゴン部分が、ランダムにパターン選択配列に割り当てられるかもしれない、この配列は、ピクセルに当たるすべてのポリゴンの半透明性、優先度および色に基づいて、全体のピクセル色情報の誘導を容易にするであろう。
ポスト-メモリ  プロセス
フレームバッファ４４に先立ってコーナーの色および半透明性の考慮を決定し、一連のデータ信号変更工程７０−８０が、図５ａにフローチャート化されたポストプロセッサ−エッジ リゾルバ（post processor-edge resolver）プロセスにおいて実行される。これらの工程は、エッジ交差／コーナー（edge crossing/corner）データ信号変更工程５０−６５と共に、非時間依存性または時間依存性（好ましくは、インターリーブ（interleaved）で）の方式で行うことができる。どのようなピクセル情報がフレームバファ中に有っても使用されるであろう：従って、交点（interception）計算が失速したり遅くなった場合には、先に格納したデータ信号が用いられるであろう。エッジ解像（edge-resolution）プロセスは、４つの連続したエッジ（Ｅ＋１）〜（Ｅ−２）に沿って置かれた１６個のコーナーＣ１１−Ｃ４４（図５ｂ’参照）に関連するピクセル（Ｌｐ，Ｐｐ）コーナーＣo群（constellation）データ信号を得るためにフレームバッファ４４がアクセスされて、工程７０で開始する。１２個のコーナー間エッジ線分（edge segments）Ｓ0−Ｓ11のセットが工程７１において設定される；各一般化されたピクセルエッジ線分ＳX（図５ｂ″参照）は一対のコーナーＣVおよびＣWの間に延在し、各コーナーはそれと連関する交差距離ＤVまたはＤWを有する。各線分の長さｌを得るために、先ず判定工程７２に入り、ＤVおよびＤWの両方が線分ＳXを被覆するかどうかに関して初期判定が下される。もしそうである場合、正規化された線分長さｌは０．５でなければならない（工程７３）；そうでない場合には、工程７４で、ＤVおよびＤWの両方の距離がＳXの距離よりも小さいかどうかを判断する。もしそうである場合、線分長さは、工程７５において設定されるように、考慮されているコーナーと連関する距離である（例えば、コーナーＣVに対してｌ＝ＤV）。そうでない場合には、工程７６に入り、両方のコーナーの半透明性が検査される。もし唯一のコーナー交差が半透明である場合、工程７７で、線分長さｌを連関した距離とし、また半透明性フラッグをセットする。しかし、両方の交差が半透明である場合には、工程７８で、線分長さｌを距離ＤVおよびＤWの平均値に設定する。工程７３、７５、７７および７８の全ては工程７９に進み、そこで、（０≦Ｓ≦１１に対する）線分数ＳXが、更なる線分がそのピクセルに対して処理される必要があるかどうかを判定するために検査される。もしそうである場合、工程８０は線分数Ｓをインクレメント処理し、処理を工程７１に返す；そうでない場合には、線分情報データ信号は色ミキサー（color mixer）へ移送準備される。
ここで、図７をも参照して、ポストプロセッサ手段４６のエッジレジスタ（edge register）およびエッジリゾルバ（edge resolver：エッジ解像器）の部分４６−１、４６−２は、特別にプログラムされた計算装置の代わりに、フレームバッファから入力バス上のコーナーデータ入力信号を受け取る専用の論理手段を用いることができる。３個のＦＩＦＯ（first-in-first-out）データレジスタ８２ａ-８２ｃが逐次的に接続され、その結果、４個の連続エッジデータ信号列の一時的に異なる１つがバス８１ａ−８１ｄの各々に現れる。現在のピクセルラインＬの下方エッジＥ上のコーナーに対するデータは、バス８１ｂ上にあるであろう。一方、レジスタ手段８２ｂは格納された直前ラインのコーナーデータ信号をバス８１ｃ上で利用可能にしてエッジ（Ｅ−１）を提供する。レジスタ手段８２ｃはエッジ（Ｅ−１）の前のエッジ（Ｅ−２）からの格納されたデータ信号をバス８１ｄ上で利用可能にしている。次いで、引き続くエッジ（Ｅ＋１）は現時点でバス８１ａ上で利用可能であり；従って、ラインＬ上の各ピクセルＰは、データが格納された後のみに処理され次に続くエッジ（Ｅ＋１）（該エッジは次のライン（Ｌ＋１）の利用可能性を要求する）に対して利用可能であることが理解されるであろう。いずれにおいても、コーナーノードＣ４４、Ｃ３４、Ｃ２４およびＣ１４は現在の情報を保持し、該情報は引き続く保持レジスタ手段８４の連関した１つに（次周期のクロックに応答して）入るであろう。保持レジスタ手段８４において、例えば、レジスタ手段８４ａはその出力においてコーナーＣ４３データを有し、レジスタ手段８４ｂはその出力においてコーナーＣ３３データを有し、レジスタ手段８４ｃはその出力においてコーナーＣ２３データを有し、レジスタ手段８４ｄはその出力においてコーナーＣ１３データを有する。２つの連続するレジスタセット８５ａ−８５ｄおよび８６ａ−８６ｄは、引き続く他のピクセルデータを保持し、夫々、異なる各コーナーＣ４２、Ｃ３２、Ｃ２２、Ｃ１２およびＣ４１、Ｃ３１、Ｃ２１、Ｃ１１に対するデータ信号を提供する。コーナーデータ信号ノードの適当な連関した対に結合しているのは、１２個の線分計算手段８８ａ−８８ｌのうちの１つであり、各手段は、連関した出力８８ａ′−８８ｌ′において算出された線分長さｌデータ信号を提供する。従って、Ｓ0線分長さｌS0データ信号ｌ0′は、Ｃ１２およびＣ２２ノード間に結合された計算手段８８ａにより提供され、Ｓ1線分長さｌS1データ信号ｌ1′は、Ｃ１３およびＣ２３ノード間に結合された計算手段８８ｂにより提供され、Ｓ2線分長さｌS2データ信号ｌ2′は、Ｃ２１およびＣ２２ノード間に結合された計算手段８８ｃにより提供され、Ｓ3線分長さｌS3データ信号ｌ3′は、Ｃ２２およびＣ２３ノード間に結合された計算手段８８ｄにより提供され；以下、Ｓ11線分長さｌS11データ信号ｌ11′（Ｃ３３およびＣ４３ノード間に結合された計算手段８８ｌにより提供される）まで同様に、提供される。次いで、現在処理されているピクセル（Ｌｐ，Ｐｐ）に対する、全ての１２個の線分長さデータ信号は色ミキサー手段４６−３に送られる。
各ピクセル３６に対する適当な色情報を表示するために、１６（４ｘ４）個の隣接するサンプルコーナーＣ11〜Ｃ44（図５ｃ参照）の信号データがビデオメモリから取り出され；サンプルコーナーが計算されるピクセル（Ｌｐ，Ｐｐ）を取り囲む。最終的な目標は、４つのコーナーブレンド色Ｂのセットを混合することである。該セットは、例えば、頂部左（ｔｌ）コーナーＣtlのブレンド色Ｂtl、頂部右（ｔｒ）コーナーＣtrのブレンド色Ｂtr、底部左（ｂｌ）コーナーＣblのブレンド色Ｂblおよび底部右（ｂｒ）コーナーＣbrのブレンド色Ｂbrであり、各々は各コーナーＣijのサンプリングした色Ｃij′から次式で計算される：
tl_ブレンド_色Ｂtl＝（Ｃ11′＋Ｃ12′＋Ｃ21′＋Ｃ22′）／４
tr_ブレンド_色Ｂtr＝（Ｃ13′＋Ｃ14′＋Ｃ23′＋Ｃ24′）／４
bl_ブレンド_色Ｂbl＝（Ｃ31′＋Ｃ32′＋Ｃ41′＋Ｃ42′）／４
br_ブレンド_色Ｂbr＝（Ｃ33′＋Ｃ34′＋Ｃ43′＋Ｃ44′）／４。
図５ｃ、５ｄおよび５ｅを参照して、色ミキサーはスモールポリゴンフィルタリング（small polygon filtering）処理（図５ｄ）、次いで、色計算処理（図５ｅ）を含む。
小ポリゴン（polygon）フィルタ
ほとんどのポリゴン面（face polygons）３６は複数の画素（ピクセル:pixel）３８を被覆するのに十分な広さを有するが、１つの画素をちょうど被覆するポリゴンを有することも可能である。より細かくいえば、１つの画素を完全に被覆するには小さすぎるポリゴンを有することも可能である。１つの画素より小さいポリゴン、またはサンプルコーナー点（corner sample point）距離Ｄの間隔よりも領域が小さいポリゴンは閃光を発する。なぜなら、ポリゴンは１つのサンプルにされたコーナーに位置するときは可視であるが、他の位置、すなわちポリゴンがサンプルコーナーの間に位置するときは、不可視である。閃光を減少させるために、小ポリゴンは検出されてフィルタリングされ（除去またはぼかされ（blurred））る。このために、当該画素３６の４つのコーナーCtl，Ctr，Cbl，およびCbrのそれぞれが独立に考慮される。混合（ブレンド:blend）値は、サンプルコーナー点を被覆するポリゴンの寸法に基づいて計算される。混合色（blendcolor）はサンプル点の色と混色される。線分交差長（segment crossing lengths）ｌは各コーナーの混合値を計算するのに使用される。コーナーCtlをステップ９０aの一例として用いた場合、様々な距離をあらわす混合値を計算する以下の工程によって上記は実現できる。まず、垂直長（vertical length）lvertおよび水平長lhorzを求め（ステップ９１）、第１および第２の混合係数Blend_1およびBlend_2を決定し（ステップ９２）、それらの最小色Blend_tl係数を求める（ステップ９３）。Blend_tl係数を値１．０と比較して標準化し（ステップ９４）、必要ならば１の最大値にクランプ（clamp）する（ステップ９５）。ステップ９６では、上記の４つのコーナーの色の平均化をおこない、ステップ９７で、半透明（translucent）ポリゴンから、部分S0，S1，S2，S3，S4，S5またはS10（拡大した場合は、部分はコーナーCtlを通過する）の交差長ｌSX（x=0，2，3，4，5または10）が得られるかどうかを決定する。得られた場合は、混色値は無視され（ステップ９８）、０に設定される。半透明ポリゴンとは関係がない場合には、ステップ９９はblended_tl_color Btl′を求め、それがfinal_tb_blend_color値Btlとなる。画素の他の３つのサンプル点の色を求めるために、この工程がステップ９０ｂで繰り返され、すなわち、右上コーナーCtr，左下コーナーＣbl，および右下コーナーにそれぞれの混色値Btr，Bbl，およびBBrを求める。
図５ｅを参照すると、色ミキサ４６−３の最終色計算工程はステップ９２から開始し、そこでは４つの画素側面（S3，S5，S6またはS8）部分の被覆されない交差の数がカウントされる。エッジカウント数（ゼロまたは２以上のどちらかでなければならない）および半透明条件がステップ９３で使用される。２つのエッジ交差があり、４つのサンプルコーナーのうち、それを被覆する半透明ポリゴンを有するものがない（半透明フラッグをチェックすることで決定される）場合には、１つのポリゴンのエッジが当該画素を交差すると仮定される。ここで、２つの部分の領域（第１の被覆ポリゴンの領域Ａ１および他の被覆ポリゴンの領域Ａ２）を計算することが必要となる。
これは図８ａから図８ｆを検討することで理解できるが、これらの図は２エッジ交差の状況のための６つの可能な条件を示している。図８ａにおいて、エッジ３９はほぼ垂直であり、部分Ｓ3を２つの部分（標準化長l3を有する左部分と、画素部分の全標準化長が同様に１であるので、（１−l3）の標準化長を有す右部分）に分割し、下部分Ｓ8は２つの部分（標準化長18を有する左部分と、（１−l8）の標準化長を有す右部分）に分割し、その結果、領域Ａ１＝０．５（l3＋l8）で、（いかなる場合も）領域Ａ２＝１−Ａ１である。画素色ＣＰは、
ＣＰ＝０．５*（Ｃtlの色＋Ｃblの色）*Ａ１
＋０．５*（Ｃtrの色＋Ｃbrの色）*Ａ２
より求められる。
図８ｂにおいて、エッジ３９はほぼ水平であり、左部分Ｓ5を２つの部分（標準化長ｌ5を有する上部分と、画素部分の全標準化長が同様に１であるので、（１−l5）の標準化長を有する下部分）に分割し、右部分Ｓ6は２つの部分（標準化長l6を有する上部分と、（１−l6）の標準化長を有す下部分）に分割し、その結果、領域Ａ１＝０．５（l5＋l6）であり、画素色ＣＰは、
ＣＰ＝０．５*（Ｃtlの色＋Ｃtrの色）*Ａ１
＋０．５*（Ｃblの色＋Ｃbrの色）*Ａ２
より求められる。
同様に、図８ｃの場合、領域Ａ１＝０．５（l5*l3）であり、画素色ＣＰは、
ＣＰ＝（Ｃtlの色）*Ａ１＋1/3（Ｃblの色＋Ｃbrの色＋Ｃtrの色）*Ａ２
より求められる。
図８ｄの場合、領域Ａ１＝０．５（１−l5）*l8であり、画素色ＣＰは、
ＣＰ＝（Ｃblの色）*Ａ１＋1/3（Ｃtlの色＋Ｃbrの色＋Ｃtrの色）*Ａ２
より求められる。
図８ｅの場合、領域Ａ１＝０．５（１−l5）*l6であり、画素色ＣＰは、
ＣＰ＝（Ｃtrの色）*Ａ１＋1/3（Ｃtlの色＋Ｃbrの色＋Ｃblの色）*Ａ２
より求められる。
最後に、図８ｆの場合、領域Ａ１＝０．５（（１−l8）*（１−l6））
であり、画素色ＣＰは、
ＣＰ＝（Ｃbrの色）*Ａ１＋1/3（Ｃtlの色＋Ｃbrの色＋Ｃblの色）*Ａ２より求められる。
２エッジ交差が無い場合、または半透明フラッグビットが４つのコーナーサンプリング点のいずれかに設定されている場合には、画素は４つの分離された領域Ａ１，Ａ２，Ａ３，およびＡ４、および４つの交差を有するものとして扱われ、領域重みづけ（area-weighted）計算ステップ９５を使用しなければならない。
これは図８ｇに図示されているが、領域は以下の用に計算される。
Ａ１＝1/4（l3+l5）  Ａ２＝1/4（（１−l3）＋l6）
Ａ３＝1/4（（１−l5）＋l8）  Ａ４＝1/4（（１−l6）＋（1−l8））
最終混合画素色ＣＰデータは、したがって、
ＣＰ＝（Ｃtlの色）*Ａ１＋（Ｃtrの色）*Ａ２
＋（Ｃblの色）*Ａ３＋（Ｃbrの色）*Ａ４
となる。
画素要混合色ＣＰ情報は、最終的にステップ９４またはステップ９５のいずれかによって決定され、この画素色データ信号はディスプレイに出力され、ビューワ２０に表示を行う。
コンピュータ画像発生装置の画素色の内容を決定するための装置および方法の１つの実施例をここでは詳細に説明したが、それらの多くの変形例および改良例は当業者にとって明らかである。従って、我々の意図は、添付の「請求の範囲」の範囲に限定され、ここで説明した方法で示される特定の手段および工程に限定されるものではない。
【図１】
0004125789.tif 000002
【図２ａ】
0004125789.tif 000003
【図２】
0004125789.tif 000004
【図３ａ】
0004125789.tif 000005
【図３ｂ】
0004125789.tif 000006
【図３ｃ】
0004125789.tif 000007
【図４】
0004125789.tif 000008
【図５ａ】
0004125789.tif 000009
【図５ｂ】
0004125789.tif 000010
0004125789.tif 000011
0004125789.tif 000012
【図５ｃ】
0004125789.tif 000013
【図５ｄ】
0004125789.tif 000014
【図５ｅ】
0004125789.tif 000015
【図６ａ】
0004125789.tif 000016
【図６ｂ】
0004125789.tif 000017
【図６ｃ】
0004125789.tif 000018
【図６ｄ】
0004125789.tif 000019
【図６ｅ】
0004125789.tif 000020
【図６ｆ】
0004125789.tif 000021
【図６ｇ】
0004125789.tif 000022
【図７】
0004125789.tif 000023
【図８ａ】
0004125789.tif 000024
【図８ｂ】
0004125789.tif 000025
【図８ｃ】
0004125789.tif 000026
【図８ｄ】
0004125789.tif 000027
【図８ｅ】
0004125789.tif 000028
【図８ｆ】
0004125789.tif 000029
【図８ｇ】
0004125789.tif 000030