JP2963102B2 - アンチアリアスを有するコンピュータグラフィック優先システム - Google Patents

アンチアリアスを有するコンピュータグラフィック優先システム

Info

Publication number
JP2963102B2
JP2963102B2 JP63311800A JP31180088A JP2963102B2 JP 2963102 B2 JP2963102 B2 JP 2963102B2 JP 63311800 A JP63311800 A JP 63311800A JP 31180088 A JP31180088 A JP 31180088A JP 2963102 B2 JP2963102 B2 JP 2963102B2
Authority
JP
Japan
Prior art keywords
polygon
primitive
pixel
primitives
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP63311800A
Other languages
English (en)
Other versions
JPH01191276A (ja
Inventor
ゲイリー・エス・ワトキンス
グレン・エー・エッカート
ラッセル・エー・ブラウン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
EBANSU ANDO SAZAARANDO KONPYUUTAA CORP
Original Assignee
EBANSU ANDO SAZAARANDO KONPYUUTAA CORP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by EBANSU ANDO SAZAARANDO KONPYUUTAA CORP filed Critical EBANSU ANDO SAZAARANDO KONPYUUTAA CORP
Publication of JPH01191276A publication Critical patent/JPH01191276A/ja
Application granted granted Critical
Publication of JP2963102B2 publication Critical patent/JP2963102B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/503Blending, e.g. for anti-aliasing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Image Generation (AREA)

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、アンチアリアスを有するコンピュータグラ
フィック優先システムに関する。
[従来技術] ビデオゲームは、最も良く知られたコンピュータグラ
フィックシステムの形態と考えられる。しかしながら、
技術的分野は学習、設計、モデリング等を実行するよう
な非常に多数の他の形態のディスプレイ装置に関連す
る。典型的にこれらのシステムは、観察者にウインドウ
を通して大画面で見ているという印象を与える。本質的
にコンピュータグラフィックシステムは対象データから
映像内容を選択し、それをウインドウに関して移動して
それを論理画像として表示する。
あるコンピュータグラフィック技術は、表示用の対象
物を構成するためにグレイまたはカラーの基本的な実線
領域を限定する多角形(直線エッジによって限定された
閉じられた輪郭)から画像を形成する。通常の実行は、
このような多角形を視点に関して移動し、ディスプレイ
の個別の画素(ピクセル)を決定するためにそれらを走
査してから個別のピクセルに対するデータを処理する。
本質的に走査変換および多角形の処理は、多角形範囲内
の見えるピクセルを全て発見し、各ピクセルに対する色
および輝度を適切に設定することによってディスプレイ
を生成することを含む。伝統的なディスプレイにおい
て、数百のピクセルが画像を構成するために使用され
る。
典型的に画像のディスプレイに対する準備である映像
データは、ピクセルの長方形アレイを表す2進デジタル
数のパターンとして蓄積される。ディスプレイのため
に、ピクセルデータはピクセルをラスターパターンすな
わちそれぞれが個々のピクセルの行から成る連続的な走
査ラインでディスプレイする陰極線管に蓄積装置から供
給されてもよい。ラスターパターンはテレビジョンディ
スプレイにおいて最も一般的なものである。
上記の技術を使用することによって、現在のコンピュ
ータグラフィックシステムは実際的な画像を平面的多角
形のプリミティブから提供することができる。上記のよ
うに、このような画像の発生はディスプレイに現れるこ
れらの多角形の部分を選択することを含む。それに関し
て、複数の不可視面(隠れた面)およびクリッピング技
術が隠れた面および画面の外側の面を取り除くために広
く使用されている。視界の外側の対象をクリップする1
つのシステムは、Ivan E.Sutherland氏他による米国特
許第3,816,726号明細書(1974年6月11日に特許にされ
た)に記載されている。
不可視面を処理する従来技術のいくつかは、John E.W
arnock氏による米国特許第3,602,726号明細書(1971年
8月31日に特許にされた)に記載されている。不可視面
技術は本質的に多角形を妨害する優先度を決定する。例
えば2つの離された多角形が視線と交差する場合、視点
に最も近い多角形が優先度を与えられるため内容に含ま
れているピクセルに対するデータを提供する。一般的
に、本発明のシステムは特定の位置、例えばピクセルま
たはサブピクセルの競争的な多角形間において優先度を
識別する。
[発明の解決すべき課題] 1対の多角形の優先度の決定において、2つの多角形
の平面が交わるエッジが決定される。もちろん、このよ
うなエッジはディスプレイに現れて、望ましくないのこ
ぎり歯状または階段状を呈する。このようなエッジはラ
スターディスプレイでは普通のものであり、テレビジョ
ン画像において良く知られている。このような欠点は一
般的に“アリアシング”または“ラスタリング”と呼ば
れている。それらは、エッジが通過するピクセルをフィ
ルタすることによって取り除かれることができる。本発
明はディスプレイを改善するのような技術を含む。
[課題解決のための手段] 要約すれば、高品質の画像は以下を含むラスター走査
技術によって生成されることが可能である;(1)不可
視面を消去する個々のピクセルを限定するように視点に
関する映像源多角形の優先準位を決定し、(2)階段状
の境目を減少するために画像多角形間のエッジ上のピク
セルをフィルタし、(3)個々の可視多角形を減少する
ために画像多角形に滑らかな陰影を付ける。これら技術
はそれぞれ従来技術で良く知られており、その実行のた
めの装置は広く使用されている。本発明は主に(1)優
先準位の決定、および(2)フィルタの技術に関する。
概して、本発明のシステムは例えばピクセルまたはサ
ブピクセルなどのディスプレイ中の個々の領域に対する
競合する多角形間の優先度を識別するための処理または
装置として実現されている。優先度は2つの多角形の平
面が交わるエッジを限定し、エッジをディスプレイスク
リーンの空間に変換してこのようなエッジの傾斜を決定
した後で、符号の値を簡単な試験を行うことによって識
別される。競合的な多角形間の優先度を識別することに
より、ここに記載されたシステムはピクセルデータをフ
ィルタする。したがってシステムはビデオグラフィック
ラスター走査ディスプレイにおける比較的鮮明でシャー
プなエッジを生成する。
[実施例] ここに記載されてた本発明の実施例は単なる一例であ
り、システムの実施例は多様に変形されることが可能で
あることが理解される。しかしながら記載された実施例
は説明のために最良の実施例を提供し、本発明の技術的
範囲を限定する請求項に対する基本形を示すように意図
されている。
第1図において、切頭四角錐体積Vが視点Oに位置さ
れた眼Eによって表される観察者に対する視界空間全体
を示す。一般的にグラフィックディスプレイは、体積V
(全体空間)内において多種の位置関係で存在する対象
物をスクリーン面S上に与えることによって提供され
る。対象物がスクリーン面Sに与えられると、それはピ
クセルの複合2次元アレイに減少される。
ここに記載されているように、代表的な対象物は特に
全体空間において限定されている三角形10および12よう
な多角形形態を取る。対象多角形10および12は全体空間
において3次元x,yおよびzで限定されているが、同様
の三角形が不可視面処理の前に透視空間に形成されなく
てはならないことを留意すべきである。不可視面処理の
間に、特定のエッジが2次元スクリーン面Sに投影さ
れ、その結果これらのエッジは単にx,y平面で表され
る。これらの変換技術は、文献(NewmanおよびSproull,
“Principles of Interactive Computer Graphics",マ
グロウヒル社1979年,339頁)に記載されている。
第1図に示されているように、多角形10および12は全
体空間のz方向に延在し、交差している。伝統的に、多
角形10および12のような多角形はコンピュータグラフィ
ック装置において頂点すなわち三角形の隅または終点を
表示することによって限定されている。多角形10および
12の平面は、限定された頂点により数学的な形態で容易
に利用することができる。このような平面は、競合する
三角形間のような検査するピクセルにおいて重要であ
る。
多角形10および12に関して、多角形10の(頂点14で終
端している)先端は多角形12を貫通して、小さい面積の
三角形16を示す。小さい三角形16の底辺は、頂点20と22
との間に延在して多角形10と12との間のエッジ18を定め
る。以下において詳細に記載されているように、本発明
のシステムは、エッジ18で例示されるようなエッジに沿
って多角形10および12の部分間を効果的に区別する。す
なわち、本発明のシステムは、不可視面を消去してアン
チアリアシングを実行するピクセルの内容を決定する優
先度識別器として有効である。
この点において、不可視面を消去する技術に関するい
くつかの背景的な考案が想定される。いくつかのこのよ
うな技術は前記参考文献に記載されている。いわゆる
“Zバッファ”すなわち深さバッファ技術は、個別の画
素(ピクセル)へ多角形を切断する。各多角形が処理さ
れるときに、その各ピクセルはまえに処理された多角形
よりもさらに接近するか、もしくはより離れるように定
められる。それぞれの場合において、近接したピクセル
データが保存される分だけ、離れたものが除外される。
最終的に、各ピクセル用のデータが処理の終わりに眼に
最も近い多角形面を表すように選別される。したがって
不可視面が消去される。深さバッファ技術は過去におい
て多種の装置で使用されてきたが、既知の構造はのこぎ
り歯状すなわち別名エッジを取り除くことにおいて有効
ではない。例えば従来の深さバッファ技術を使用するこ
とにより、交差エッジ18および多角形10および12の全て
の境界エッジ(第1図)が望ましくない階段状またはの
こぎり歯状の境界線として現れる。反対に、本発明のシ
ステムは競合する多角形間の優先度を識別するだけでな
く、全ての境界および交差エッジのアンチアリアシング
を行う。
本発明のシステムをさらに詳細に検討すると、第2図
において多角形10および12の拡大図が示されている。ピ
ラミッド体積Vが短縮され、断片的に表されていること
に留意すべきである。しかしながらスクリーン面Sは多
角形10および12に関して図示されている。比率および寸
法はそれぞれの説明のために犠牲にされていることに注
意すべきである。
上記の説明のように、エッジ18は多角形10および12間
の交差部分を成しており、3次元エッジ18はスクリーン
面S上で2次元エッジ18aに変換されなくてはならな
い。ディスプレイにおいて、エッジ18a(ピクセルによ
り定められる)は、多角形10および12の間において直線
で鮮明な境界を形成することが理想的である。エッジ18
aに隣接した領域において得られるいくつかの可能なピ
クセルを考えてみる。
小さい成分領域30が多角形12の右下角の近くに示され
ている。領域30用の各ピクセル30aはスクリーン面S上
に示されている。多角形12上の領域30の位置から、領域
が多角形10のどの領域とも重複または競合しないことが
明かである。結果的に、多角形12だけがピクセル30aと
対応する。したがって多角形12の輝度およびカラーは全
体的にピクセル30aを制御する。他のピクセルは、予測
できるので明確に示されていない。
要素領域32が、多角形12を貫通し多角形12上の領域を
隠している小さい三角形16中に示されている。要素領域
32はスクリーン面S上の整列されたピクセル32aによっ
てディスプレイ中に映写される。
多角形10が不透明を示すとき、ピクセル32aは多角形1
0のカラーおよび輝度だけをディスプレイするべきであ
る。結果として、多角形12の隠された不可視面が取り除
かれる。関係をさらに理解するために第3図を参照する
と、エッジ18に垂直な多角形10と12との交差図が示され
ている。第3図において、要素領域32は多角形12上の整
列した陰影領域32bの正面に直接存在する。結果的にデ
ィスプレイにおいて、多角形12上の陰影領域32bは取り
除かれて、一方要素領域32はディスプレイされる。
(エッジ18の上方の)2つの領域32および32bは、多
角形10および12の平面間において距離+ΔZだけ離れて
いることに留意すべさである。エッジ18の上方において
の正符号の+ΔZが要素領域32に有利なピクセル優先度
を識別することに注意すべきである。
次に、ピクセル34aで表される多角形12上の要素領域3
4(第2図)を検討する。領域34は多角形10上の領域34b
(第3図)を妨害する。したがって(領域34を含む)多
角形12は、カラーおよび輝度によってピクセル34aを制
御する。この例において、エッジ18の下方において(第
3図)負の符号のオフセット−ΔZが要素領域34に有利
な優先度を識別することに留意すべきである。
上記から、1対の交差多角形間における優先度はエッ
ジ18に関するオフセットΔZの符号だけに基いて識別さ
れることが明かである。本発明のシステムは、優先度を
識別するために符号を使用する基準としてエッジ18を定
めることを含む。
次に本発明のシステムは、エッジ18と交差する要素領
域36(第2図)に対して使用されてもよいことを理解す
ることが重要である。このような領域はサブピクセル
(ピクセル領域)に再分類することによって処理され
る。すなわちエッジ18a上のピクセル36aがさらにサブピ
クセルに分割されて、アンチアリアスディスプレイを形
成するためにそれに応じて効果的にフィルタされる。ピ
クセルをサブピクセルに分割してこのようなサブピクセ
ルを多角形に個別に与えることによって、人の目には滑
らかな境界として現れるエッジが表示される。もちろん
エッジのスクリーン位置は予め分らないので、全てのピ
クセルがスクリーン上の全ての位置で発生するようなエ
ッジのアンチアリアシングを可能にするためにサブピク
セルに分割される。
第4図はかなり拡大された第2図の単一ピクセル36a
を示す。説明のために、ピクセル36aは9個のサブピク
セル40に分割された正方形で表される。上記に示される
ように、説明を簡単にするために理想的な形状は比率を
無視して用いられる。サブピクセルは左上のサブピクセ
ルから始まって右下のサブピクセルで終了するゼロから
8までの番号を付けられていることに留意すべきであ
る。この規則は後に使用されるものである。
図示されているように、ピクセル36aはエッジ18aによ
って分割される。アンチアリアシングはピクセル36aで
行われ、エッジ18aが滑らかな直線の境界として現れる
ように個々のサブピクセル40を競合する多角形の1つに
与えることによって達成される。アンチアリアシングを
達成するためにサブピクセルを使用することは従来技術
においてよく知られており、ローレン・カーペンターに
よる文献(コンピュータグラフィックの中の“The A−B
uffer,an Antialiased Hidden Surface Method")に記
載されている。エッジ18aはアンチアリアシングにとっ
て非常に重要であるため、エッジ18aの式を定める本発
明の技術は初め数学的に処理される。
ディスプレイ用の通常のコンピュータグラフィック技
術によると、多角形10および12(第2図)が透視空間に
変換される。したがって多角形10および12に対する透視
空間における平面の式は以下の形状を取る; (1a) a1x+b1y+c1z+d1=0 (1b) a2x+b2y+c2z+d2=0 2つの平面が交差した線を計算し、それをスクリーン
空間、すなわちスクリーン面SのXY平面上に投影する
と、以下の式が生じる; (2a)(c2a1−c1a2)x+(c2b1−c1b2)y+(c2d1
c1d2)=0 上記の式(2a)は、都合上以下のように簡単にされ
る; (2b) Ax+By+C=0 ここにおいて、A,B およびCは前の式(2a)から定め
られる。
式(2b)は、エッジ18a(第2図)がもっと水平であ
る(水平線から45°より小さくずれる)か、またはもっ
と垂直である(水平線から45°より大きくずれる)よう
に限定される。式(2b)の続いている点の傾斜形状の検
査から理解できる通り、Bの絶対値が式(2b)において
Aの絶対値を越るときに、より水平なエッジが定められ
る; (3) y=−(A/B)x−(C/B) 式(3)を検討することによって、A/Bとして表され
たエッジの傾斜の大きさが1より小さいためBの絶対値
がAの絶対値を越えるとき、エッジがより水平になるこ
とが分るであろう。
続いている点の傾斜形状の式(2b)を検討することに
より理解できるように、Aの絶対値がBの絶対値を越え
るときに、より垂直なエッジが定められる; (4) x=−(B/A)y−(C/A) 式(4)を検討することにより、B/Aとして表された
エッジの傾斜の大きさは1より小さいため、Aの絶対値
がBの絶対値を越えるときに、エッジはより垂直になる
ことが理解されるであろう。
多少要約すると、式(2b)により定められるエッジ18
aはスクリーン面Sを2つの区域に分割する。一方の区
域(上方)において、多角形10は多角形12の正面にあ
る。他方の区域(下方)において、多角形12は多角形10
の正面にある。本システムの実効性は、どちらの多角形
がエッジ18aのそれぞれの側で前にあるかを決定する方
法にある。その決定方法の詳細を論じる前に、第1図に
示されたスクリーン調整システムの通常型を考えてみ
る。特に眼Eから、xは右側に増加し、yは上方に増加
し、かつZは眼Eから遠ざかる方向に増加する。このよ
うな通常型により、式(1a)および(1b)は次のように
示される; (5a)z1=(−1/c1)(a1x+b1y+d1),および (5b)z2=(−1/c2)(a2x+b2y+d2) これらの式を使用して、多角形10および12として示さ
れた(第3図参照)多角形P1とP2との間のz方向の深さ
における差は、以下のように表されてもよい; (6a)ΔZ=z2−z1,または (6b)ΔZ=(−1/c2)(a2x+b2y+d2)−(−1/
c1)(a1x+b1y+d1) ここでzlおよびz2はそれぞれ多角形P1およびP2のz方向
の深さを表す。
式(6b)の両側がclとc2で乗算された場合に式は次の
ようになる; (6c) c1 c2ΔZ=Ax+By+C 効果的に上記の式(6c)は、多角形10または12のどち
らがエッジ18aの一つの側で他方の前にあるかを決定す
るために交差エッジ18a(第2図)を使用する。多角形
優先度を識別するこの決定が以下に説明されているよう
に行われ、また3つの異なる多角形配列の場合の解析お
よび応用を含み、その第1の場合は交差エッジを含まな
い。
優先度を識別する第1の場合は、多角形が交差エッジ
のない(図示されていない)結果となる平行のときに発
生する。多角形が平行な平面にただ存在するだけであ
り、したがって交差しないので、このような配列は容易
に視覚化される。結果として、式(6c)におけるAおよ
びBはゼロになり、第1の場合に対して式(6a)は次の
ように示される; (7)c1 c2ΔZ=C 上記の式(7)は、c1およびc2の符号が同じならばΔ
Zの符号はCの符号に等しいことを示す。その場合、C
が正のとき、ΔZも正であり多角形P1が第3図に示され
ているように最も前方に位置する。Cが負のときΔZも
負であり、第3図に示されているように多角形P2は最も
前方に位置する。その他の状況として、c1およびc2の符
号が異なるときには、ΔZの符号はCの符号と反対にな
る。この場合、正のCは多角形P2が最も前方に位置する
ことを示し、一方負のCは多角形P1が最も前方に位置す
ることを示す。上記は優先度を識別するために簡単な実
際の表に変形されてもよい。
優先度を有する多角形 c1およびc2の符号は同じか イエス ノー Cの符号(+) P1 P2 (−) P2 P1 Aの絶対値がエッジ18aがさらに垂直であることを示
すBの絶対値よりも大きい場合に発生する第2の場合を
考えてみる。この場合に対して、式(6c)の検討は交差
エッジ18aに沿ってΔZはゼロでなければならないこと
を示す。もし小さいステップが正のx方向にエッジの右
側へ取られるならば、c1c2ΔZはAΔXと同じ符号にな
る。それ故、もしc1およびc2が同じ符号であり、ΔXが
正ならば、ΔZはAの符号によって決定される。すなわ
ちこの場合にAが正ならば、多角形P1はエッジの右側で
多角形P2の前方に位置し、一方多角形P2はエッジの左側
で多角形P1の前方に位置する。上記に示されているよう
に、c1およびc2の符号が異なる場合、試験の極性は逆転
される。したがって2つ以上の実際表は以下のように表
される;エッジの右側に優先度を有する多角形 c1およびc2の符号は同じか イエス ノー Aの符号(+) P1 P2 (−) P2 P1エッジの左側に優先度を有する多角形 c1およびc2の符号は同じか イエス ノー Aの符号(+) P2 P1 (−) P1 P2 Bの絶対値がエッジ18aはより水平であることを示す
Aの絶対値よりも大きい場合に第3の場合が発生する。
この考えは上記において述べられた第2の場合と多少類
似し、正のy方向におけるエッジの上方の小さいステッ
プが解決方法であることが明かである。もし前記と同様
にc1およびc2が同じ符号ならば、正のB値はP1がエッジ
の上方でP2の前方に位置し、P2はエッジの下方でP1の前
方に位置する。前記の説明のように、c1およびc2の符号
が異なる場合には、試験の極性は逆転される。別の場合
と同様に、2つ以上の兵値哀は以下のように第3の場合
に利用することができる;エッジの上方に優先度を有する多角形 c1およびc2の符号は同じか イエス ノー Bの符号(+) P1 P2 (−) P2 P1エッジの下方に優先度を有する多角形 c1およびc2の符号は同じか イエス ノー Bの符号(+) P2 P1 (−) P1 P2 前記のように、特有の要素指示(サブピクセル)に対
して先行する多角形はc1およびc2の符号と、値A,Bおよ
びCの符号にしたがって示される。したがってこの試験
は、ピクセル毎またはサブピクセル毎の多角形優先度の
識別に対する考えを簡単にするものである。上記のよう
に、三角形の多角形が詳細に説明されてきたが、この概
念はディスプレイ映像の構成に使用されるその他のプリ
ミティブに適用されることができる。例えば、その概念
は球体の傾斜した投影である円形に対して適用されても
よい。
上記において説明された技術手段は、多角形が有する
ピクセルを決定するためにそれを走査して変換し、所定
のピクセル内部における多角形によって占められるサブ
ピクセルを計算するための構造を含む。走査変換装置は
従来技術でよく知られており、参照文献(“Principles
of Interactive computer Graphics",229頁)に記載さ
れているように使用される。
本質的に走査変換は、多角形によって占められるピク
セルを定めるためにピクセルのx,y座標および多角形の
境界エッジのスクリーン空間表示を使用する。各ピクセ
ルはこのようにして定められるので、多角形によって占
められるサブピクセルは従来技術においてよく知られて
おり、Eugen Fiume,Alain FournierおよびLarry Rudolp
hによる文献(ComPuter Graphicsにおける“Aせaralle
l Scan Conversion Algorithm with Anti−Aliasing fo
r a General−Purpose Ultracomputer"の146頁)に記載
されているサブピクセル計算装置によって計算される。
このサブピクセル計算もピクセルのx,y座標および多角
形の境界エッジのスクリーン空間表示を使用する。
上記に説明された理想的なフォーマットによると、各
ピクセルは9個のサブピクセルに分割される(第4
図)。したがって通常のディスプレイに対して、100万
個のピクセルそれぞれにおける9個のサブピクセルが蓄
積される必要があり、したがって900万個のサブピクセ
ルを蓄積する必要がある。第5図はマスクメモリおよび
多角形メモリを共に有するこの蓄積構造を示す。
マスクメモリは、それぞれが9個のサブピクセルを蓄
積する100万個のピクセル記録として構成されてサブピ
クセルに関するデータを蓄積する。100万個のピクセル
は、それぞれ1000個のピクセルを有する1000個の行を含
む2次元アレイをスクリーン面S上に形成する。したが
って特定のピクセル記録は、x,y座標すなわちそのピク
セルのx,yアドレスを使用するマスクメモリ内に限定さ
れる。(x,y座標とピクセルのx,yアドレスとは同一であ
る。) 第5図において、単一ピクセルすなわち9個のサブピ
クセルを蓄積するマスクメモリの典型的なピクセル記録
51が示されている。ピクセル記録51は9個のワードを含
む。各ワードは(M0,M1,M2,…M8で示された)マスクビ
ットと(PAP0,PAP1,PAP2,…PAP8で示された)多角形ア
ドレスポインタを調節する。マスクビットは、各サブピ
クセルが多角形に割当てられたかどうかを示す。もしマ
スクビットが“ゼロ”に設定されるならば、サブピクセ
ルは多角形に割当てられない。しかしながらマスクビッ
トが“1"に設定されるならば、サブピクセルは多角形ア
ドレスポインタの内容によって認識される多角形に割当
てられる。すなわち、多角形アドレスポインタは多角形
メモリ52の内部に多角形記録のアドレスを含む。このア
ドレスによって特定される特有の多角形記録は、サブピ
クセルが割当てられる多角形に特有の情報を含む。例え
ば、特定された多角形記録は、式(1)において表され
るような多角形の平面式の係数a,b,cおよびdを含む。
さらに多角形記録は、多角形の頂点と関連したゴーラウ
ド強度のような多角形に適切な影の情報を含んでいても
よい。実際各多角形記録は、多角形すなわち球形、円筒
形、パラメトリック表面等ではないグラフィックプリミ
ティブに特有の情報を含んでいてもよい。また各多角形
記録は、別の多角形記録のものとは異なったグラフィッ
クプリミティブに特有の情報を含んでいてもよい。した
がって種々の多角形記録は異なるタイプのグラフィック
プリミティブを同時に供給してディスプレイできるよう
にこれらの異なるタイプのグラフィックプリミティブの
組合せ全てに特有の情報を含んでいてもよい。類似した
方法において、各多角形記録はゴーラウド(Gouraud)
影づけモデル、すなわちフォング影づけモデルまたは光
線トレーシング影づけモデルとは異なる影づけモデルに
特有の情報を含むこともできる。この方法において、異
なる影づけモデルが同じ画面において形成されてもよ
い。したがって多角形記録に蓄積された情報は極めて一
般的でよい。
第4図およびサブピクセルの番号の付いた通常形の最
初の説明を参照すると、通常形は多角形記録のマスクビ
ットを物理的に変形できることが分る。マスクビットM
0,M1,M2…M8はサブピクセル0,1,2,3,…8にそれぞれ対
応する。サブピクセルのデジタル的な表示は9ビットワ
ードに限定されてもよく、ビットM0はワードの最も左側
のビットであり、ビットM1は右側に続くビットであり、
その他のビットも同様であり、ビットM8はワードの最も
左側のビットである。したがって第5図に示されたマス
クビット、M0,M1,M2,…M8は、010110110の9ビットワー
ドによって表されてもよい。このような9ビットワード
はマスクとして設けられる。
図示されたマスクメモリ50および多角形メモリ52の使
用例が第5図に示されている。マスクビットM0は“ゼ
ロ”に設定され、サブピクセルがどの多角形にも割当て
られないことを示す。マスクビットM1は“1"に設定さ
れ、多角形アドレスポインタPAP1が矢印54で示されるよ
うに多角形メモリ52内の多角形記録PR4のアドレスを含
む。したがって構造は、ピクセルのサブピクセル1が多
角形P4に割当てられたことを示す。同様にマスクビット
M3,M4,M6およびM7は、矢印58,56,57および59によりそれ
ぞれ示されているように多角形アドレスポインタPAP3,P
AP4,PAP6およびPAP7がそれぞれ多角形記録のアドレスPR
9,PR1,PR1およびPR6を含むことを示す。多角形アドレス
ポインタPAP4およびPAP6が共に多角形記録PR1のアドレ
スを含むという事実は、サブピクセル4および6が共に
多角形P1に割当てられていることを示す。
多角形メモリの各多角形記録が、ある特定の多角形に
特有の情報を蓄積することを留意すべきである。ある特
定の多角形に特有の情報はある多角形記録おいてのみ表
されることにも留意すべきである。したがって多角形メ
モリに必要とされる多角形記録の合計数は、不可視面ア
ルゴリズムによって処理される多角形の合計数に等し
い。これに関して、第5図に示された多角形メモリ52は
数千個の多角形を含む複合モデルを処理するために必要
な多角形メモリの非常に小さい一部だけを表している。
第6図は、不可視面アルゴリズムが進行し、情報がマ
スクメモリおよび多角形メモリ中に蓄積される動作シー
ケンスを示す。計算はブロック60て示されるようなマス
クメモリの初期化で始まる。初期化の間中、マスクメモ
リの900万個のマスクビット全てが、サブピクセルはい
ずれの多角形にも割当てられていないことを示すために
“ゼロ”に設定される。次にP1で示された第1の多角形
は、ブロック62で示されるように(変形装置によって)
全体空間から透視空間に変換される。P1の平面式の係数
a,b,cおよびdはブロック64で示されるように多角形メ
モリ52の第1の利用可能な多角形記録に蓄積される。こ
の多角形記録はPR1で示される。
次にP1はP1によって所有されるピクセルを定めるため
に走査変換装置によって走査変換される。このアルゴリ
ズムを実行している間、走査変換はブロック66に示され
ているように一時に1ピクセルづつ行われる。P1に占有
される各ピクセルが走査変扱装置によって決定される
と、そのピクセル内でP1によって占有されるサブピクセ
ルはブロック68により示されるようにサブピクセル計算
装置によって計算される。しかし当該サブピクセルが前
に処理された多角形に割当てられるかどうかを定めるた
めにチェックが行われるまで、これらのサブピクセルは
マスクメモリ50の蓄積中はP1に割当てられなくてもよ
い。したがって当該ピクセルに特有のピクセル記録はブ
ロック70によって示されるようにマスクメモリから読出
される。
当該サブピクセルに対応する各マスクビットは、ひし
形72の中に疑問符で示されるように、それらのいずれか
が前の多角形に割当てられたことを示す“1"に設定され
たかどうかを調べるためにチェックされる。しかしP1
は、マスクビット全てが“ゼロ”に設定される初期化か
ら処理された第1の多角形なので、このチェックは“1"
に設定される当該サブピクセルに対応するマスクビット
がないことを示す。したがって当該サブピクセルに対応
するマスクビットは全て“1"に設定され、これらのマス
クビットと関連した各多角形アドレスポインタ(PAP)
は、P1の平面式の係数が蓄積された多角形記録の多角形
メモリにおけるアドレスであるPR1によって負荷されて
もよい。ブロック74で示されたこの動作は、当該サブピ
クセルが多角形P1によって実際に占有され、それに割当
てられたことを表す。
次に、P1の走査変換が終了したかどうかを決定するた
めにひし形76で示されるような試験が行われる。P1の走
査変換が終了していないならば、P1の走査変換はブロッ
ク66によって示されるように、P1によって占有される次
のピクセルに継続する。P1の走査変換が終了している場
合、ひし形78によって示されるように、さらに多くの多
角形が走査変換されるかどうかを決定するために試験が
実行される。
もっと多くの多角形が走査変換されるべきであるなら
ば、P2で示された次の多角形の処理が始まる。初めに、
P2はブロック62で示されるように変換装置によって全体
空間から透視空間に変換される。P2の平面式の係数a,b,
cおよびdは、ブロック64で示されるように多角形メモ
リ52の次の利用可能な多角形記録に蓄積さる。この多角
形記録はPR2として表される。次に、P2はブロック66で
示されるようにP2によって占有されるピクセルを決定す
るために走査変換装置によって走査変換される。
ブロック68により示されるように、P2によって占有さ
れる各ピクセルは走査変換装置によって定められるの
で、そのピクセル内においてP2により占有されるサブピ
クセルはサブピクセル計算装置によって計算される。し
かしこれらのサブピクセルは、当該サブピクセルが前に
処理された多角形に割当てられたかどうかを決定するた
めにチェックされるまで、マスクメモリ50の蓄積中にP2
に割当てられなくてもよい。したがって、ブロック70で
示されるように、当該ピクセルに特有のピクセル記録が
マスクメモリから読出される。当該サブピクセルに対応
する各マスクビットは、ひし形72に示される疑問符によ
って示されるように、それらのどれかが前の多角形に割
当てられることを示す“1"に設定されるかどうかを調べ
るためにチェックされる。これらのマスクビットが前の
P1に割当てられていないならば、それらの全ては上記し
たように、ブロック74により示されるようにP1に割当て
られたのと同様の方式でP2に割当てられる。
しかしながら、これらのマスクビットのいくつかが前
のP1に割当てられているならば、P1およびP2は前に割当
てられたマスクビットについて競い合う。この場合、多
角形優先度の決定は説明されるように行われなければな
らない。P1の平面式の係数a1,b1,c1およびd1と、P2の
平面式の係数a2,b2,c2およびd2は、それぞれブロック
80により示されるように多角形メモリの多角形記録PR1
およびPR2から読出される。これらの係数はブロック82
によって示されるように2つの平面の交差によって決定
されるエッジのエッジ式係数A,BおよびCを生成する式
(2)のように組合せられる。したがって、c1,c2およ
びA,BまたはCの符号は、多角形P1に前に割当てられた
マスクビットのいずれかが再び多角形P2に割当てられる
かを決定するために適切な真値表(上記)にしたがって
使用される。ひし形84で示されるように、この再度の割
当てはAとBが共に0に等しいかどうかを試験すること
によって開始する。もしAおよびBが共に0に等しい場
合、2つの平面は平行であり、ブロック86で示されるよ
うに、再度の割当てはc1,c2およびCの符号に応じて生
じる。AおよびBが共に0でない場合、ひし形88で示さ
れているようにAの絶対値がBの絶対値を越えるかどう
かという試験が行われる。Aの絶対値がBの絶対値を越
えるならば、ブロック90で示されるように2つの平面は
もっと垂直なエッジに沿って交差し、再度の割当てが
c1,c2およびAの符号に応じて生じる。しかしながらA
の絶対値がBの絶対値を越えなければ、ブロック92に示
されているように2つの平面はもっと水平なエッジに沿
って交差し、再度の割当てがc1,c2およびBの符号に応
じて生じる。
したがってc1,c2およびA,BまたはCの符号は、ブロ
ック86,90および92で示されているように多角形P1に前
に割当てられたどのマスクビットが多角形P2に再び割当
てられるかを決定するために使用される。これらのマス
クビットはそれらの関連した多角形アドレスポインタ
(PAP)をPR1からPR2に変形することによって再度割当
てられる。
次に、ひし形76で示されるようにP2の走査変換が終了
したかどうかを決定するために試験が行われる。P2の走
査変換が終了されていなければ、ブロック66により示さ
れるようにP2の走査変換はP2によって占有される次のピ
クセルに継続する。P2の走査変換が終了されているなら
ば、ひし形78で示されるようにもっと多くの多角形が走
査変換されるかどうかを決定するための試験が実行され
る。もっと多くの多角形が走査変換されるならば、P3で
示される次の多角形の処理が開始する。P3の処理はP2の
それと類似した方式で行われる。所定のサブピクセルに
おいて、P3はP1またはP2と競合することが分り、多角形
優先度の決定は上記のように実行される。P3によって占
有されるピクセルが全てこの方法で処理されると、多角
形P4,P5,…Pmが順次処理される。Pmは最後に処理される
多角形である。Pmが処理されたとき、マスクメモリ50お
よび多角形メモリ52は共に100万個のピクセル記録のそ
れぞれの中に特定のサブピクセルを占有する多角形の記
録を含む。したがって、ブロック94により示された不可
視面アルゴリズムが達成され、影づけが開始する。
ゴーラウド強度情報のような多角形影づけ情報が多角
形メモリ52に蓄積されるならば、多角形はマスクメモリ
50において蓄積された情報を使用して影づけされる。特
定のピクセルを影づけするために、影づけ装置がピクセ
ル内の特有のサブピクセルを占有する多角形の記述を得
るためにマスクメモリ中の特定のピクセル記録をアクセ
スしてよい。この文書はそのピクセルに対して測定され
た多角形の影づけを計算するために使用されてもよく、
これらの影はビデオフレームバッファ中にピクセルに対
して蓄積される強度を設定するために使用されてもよ
い。例えば第5図は、“1"に設定されたマスクビットM
1,M3,M4,M6およびM7を表し、多角形アドレスポインタPA
P1,PAP3,PAP4,PAP6およびPAP7が有効アドレスポインタ
を多角形メモリ中に含み、特にそれらは多角形記録PR4,
PR9,PR1,PR1,およびPR6の各アドレスを含む。この情報
を使用する簡単な影づけアルゴリズムは以下のように表
される。初めに、影づけ装置はマスクビットM0を読出
し、それが“0"に設定されることを決定して次のマスク
ビットに移動する。次のマスクビットM1は“1"に設定さ
れるため、影づけ装置は関連した多角形アドレスポイン
タPAP1を多角形メモリを読出し、多角形記録PR4を戻す
アドレスとして使用する。多角形P4のゴーラウド影を計
算するために必要なGouraud強度情報はPR4に蓄積され
る。したがって影づけ装置はピクセルにおいてP4のゴー
ラウド影を計算し、この影を1/9(サブピクセル1によ
って占有されたピクセルの小片)に縮小し、この結果を
フレームバッファ中の当該ピクセルに加える。それから
影づけ装置は次のサブピクセルに移動する。影づけ装置
が第5図に示されたピクセル記録を完全に処理したとき
に、多角形P4,P9,P1およびP6は1/9,1/9,2/9および1/9に
縮小された影をフレームバッファに蓄積されたピクセル
の強度に与える。
上記のアルゴリズムは影づけにおけるサブピクセル情
報の使用を示すだけのために機能する。領域サンプリン
グによるフィルタリングを含む影づけにおけるサブピク
セル情報の厳密な適用は従来技術においてよく知られて
おり、2つの上記に参照された文献(“The A−Buffer,
an antialiased Hidden Surface Method"および“A Par
allel Scan Conversion Algorithm with Anti−Aliasin
g for a General Purpose Ultracomputer")記載されて
いる。しかしながら上記の論議は、全ての多角形エッ
ジ、すなわち多角形境界エッジおよび多角形の交差によ
って生成されるエッジがサブピクセルを使用して処理さ
れ、それ故領域サンプリングのような厳密な技術を使用
してアンチアリアシングを行うように処理されてもよ
い。
第6図に示されるような不可視面アルゴリズムは、種
々に実行され構成されてもよい。それに関して、第7図
は通常のコンピュータグラフィック素子の環境における
本発明のシステムの一般的な構成を示す。多角形バッフ
ァ100は全体空間において定められた数千個の多角形用
の多角形データを蓄積する。各多角形に対するデータ
は、強度計算、透視変換、クリッピングおよびビューポ
ートマッピング、および従来技術においてよく知られた
その他の各種処理を行うために(従来技術でよく知られ
た)変換コンピュータ102によって連続的にアクセスさ
れ処理されてよい。特定の時間間隔中の処理における多
角形は、新しい多角形として示されている。
上述のように処理されたデータは、変換コンピュータ
102から多角形メモリ52およびラスターコンバータ104に
伝送される。特に、変換コンピュータ102は、新しい多
角形の頂点におけるゴーラウド強度および次に利用でき
る多角形記録に蓄積する多角形メモリに等しい新しい多
角形平面を限定する係数a,b,cおよびdの透視空間表示
を提供する。新しい多角形アドレスすなわちNPAとして
示されたその多角形記録の多角形メモリにおけるアドレ
スは、変換コンピュータに送り返される。したがって変
換コンピュータはNPAおよび新しい多角形境界エッジの
スクリーン空間表示等のその他の適切な多角形データを
ラスターコンバータに伝送する。
ラスターコンバータ104は、連続的に新しい多角形に
よって占有されるピクセルを決定する。コンバータは参
考文献(“Principles of Interactive Computer Graph
ics")に記載された既知の形状である(セクション16−
2の“Scan Converting Polygons"を参照)。
各決定ピクセルは、ピクセルのx,y座標と同一のx,yア
ドレスを使用して特定される。このような各ピクセルに
対して、ラスターコンバータはx,yアドレスおよび新し
い多角形の境界エッジをサブピクセルコンピュータ106
に提供する。この情報を使用して、サブピクセルコンピ
ュータ106は、当該ピクセル内において多角形により占
有されるサブピクセルを計算する。
計算されたサブピクセル情報は、上記の説明のように
9ビットワードすなわち9個のサブピクセルに対してそ
れぞれ1ビットで表され、新しい多角形マスクすなわち
NEWMとして示される。NEWMはラスターコンバータに送り
返される。
同じ期間中、NEWMはサブピクセルコンピュータ106に
よって計算され、ラスターコンバータ104が当該ピクセ
ルに対するx,yアドレスをマスクメモリ50に提供し、そ
れに応じて1ピクセル記録をマスクメモリから読出す。
上記のように、このピクセル記録のマスクビットは、前
に処理された多角形によってそのピクセル中にどのサブ
ピクセルが占有されたかを示す9ビットワードに構成さ
れる。ワードは古い多角形マスクすなわちOLDMとして示
される。したがってラスターコンバータはNEWMとOLDMと
の間の論理アンド動作を簡単に計算することによってサ
ブピクセルの競合度を試験する。この論理アンド動作の
結果は内容マスク、CONMと呼ばれる。CONMは新しい多角
形と前に処理された多角形との間に競合があるサブピク
セルを示す。
CONMが“ゼロ”を含むならば、サブピクセルに対する
競合はなく、それらは新しい多角形に割当てられる。例
えば、NEWMが101000000を含むと仮定する。さらにOLDM
が第5図に示されたピクセル記録から負荷されるため、
010110110を含むと仮定する。その場合、NEWMとOLDMと
の間の論理アンドは000000000であり、その結果はCONM
中に負荷される。CONMは000000000を含むので、サブピ
クセルに対する競合はない。したがってサブピクセルは
新しい多角形に割当てられる。
NEWMによって限定されるどのサブピクセルが新しい多
角形に割当てられるのかをもっと直接的に決定する構造
は以下の通りである。ラスターコンバータはNEWMとOLDM
の論理ノットとの間の論理アンドを計算する。この動作
シーケンスの結果がフリーマスクすなわちFREMとして示
される。FREMは、新しい多角形に割当てられてもよいフ
リーのすなわち割当てられないサブピクセルを示す。上
記の例として、OLDMの論理ノットは101001001であるた
め、NEWMとOLDMの論理ノットとの間の論理アンドは1010
00000であり、その結果はFREMに負荷される。“1"に設
定されるFREMのビットは、新しい多角形に割当てられる
サブピクセルを限定する。したがってFREMは101000000
を含むため、サブピクセル0および2は新しい多角形に
割当てられる。これはマスクビットのいくつかおよびピ
クセル記録の多角形アドレスポインタのいくつかを以下
のように修正するために、マスクメモリ50のピクセル記
録で書込み動作を行うラスターコンバータ104によって
実行される。第1に、ラスターコンバータ104はフリー
マスクFREMと古い多角形マスクOLDMとの間の論理オアを
計算し、この結果をピクセル記録のマスクビットに蓄積
する。FREMは101000000を含み、OLDMは010110110を含ん
でいるため、ラスターコンバータはピクセル記録のマス
クビットに111110110を書込んで、マスクビットM0およ
びM2を効果的に“1"に設定する。次にラスターコンバー
タは以下のようにピクセル記録の多角形アドレスポイン
タを修正する。FREMのゼロでないビットにより限定され
た各多角形アドレスポインタは新しい多角形アドレスNP
Aにより負荷される。したがってFREMのビット0および
2は“1"に設定されるため、多角形アドレスポインタPA
P0およびPAP2が新しい多角形アドレスNPAにより負荷さ
れる。これらの修正は、サブピクセル0および2を効果
的に新しい多角形に割当てる。この時に、当該ピクセル
が処理され、ラスターコンバータ104は多角形によって
占有される次のピクセルの決定に進行する。
CONMが“ゼロ”を含まないならば、サブピクセルに競
合が生じ、それらは多角形優先度の決定の前に新しい多
角形に割当てられことはできない。例えば、NEWMが0000
10100を含み、OLDMが010110110を前記のように含んでい
ると仮定する。NEWMとOLDMとの間の論理アンドとし計算
されるCONMは000010100であり、サブピクセルビット4
および6に対する競合を示している。一方NEWMとOLDMの
論理ノットとの間の論理アンドとして計算されるFREMは
000000000であり、多角形優先度の決定の前に新しい多
角形に割当てられるサブピクセルがないことを表してい
る。多角形優先度は以下のように決定される。
CONMのビット4および6は“1"に設定されるため、ラ
スターコンバータはピクセル記録の多角形アドレスポイ
ンタPAP4およびPAP6を試験する(第5図参照)。これら
の多角形アドレスポインタは多角形記録PR1のアドレス
を含み、サブピクセル4および6が多角形P1に割当てら
れることを示す。すなわち、新しい多角形と多角形P1と
の間においてサブピクセル4と6との競合がある。この
場合、ラスターコンバータ104は多角形優先度の決定に
必要なデータを優先度リゾルバ108に供給する。特に、
ラスターコンバータは競合マスクCONM、新しい多角形ア
ドレスNPA、多角形アドレスポインタPAP4(または代わ
りとして同一の情報を含む多角形アドレスポインタPAP
6)および(ピクセルx,y座標と同一の)ピクセルx,yア
ドレスを優先度リゾルバに供給する。このデータはピク
セルx,yアドレスによって示されるピクセル内のCNMによ
り示されるサブピクセルに対して競合するNPAおよびPAP
4によって表される2つの多角形を特定する。
優先度リゾルバ108は当該ピクセル内部で競合してい
る多角形間の多角形優先度を決定し、この結果を優先度
決定マスクPAWMとして表す。優先度リゾルバは本質的に
上記の数学的に記載されるようなアルゴリズムを実行す
る。
“1"に設定されるPAWMのビットは、新しい多角形が多
角形P1以上の優先度を与えられるサブピクセルを限定す
る。したがってPAWMは新しい多角形に再度割当てられる
多角形P1によって現在占有されるサブピクセルを特定す
るために使用される。PAWMは以下のように計算される。
初めに、優先度リゾルバが多角形メモリ52にアドレスと
してPAP4を与え、多角形P1の平面式の係数a1,b1,c1
よびd1を読出す。次に優先度リゾルバが多角形メモリ52
にアドレスとしてNPAを与え、a2,b2,c2およびd2で示
される新しい多角形の平面式係数を読出す。“2"を添字
された新しい多角形の平面式係数の表示は、真値表を使
用する場合に新しい多角形が多角形P2として使用される
ことを示す(上記)。優先度リゾルバは、式(2)で示
されるように2つの平面の交差エッジの係数A,Bおよび
Cを計算する。それからエッジを定めるこれらの係数お
よびピクセルx,y座標をサブピクセルコンピュータ106に
与える。サブピクセルコンピュータ106はピクセル内部
のどのサブピクセルがエッジの“内側”にあるかを決定
し、9ビットのEDGMで示されたエッジマスクによりこれ
らのサブピクセルを特定する。エッジが“内側”および
“外側”を有するという考えは従来技術でよく知られて
おり、文献(“A Parallel Scan Conversion Algorithm
with Anti−Aliasing for a General−Purpose Ultrac
omputer",146頁)に記載されている。代表的なEDGMは第
4図を参照することによって得られるであろう。サブピ
クセル0,3および6はエッジ18aの左側にあり、サブピク
セル1,2,4,5,7および8はエッジ18aの右側にあることに
留意すべきである。エッジの左側が“内側”として示さ
れると考えるならば、EDGMはサブピクセルコンピュータ
によって100100100で負荷され、サブピクセル0,3および
6はエッジの“内側”にあると限定される。それからサ
ブピクセルコンピュータ106はEDGMを優先度リゾルバ108
に伝送する。
多少要約すると、EDGMは競合している多角形P1(前に
処理された多角形)と多角形P2(新しい多角形)の平面
の交差部分のエッジの“内側”のサブピクセルの明細を
含む。優先度リゾルバは多角形P2が多角形P1の前方にあ
るようなサブピクセルを計算するためにEDGMを処理し、
これらのサブピクセルを優先度マスクPRIMで示された9
ビットワードを介して限定する。この計算はこれらのサ
ブピクセルを計算するために真値表およびc1,c2および
A,BまたはCの符号を使用する。例えば、エッジが第4
図に示されるようにより垂直なエッジであると仮定する
と、符号c1,c2およびAを使用した真値表が計算に必要
である。
c1およびc2の符号が同一であり、Aの符号が正である
と仮定する。真値表“エッジの左側に優先度を有する多
角形”を参照すると、この場合多角形P2はエッジの左側
の優先度を有することが明かになる。EDGMもエッジの左
側のサブピクセルを特定するため、優先度リゾルバはED
GMをPRIMに負荷する。この動作はエッジの左側のサブピ
クセル、すなわちサブピクセル0,3,および6が多角形P1
の前方にある多角形P2のサブピクセルであることを示
す。したがってPRIMは100100100を含む。
しかしながら、c1およびc2の符号が異なり、Aの符号
が負であると仮定するならば、真値表“エッジの左側に
優先度を有する多角形”を参照すると、この場合多角形
P2はエッジの右側の優先度を有することが明かになる。
EDGMもエッジの右側のサブピクセルを特定するため、優
先度リゾルバはEDGMの論理ノットをPRIMに負荷する。こ
の動作はエッジの右側のサブピクセル、すなわちサブピ
クセル1,2,4,5,7,および8が多角形P1の前方にある多角
形P2のサブピクセルであることを示す。したがってPRIM
はこのとき011011011を含む。この例において、これら
のPRIMの競合は連続的な計算において使用される。
このときに、優先度マスクPRIMは多角形P1の前方にあ
る多角形P2における当該ピクセル内のサブピクセルの記
入を含む。優先度リゾルバ108は、多角形P1と多角形P2
との間に競合があり、かつ多角形P2が多角形P1の前方に
あるサブピクセルの記入だけを計算しなければならな
い。この記入は優先度決定マスクPAWMとして示される
(上記参照)。優先度リゾルバは競合マスクCONMと優先
度マスクPRIMとの間の論理アンドとしてPAWMを計算す
る。(両方上記のように)CONMが000010100を含み、PRI
Mが011011011を含んでいると仮定すると、優先度リゾル
バはPAWMを000010000で負荷する。
“1"に設定されたPAWMのビットは、新しい多角形に再
び割当てられるサブピクセルを限定する。したがってPA
WMは000010000を含むため、サブピクセル4は再度新し
い多角形に割当てられる。この再割当ては、以下のよう
にピクセル記録の多角形アドレスポインタの1つを修正
するためにマスクメモリ50におけるピクセル記録で書込
み動作を行う優先度リゾルバ108によって実行される。P
AWMのゼロでないビットによって特定される各多角形の
アドレスポインタは、新しい多角形アドレスNPAにより
負荷される。このように、PAWMのビット4が“1"に設定
されるため、多角形アドレスポインタPAP4はNPAにより
負荷される。この修正はサブピクセル4を効果的に新し
い多角形に割当てる。このとき当該ピクセルが処理さ
れ、ラスターコンバータ104は多角形によって占有され
る次のピクセルを決定するように処理される。
このとき、説明した実施例はフリーマスクFREMか競合
マスクCONMかのいずれかに対してゼロでない内容を生成
したが、両方のマスクに対しては生成しなかった。FREM
とCONMの両方に対してゼロでない内容を生成することは
可能である。例えば新しい多角形マスクNEWMが10000001
0を含むと仮定する。さらに古い多角形マスクOLDMは第
5図に示されたピクセル記録から負荷されるため、0101
10110を含む。NEWMとOLDMの論理ノットの間の論理アン
ドとして計算されるFREMは100000000を含む。さらにNEW
MとOLDMの間の論理アンドとして計算されたCONMは00000
0010を含む。この場合、FREMはサブピクセル0を新しい
多角形に割当てるように走査コンバータ104に指示す
る。さらに走査コンバータはCOMNを優先度リゾルバ108
に供給し、P6から新しい多角形にサブピクセル7を再度
割当てるべきかを決定するように指示する。
またこの点に関して、新しい多角形と1個だけ前に生
成された多角形との間のサブピクセルに対して競合を生
じる実施例が論じられている。新しい多角形といくつか
前に生成された多角形との間に競合がある場合を考える
ことができる。例えば、新しい多角形マスクNEWMは0101
00100を含んでいると仮定する。さらに古い多角形マス
クOLDMが第5図に示されたピクセル記録から負荷される
ため、010110110を含んでいると仮定する。するとNEMと
OLDMとの間の論理アンドとして計算されるCONMは010100
100を含む。CONMの内容は、新しい多角形と3つ前に生
成された多角形との間に競合があることを表す(第5図
参照)。サブピクセル1において多角形P4との競合があ
る。サブピクセル3において多角形P9との競合がある。
またサブピクセル6において多角形P1との競合がある。
この場合、ラスターコンバータ104は複合競合マスクCON
Mを3つの簡単な競合マスク、すなわち多角形P4,P9およ
びP1のそれぞれに対応するように分解し、3つの競合マ
スクをそれぞれ順番に優先度リゾルバ108に提供しなく
てはならない。初めに、ラスターコンバータが競合マス
ク010000000を生成し、それを優先度リゾルバに提供
し、サブピクセル1を多角形P4から新しい多角形に再度
割当てるべきかどうかを決定するように優先度リゾルバ
に指示する。次にラスターコンバータは競合マスク0001
00000を生成し、それを優先度リゾルバに提供し、サブ
ピクセル3を多角形P9から新しい多角形に再度割当てる
べきかどうかを決定するように優先度リゾルバに指示す
る。最後にラスターコンバータは競合マスク000000100
を生成し、それを優先度リゾルバに提供し、サブピクセ
ル6を多角形P1から新しい多角形に再度割当てるべきか
どうかを決定するように優先度リゾルバに指示する。
したがって、FREMおよびCONMの内容によって表される
ように競合がない複雑なケースおよび競合のある複雑な
ケースとが発生する。ラスターコンバータ104は、これ
らの複雑なケースをラスターコンバータ104および優先
度リゾルバ108により処理されることのできる簡単なケ
ースに分解する回路を含む。
第7図に示されている本発明のシステムの全体的な構
成には、以下のように多角形優先度を決定するために使
用されるエッジケッチ110が含まれる。第2図は、互い
に貫通し、かなり多くのピクセルにおいて重複している
三角形10および12を示す。多角形P10で示される三角形1
0が第7図に示されたシステムによって予め処理されて
いるため、マスクメモリ50における大多数のピクセル記
録に表されると仮定する。さらに多角形P12で示される
三角形12は、占有するピクセルを決定するために現在ラ
スターコンバータ104によって処理されていると仮定す
る。P12のラスター変換中のある時点で、それは所定の
ピクセル、例えばピクセル32の内部においてP10と競合
していることが分る。ピクセル32は、P10とP12との間の
競合が発見される第1のピクセルであると仮定する。こ
の時点で、ラスターコンバータは優先度リゾルバ108にP
10とP12との間の多角形の優先度を決定するように指示
し、P10およびP12のデータを含む多角形記録の多角形メ
モリ52におけるアドレスを優先度リゾルバに提供する。
したがって優先度リゾルバは、多角形メモリからP10に
対して平面式係数a10,b10,c10およびd10を読出し、P1
2に対して平面式係数a12,b12,c12およびd12を読出
す。それから優先度リゾルバは、2つの平面の交差エッ
ジ18aの係数A,BおよびCを計算する。一度多角形メモリ
をアクセスし、交差エッジを計算してしまうと、サブピ
クセルコンピュータによって補助されている優先度リゾ
ルバは、P10に割当てられたどのピクセルがP12に再度割
当てられてもよいかを決定することによってピクセルの
処理を完了する。ピクセル処理が終わったときに、ラス
ターコンバータ104はP12が占有するその他のピクセルを
決定するためにP12のラスター変換を継続する。
P12のラスター変換中に他の点において、例えばピク
セル36のようなもう1つのピクセルにおいてP10との競
合があることが分る。この時点で、ラスターコンバータ
は優先度リゾルバ108にP10とP12との間の多角形優先度
を決定するように指示する。したがって優先度リゾルバ
は再び多角形メモリ52から、P10に対しては平面式係数a
10,b10,c10およびd10を、またP12に対しては平面式係
数a12,b12,c12およびd12を読出す。それから優先度リ
ゾルバは再び2つの平面の交差エッジ18aの係数A,B,お
よびCを計算する。しかしこれらは多角形メモリにアク
セスし、この交差エッジ18aの計算は予め計算されてお
り無駄である。またP10およびP12が競合していると分っ
ている多数のピクセルのそれぞれに対して繰返される。
しかしながら、これらの多角形メモリに対するアクセ
スおよびエッジ計算の反復を以下のように避けることが
できる。エッジ18aの計算の最初の瞬間、すなわちP10お
よびP12がピクセル32おいて競合しているときに、エッ
ジの係数A,BおよびCがエッジケッチ110に蓄積される。
エッジケッチは従来技術においてよく知られており、参
照文献(“Computer System Architecture"314乃至321
頁)に記載されているようにケッチメモリである。この
エッジケッチはエッジ係数の蓄積および検索を可能にす
るように構成されるが、この場合これらのエッジ係数は
エッジケッチに1対の多角形用のアクセスコードを提供
することによってのみ蓄積され検索される。例えば1対
の多角形P10およびP12に対して、アクセスコードはこれ
ら2つの多角形に特有の情報を結合することによって得
られる。したがって適切なアクセスコードは、P10およ
びP12のデータを含む多角形記録の多角形メモリ中の2
つのアドレスの結合である。要約すると、エッジ18aの
計算の最初の瞬間、すなわちP10およびP12がピクセル32
内で競合しているときに、エッジ18aの係数A,BおよびC
はP10およびP12のアクセスコードを使用してアクセスさ
れるエッジケッジに蓄積される。それからP10およびP12
がピクセル36のような別のピクセル内で競合している次
の瞬間に、エッジ18aの係数A,BおよびCがエッジケッジ
から検索され、再びP10およびP12のアクセスコードを使
用してアクセスされる。この方法でエッジケッチを使用
することにより、多角形メモリ52に対するアクセスの反
復およびP10およびP12が競合している各ピクセルに対す
る係数A,BおよびCの計算を避けることができる。エッ
ジケッチは、エッジ18aが多角形P10とP12の平面の交差
により生成され、1個のピクセルだけでなくスクリーン
Sの全てのピクセルに適用するように使用することがで
きる。したがってエッジ18aは、P10とP12との競合が発
生する範囲のいずれのピクセル対しても多角形P10とP12
との間の多角形優先度を決定するために使用されてよ
い。
したがって、1対の多角形が1個のピクセルの内で競
合しているときには、必ず優先度リゾルバ108がエッジ
ケッジ110にその1対の多角形のアクセスコードを提供
し、その1対の多角形に適切なエッジ係数を検索するよ
うに作用する。もし同じ対の多角形間における競合であ
る前例の期間中に、それらのエッジ係数が計算されて予
めエッジケッジに蓄積されているならば、それらのエッ
ジ係数は検索されて優先度リゾルバにより使用されても
よい。しかしながら、同じ1対の多角形間の競合の前例
にはないように、それらのエッジ係数が計算されておら
ず、予めエッジケッジに蓄積されていない場合は、優先
度リゾルバは多角形メモリ52をアクセスし、エッジ係数
を計算しなくてはならない。一度エッジ係数がこの方法
で計算されると、それらはその1対の多角形用のアクセ
スコードを使用してエッジケッジに蓄積される。それか
ら後で同じ対の多角形間の競合が生じたとき、エッジ係
数はその同じアクセスコードを使用して検索されてもよ
い。
多角形バッファ100中の多角形は全て変換コンピュー
タ102、ラスターコンバータ104および優先度リゾルバ10
8によって上記のように処理され、不可視面アルゴリズ
ムが実行される。したがってマスクメモリ50および多角
形メモリ52は共に特定のサブピクセルを100万個のピク
セル記録のそれぞれ内に占有する多角形の記録を含む。
このとき影づけ装置112が動作し始める。この装置はマ
スクメモリの各ピクセル記録を連続的に試験する。ピク
セル記録の内部において、マスクビットが“1"を含む各
サブピクセルに対し、影づけ装置はサブピクセルを占有
する多角形を決定するために関連した多角形アドレスポ
インタを試験する(第5図参照)。それから影づけ装置
は、多角形メモリ52からゴーラウド強度のようなその多
角形の情報に対する影をつける情報を読出す。次に影づ
け装置はそのピクセル内の多角形に対する影を計算す
る。それからそのピクセル内の多角形によって占有され
るサブピクセルの数に応じてその影の値を定める。この
値を定められた影はフレームバッファ114中のそのピク
セルのために蓄積された強度に加えられる。同様に影は
再びそのピクセル内の多角形により占有されるサブピク
セルの数および位置に応じて値を定められ、フレームバ
ッファ中の周辺ピクセル用に蓄積された強度を付加され
る。この影づけに関する考えは、従来技術においてよく
知られているように多角形の領域サンプリングを通じて
多角形のアンチアリアシングを達成する。フレームバッ
ファ中に蓄積された結果が、ラスターディスプレイ装置
116上に現れる。
本発明のシステムの全体構造がラスター変換および不
可視面処理を影づけ処理から分離することに留意すべき
である。この考えは、例えばラスター変換および不可視
面処理が投影づけ処理よりも計算が簡単である等、ある
条件下で有効である。この場合、影つけ装置はラスター
変換および不可視面処理に必要な時間間隔と同じ期間で
影づけ処理を完了するように構成される。
ここで論じられている本システムの全体構造は、多角
形の順次のラスター変換および不可視面処理およびピク
セルの連続的な影づけを可能にしている。しかしながら
第8図に示されている本発明のシステムの別の構造は、
多角形のラスター変換および不可視面の並列処理および
ピクセルの並列影づけを可能にする。多角形バッファ10
0は複数の多角形コンピュータ118に接続されている。第
7図に示されているように、多角形コンピュータは変換
コンピュータ102、ラスターコンバータ104、サブピクセ
ルコンピュータ106、優先度リゾルバ108およびエッジケ
ッチ110を含む。多角形コンピュータ118はマスクメモリ
50および多角形メモリ52に接続されている。マスクメモ
リおよび多角形メモリは複数の影づけ装置112に接続さ
れている。影づけ装置112はフレームバッファ114に接続
されている。フレームバッファ114はラスターディスプ
レイ装置116に接続されている。
多角形バッファ100は、全体空間に限定された数千個
の多角形の多角形データを蓄積するために使用される。
単一の多角形データは、強度計算、透視変換、クリッピ
ングおよびビューポートマッピング、ラスター変換およ
び優先度識別を行うように単一の多角形コンピュータ11
8によってアクセスされ処理されてもよい。単一の多角
形コンピュータはどの所定時間中でも多角形を1個だけ
処理するが、異なる各多角形コンピュータはそれぞれそ
の時間中に異なる多角形を処理することに留意すべきで
ある。したがって多角形の並列ラスター変換は複数の多
角形コンピュータを使用することにより可能になる。
ラスター変換および不可視面アルゴリズムの並列実行
は以下のように処理される。各多角形コンピュータ118
は順々に多角形バッファ100をアクセスし、次に利用可
能な未処理多角形のデータを得る。各多角形コンピュー
タはその多角形をラスター変換し、その過程においてマ
スクメモリ50中のピクセル記録および多角形メモリ52中
の多角形記録を修正する。多角形コンピュータは全て同
時に機能するため、特定の多角形コンピュータと多角形
バッファ、マスクメモリまたは多角形メモリとの間の処
理がランダムに発生し、別の多角形コンピュータと多角
形バッファ、マスクメモリまたは多角形メモリとの間の
類似した処理の間にランダムに差込まれる。特定の多角
形コンピュータがその多角形処理を完了したとき、それ
は再び多角形バッファをアクセスし、次に利用可能で未
処理であり、これから処理される多角形データをアクセ
スする。多角形コンピュータが全てそれらの各多角形処
理を完了し、未処理の多角形が多角形バッファに残って
いないとき、不可視面アルゴリズムが達成されている。
このとき多数の影づけ装置112が動作し始める。各影
づけ装置はマスクメモリを順にアクセスし、次に利用可
能で未処理のピクセル記録を得る。それが処理している
ピクセル記録の内容によって指示されたときに、各影づ
け装置はピクセルを占有する各多角形の多角形記録を得
るために多角形メモリをアクセスする。それはこのよう
な多角形にそれぞれ影をつけ、このように生成された影
の値を定め、フレームバッファ114においてピクセルの
ために蓄積された強度および周辺ピクセルのために蓄積
された強度に付加する。各影に与えられる値の係数は、
領域サンプリングの原理に応じて多角形により占有され
るサブピクセルの数および位置によって、および強度デ
ータを受取る特定のピクセルによって影響される。影づ
け装置は全て同時に機能するため、特定の影づけ装置と
マスクメモリ、多角形メモリまたはフレームバッファと
の間の処理がランダムに発生し、別の影づけ装置とマス
クメモリ、多角形メモリまたはフレームバッファとの間
の類似した処理の間に差込まれる。特定の影づけ装置が
ピクセル記録処理を完了したとき、それはマスクメモリ
をアクセスし、次に利用可能で未処理のピクセル記録の
データを得てから処理する。全ての影づけ装置がそれら
の個別のピクセル記録の処理を完了し、マスクメモリに
未処理のピクセル記録がないときに、フレームバッファ
に蓄積された結果がラスターディスプレイ装置116上に
現れる。
ラスター変換および不可視面アルゴリズムを同時に実
現するために、多角形コンピュータ118とマスクメモリ5
0との間の処理は、前に論じられたラスター変換と不可
視面アルゴリズム順次的な実行期間中に示されるものよ
りも本質的に僅かに精巧でなければならない。例えば、
第9図aはピクセル4の内部で互いに重なっている三角
形1,2および3を示す。簡単にするために、ピクセルの
サブピクセルへの分割は示されていないが、各三角形に
よってピクセル内部で占有される領域は、サブピクセル
を使用して正確に符号化されることが理解されるであろ
う。三角形1,2,および3はP1,P2およびP3で表されてい
る。第9図aはP3が一番前の多角形であり、P2がP3の背
後にあり、P1はP2とP3の背後にあることを示す。
P1,P2およびP3の処理が、論議に使用される用語の簡
単な説明と共に以下に述べられる。マスクメモリ50のピ
クセル記録に蓄積される多角形は古い多角形、すなわち
P0で示されている。ラスター変換される多角形は、新し
い多角形すなわちPnで示される。ラスター変換を行う多
角形コンピュータ118はPCnで示される。P0とPnとの間の
競合に応答してPCnにより計算された優先度決定マスク
はPAWMn,0で示され、マスクビットをP0からPnへ再び割
当てるために使用される。
P1がすでにラスター変換され、したがって第9図bで
示されるようにマスクメモリ中に表されていると仮定す
る。さらにPC2で示される多角形コンピュータ118はP2を
ラスター変換処理中であり、PC3で示される別の多角形
コンピュータはP3をラスター変換中であると仮定する。
P2のラスター変換中のある時点において、サブピクセル
に対する競合がピクセル4内においてP2とP1との間で発
生する。第9図cは、競合の正しい識別を示し、これは
PC2によって計算され、優先度決定マスクPAWM2,1として
符号化され、マスクメモリ50に蓄積される。同様にP3の
ラスター変換中のある時点において、サブピクセルに対
する競合がピクセル4内のP3とP1との間で発生する。第
9図dは競合の正しい識別を示し、これはPC3によって
計算され、優先度決定マスクPAWM3,1として符号化さ
れ、マスクメモリ50に蓄積される。
P2とP3とのラスター変換の期間中に生じる例示的シー
ケンスを考えてみる。最初にPC2はP2とP1間の競合を検
出し、PAWM2,1を計算し、PAWM2,1によって示されるサブ
ピクセルをP1からP2に再度割当てる。マスクメモリ中の
ピクセル記録は、第9図cに示されるようになる。次に
PC3がP3とP1との間の競合を検出し、PAWM3,1を計算し、
PAWM3,1によって示されるサブピクセルをP1からP3に再
度割当てる。次にPC3がP3とP2との間の競合を検出し
(いくつかのサブピクセルはPC2によってP1からP2に再
度割当てられた)、PAWM3,2を計算し、PAWM3,2によって
示されるサブピクセルをP2からP3に再度割当てる。マス
クメモリにおけるピクセル記録は第9図eに示されるよ
うになり、これは不可視面問題に対する正しい解であ
る。
次に、P2およびP3のラスター変換の間に発生する別の
例示的シーケンスを検討する。初めにPC3はP3とP1との
間の競合を検出してPAWM3,1を計算し、PAWM3,1によって
示されるサブピクセルをP1からP3に再度割当てる。マス
クメモリ中のピクセル記録は第9図dに示されるように
なる。次にPC2はP2とP1との間の競合を検出してPAWM2,1
を計算し、PAWM2,1によって示されるサブピクセルをP1
からP2に再度割当てる。次にPC2はP2とP3との間の競合
を検出し(いくつかのサブピクセルはPC3によってP1か
らP3に再度割当てられた)、PAWM2,3を計算し、PAWM2,3
によって示されるサブピクセルをP3からP2に再度割当て
る。マスクメモリ中のピクセル記録は第9図eに示され
るようになる。これもまた不可視面問題に対する正しい
解である。
このように不可視面問題は正しく解決され、P1とP2間
の競合および1とP3間の競合がPC2とPC3によって検出さ
れ識別される順序とは関係ない。しかし正しい解は、1
つの競合が識別されてサブピクセルが別の競合を検出す
る前に再度割当てられるときにだけ得られる。例えばP2
およびP3のラスター変換中に発生する以下の例示的シー
ケンスを検討する。初めにPC2はP2とP1との間の競合を
検出し、PAWM2,1を計算し始める。次にPC3がP3とP1との
間の競合を検出し、PAWM3,1を計算し始める。次にPC2は
PAWM2,1の計算を終了し、PAWM2,1で示されるサブピクセ
ルをP1からP2に再度割当てる。マスクメモリ中のピクセ
ル記録は第9図cに示されるようになり、これは正しい
中間結果である。次にPC3はPAWM3,1の計算を終了し、PA
WM3,1で示されるサブピクセルをP1(およびP2)からP3
に再度割当てる。残念ながら、これらのサブピクセルは
PC2によってP1からP2に再度割当てられているため、こ
の動作はいくつかのサブピクセルをP2からP3に再度割当
てる。しかしP3は実際にP2の前方にあるため、偶発的に
マスクメモリ中のピクセル記録が第9図eに示されるよ
うになり、これは不可視面問題に対する正しい解であ
る。
しかしながら、P2およびP3のラスター変換中に発生す
る最後の例示シーケンスを検討する。初めにPC3はP3とP
1との間の競合を検出してPAWM3,1を計算し始める。次に
PC2がP2とP1との間の競合を検出してPAWM2,1を計算し始
める。次にPC3はPAWM3,1の計算を終了してPAWM3,1によ
って示されるサブピクセルをP1からP3に再度割当てる。
マスクメモリ中のピクセル記録は第9図dに示されるよ
うになり、これは正しい中間結果である。次にPC2はPAW
M2,1の計算を終了してPAWM2,1で示されるサブピクセル
をP1(およびP3)からP2に再度割当てる。残念ながら、
これらのサブピクセルはPC3によってP1からP3に再度割
当てられているため、この動作はいくつかのサブピクセ
ルをP3からP2に再度割当てる。しかしP2は実際にはP3の
背後にあるため、偶発的にマスクメモリ中のピクセル記
録が第9図fに示されるようになり、これはP2がP3の前
方にあることを表す不可視面問題に対する誤った解であ
る。
このエラーが発生するのは、PC2がPAWM2,1の計算を始
めたときにP3はピクセル4で表されないためである。し
たがってPC2がPAWM2,1の計算を終了したときに、一度も
P2とP3との間の競合を検出せずにPAWM2,1で表されるサ
ブピクセルをP1(および残念ながらP3)からP2へ再度割
当てる。PAWM3,1により示されるサブピクセルはPC3によ
って前にP1からP3に再度割当てられているが、これらの
サブピクセルのいくつかは、P2とP3間の競合に対するPC
2の一部分で試験を行わずにPC2によって適当にP3からP2
へ再度割当てられる。
このエラーは並列ラスター変換および不可視面アルゴ
リズムの正しい並列実行を暗示している。多角形コンピ
ュータPCnは、2つの多角形間のサブピクセルに対する
競合に応答して優先度決定マスクPAWMn,0を計算する。
一方の多角形P0はマスクメモリのピクセル記録に蓄積さ
れる。他方の多角形Pnはラスター変換処理中である。優
先度決定マスクPAWMn,0は、ピクセル記録におけるマス
クビットをP0からPnに再度割当てるために使用される。
しかし再度割当てる前に、多角形コンピュータはPAWMn,
0によって特定された各サブピクセルが本当にP0に割当
てられることをチェックしなければならない。PAWMn,0
によって特定され、P0に割当てられたサブピクセルだけ
がPnに再割当てされることができる。PAWMn,0によって
特定され、P0以外の多角形、例えばPkに割当てられたサ
ブピクセルは全てPnとPk間のサブピクセルに対して競合
を示す。この競合は、その他の競合に対する方法と同様
に多角形コンピュータPCnによって解決されてもよい。
例えば、不可視面問題に対して誤った解を生じる最後の
例示を考えてみる。マスクメモリによるエラー処理の期
間中、PC2はPAWM2,1によって特定されるサブピクセルを
チェックし、これらサブピクセルのいくつかはP1に対し
て割当てられないが、逆にP3によって既に再度割当てら
れたことを定めておくべきである。その時点でPC2はP3
に割当てられるサブピクセルに対してP2とP3間の競合を
検出する。
要約すると、PAWMn,0により特定されるサブピクセル
は、それらがP0からPkに再度割当てられるかどうかを調
べるために多角形コンピュータ118によってチェックさ
れなければならない。それらがP0からPkに再度割当てら
れるならば、P0からPnへ再度割当てられてもよい。この
チェックを行うために、多角形コンピュータはマスクメ
モリ50からピクセル記録を読出し、そのピクセル記録に
おける多角形アドレスポインタを検査しなければならな
い。しかしながら別のマスクメモリ構造により、マスク
メモリ自体がこのチェックおよびその他の有用な動作を
以下のように実行するようにすることができる。
このマスクメモリの別の構造は、100万個のピクセル
記録に対する蓄積を有しており、また9ビットマスクの
論理動作を実行し、多角形アドレスポインタを比較する
十分な処理能力を含む。それは以下の3つのモードで多
角形コンピュータと共に動作する。初めに、それは多角
形コンピュータから、マスクメモリが現在割当てられて
いない新しい多角形マスクにより特定される全てのサブ
ピクセルを新しい多角形に割当てることの要求と共に、
ピクセルのx,yアドレス、新しい多角形マスクおよび新
しい多角形ポインタを受取る。第2に競合マスクおよび
関連した多角形アドレスポインタを多角形コンピュータ
に送る。第3にそれは多角形コンピュータから、マスク
メモリが現在古い多角形に割当てられている新しい多角
形マスクにより特定される全てのサブピクセルを新しい
多角形に割当てることの要求と共に、ピクセルのx,yア
ドレス、優先度決定マスクおよび新旧各多角形ポインタ
を受取る。
多角形コンピュータとマスクメモリとの間の第1のモ
ードの動作に対して、多角形コンピュータは新しい多角
形がラスター変換されるピクセル内において新しい多角
形により占有されるサブピクセルを表す新しい多角形マ
スクNEWMを生成する。それから多角形コンピュータは、
新しい多角形に対してピクセル内の未占有のサブピクセ
ルを割当てることの要求と共に、新しい多角形マスクNE
WM、新しい多角形アドレスNPAおよびピクセルのx,yアド
レスをマスクメモリに与える。それに応答して、マスク
メモリはピクセルのx,yにより特定されたピクセル記録
を検索し、マスクビットから古い多角形マスクOLDMを構
成する(第5図参照)。それからマスクメモリはNEWMと
OLDMの論理ノットとの間の論理アンドを計算し、フリー
マスクFREMを生成する。FREMは未占有のサブピクセルを
特定する。マスクメモリは、各未占有のサブピクセルの
マスクビットを“1"に設定して新しい多角形アドレスNP
Aを各未占有のサブピクセルの多角形アドレスポインタ
に書込むことにより、これらの未占有のサブピクセルを
新しい多角形に割当てる。それからマスクメモリはNEWM
とOLDMとの間の論理アンドを計算し、競合マスクCONMを
生成する。CONMは、新しい多角形と前に処理された多角
形との間の競合に対するサブピクセルを明示する。CONM
が“ゼロ”を含むならば、新しい多角形と前に処理され
たどの多角形との間にも競合はない。この場合、多角形
コンピュータとマスクメモリ間の処理は終了される。
しかしながら、CONMが“ゼロ”を含んでいなければ、
新しい多角形と1個以上の前に処理された多角形との問
に競合が存在する。この状態が多角形コンピュータとマ
スクメモリ間の第2のモードの動作を付勢する。このモ
ードにおいて、マスクメモリは多角形コンピュータに競
合を知らせて、前に処理されたどの多角形により競合が
発生するのかを示す。1個前に処理された多角形によっ
てのみ競合が発生するならば、CONMは簡単な競合マスク
である。この場合、マスクメモリはCONMのゼロでないビ
ットにより特定される多角形アドレスポインタと共にCO
NMを多角形コンピュータに伝送する。競合が1個より前
に処理された多角形により発生されるならば、CONMは複
合競合マスクとなる。この場合、マスクメモリはCONMを
複数の簡単な競合マスクに分解し、簡単な競合マスクの
ゼロでないビットによって特定された多角形アドレスポ
インタと共にそれぞれの簡単な競合マスクを順次連続的
に多角形コンピュータに伝送する。多角形アドレスポイ
ンタは新しい多角形と競合している前に処理された多角
形を特定し、このような多角形は古い多角形として示さ
れる。
多角形コンピュータは、マスクメモリから各競合マス
クと関連された多角形アドレスポインタと共に競合マス
クを順次受取る。各競合マスクは新しい多角形と多角形
アドレスポインタによって特定された多角形との間の競
合、すなわち新しい多角形と古い多角形間の競合を示
す。多角形コンピュータは、優先度決定マスクPAWMを計
算することによって各競合を順次識別する。この時点で
多角形コンピュータは多角形コンピュータとマスクメモ
リとの間おける第3のモードの動作のために準備され
る。このモードにおいて、多角形コンピュータは古い多
角形の明細(すなわち多角形アドレスポインタ)、新し
い角形の明細(すなわち新しい多角形アドレスNPA)、
ピクセルのx,yアドレスおよびPAWMによって特定される
サブピクセルを古い多角形から新しい多角形に再度割当
てることの要求を各優先度決定マスクPAWMと共にマスク
メモリに与える。それに応答して、マスクメモリはこれ
らのサブピクセルが本当に古い多角形に割当てられるこ
とをチェックする。古い多角形に割当てられた全てのサ
ブピクセルは、新しい多角形アドレスNPAをそのサブピ
クセルの多角形アドレスポインタに書込むことによって
新しい多角形に再度割当てられる。古い多角形に割当て
られないサブピクセルは、全て新しい多角形とそのサブ
ピクセルの多角形アドレスポインタによって特定される
多角形との間の競合を示す。マスクメモリは、一連の競
合マスクおよび多角形アドレスポインタを多角形コンピ
ュータに返送することによって多角形コンピュータに競
合を知らせなければならない。
このように、マスクメモリは多角形コンピュータによ
ってその使用を促進する回路を含む。この回路は論理動
作を実行し、多角形アドレスポインタを比較する。
上記の説明を考慮すると、本発明のシステムは多数の
異なる特有の技術を使用することにより種々のシステム
において実行されることが明かになるであろう。したが
って本発明の技術的範囲は請求項によって制限されるべ
きである。
【図面の簡単な説明】
第1図は、本発明にしたがって識別される、ディスプレ
イに対して競合している多角形の斜視図である。 第2図は第1図の拡大された部分図である。 第3図は異なる角度から得られる第2図の一部分を示し
ている。 第4図は、ディスプレイに対して本発明にしたがって発
生される画素を示している。 第5図は、本発明によるシステムの素子のブロック図で
ある。 第6図は、本発明にしたがって実行される処理の流れを
示す。 第7図は本発明による1実施例の構造を含むシステムの
ブロック図である。 第8図は本発明による構造を含むシステムのブロック図
である。 第9図は、本発明にしたがって分析するためにピクセル
内に表示される3個の多角形を示す。 S……スクリーン面、V……切頭四角錐、O……視点、
E……眼、M0〜M8……ワード、PAP0〜PAP8……マスクビ
ット、10,12……多角形、18……エッジ、30……デー
タ、32……要素領域、40……サブピクセル、102……変
換コンピュータ、104……ラスターコンバータ、108……
優先度リゾルバ、110……エッジケッチ、114……フレー
ムバッファ、116……ラスターディスプレイ装置、118…
…多角形コンピュータ。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ラッセル・エー・ブラウン アメリカ合衆国、ユタ州 84108,ソル ト・レイク・シテイー、ローガン・アベ ニュー 1951 (56)参考文献 特開 昭50−79235(JP,A) 特開 昭61−29973(JP,A) 特開 昭62−52682(JP,A) 米国特許4679040(US,A) 山口富士夫 「コンピュータディスプ レイによる図形処理工学」、日刊工業新 聞社、昭和58年1月20日、P.213〜295 (58)調査した分野(Int.Cl.6,DB名) G06T 15/40 JICST

Claims (20)

    (57)【特許請求の範囲】
  1. 【請求項1】平面a1x+b1y+c1z+d1=0において通
    常の3次元空間で定められた第1のプリミティブP1と、
    平面a2x+b2y+c2z+d2=0において同様に定められ
    た第2のプリミティブP2との間において、グラフィック
    ディスプレイに対して指示されたxおよびyの座標値の
    特定の位置での優先度を定める方法において、ここで前
    記平面は前記ディスプレイ内に投影された交差線に沿っ
    て交差し、 (c2a1−c1a2),(c2b1−c1b2)および(c2d1−c1d2
    の値を決定することによって前記投影された交差線を定
    め、 決定された値(c2a1−c1a2),(c2b1−c1b2)および
    (c2d1−c1d2)を蓄積し、 前記グラフィックディスプレイを構成する要素領域を定
    める画像構成データを蓄積し、 c1,c2と、(c2a1−c1a2),(c2b1−c1b2)および(c2
    d1−c1d2)のうちの1つまたはそれ以上の制御により、
    前記プリミティブP1またはP2の1つを選択する優先度を
    決定するために、前記ディスプレイに対する前記プリミ
    ティブ間について前記要素領域に対する優先度を次々に
    定め、 グラフィックディスプレイに電気信号を供給するために
    前記要素領域に対して前記1つのプリミティブの画像構
    成データを蓄積するステップを含んでいる方法。
  2. 【請求項2】(c2a1−c1a2)および(c2b1−c1b2)の互
    いの大きさを決定することによって前記プリミティブ間
    に存在する前記交差線についての(c2a1−c1a2)/(c2
    b1−c1b2)の絶対値が1より小または1より大であるか
    を定め、前記交差線について(c2a1−c1a2)/(c2b1
    c1b2)の絶対値が1より小または1より大のいずれであ
    るかに基づいて前記優先度を定めるステップを含んでい
    る請求項1記載の方法。
  3. 【請求項3】c1,c2および(c2a1−c1a2)に基づいて、
    優先度は前記(c2a1−c1a2)/(c2b1−c1b2)の絶対値
    が1より大きい交差線の一側に対して第1のプリミティ
    ブに有利に定められ、前記(c2a1−c1a2)/(c2b1−c1
    b2)の絶対値が1より大きい交差線の他の側に対して第
    2のプリミティブに有利に定められる請求項2記載の方
    法。
  4. 【請求項4】c1,c2および(c2a1−c1a2)の符号に基づ
    いて、前記(c2a1−c1a2)/(c2b1−c1b2)の絶対値が
    1より大きい交差線の一側に対して優先度は第1のプリ
    ミティブに有利に定められ、前記(c2a1−c1a2)/(c2
    b1−c1b2)の絶対値が1より大きい交差線の他の側に対
    して第2のプリミティブに有利に定められる請求項2記
    載の方法。
  5. 【請求項5】c1,c2および(c2a1−c1a2)に基づいて、
    前記(c2a1−c1a2)/(c2b1−c1b2)の絶対値が1より
    小さい交差線の一側に対して優先度は第1のプリミティ
    ブに有利に定められ、前記(c2a1−c1a2)/(c2b1−c1
    b2)の絶対値が1より小さい交差線の他の側に対して第
    2のプリミティブに有利に定められる請求項2記載の方
    法。
  6. 【請求項6】c1,c2および(c2a1−c1a2)の符号に基づ
    いて、前記(c2a1−c1a2)/(c2b1−c1b2)の絶対値が
    1より小さい交差線の一側に対して優先度は第1のプリ
    ミティブに有利に定められ、前記(c2a1−c1a2)/(c2
    b1−c1b2)の絶対値が1より小さい交差線の他の側に対
    して第2のプリミティブに有利に定められる請求項2記
    載の方法。
  7. 【請求項7】前記優先度はさらに前記平面間における交
    差線の不存在を決定することによって定められる請求項
    1記載の方法。
  8. 【請求項8】前記優先度はc1,c2および(c2d1−c1d2
    に基づいて前記プリミティブの1つに有利に定められる
    請求項7記載の方法。
  9. 【請求項9】前記優先度はc1,c2および(c2d1−c1d2
    の符号に基づいて前記プリミティブの1つに有利に定め
    られる請求項7記載の方法。
  10. 【請求項10】前記指示されたxおよびy値は前記ディ
    スプレイに対するサブピクセルを示し、前記方法はさら
    にアンチエリアシングのための色の混合のため前記サブ
    ピグセルに対して決定された優先度にしたがってピクセ
    ルに対する複合を計算するステップを含んでいる請求項
    7記載の方法。
  11. 【請求項11】平面間における交差線の前記不存在の決
    定は(c2a1−c1a2)および(c2b1−c1b2)の決定された
    大きさによって制御される請求項7記載の方法。
  12. 【請求項12】画像構成領域に関しコンピュータグラフ
    ィック画像ディスプレイに対する複数のプリミティブ間
    における優先度を定める隠蔽された表面除去システムで
    あって、ここで、プリミティブP1,P2が前記複数のプリ
    ミティブから選択され、平面a1x+b1y+c1z+d1=0
    およびa2x+b2y+c2z+d2=0において同様に定めら
    れ、 前記プリミティブP1,P2の形態でコンピュータグラフィ
    ックディスプレイに対する構成要素を特定するためにプ
    リミティブデータを受取る手段と、 画像構成領域に対して競合するプリミティブを識別する
    ために受取られたプリティブデータにより規定される前
    記プリミティブP1およびP2によって占有される前記画像
    構成領域を連続した順序で配置する手段と、 画像構成領域に対して競合する前記プリミティブP1また
    はP2の1つを選択するために、(c2a1−c1a2),(c2b1
    −c1b2)および(c2d1−c1d2)の値を決定し、該値の確
    定した符号を論理的に解析することによって、ピクセル
    領域に対して競合するプリミティブP1およびP2間の優先
    度を定める手段と、 決定された値(c2a1−c1a2),(c2b1−c1b2)および
    (c2d1−c1d2)を受取るキャッシュメモリ手段、および
    プリミティブP1およびP2に関して競合する他の画像構成
    領域が存在する場合に使用するため前記値を確認する手
    段とを具備している隠蔽された表面除去システム。
  13. 【請求項13】画像構成領域に関しコンピュータグラフ
    ィック画像ディスプレイに対して複数のプリミティブ間
    における優先度を定める隠蔽された表面除去システムで
    あって、ここで、プリミティブP1,P2が前記複数のプリ
    ミティブから選択され、そして平面a1x+b1y+c1z+
    d1=0およびa2x+b2y+c2z+d2=0において定めら
    れ、 前記プリミティブP1,P2の形態でコンピュータグラフィ
    ックディスプレイに対する構成要素を特定するためにプ
    リミティブデータを受取る手段と、 画像構成領域に対して競合するプリミティブを識別する
    ために受取られたプリミティブデータにより規定される
    前記プリミティブP1およびP2によって占有される前記画
    像構成領域を順番に並べて前記プリミティブを走査変換
    するラスター変換器を含む手段と、 画像構成領域が競合する前記プリミティブP1およびP2
    の優先度を定める手段と、 決定された値(c2a1−c1a2),(c2b1−c1b2)および
    (c2d1−c1d2)を受取るメモリ手段、およびプリミティ
    ブP1およびP2に関して競合する他の画像構成領域が存在
    する場合に使用するため前記値を確認する手段とを具備
    している隠蔽された表面除去システム。
  14. 【請求項14】優先度を定める複数の前記手段を含み、
    さらに前記受取られたプリミティブデータを処理するた
    めに前記複数の手段を結合する手段を備え、さらに前記
    各手段により前記メモリ手段にアクセスする手段を具備
    している請求項13記載のシステム。
  15. 【請求項15】前記メモリ手段はさらにプリミティブデ
    ータを蓄積する多角形メモリおよび画像構成領域に関す
    るデータを蓄積するマスクメモリを含んでいる請求項13
    記載のシステム。
  16. 【請求項16】前記マスクメモリはサブピクセルデータ
    を蓄積する請求項15記載のシステム。
  17. 【請求項17】画像構成領域に関しコンピュータグラフ
    ィック画像ディスプレイに対する複数のプリミティブ間
    における優先度を定める隠蔽された表面除去システムで
    あって、ここで、プリミティブP1,P2が前記複数のプリ
    ミティブから選択され、平面a1x+b1y+c1z+d1=0
    およびa2x+b2y+c2z+d2=0において定められ、 前記プリミティブP1,P2の形態でコンピュータグラフィ
    ックディスプレイに対する構成要素を特定するためにプ
    リミティブデータを受取る手段と、 画像構成領域に対して競合するプリミティブを識別する
    ために受取られたプリミティブデータにより規定される
    前記プリミティブP1およびP2によって占有される前記画
    像構成領域を連続した順序で配置する手段と、 多角形に関するデータを蓄積する多角形メモリと、 前記画像構成領域に関するデータを蓄積するマスクメモ
    リと、 画像構成領域に対して競合する前記プリミティブP1また
    はP2の1つを選択するために、(c2a1−c1a2),(c2b1
    −c1b2)および(c2d1−c1d2)の値を決定し、該値の確
    定した符号を論理的に解析することによって、ピクセル
    領域に対して競合するプリミティブP1およびP2間の優先
    度を定める手段と、 前記競合するプリミティブP1およびP2のうち優先度を有
    すると定められたもののプリミティブデータを前記マス
    クメモリに蓄積する手段とを具備している隠蔽された表
    面除去システム。
  18. 【請求項18】前記マスクメモリは前記画像構成領域に
    対するデータを示すために前記多角形メモリに多角形に
    対する指示を蓄積する請求項17記載のシステム。
  19. 【請求項19】前記画像ディスプレイ用のフレームバッ
    ファ蓄積部および前記フレームバッファ蓄積部中の前記
    マスクメモリおよび多角形メモリからのデータを蓄積す
    る手段を含んでいる請求項17記載のシステム。
  20. 【請求項20】前記蓄積する手段はさらにシェージング
    のために前記マスクメモリおよび前記多角形メモリから
    の前記データを処理する手段を含んでいる請求項19記載
    のシステム。
JP63311800A 1987-12-09 1988-12-09 アンチアリアスを有するコンピュータグラフィック優先システム Expired - Lifetime JP2963102B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/130,811 US4918626A (en) 1987-12-09 1987-12-09 Computer graphics priority system with antialiasing
US130,811 1987-12-09

Publications (2)

Publication Number Publication Date
JPH01191276A JPH01191276A (ja) 1989-08-01
JP2963102B2 true JP2963102B2 (ja) 1999-10-12

Family

ID=22446456

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63311800A Expired - Lifetime JP2963102B2 (ja) 1987-12-09 1988-12-09 アンチアリアスを有するコンピュータグラフィック優先システム

Country Status (4)

Country Link
US (1) US4918626A (ja)
EP (1) EP0321095B1 (ja)
JP (1) JP2963102B2 (ja)
DE (1) DE3855231T2 (ja)

Families Citing this family (100)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02278475A (ja) * 1989-04-20 1990-11-14 Hitachi Ltd 図形処理装置およびその使用方法ならびにマイクロプロセッサ
US6727903B1 (en) * 1989-04-20 2004-04-27 Hitachi, Ltd. Microprocessor, and graphics processing apparatus and method using the same
US7382929B2 (en) 1989-05-22 2008-06-03 Pixel Instruments Corporation Spatial scan replication circuit
US5249263A (en) * 1989-06-16 1993-09-28 International Business Machines Corporation Color palette display interface for a computer-based image editor
JPH0371277A (ja) * 1989-08-10 1991-03-27 Daikin Ind Ltd サーフェス・モデル描画方法およびその装置
US5265198A (en) * 1989-10-23 1993-11-23 International Business Machines Corporation Method and processor for drawing `polygon with edge`-type primitives in a computer graphics display system
JPH03138783A (ja) * 1989-10-25 1991-06-13 Victor Co Of Japan Ltd 陰面消去回路
EP0430501B1 (en) * 1989-11-17 1999-02-03 Digital Equipment Corporation System and method for drawing antialiased polygons
US5245700A (en) * 1989-11-21 1993-09-14 International Business Machines Corporation Adjustment of z-buffer values for lines on the surface of a polygon
US5123085A (en) * 1990-03-19 1992-06-16 Sun Microsystems, Inc. Method and apparatus for rendering anti-aliased polygons
JP3071229B2 (ja) * 1990-04-09 2000-07-31 株式会社リコー 図形処理装置
US5243695A (en) * 1990-05-24 1993-09-07 Rockwell International Corporation Method and apparatus for generating anti-aliased lines on a video display
EP0536114A1 (en) * 1990-06-26 1993-04-14 Du Pont Pixel Systems Limited Graphics rendering systems
US5459835A (en) * 1990-06-26 1995-10-17 3D Labs Ltd. Graphics rendering systems
JPH07118025B2 (ja) * 1990-06-29 1995-12-18 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータ・グラフィックス処理方法及びシステム
US5175805A (en) * 1990-10-30 1992-12-29 Sun Microsystems, Inc. Method and apparatus for sequencing composite operations of pixels
US5220650A (en) * 1991-01-22 1993-06-15 Hewlett-Packard Company High speed method for rendering antialiased vectors
US5343558A (en) * 1991-02-19 1994-08-30 Silicon Graphics, Inc. Method for scan converting shaded triangular polygons
JP3079612B2 (ja) * 1991-03-29 2000-08-21 ソニー株式会社 ビデオデータ処理装置及びビデオデータ処理方法
WO1993000650A1 (en) * 1991-06-28 1993-01-07 Hong Lip Lim Improvements in visibility calculations for 3d computer graphics
US5680525A (en) * 1991-08-08 1997-10-21 Hitachi, Ltd. Three-dimensional graphic system with an editor for generating a textrue mapping image
US5333249A (en) * 1992-03-02 1994-07-26 Xerox Corporation Method for phase aligned nth bitting of graphics applications
US5408606A (en) * 1993-01-07 1995-04-18 Evans & Sutherland Computer Corp. Computer graphics system with parallel processing using a switch structure
GB9303009D0 (en) * 1993-02-15 1993-03-31 Canon Res Ct Europe Ltd Processing image data
US5579455A (en) * 1993-07-30 1996-11-26 Apple Computer, Inc. Rendering of 3D scenes on a display using hierarchical z-buffer visibility
US5574847A (en) * 1993-09-29 1996-11-12 Evans & Sutherland Computer Corporation Computer graphics parallel system with temporal priority
JP3473056B2 (ja) * 1993-09-30 2003-12-02 株式会社セガ 画像処理方法及び装置
US5534925A (en) * 1994-05-02 1996-07-09 Cognitech Inc. Image compression by optimal reconstruction
US5619627A (en) * 1994-05-03 1997-04-08 Loral Aerospace Corp. Multiple-level occulting using a mask buffer
CA2124030C (en) * 1994-05-20 1999-08-24 Albert Z. Zhao Method for colour image scaling and other geometrical transformations
US5818456A (en) * 1996-04-30 1998-10-06 Evans & Sutherland Computer Corporation Computer graphics system with adaptive pixel multisampler
US5940080A (en) * 1996-09-12 1999-08-17 Macromedia, Inc. Method and apparatus for displaying anti-aliased text
US6023279A (en) * 1997-01-09 2000-02-08 The Boeing Company Method and apparatus for rapidly rendering computer generated images of complex structures
GB9800900D0 (en) * 1998-01-17 1998-03-11 Philips Electronics Nv Graphic image generation and coding
US6501483B1 (en) * 1998-05-29 2002-12-31 Ati Technologies, Inc. Method and apparatus for antialiasing using a non-uniform pixel sampling pattern
US7616200B1 (en) 1998-06-12 2009-11-10 3Dlabs Inc. Ltd. System for reducing aliasing on a display device
WO2000004494A1 (en) 1998-07-17 2000-01-27 Intergraph Corporation Graphics processing system with multiple strip breakers
WO2000004495A1 (en) 1998-07-17 2000-01-27 Intergraph Corporation System for processing vertices from a graphics request stream
WO2000004482A2 (en) 1998-07-17 2000-01-27 Intergraph Corporation Multi-processor graphics accelerator
US6480913B1 (en) 1998-07-17 2002-11-12 3Dlabs Inc. Led. Data sequencer with MUX select input for converting input data stream and to specific output data stream using two exclusive-or logic gates and counter
WO2000004527A1 (en) * 1998-07-17 2000-01-27 Intergraph Corporation Apparatus and method of directing graphical data to a display device
US6459453B1 (en) 1998-07-17 2002-10-01 3Dlabs Inc. Ltd. System for displaying a television signal on a computer monitor
US7518616B1 (en) 1998-07-17 2009-04-14 3Dlabs, Inc. Ltd. Graphics processor with texture memory allocation system
US6181355B1 (en) 1998-07-17 2001-01-30 3Dlabs Inc. Ltd. Graphics processing with transcendental function generator
US6577316B2 (en) 1998-07-17 2003-06-10 3Dlabs, Inc., Ltd Wide instruction word graphics processor
US6906728B1 (en) * 1999-01-28 2005-06-14 Broadcom Corporation Method and system for providing edge antialiasing
US6674440B1 (en) 1999-04-05 2004-01-06 3Dlabs, Inc., Inc. Ltd. Graphics processor for stereoscopically displaying a graphical image
DE60008867T2 (de) * 1999-05-07 2004-07-29 Broadcom Corp., Irvine Antialiasingverfahren und -anordnung zur effizienten nutzung von wenigen mischeinheiten
US6407736B1 (en) 1999-06-18 2002-06-18 Interval Research Corporation Deferred scanline conversion architecture
US6437795B1 (en) 1999-07-21 2002-08-20 Sun Microsystems, Inc. Method and apparatus for clipping a function
US6850338B1 (en) * 2000-05-12 2005-02-01 International Business Machines Corporation Method, system, program, and data structure for generating raster objects
US6894796B1 (en) 2000-05-12 2005-05-17 International Business Machines Corporation Method, system, and logic for selecting line work and control data for a pixel from multiple objects of line work data provided for the pixel
US6449328B1 (en) 2000-05-15 2002-09-10 International Business Machines Corporation Method and apparatus for shifting data from registers
US7394568B1 (en) * 2000-05-15 2008-07-01 Infoprint Solutions Company Llc Method, system, and logic for selecting pixel data from multiple objects
US6804411B1 (en) 2000-05-15 2004-10-12 International Business Machines Corporation Method, system, and program for decompressing and aligning line work data from multiple objects
US6961134B1 (en) 2000-05-15 2005-11-01 International Business Machines Corporation Method, system, and logic using multiplexers to select data for pixels from multiple objects
TW504651B (en) * 2000-12-06 2002-10-01 Silicon Integrated Sys Corp Eliminating jagged effects using post filtering
US6788307B2 (en) * 2002-04-09 2004-09-07 Evans & Sutherland Computer Corporation System and method for improved pixel rendering performance
US20030214512A1 (en) * 2002-05-14 2003-11-20 Cheng Brett Anthony Hardware method for sub-pixel anti-aliasing of text on an LCD display
US20040174379A1 (en) * 2003-03-03 2004-09-09 Collodi David J. Method and system for real-time anti-aliasing
DE60305027T2 (de) * 2003-07-28 2006-12-14 Dassault Systèmes S.A. Verfahren zur Bereitstellung eines Vektorbildes mit entfernten versteckten Linien
US8775112B2 (en) * 2003-09-15 2014-07-08 Nvidia Corporation System and method for increasing die yield
US8775997B2 (en) * 2003-09-15 2014-07-08 Nvidia Corporation System and method for testing and configuring semiconductor functional circuits
US8732644B1 (en) 2003-09-15 2014-05-20 Nvidia Corporation Micro electro mechanical switch system and method for testing and configuring semiconductor functional circuits
US8711161B1 (en) 2003-12-18 2014-04-29 Nvidia Corporation Functional component compensation reconfiguration system and method
US8723231B1 (en) * 2004-09-15 2014-05-13 Nvidia Corporation Semiconductor die micro electro-mechanical switch management system and method
US8711156B1 (en) 2004-09-30 2014-04-29 Nvidia Corporation Method and system for remapping processing elements in a pipeline of a graphics processing unit
US8427496B1 (en) 2005-05-13 2013-04-23 Nvidia Corporation Method and system for implementing compression across a graphics bus interconnect
US8294731B2 (en) * 2005-11-15 2012-10-23 Advanced Micro Devices, Inc. Buffer management in vector graphics hardware
US8698811B1 (en) 2005-12-15 2014-04-15 Nvidia Corporation Nested boustrophedonic patterns for rasterization
US9123173B2 (en) * 2005-12-15 2015-09-01 Nvidia Corporation Method for rasterizing non-rectangular tile groups in a raster stage of a graphics pipeline
US9117309B1 (en) 2005-12-19 2015-08-25 Nvidia Corporation Method and system for rendering polygons with a bounding box in a graphics processor unit
US8390645B1 (en) 2005-12-19 2013-03-05 Nvidia Corporation Method and system for rendering connecting antialiased line segments
US8928676B2 (en) * 2006-06-23 2015-01-06 Nvidia Corporation Method for parallel fine rasterization in a raster stage of a graphics pipeline
US7843468B2 (en) * 2006-07-26 2010-11-30 Nvidia Corporation Accellerated start tile search
US8085264B1 (en) 2006-07-26 2011-12-27 Nvidia Corporation Tile output using multiple queue output buffering in a raster stage
US9070213B2 (en) * 2006-07-26 2015-06-30 Nvidia Corporation Tile based precision rasterization in a graphics pipeline
US8427487B1 (en) 2006-11-02 2013-04-23 Nvidia Corporation Multiple tile output using interface compression in a raster stage
US8482567B1 (en) 2006-11-03 2013-07-09 Nvidia Corporation Line rasterization techniques
EP2104930A2 (en) 2006-12-12 2009-09-30 Evans & Sutherland Computer Corporation System and method for aligning rgb light in a single modulator projector
US7852350B2 (en) 2007-07-26 2010-12-14 Stmicroelectronics S.R.L. Graphic antialiasing method and graphic system employing the method
US8724483B2 (en) * 2007-10-22 2014-05-13 Nvidia Corporation Loopback configuration for bi-directional interfaces
KR100924122B1 (ko) * 2007-12-17 2009-10-29 한국전자통신연구원 픽셀 단위 처리 요소 기반의 광선 추적 장치 및 방법
US8780123B2 (en) * 2007-12-17 2014-07-15 Nvidia Corporation Interrupt handling techniques in the rasterizer of a GPU
US9064333B2 (en) * 2007-12-17 2015-06-23 Nvidia Corporation Interrupt handling techniques in the rasterizer of a GPU
US8681861B2 (en) * 2008-05-01 2014-03-25 Nvidia Corporation Multistandard hardware video encoder
US8923385B2 (en) * 2008-05-01 2014-12-30 Nvidia Corporation Rewind-enabled hardware encoder
US8358317B2 (en) 2008-05-23 2013-01-22 Evans & Sutherland Computer Corporation System and method for displaying a planar image on a curved surface
US8702248B1 (en) 2008-06-11 2014-04-22 Evans & Sutherland Computer Corporation Projection method for reducing interpixel gaps on a viewing surface
US20100066731A1 (en) * 2008-09-16 2010-03-18 James Calvin Vecore Configurator Process and System
US8077378B1 (en) 2008-11-12 2011-12-13 Evans & Sutherland Computer Corporation Calibration system and method for light modulation device
US8686999B2 (en) * 2009-02-02 2014-04-01 Microsoft Corporation Dynamic fragment coverage antialiasing
US20110063306A1 (en) * 2009-09-16 2011-03-17 Nvidia Corporation CO-PROCESSING TECHNIQUES ON HETEROGENEOUS GPUs INCLUDING IDENTIFYING ONE GPU AS A NON-GRAPHICS DEVICE
US9331869B2 (en) 2010-03-04 2016-05-03 Nvidia Corporation Input/output request packet handling techniques by a device specific kernel mode driver
US9183651B2 (en) * 2010-10-06 2015-11-10 Microsoft Technology Licensing, Llc Target independent rasterization
US9171350B2 (en) 2010-10-28 2015-10-27 Nvidia Corporation Adaptive resolution DGPU rendering to provide constant framerate with free IGPU scale up
US9641826B1 (en) 2011-10-06 2017-05-02 Evans & Sutherland Computer Corporation System and method for displaying distant 3-D stereo on a dome surface
US9401034B2 (en) 2013-04-30 2016-07-26 Microsoft Technology Licensing, Llc Tessellation of two-dimensional curves using a graphics pipeline
US9710894B2 (en) 2013-06-04 2017-07-18 Nvidia Corporation System and method for enhanced multi-sample anti-aliasing
CN114777686A (zh) * 2017-10-06 2022-07-22 先进扫描仪公司 生成一个或多个亮度边缘以形成物体的三维模型

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3602702A (en) * 1969-05-19 1971-08-31 Univ Utah Electronically generated perspective images
US3816726A (en) * 1972-10-16 1974-06-11 Evans & Sutherland Computer Co Computer graphics clipping system for polygons
US4590465A (en) * 1982-02-18 1986-05-20 Henry Fuchs Graphics display system using logic-enhanced pixel memory cells
US4679040A (en) * 1984-04-30 1987-07-07 The Singer Company Computer-generated image system to display translucent features with anti-aliasing
US4780711A (en) * 1985-04-12 1988-10-25 International Business Machines Corporation Anti-aliasing of raster images using assumed boundary lines
FR2586838B1 (fr) * 1985-08-30 1989-07-28 Labo Electronique Physique Processeur d'elimination de faces cachees pour la synthese d'images a trois dimensions
US4811245A (en) * 1985-12-19 1989-03-07 General Electric Company Method of edge smoothing for a computer image generation system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
山口富士夫 「コンピュータディスプレイによる図形処理工学」、日刊工業新聞社、昭和58年1月20日、P.213〜295

Also Published As

Publication number Publication date
JPH01191276A (ja) 1989-08-01
DE3855231D1 (de) 1996-05-30
DE3855231T2 (de) 1997-01-02
EP0321095A3 (en) 1991-05-02
US4918626A (en) 1990-04-17
EP0321095B1 (en) 1996-04-24
EP0321095A2 (en) 1989-06-21

Similar Documents

Publication Publication Date Title
JP2963102B2 (ja) アンチアリアスを有するコンピュータグラフィック優先システム
US5699497A (en) Rendering global macro texture, for producing a dynamic image, as on computer generated terrain, seen from a moving viewpoint
KR960016886B1 (ko) 다수의 3차원 객체로부터 가시 객체를 픽크하는 장치 및 방법과 그를 이용한 비디오 디스플레이 시스템
US5805782A (en) Method and apparatus for projective texture mapping rendered from arbitrarily positioned and oriented light source
US5742749A (en) Method and apparatus for shadow generation through depth mapping
KR910009101B1 (ko) 화상합성장치
US5394516A (en) Generating an image
US6982723B1 (en) Method and apparatus for eliminating unwanted steps at edges in graphic representations in the line raster
US5142617A (en) Method of shading a graphics image
US5613050A (en) Method and apparatus for reducing illumination calculations through efficient visibility determination
US4967392A (en) Drawing processor for computer graphic system using a plurality of parallel processors which each handle a group of display screen scanlines
US7884825B2 (en) Drawing method, image generating device, and electronic information apparatus
US7126615B2 (en) Color compression using multiple planes in a multi-sample anti-aliasing scheme
US6292192B1 (en) System and method for the direct rendering of curve bounded objects
JPH03212775A (ja) アンチエイリアス多角形の描図方法及び装置
JP2009525526A (ja) ビーム放出によって仮想画像を合成するための方法
JPH04222071A (ja) テキスチュア・マッピング方法及びその装置
GB2561557A (en) Method of and apparatus for processing graphics
US5719598A (en) Graphics processor for parallel processing a plurality of fields of view for multiple video displays
KR100258649B1 (ko) 디스플레이용의 피사체를 래스터화하는 방법 및 장치
JP4311877B2 (ja) 副標本化テクスチャ端縁部のアンチエイリアシング
EP0314368B1 (en) Method and apparatus for hidden surface removal
US5926183A (en) Efficient rendering utilizing user defined rooms and windows
Nishita et al. A new radiosity approach using area sampling for parametric patches
GB2245806A (en) Generating an image

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080806

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090806

Year of fee payment: 10

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090806

Year of fee payment: 10