(57)【要約】      （修正有）【課題】比較的僅かなコストで影やポリゴン外郭線に対して高品質のアンチエイリアス描画可能にする。【解決手段】ポリゴンの外郭線を記憶する手段、外郭線がグリッドに交差する外郭線情報を記憶する手段を設け、ポリゴン内部の座標点と外郭線情報とで隠面消去を行い、ポリゴン共有辺となる外郭線をバッファから削除してシルエットライン画素上の外郭線情報のみを記憶する手段と、その点がシルエットライン上である場合には記憶した外郭線情報を読み出し、ポリゴン内外の位置を判定する手段と、影の輝度を決定するため輝度値を減衰する手段とを持ち、視点座標系のアンチエイリアスに関しては、ポリゴンのシルエットライン情報を記憶し、外郭線情報にさらに色情報を記憶して、描画点がシルエットラインとなる画素の輝度に対して、外郭線情報を読み出して、画素グリッド内で交差するそれぞれの面積比から、色情報を比例配分して輝度を決定する。【選択図】図４
2007141196.tif 000002
【特許請求の範囲】
【請求項１】
シルエットラインとなるポリゴンのアンチエイリアス技術において、ポリゴンの頂点座標間を結ぶ外郭線上の画素点を、外郭線フラグとして２次元配列からなるバッファ（以下平面バッファという）に記憶する手段と、画素を正方形領域（以下グリッドという）と見なすと共に、複数の１次元配列からなるバッファ（以下情報バッファという）を設けて、前記外郭線が、前記グリッドを通過する際の交差情報（以下外郭線情報という）を、前記情報バッファに記憶する手段と、前記平面バッファは外郭線の座標値をアドレスに、また前記情報バッファは前記外郭線座標値から得る間接アドレスによってそれぞれアドレッシングする手段と、前記情報バッファのそれぞれのワード毎に、少なくとも３つの外郭線情報を記憶できる容量をもつ手段と、ポリゴン辺が他のポリゴン辺と共有し、後書き外郭線が、バッファに記憶された前書き外郭線と一致する場合には、前書き外郭線情報を該当する情報バッファから削除すると共に、後書き外郭線情報を記憶しない手段と、外郭線補間の後に行うポリゴン内部の塗りつぶしの段階において、ポリゴン内挿補間座標値をアドレスとして、前記平面バッファを読出し、外郭線フラグがある場合には、対応する前記情報バッファのそれぞれから外郭線情報を読み出し、外郭線情報の一つとして記憶された投影中心からの距離情報と、前記内挿補間点のもつ距離とを比較し、内挿補間点よりも遠方に位置する場合には、情報バッファに記憶された該当する外郭線情報を削除する手段のそれぞれを用いて、すべてのポリゴンの描画後には、前記平面バッファにはシルエットラインとなる外郭線上にフラグを、また情報バッファには前記フラグ点に対応する外郭線情報を記憶したポリゴン・シルエットラインアンチエイリアス回路。
【請求項２】
請求項１の回路において、外郭線情報が有効であることを示す有効フラグ、グリッドに交差する外郭線の傾き、交差軸および交点座標値、ｙ軸最小頂点座標点を基点として分岐する外郭線の左右辺を示す値、長軸、ｘ軸歩進方向、投影中心からのグリッド交差点までの距離、ポリゴン毎に更新する順序値の、それぞれを外郭線情報として記憶する手段と、情報バッファのワード毎に１つの背景バッファを付加し、前記背景バッファには初期値として投影中心からの最大遠方値を記憶する一方、ポリゴン内部の内挿補間において最も投影中心に近い距離に記憶更新する手段と、前記情報バッファに記憶された外郭線と、後書き外郭線とがポリゴン辺を共有る場合には、その外郭線はシルエットラインではないと見なして、情報バッファの該当バッファに記憶された前記有効フラグをリセットする手段と、すべての情報バッファの有効フラグがリセットされた場合には、前記平面バッファの前記外郭線フラグをリセットする手段とをもつポリゴン・シルエットラインアンチエイリアス回路。
【請求項３】
請求項１および２の回路において、影のアンチエイリアスを行う手段として、第１パスではポリゴンを光源座標系で描画すると共に、第２パスとして視点座標系で再びポリゴンを描画する際、ポリゴン内挿補間毎に、補間点を視点座標から光源座標系に変換した座標値を用いて前記平面バッファを読出し、外郭線フラグがあれば前記情報バッファから外郭線情報を読出し、外郭線情報と前記光源系座標値を用いて、前記補間点がグリッド内のポリゴン内外のいずれに位置するかを判定する手段と、ポリゴン内部であれば、さらに投影中心からの距離を比較して、前記変換座標点が情報バッファ情報のもつ距離よりも遠方にあると判定された場合は影とする手段と、前記補間点がポリゴンの外部である場合には、さらに外郭線情報の記憶の有無を調べ、外郭線情報が記憶されていれば前記同様の判定を行い、影と判断された場合はその段階で第２パスの内挿点は影として処理を終了し、記憶されているすべての外郭線情報に対して内挿点が領域外あるいは、領域内においてはすべてが投影中心に、より近い位置にあると判断された場合には、前記内挿点を照射点とするそれぞれの手段からなるポリゴン内外検出回路を含むポリゴン・シルエットラインアンチエイリアス回路。
【請求項４】
請求項１および２の回路において、バッファに記憶された情報から、視点座標系で描画したポリゴン・シルエットラインのアンチエイリアスを行う手段として、ポリゴンを視点座標系で補間した外郭線フラグを前記平面バッファに、また外郭線情報を情報バッファに記憶する手段と、外郭線情報として、その外郭線を有するポリゴンの色情報を付加する手段と、前記背景バッファには初期値として背景色を付加すると共に、ポリゴン内部の内挿補間の際、背景バッファに記憶された視点からの距離と比較し、内挿補間点が背景バッファより近い距離となる場合には、背景バッファにはその距離と内挿補間ポリゴンの色情報とする手段と、ポリゴン内部の内挿補間点毎に前記平面バッファを読出し、内挿補間点がシルエットラインと判断された場合には、前記情報バッファから読み出した外郭線情報を用いて、グリッドを投影面とした場合のそれぞれのポリゴンが占める面積を求める手段と、前記ぞれぞれの面積に応じて、前記それぞれのポリゴンが持つ色を比例配分する手段のそれぞれからシルエットラインとなるグリッドの輝度を決定するポリゴン・シルエットラインアンチエイリアス回路。
【請求項５】
請求項１の回路において、外郭線が交差するグリッドを決定する手段として、直線発生器のｘおよびｙ座標の内、短軸側の丸め補正を行わず、直線式から求めた実数値を座標値として出力すると共に、前記実数値の整数値が示すグリッド座標と、小数点値が示すグリッド交差座標と、前記直線式がもつ傾きおよび方向から、前記直線が交差するすべてのグリッドを検出し、これを外郭線交差グリッドとして前記平面バッファにフラグを、また情報バッファに外郭線情報を記憶する外郭線交差グリッド決定回路を含むポリゴン・シルエットラインアンチエイリアス回路。
【請求項６】
請求項１および２の回路において、外郭線情報を記憶する際の手段に関し、描画物体に識別子を設け、外郭線の補間の際、前記物体識別子が変化した場合には、それまで記憶対象であった情報バッファワードに記憶域が残っていても、拡張された情報バッファに切り替えて外郭線情報を記憶する手段と、物体識別子が同一で、ポリゴン毎の順序値が異なる場合には、同一の物体識別子をもつ情報バッファのそれぞれから外郭線情報を読み出して、補間中の外郭線とを比較し、共有外郭線が検出された場合には、該当するバッファ内の外郭線情報の有効フラグをリセットすると共に、リセットによってバッファに空領域が生じた場合、物体識別子毎に情報バッファ内あるいはバッファ間で外郭線情報をシフトして、空領域を埋める処理を行う手段と、補間中の外郭線が記憶された辺といずれも共有しないと判断された場合には、情報バッファに順次外郭線情報を記憶し、記憶域を超える交差数となる場合は情報バッファを拡張して記憶するそれぞれの記憶手段をもつポリゴン・シルエットラインアンチエイリアス回路。
【請求項７】
請求項１および４の回路において、ポリゴンの色情報を記憶する手段として、ポリゴン頂点には法線や光源入射角等が定義され、輝度計算回路を経てはじめて輝度が決定される回路においては、ポリゴンの順序値をポリゴン内挿補間回路から前記輝度計算回路に伝送し、前記輝度計算回路からは、ポリゴン内挿補間座標値、色情報および前記順序値とを同期して出力し、前記内挿補間点のｘ、ｙ座標値をアドレスとして、前記平面バッファを読み出し、外郭線フラグがある場合には、前記輝度計算回路から出力した順序値に一致するポリゴン外郭線情報を、前記情報バッファから検出して、前記輝度計算回路からの前記色情報を該当する情報バッファの外郭線情報に付加記憶する手段をもつポリゴン・シルエットラインアンチエイリアス回路。
【請求項８】
請求項１から７までに記載のポリゴン・シルエットラインアンチエイリアス回路を用いたコンピュータグラフィックス画像装置。
【発明の詳細な説明】
【技術分野】
【００１】  この発明は、コンピュータグラフィックス描画技術に関し、可視投影図形のシルエットラインのジャギー現象を軽減するアンチエイリアス処理の論理回路分野に属する。
【背景技術】
【００２】  ラスター型ディスプレーで生じる表示図形のジャギーあるいはエイリアス（階段状波形）現象を軽減するためのコンピュータグラフィックス技術として、スーパーサンプリング、マルチサンプリングあるいはバウンダリーエッジ法等が知られている。これらは影のシルエットライン上のエイリアスを軽減するためにも利用されている。最も低コスト方式（ハードウエア、ソフトウエア共に）として知られる前記バウンダリーエッジ法では、画素をグリッド空間（正方形）と見なし、このグリッドにポリゴンの外郭線が交差して分割されたグリッド、すなわちポリゴン内外の面積を求め、外部と内部の輝度（色）を、その面積比で比例半分し、画素点の輝度とする。外郭線とグリッドの関係から輝度を決定する手法として、外郭線の傾き、グリッドとの外郭線交差座標値（直線発生器小数点部）、長軸短軸値、始点終点等を用いたものとして特開昭５７−１９１６８７および特開昭５８−５５９８１がある。またポリゴンエッジのアンチエイリアスとして前記直線情報を利用した特開２００２−３５２２５３がある。前記特開２００２−３５２２５３では、描画空間に等しいサイズをもつ２次元バッファを設け、外郭線情報をこのバッファに記憶し、ポリゴン描画後に、外郭線画素とその周辺画素の輝度を合成してシルエットライン上の輝度を決定した。この方法では、画素当たり最大何本の外郭線が交差するか描画前に予測できないため、バッファの画素当たりのワードサイズ（ビットフィールド）を予め決定することはできない。前記特開では、画素当たり複数の外郭線情報を記憶可能とするものの、ある数を超えればマルチ交差フラグを立て、描画後にこのフラグを検出すると、画素の輝度を、面積比で配分する手段から、周辺輝度の平均値を取る手段に切り替えて輝度を決定した。この方法では所定の交差数を超える映像では正確な輝度を決定することは出来ず、一部の図形ではエイリアスが残っていた。
また、影のシルエットラインのスムージングを行うシステムでは、描画点がグリッド内で外郭線の内側（影）か外側（照射）のいずれに位置するかの正確な境界判定が必要となり、平均化では求められない。さらに前記特開では、グリッド内のポリゴン交差面積の計算は、全ての描画が終了した後のビデオ走査段階で行われ、輝度の決定には、一つのグリッド内情報だけでなく、周辺のグリッドの輝度も参照しなければならず回路規模が大きくなった。
一方、ポリゴンレンダリング法では、物体をサーフェイスモデルとしてポリゴン（主として３角形）の集合で表現する。曲面内にあるポリゴンは隣接するポリゴンと辺を共有しており、よって大半のポリゴン辺はシルエットラインではない。投影された物体のポリゴン辺が、シルエットラインか曲面内の共有辺かの判断は、ポリゴン面の法線が視点方向に対して背面となるものが隠面消去されるシステムにおいては、共有辺を持たない辺がシルエットラインとなる。言い換えれば、同一のポリゴン外郭線が２度書きされた場合には、その辺は隣接するポリゴンと接していると見なすことができる。共有辺の検出のために、前記特開では、外郭線情報を２次元バッファに記憶し、これと後書き情報とを比較する方法が示されているが、複数の外郭線の交差情報を保存可能な描画空間分のバッファを設けることはコストの問題が生じる共に、後記【００５】の１−４項までの、より複雑なそれぞれの交差条件に対する個別の解決手段に対応できない。さらに前記特開では直線発生器あるいはＤＤＡ等の内挿補間回路は、整数部と小数点部とに分離された加減算器（いわゆる従来のＤＤＡ構造）で構成しており、この構成法では回路が整数演算処理となり精度範囲に限界があった。【００３】  またポリゴン描画のために通常設けられる従来の直線発生器では、ポリゴンの外郭線が交差する全てのグリッドを特定できない。これは直線発生器からの座標値が、最近傍法により出力値が丸められるためであり、外郭線がグリッドをかすめるような場合は、実際の交差グリッドではなく、丸めにより隣接するグリッドが外郭線通過画素と見なされてしまう。外郭線が交差するグリッドの輝度を、交差面積比から求める限り、前記直線式やＤＤＡから得られる座標値ではなく、シルエットラインが実際交差するグリッドを対象としなければならない。これは最近傍法を計算する従来の直線発生器（補間回路）やＤＤＡでは得ることができない。
【発明の開示】
【発明が解決しようとする課題】
【００４】  本発明は、シルエットラインの検出と、シルエットラインとなるグリッドにおける描画点のポリゴン内外判定を行う手段と、その論理回路化を課題とする。
【課題を解決するための手段】
【００５】  課題を解決する手段を開示するにあたり、本発明が扱うポリゴンの外郭線がグリッドに交差する様態を下記に示す。グリッド内を通過する外郭線がシルエットラインとなるか、隣接ポリゴンとの共有辺であるかは、外郭線情報で判定する。グリッド内の外郭線の交差様態の大半は、１−４項までの状態例とそれらの組み合わせとなる。
１．グリッド内に１辺が交差する場合
２．グリッド内に２辺以上ある場合
２−１．  同一ポリゴンで辺が一致しない場合
２−２．  同一ポリゴンで辺が一致する場合
２−３．  それぞれのポリゴンが異なり且つ辺が一致しない場合
２−４．  それぞれのポリゴンが異なり且つ辺が一致する場合
３．グリッド内に１つの頂点がある場合：
３−１．  左右それぞれのエッジの接続による頂点（始点／終点Ｖ字型）
３−２．  左右いずれか一方の辺による頂点（鈍角Ｖ字型）
３−３．  左右それぞれの辺が同一のグリッド交差点と傾きをもつ場合（完全重複型）
４．同一グリッドに複数のポリゴン頂点が存在する場合
４−１．  それぞれのポリゴンは１辺を他のポリゴンと共有し、他辺のグリッド交差点が異なる場合（開平面）
４−２．  それぞれのポリゴンは１辺を他のポリゴンと共有して閉じている場合（閉平面）
４−３．  すべてのポリゴン辺が同一のグリッド交差点および傾きをもつ（重複）場合
４−４．  それぞれのポリゴン辺がそれぞれ独立して頂点のみを共有している場合
４−５．  ２つ以上のそれぞれ異なるポリゴン頂点がそれぞれ独立して存在する場合【００６】
【００５】の１−４項までの交差様態において、本発明ではシルエットライン情報とシルエットラインの交差グリッドを特定するため、ポリゴン外郭線は左辺・右辺それぞれ同時に補間して水平軸毎に左辺および右辺座標点の順あるいは同時に出力し、次に左右両端点間を水平に補間するものとする。【００７】  本発明では外郭線情報を記憶するバッファ（シルエットラインバッファ）を設け、外郭線の通過を示す外郭線フラグ、また外郭線情報として、外郭線有効フラグ、グリッド交差座標点、交差軸、傾き、左右辺、ｘ軸符号、投影中心からの距離（ｚ値）のそれぞれを記憶する。ここでグリッド交差座標点は従来の方式とは異なり（従来は短軸側のＤＤＡの小数点）、長短軸に関わり無くグリッド辺と交差する座標値とする。交差軸とはポリゴン外郭線がグリッドに侵入交差する軸（ｘあるいはｙ）である。よって交差軸、左右辺、ｘ軸符号および外郭線有効フラグはそれぞれ１ビットで表す。交差座標値および傾きは任意の範囲をもつ実数あるいは浮動小数点形式値（グリッドの単位は１辺を１．０とし、またｙ軸の傾きは常に正、ｘ軸は符号ビットが別途設けられおり、いずれの数値も正の小数点以下である）とする。【００８】  本発明ではシルエットラインバッファとして、従来の全描画空間の大きさをもち画素当たり数十ビットの外郭線情報を記憶する構造ではなく、１画素１ビットからなるバッファ（以下平面バッファという）を設ける。この平面バッファには外郭線が通過する画素に“１”を立て、外郭線以外では“０”とする。また外郭線情報を記憶するバッファとして、外郭線が通過する画素数分のアドレス数からなる１次元バッファを設ける（以下このバッファを情報バッファという）。よって従来の方式とは異なり、外郭線情報を記憶するバッファは全描画空間分の容量を持たない。情報バッファはアドレス毎（ワード単位）には、例えば３本分の外郭線情報が記憶できるものとする。もし同一グリッド内でポリゴン外郭線が３本以上交差し、この記憶域をオーバーフローする場合には、ワード長を拡張してバッファする。このように同一グリッドに多数の外郭線が交差すれば、３本毎に、情報バッファを拡張し、順次外郭線情報を記憶してゆく。拡張バッファ部分も、例えば外郭線情報３本分単位で拡張する。一方、物体名の具なるポリゴンの外郭線がグリッド内に侵入した場合には、その外郭線情報は、それまでの情報バッファのワード内に記憶域が残っていても、前記拡張バッファ部分に切り替えて記憶する。
本発明では情報バッファのアドレス毎（シルエットライン・グリッド毎）に１つの背景バッファ（以下ＢＫバッファという）を設ける。ＢＫバッファにはグリッドの背景となるポリゴンの投影中心からの距離（ｚ値）を記憶する。デフォルトでは無限遠方とする。
描画空間全体の画素数に比べて、シルエットラインの占める画素数は通常数百分の１以下であり、また複数の外郭線やポリゴン頂点が、同一グリッド内で重なる頻度はさらに少ない。また１つのポリゴン（３角形）が１つのグリッド内で交差する数は最大で３本である。隣接するポリゴンが１辺を共有し、その共有した辺はシルエットラインではない（外郭線を共有するポリゴン辺と一致した場合は外郭線有効フラグをリセットする）ため、この場合は２本となる。この結果から本発明では、前記情報バッファのアドレス毎には少なくとも外郭線情報を３本分書き込み可能とし、この本数を超える場合は、拡張されたワードに記憶する。バッファの物理的構造としては、情報バッファのワードを外郭線情報１セット分の記憶容量とし、２セット以降は外郭線情報毎にバッファを動的にリンクしてゆく方法であっても良い。【００９】  本発明では平面バッファから情報バッファへのリンクは、平面バッファの外郭線座標値（ｘ、ｙ）を入力変数とした、例えばハッシュ法で生成した値を間接アドレスとすることで対応つける。よって排他的にアドレッシングできる情報バッファの大きさは、ｍ次関数で除算した場合、２ｍワードとなる。平面バッファのｘ、ｙアドレスが異なるにも関わらず、設定したｍ値が小さくアドレスが競合した場合には、リンクアドレスを生成してバッファワードを拡張する。情報バッファ間のリンクは、前記間接アドレスをデータとして、再度ｍ値の異なる多項式剰余値を用いたアドレスを生成して記憶する動的な方法が考えられるが、情報バッファの拡張ワード数（ビットフィールド長）を制限し（例えば４ワード分までとすると、ワード当たり３本分の外郭線情報として最大１２本の外郭線情報が記憶可能）、情報バッファはアドレス毎にすべて同じビット長としても、２次元配列の構造から比較すれば大きな容量とはならない。【０１０】  外郭線を情報バッファに記憶する際、すでに記憶された外郭線のそれぞれのｚ値を読み出して比較する。シャドウ・アンチエイリアスにおいては光源に最も近い、またポリゴン・アンチエイリアスにおいては、視点に最も近い外郭線情報を情報バッファ・ワード内の第１フィールドに、また次に近い外郭線を第２フィールドに、さらに次に近いものを第３フィールドという順序で記憶する。よって後書きのポリゴンのｚ値が、最も光源あるいは視点に近い場合には、それぞれのフィールドの情報は下位のフィールドに移動させる。一方、共有辺により、バッファの情報が削除された場合には、これとは逆に上位方向に詰める。【０１１】  外郭線のｚ値の比較は、外郭線のｚ値をｚバッファ（それぞれの情報バッファのそれぞれのワード毎にｚ値を記憶するビットフィールド）を設けて記憶し、このｚ値と、後書き外郭線のｚ値との差分計算となるが、隠面消去のためのｚ値は、通常の画像メモリシステムでは、最も視点あるいは光源に近いｚ値を記憶するために１組のバッファを設けており、２番目以降の視点あるいは光源近いｚ値を記憶するバッファは設けていない。本発明では所定の近接数まで（実用的には３−４レベルまでで良い）それぞれのｚバッファを情報バッファ内に用意する。【０１２】  外郭線が、シルエットラインかポリゴン共有辺のいずれ���の判定は、新たにグリッドに交差する外郭線（後書き）と、すでに情報バッファに記憶された外郭線（前書き）のそれぞれの辺の内外部方向が相反し（離れる方向）、且つこの方向以外の外郭線情報が一致した場合は、その外郭線はポリゴン接続境界（辺）でありシルエットラインでないと見なされる。これに対し左右辺が相対する（向かい合う）方向の場合は、全ての外郭線情報が一致していたとしても、描画投影上、２辺が一致したに過ぎないため、この判定で外郭線がポリゴン接続境界とは断定できない。さらに前記判定は同一曲面上にあるポリゴンに関して満足するものであり曲面が異なる場合には、後書き外郭線と前書き外郭線が完全に重畳し、且つ辺方向が相反するといえども接続境界とは断定できない。よって本発明では、曲面が異なるポリゴンの外郭線と判断された場合は、その情報を、異なるバッファ（情報バッファの拡張部）に記憶する。一方、完全に曲面の背後にあるポリゴンの外郭線情報は記憶する必要はない。外郭線交差グリッドが、完全にポリゴンの背面に位置するか否かは、ポリゴンの内部の塗りつぶし処理の段階で始めて判断可能である。よって本発明ではスパン補間処理においても、その補間座標値を用いて平面バッファの外郭線フラグを読出し、フラグが立っているグリッドが検出された場合、スパン補間ｚ値と、情報バッファに記憶されたｚ値を読み出して比較し、スパン補間側が、すべての情報バッファのｚ値よりも視点あるいは光源により近い場合には、塗りつぶし中のポリゴンは全ての映像の前面に位置するものとして、平面バッファのフラグをリセットする。この場合、スパン補間中の外郭線上（左右の始点と終点およびｙ軸のボトムとトップ辺）でのグリッドに関しては、グリッド領域内でのポリゴンとしてはオーバーラップではなく、クロスしている可能性がある。よって本発明では前記【００６】の前提から、スパン補間が外郭線補間の直後に実行されることから、外郭線補間時の識別子（この識別子は本発明では次項記載の順序値）をスパン補間回路に引継ぎ、スパン補間の段階でバッファから外郭線情報を読み出す際、順序値が一致するものがあれば、そのグリッドはスパン補間中のポリゴンの外郭線としてバッファのリセットは行わない。順序値が一致するものがなく、且つバッファの外郭線情報のｚ値がスパン補間のｚ値に対して遠方となる場合には、その外郭線はスパン補間中のポリゴンの背後に位置するものと見なし、遠方となる外郭線情報をリセットする。遠方となる外郭線がグリッド内で唯一の場合には、平面バッファのフラグもまたリセットする。一方、前記処理において、セット・リセット対象グリッドにおいて、スパン補間の順序値が不一致で、平面バッファのフラグがセットされた状態となる場合（スパン補間中のポリゴンは異なるポリゴンの外郭線の遠方に位置する）は、さらにスパン補間のｚ値と、ＢＫバッファのｚ値とも比較する。もしＢＫバッファのｚ値がスパン補間のｚ値よりも視点に近いときは、ＢＫバッファはそのままとし、遠方となる場合は、ＢＫバッファをスパン補間のｚ値に置き換える。【０１３】  ポリゴンがそれぞれ具なるオブジェクトのものであるか否かの判断は、特開２００２−３５２２５３のように、オブジェクト��を外郭線の識別子として外郭線情報の１つとする手段があるが、本発明では、オブジェクト識別子は情報バッファ内の拡張バッファの切り替えに用い、外郭線それぞれの記憶対象としての識別子とはしない。ポリゴンの識別子として本発明は順序値を用い、それぞれの外郭線情報に付加する。順序値とはオブジェクト識別子毎に０から順次、値を更新し適当な値になると再び０から開始するものである。オブジェクトの配置様態は通常、幾何学的に局所性をもっており、１つのグリッドに落ち込むオブジェクトの確立はそれほど高くない（例えば１万オブジェクト程度であれば１４ビットで良い）。順序値を記憶するバッファを、平面バッファではなく情報バッファ上に置く。この結果、順序値記憶のためのバッファ容量は僅かとなる。これらオブジェクト識別子と順序値は、オブジェクト毎のバッファの切り替えと、同一識別子内の順序値の場合には、共有辺条件の有無を検査するためのものとなる。すなわち識別子が同一で、前書き、後書き順序値も同一の場合は、同一グリッド内に同一ポリゴンの２辺が交差することを意味し、カレントな情報バッファに外郭線情報を記憶する。一方、順序値が異なる場合には、情報バッファがオーバーフローしなければカレントなバッファに、オーバーフローすれば情報バッファの次の拡張バッファに外郭線情報を書き込む。カレントなバッファを示すポインタは、情報バッファのワード内に付加するか、ポインタ用レジスタを１つ設ける。順序値が異なる最初のバッファアクセスで、情報バッファのＩＤ（識別子）をカレントバッファ（あるいはレジスタ）に書き込む。情報バッファＩＤとはバッファ番号（０は情報バッファ、１は最初の拡張バッファ、２は次の拡張バッファ等）とワードフィールド番号（０−２まで）である。以降アクセス毎にその順序値とバッファＩＤを同時に比較する。例えばオブジェクトが変わることにより、それまでの順序値が不一致となり、情報バッファの最初のバッファがすでに使用され、第２の（拡張）バッファが未使用であれば、カレントバッファポインタには第２のバッファＩＤと未使用ワードフィールド番号がセットされる。以降は順序値が変わらないか、空き領域が無くならない限り、第２バッファがアクセスされる。
前記順序値のバッファリングに関し、それぞれの情報バッファ毎に順序値をバッファする方法ではなく、情報バッファに１つ記憶する手段も可能である。すなわち、外郭線補間とスパン補間とは常にパイプライン順序で処理されることを前提にすれば順序値記憶バッファを情報バッファのそれぞれに記憶するのでなく、パイプラインレジスタを用いればスパン補間段階での自身のポリゴンの外郭線情報の識別ができ、前項のスパン補間段階での外郭線のリセット判定の処理が可能となる。【０１４】  以上から、本発明では前記【００５】の１−４項までの様態に対して、下記の処理を行う。１項は外郭線情報を情報バッファに記憶する。２−１項は情報バッファの同一ワードに２つの外郭線情報を記憶する。２−２項はポリゴンが視線方向と平行か縮小化され、外郭線が一致する場合であり、２つのそれぞれの外郭線情報を同一バッファ・ワードに記憶する。２−３項ではオブジェクトは同一で順序値の変化はないが、ポリゴンが異なる場合で、２つのそれぞれの外郭線情報を同一バッファ・ワードに記憶する。２−４項はオブジェクトが同一で内外部方向が相反している場合、外郭線は２つのポリゴンの共有辺と見なし、バッファに記憶された前書き外郭線情報と後書き外郭線情報の両者を消去（バッファ内の外郭線フラグをリセット）する。もし消去により情報バッファに外郭線情報がなくなれば平面バッファの外郭線フラグもリセットする。一方、相対する外郭線情報のみで、且つ同一オブジェクトであれば、オブジェクトは凹面を含んでおり、後書き情報をバッファに記憶する。この場合、前記【００８】のバッファ容量例とすれば最大３つまでの外郭線情報が記憶可能となる。この数は任意に増加することができる。２項のケースでオブジェクトが異なる場合は、拡張された情報バッファに新たに外郭線情報を記憶する。またポリゴン塗りつぶし処理（スパン補間）時の隠面消去処理により、バッファに記憶された外郭線がポリゴンの完全背後に位置する場合は、その背後となるすべての外郭線情報を消去する。この結果、バッファ・ワードあるいは拡張バッファが空白となる場合は、空いたワードを詰めるため上位の方向に移動する。３−１および３−２項は左右辺の２つをそれぞれ同一の情報バッファ・ワードに記憶する。３−３項は内外部方向が相対し、その他の外郭線情報が全て一致する場合であり左右辺のそれぞれを記憶する。４−１項では、後書きの外郭線は頂点を当該グリッド内（よって２辺を含む）に持ち、また当該グリッドには、すでに記憶された外郭線があり、その外郭線と後書き外郭線の一方が内外部方向で相反し、その他の外郭線情報は一致するものであれば、一致したその外郭線をバッファから消去し（外郭線フラグのリセット）、また後書き情報の内、一致した辺も記憶しない。後書きが一致しない外郭線情報のみをバッファに新たに記憶する。４−２項は、例えば球体の頂点のように、すべての外郭線の１辺が後書きの外郭線の１辺と同一であり、すべての辺が接続辺である場合であり、描画後にはグリッド内のすべての外郭線がリセットされる。４−３項は、例えば縮小されてポリゴンの各辺が重なり合う場合で、後書き外郭線と、すでに記憶された外郭線の内外方向が相反するものが���ればリセットする。結果としてポリゴンが閉じていなければ２つの相対する外郭線がバッファに残ることになる。４−４項は外郭線の内外方向が相反し他の外郭線情報が一致したもののみをリセットする。４−５項はすべての外郭線が記憶対象となる。但し隠面消去結果ではリセットされるものが含まれる可能性がある。最大の記憶数はバッファの拡張数で決まる。４−６項は４−５項と同様の処理となる。【０１５】  ポリゴンの描画では、ポリゴン頂点に必要な情報（頂点座標値、法線、光源入射角、視線ベクトルなど）を定義し、ポリゴン頂点間を結ぶ外郭線に沿って前記定義情報を補間した後、水平軸と交わる外郭線左右の点間でさらに補間を行うスパン処理をポリゴンのｙ軸上の下から上に行うことでポリゴンの内部のすべての点の頂点定義情報の補間値を得る。外郭線に沿った補間処理においては一般に、外郭線補間回路を構成する直線式あるいはＤＤＡ回路から得られる座標値の整数部を画素座標値と定める。この際、外郭線が４５度の傾きに対してｘ軸側に傾いている場合の直線をｘ軸メジャー（長細）、ｙ軸マイナー（短軸）と言い、ｙ軸に傾いている場合はその逆に呼ぶ。補間はメジャー軸座標値を代入にて求める。この代入座標値は整数値を用いる。（１）式はｘ軸メジャーの場合で（２）式はｙ軸メジャーの場合の直線式を示す。直線の始点と終点をそれぞれ（ｘ０，ｙ０）と（ｘ１，ｙ１）とする。（１）式でＸｉは直線の始点（ｘ０）から終点までのグリッド間距離を代入してｙ座標値を求める。（１）および（２）式のＹｉおよびＸｉは整数値、またＹｆおよびＸｆはそれぞれ小数点値である。この結果得られた（Ｘｉ，Ｙｉ）は画素座標点であり、すなわち直線は、（Ｘｉ，Ｙｉ）の整数値をグリッド原点としてグリッド内を通過する。
Ｙｉ＋Ｙｆ＝｛（ｙ１−ｙ０）／（ｘ１−ｘ０）｝（Ｘｉ−ｘ０）＋ｙ０      （１）
Ｘｉ＋Ｘｆ＝｛（ｘ１−ｘ０）／（ｙ１−ｙ０）｝（Ｙｉ−ｙ０）＋ｘ０      （２）
最近傍法を用いれば、例えば（１）式において、直線の小数点値Ｙｆが１＞Ｙｆ≧０．５となる場合では四捨五入により（Ｘｉ，Ｙｉ＋１）が画素座標点となる。すなわち従来のＤＤＡは（１）式に０．５を丸め加算し、左辺の整数値のみを用いた。この決定方式では直線が（Ｘｉ，Ｙｉ）グリッドを交差するにもかかわらず、一部の交差グリッドは通過点と見なされない場合が生じる。この結果、直線式やＤＤＡから得られる座標点は交差する全てのグリッドを含まない。一方、グリッドを交差する直線を境界としてポリゴン内外の面積比を求めるアンチエイリアスやソフトシャドウでは、外郭線が通過するすべてのグリッド座標とその面積比を求める必要がある。【０１６】  本発明では、ポリゴン塗りつぶしのための外郭線補間回路において、前記の従来方式とは異なり０．５を加算しないで、整数部と小数点部をそれぞれ求め、グリッド座標点は整数部（よって本発明では、座標点のまるめは四捨五入ではなく、切捨て）とし、長短軸、傾きおよび小数点部の値から交差条件を求め、全てのグリッドを検出する。この判定例として本発明では表１のアルゴリズムを用いてグリッド点を決定できる。
【表１】
2007141196.tif 000003
表１において、Ｙｆはｙ軸の小数点部、Ｘｆはｘ軸小数点部、ΔＳはｘ軸メジャーの場合は（ｙ１−ｙ０）／（ｘ１−ｘ０）、ｙ軸メジャーの場合は（ｘ１−ｘ０）／（ｙ１−ｙ０）となる。グリッド点は本発明の、外郭線が交差するグリッド座標を示し、一方、ＤＤＡ画素点は最近傍法における小数点部が丸められた座標値であり、これが従来のポリゴンの塗りつぶしに用いる座標値である。【０１７】  ポリゴン塗りつぶし処理において、本発明と、従来の直線式やＤＤＡと具なる点は本発明では表１のグリッド点を画素座標値として出力することである。この結果、例えばｘ軸メジャーにおいて、直線式にｘ軸座標値を代入すると、出力座標点は１点だけでなく、条件により２点すなわちｘ軸メジャーにおいては、（Ｘｉ，Ｙｉ）と（Ｘｉ，Ｙｉ＋１）を通過グリッド点となる。【０１８】  グリッド内の描画点（補間値の小数点部。以下サンプリング点と言う）が、シルエットラインバッファに記憶された情報から、ポリゴンの内部か外部かの判定を行うことは、影の描画に必要である。この場合、第１パスでは光源系座標でシルエットラインバッファに外郭線情報を記憶し、第２パスで、視点系座標値で前記（１）あるいは（２）式で補間された描画点を光源系座標値に変換し、この変換座標値を第１パスで求めたシルエットラインバッファを構成する情報バッファの外郭線情報を用いて検証を行う。前記サンプリング点は影の処理では、光源系座標に変換された描画座標値を示す。サンプリング点を外郭線情報から得られた直線式にそれぞれ代入し、その値とサンプリング点とを差分し、左右辺のフラグを基に符号でサンプリング点の内外判定を行う。その手順は下記となる。
１．サンプリング点が、すべての情報バッファに記憶された外郭線（ポリゴン）の外側にあり、またＢＫバッファのｚ値とサンプリング点のｚ値を比較して、サンプリング点がより光源あるいは視点に近い場合は領域外（影判定の場合は照射点）、一方、サンプリング点がＢＫバッファよりも遠方であれば背後（影判定の場合は影）として判定終了。
２．サンプリング点がいずれかの情報バッファ外郭線の領域内で、またｚ値の比較結果、遠方にある場合は背後（影）となる。
３．サンプリング点が、あるポリゴンの内部となるものの、光源に近く、それ以上の上位のバッファの全ての記憶情報に対しては領域外である場合は領域外（照射点）となる。【０１９】  表２はサンプリング点と外郭線内外の関係表である。ポリゴンの内外判定は、１例として外郭線情報から得た直線式にサンプリング点を代入し、その結果値とサンプリング点とを差分し、符号で判断する。表２においてＸｊおよびＹｊはそれぞれサンプリング点（Ｘｉ，Ｙｉ）を前記（１）および（２）式に代入して得た座標値である。Ｉｎｓｉｄｅ  ＲｉｇｈｔおよびＬｅｆｔはポリゴンの内部側がそれぞれ右および左を表す。
【表２】
2007141196.tif 000004
【０２０】  影のシルエットラインのアンチエイリアスと、ポリゴン・バウンダリーエッジ・アンチエイリアスは前記【００７】から【０１６】と同じ処理で実現できる。それぞれが異なる点は、前者が内挿点のポリゴンの内外領域判定であるのに対して、後者はグリッド内に占めるそれぞれのポリゴン面積に比例した輝度合成を行う点である。【０２１】  また影は２パス方式であるのに対しバンダリーエッジアンチエイリアスでは、１パス方式であり、視点系座標描画時に外郭線情報を記憶し、これをポリゴン描画毎か、あるいは描画後に輝度合成を行う点でそれぞれ異なる。これらアンチエイリアス回路はコンピュータグラフィックスプロセッサや画像処理装置の基本機能として、ポリゴン内挿補間や輝度計算回路と組み合わせることによって高品質の画像を得ることができる。
【発明の効果】
【０２２】  本発明により、より自然に近い現実感のある光反射効果のある映像の描画が実時間で可能となる。
【発明を実施するための最良の形態】
【０２３】  本発明の技術はＬＳＩ、プログラマブル論理回路等への実装あるいはＩＰ（Ｉｎｔｅｌｌｉｇｅｎｔ  Ｐｒｏｐｅｒｔｙ）の形態で実施され、コンピュータグラフィックスプロセッサや画像処理装置に応用される。
【実施例】
【０２４】  図１に本発明に関わるグリッドと外郭線の交差例を示す。図１の（１）は【００５】の１項の関係に相当する。（２）および（３）はそれぞれ【００５】の２−１および２−２に対応する。図中での破線は他のポリゴン辺との重なりを示す。【００５】の２−３および２−４も図としては（２）と（３）の関係となる。（４）は３つの外郭線が交差する関係を示す。（５）および（６）はそれぞれ【００５】の３−１と３−２に相当する。また（７）は【００５】の３−３に相当する。（８）および（９）はそれぞれ【００５】の４−１および４−２に相当する。また（１０）と（１１）はそれぞれ【００５】の４−４と４−５に対応する。また図１のＢｕｆ１に示す複数の、オブジェクトが異なる（図例では３種類を示し、それぞれ実線、破線、鎖線で表示）外郭線が交差する場合には、本発明ではＢｕｆ２には実線となるポリゴンを、Ｂｕｆ２には破線のポリゴン外郭線を、またＢｕｆ４には鎖線のポリゴン外郭線のそれぞれの情報を分離して記憶する。図でＢｕｆは情報バッファとその拡張バッファを意味する。１つの情報バッファおよびその拡張バッファには同一識別子のポリゴン外郭線情報であれば、１例として３組まで記憶する。【０２５】  図２は本発明に関する外郭線が通過するグリッド位置の例を示す。実線で示す外郭線がグリッドを通過する場合、丸め補正を行う従来のＤＤＡでは黒丸のグリッドが外郭線画素となっていた。しかし図２の（１）に示すように外郭締は破線丸のグリッド内も通過している。よって本発明では図中（１）の場合には黒丸および破線丸のそれぞれが対象画素（外郭線交差グリッド）となる。一方図中の（２）では右２画素（黒丸）に関して外郭線は交差していないが、丸め補正によると一段上の黒丸の画素が有効となる。本発明ではシルエットラインバッファ（平面バッファ）には外郭線が通過しない右２画素の黒丸グリッドにはフラグを立てず、下段（破線丸）にフラグを立てる。さらに図中の（３）ではＤＤＡが示す画素点（黒丸）と外郭線が通過するグリッド（破線丸）が全て具なる例を示す。シルエットラインバッファには外郭線交差画素点（破線丸）のみにフラグを立て、前記同様外郭線の通過しない黒丸グリッドはシルエットラインとしての認識を行わない。【０２６】  図３は本発明に関わるシルエットライン情報を記憶する回路を示す。ポリゴンの頂点情報はポリゴン外郭線補間回路３０に逐次与えられ、前記補間回路３０では頂点間を結ぶ外郭線に沿って頂点情報を線形に補間する。補間回路３０では、頂点座標値の内、ｘ、ｙ座標値に関しては前記（１）あるいは（２）式に基づきｘ、ｙをスパン補間回路３１、マルチプレクサ３２および３３、に出力する。（１）および（２）式に表記していないｚ座標値は、ｘ、ｙのうち長軸座標を直線式の代入値として補間回路３０で求めるものとする。すなわちｚ座標の直線式は、ｘ座標が長軸の場合は（１）式のｙ座標がｚ座標値として表記される。影のシルエットラインを生成するシステムではｘ、ｙ、ｚ座標値は光源系（光源を投影中心と見なした座標系）で定義する。補間回路３０では、ポリゴンの左右辺の外郭線補間値を同時平行あるいは交互に求めるため、２回路あるいは１回路を交互に切り替える回路構成となっている。左右の外郭線補間値は次段のスパン補間回路３１に与えられ、スパン補間回路３１では外郭線左右の座標値を端点として、さらにスパン方向に補間して、ポリゴン水平軸上の座標値を得る。
外郭線補間回路３０からは整数座標値だけでなく、左右辺の外郭線それぞれの傾き、小数点座標値、左右辺情報、長短軸情報のそれぞれが補間演算の歩進に合わせて出力される。補間回路３０および３１で求めたｚ値はそれぞれマルチプレクサ３３を通してｚ値比較回路３６に加えられる。マルチプレクサ３３は、ｚ値を補間回路３０および３１の出力時点毎に切り替えてｚ値比較回路３６に入力するためである。このｚ値をソースｚ値と呼ぶ。ｚ値比較回路３６では、前記ソースｚ値と情報バッファ３７に記憶されたｚ値（これをデスティネーションｚ値と呼ぶ）とを比較する。もしデスティネーションｚ値が光源に近ければ情報バッファ３７にはそれを残し、遠ければソースｚ値に置き換える。【０２７】  情報バッファからｚ値の読出しアドレスの生成を行うのがアドレス制御回路３８である。補間回路３０および３１から出力されたｘ、ｙ座標値はマルチプレクサ３２で選択した後、アドレス発生器３４および平面バッファ３５に入力する。ｘ、ｙ座標値は全ての画素分を含む２次元配列の平面バッファ３５には直接加わるが、情報バッファ３７には、アドレス発生器３４にて、ｘ、ｙ座標値を多項式除算した剰余値をアドレス制御回路３８にて物理アドレスに変換した後、アドレスとして与える。
平面バッファ３５から外郭線フラグを読み出し、フラグが立っていれば、そのｘ、ｙアドレスを用いたアドレス制御回路３８からのアドレスが示す情報バッファおよびその拡張バッファに記憶されたｚ値をそれぞれ読出し、これらｚ値をデスティネーションｚ値として、前記ソースｚ値と比較回路３６で比較する。比較結果はアドレス制御回路３８にて、情報バッファ３７からの情報（使用中のバッファを示すフラグなど）および外郭線補間回路３０からの情報と合わせて、空きバッファの検出やｚ値比較により隠面消去処理による削除によって生じた外郭線情報の入れ替え等を行うために用いる。
以上から外郭線フラグのための平面バッファ３５と、情報バッファ３７にはすべての補間が終了した時点で、シルエットラインとなる外郭線情報のみが記憶される。【０２８】  図４には本発明のシルエットライン処理全体図（影の場合は第２パス）を示す。外郭線４０およびスパン４１補間回路において、ポリゴン頂点に定義された情報のポリゴン内部のすべての点での補間値を求める。影の処理の場合、座標値は視点座標で補間されており、座標変換回路４２において、光源系座標値に変換する（視点座標系シルエットランのアンチエイリアスでは回路４２は使用されない）。頂点情報として光源系座標値が定義されている場合は、座標変換回路４２はなくても良い。一方、座標値以外の補間された頂点定義情報は補間毎にシェーダ４３に加わり、シェーダではそれら補間値から補間点の輝度を決定する。座標変換回路４２から出力する光源系座標値はシルエットラインバッファ４４に与えられる。シルエットラインバッファは外郭線フラグを記憶した平面バッファ（図１の３５）および情報バッファ（図１の３７）とその拡張バッファで構成する。座標変換回路４２において変換された座標値、さらにその座標値から得た間接アドレスのそれぞれを用いてシルエットラインバッファ４４内の平面バッファを読出し、外郭線フラグがなければシルエット処理を行わず、一方、外郭線フラグがある場合には、前記変換座標値は図１に示したアドレス発生器３４を経て、さらに情報バッファのすべての対象バッファを読出し、補間座標値と、記憶された外郭線情報から得られるグリッド内領域情報を用いて、境界領域判定回路４５にて、補間座標値が、グリッドに交差するポリゴン外郭線の内外部のいずれに位置するのかを判定する。ポリゴン内部の場合には、ｚ値を比較し、そのポリゴンよりも遠方に位置するか否かも判定する。判定の結果、ポリゴンの後方に位置すると決定された場合には、補間点は影と見なしてシェーダ４３によって得られた輝度を減衰するためにスケーラ回路４６に所定の値を与え、乗算して輝度を下げ、この結果を画素の輝度として画像メモリ４７に記憶する。【０２９】  図５は図４に示した本発明の境界領域判定回路４５の詳細図を示す。ポリゴンの内挿補間座標値は図４の座標変換回路４２において光源系座標値に変換し、図５のｘｌ、ｙｌ、ｚｌとして、その内のｘｌ、ｙｌはシルエットラインバッファ５０の平面バッファに加わり、内挿点が外郭線グリッドか否かの判定のためフラグＦが読み出されＡＮＤ回路５４に出力する。一方、ｚｌ値はｚ比較回路５３にて、情報バッファにあるｚ値と比較する。座標値ｘｌｙｌから情報バッファのアドレス生成は図３のアドレス発生器３４で行われ、内挿点が外郭線グリッドとなる場合には、外郭線情報を読み出す。外郭線情報の内、ｚ値（図中のｚｄ）は外郭線分の数があり、逐次読み出しｚｌと比較を行う。比較結果はＳのバスでＡＮＤ回路５４に与える。また外郭線情報の内、外郭線の傾き、小数点値等の情報はＥのバスで直線発生器５１に加わり、直線式にｘｌ、ｙｌを代入して得た値ｘｉｙｉと、ｘｌ、ｙｌとを符号判定回路５２にて差分し、その符号と左右辺情報とから内挿点ｘｌ，ｙｌがポリゴンの内外かを判定する。判定値ＤはＡＮＤ��路５４に与え、前記ｚ値の比較結果、および外郭線フラグとの条件から、内挿点がグリッド内においてポリゴンの光源寄りかポリゴンの背後かを決定する。
複数の外郭線が交差するグリッドでは情報バッファ５０に記憶された外郭線情報を逐次あるいは同時に読出し、ｚ比較器５３で逐次あるいは比較器を複数実装して同時に比較する。読み出されたｚｄとｚｌの比較結果と、そのポリゴンに対応する外郭線の内外値との関係では、内挿点が光源寄りにある場合はポリゴンの内外の条件に関わらず、内挿点は照射点の可能性がある。一方、後方にある場合は、ポリゴン外部に位置する場合にのみ照射点の可能性がある。内挿点がポリゴン後方に位置し、且つポリゴン内部に位置する場合には影となり、それ以上の外郭線が記憶されていても判定処理は不要である。可能性有りと判断されるかぎり、記憶された外郭線情報を逐次あるいは同時に前記条件で判定し、内挿点の位置がすべてのポリゴンの外部あるいはポリゴン内部の場合で、そのポリゴンに対して光源寄りと判断された場合にＡＮＤ回路５４では照射条件を満たすものとする。照射点となる場合は、ＩＮ／ＯＵＴ信号により境界領域判定回路から図４のスケーラ４６へ与えるスケール値は１となり、輝度の減衰はされない。【０３０】  図６は本発明の外郭線情報を記憶するバッファ構造を示す。平面バッファ６０はｘ、ｙの２次元配列からなり、外郭線通過画素（グリッド）に１ビットのフラグを記憶する。また影の処理では第２パスでそれぞれのポリゴンを描画するプロセスでポリゴンの内挿点を第１パスの座標系に座標変換してｘｌ，ｙｌを得た場合、このアドレスで平面バッファ６０を読出し、読出し点（図中の黒丸点）に外郭線フラグが立っている場合、その点のアドレスｘｌ、ｙｌはアドレス発生器６１でｘｌ、ｙｌを入力データとする多項式除算を行い、剰余値を変換後のアドレスとする。剰余値ａｉは情報バッファ６２のアドレスとして、そのアドレス位置に記憶される有効ビットの立っているバッファ（情報バッファとその拡張バッファのワード）から、外郭線情報を読み出す。情報バッファ６２は１次元構造のメモリでよい。外郭線情報を記憶するこの情報バッファのそれぞれのアドレスに対応するワード構成６３は３つのブロックからなり、一つのブロックには図中に示す外郭線情報が記憶されている。外郭線情報のカッコ内はビット長の１例を示す。これら情報は影の処理では第１パスで求めたものである。視点座標系のシルエットライン描画では視点座標系での外郭線情報が記憶される。有効ビットは該当するブロック内情報が有効であることを示す。情報バッファと拡張バッファのそれぞれの位置関係は、アドレスａｉを基点として、リンクアドレスをさらに生成して行ってもよいが、メモリアクセス時間を最優先とする場合には、情報バッファのそれぞれは同一のアドレスを共有するものとしてもよい。この場合は情報バッファのアドレス当たりのワードビットが増えた構造となる。後者の場合はメモリコストの増加となるため拡張数を適当な数（４あるいは５）までで打ち切ることとが必要となる。また情報バッファには図に示していないが背景バッファがそれぞれの情報バッファのアドレスに対応して１組（ａｉアドレスに一つ）含まれる。ポリゴンの内挿点が外郭線交差グリッドであり、情報バッファのアドレスａｉが決定すると、情報バッファから、有効となる外郭線情報を読出し、これ���図５の境界領域判定回路に与える。【０３１】  前記【０２７】から【０３０】ではポリゴン外郭線情報を影の判定に用いる場合に関するものであるが、シルエットラインのアンチエイリアス処理ではシャドウポリゴン内外の位置判定ではなく、視点系座標におけるグリッド内に含まれるそれぞれのポリゴン面積に対応する輝度の配分となる点で異なっている。また２パスの影の生成とは異なり、視点座標系で描画する際に、その外郭線情報をシルエットラインバッファに記憶する。また外郭線情報としてそれぞれのポリゴンがもつ輝度あるいは色情報を図６の情報バッファのワードに追加記憶する。すなわちアンチエイリアスでは、光源系座標での描画がない点、図４の境界判定回路４５が面積計算回路に代わる点、および面積計算から輝度合成を行う処理を除いて図３−５の回路と同一の回路で構成できる。面積比率に対する輝度合成は、本発明の外郭線情報をポリゴン毎に情報バッファに記憶する方式では、視点座標系描画中の画素毎に、あるいは描画後いずれも可能である。
【産業上の利用可能性】
【０３２】  本発明の回路をＩＰ（Ｉｎｔｅｌｌｉｇｅｎｔ  Ｐｒｏｐｅｒｔｙ）として、あるいはグラフィックスプロセッサＬＳＩチップに実装することによって映像製作、ＣＧゲーム等のシステムにおいて実時間描画を可能とする。
【図面の簡単な説明】
【０３３】
【図１】  「本発明に関するグリッド内外郭線交差図」
【図２】  「本発明に関する外郭線交差グリッド」
【図３】  「本発明のシルエットライン情報記憶回路」
【図４】  「本発明のシルエットライン処理回路
【図５】  「本発明の境界判定回路」
【図６】  「本発明の外郭線記憶バッファ構造」
【符号の説明】
図１
（１）−（１１）グリッド内外郭線交差例
Ｂｕｆ１−４  外郭線と情報バッファ記憶例
図２
（１）−（３）外郭線通過グリッド例
図３
３０  外郭線補間回路
３１  スパン補間回路
３２  マルチプレクサ
３３  マルチプレクサ
３４  アドレス発生器
３５  平面バッファ
３６  ｚ値比較器
３７  情報バッファ
３８  アドレス制御回路
図４
４０  外郭線補間回路
４１  スパン補間回路
４２  座標変換回路
４３  シェーダ
４４  シルエットラインバッファ
４５  スケーラ
４６  境界領域判定回路
４７  画像メモリ
図５
５０  シルエットラインバッファ
５１  直線生成回路
５２  符号判定回路
５３  ｚ値比較器
５４  ＡＮＤ回路
図６
６０  シルエットライン平面バッファ
６１  アドレス発生器
６２  情報バッファ
６３  情報バッファ・ワード構成図
【図１】
2007141196.tif 000005
【図２】
2007141196.tif 000006
【図３】
2007141196.tif 000007
【図４】
2007141196.tif 000008
【図５】
2007141196.tif 000009
【図６】
2007141196.tif 000010