JP3277280B2 - エイリアシング除去多角形を描出する方法及び装置 - Google Patents

エイリアシング除去多角形を描出する方法及び装置

Info

Publication number
JP3277280B2
JP3277280B2 JP50655391A JP50655391A JP3277280B2 JP 3277280 B2 JP3277280 B2 JP 3277280B2 JP 50655391 A JP50655391 A JP 50655391A JP 50655391 A JP50655391 A JP 50655391A JP 3277280 B2 JP3277280 B2 JP 3277280B2
Authority
JP
Japan
Prior art keywords
pixel
polygon
color
depth value
background
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 - Fee Related
Application number
JP50655391A
Other languages
English (en)
Other versions
JPH05507372A (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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH05507372A publication Critical patent/JPH05507372A/ja
Application granted granted Critical
Publication of JP3277280B2 publication Critical patent/JP3277280B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/50Lighting effects
    • G06T15/503Blending, e.g. for anti-aliasing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Description

【発明の詳細な説明】 発明の背景 1.発明の分野 本発明は図形画像をコンピュータ表示装置に描出する
ことに関する。特に、本発明はエイリアシング除去多角
形をコンピュータ図形表示装置を描出することに関す
る。
2.技術背景 多角形の走査変換プロセスにおいては、頂点の座標に
より規定される多角形をラスター画像に変換する。ま
ず、多角形の輪郭、すなわち、辺を確定し、次に多角形
の辺の間の画素を充填する。多角形の頂点を表示座標空
間に変換し、線走査変換アルゴリズムを使用して、多角
形の辺を形成する頂点の間の走査線を確定する。線走査
変換アルゴリズムは、頂点の間の走査線に最も近接する
位置にある画素の座標を二次元ラスター格子で計算す
る。一例はブレゼンハムの線アルゴリズムである(ブレ
ゼンハムの線アルゴリズムの内容については、Foley及
びVan DamのFundamentals of Interactive Computer G
raphics(Addison−Wesley Publishing,1984年)の433
〜436ページを参照)。ところが、走査線が画素位置と
必ず一致、すなわち、「整列」するとは限らない。最も
近接する画素を選択するのであるが、その結果得られる
線は望ましくないエイリアス効果を含んでいる。この望
ましくない効果は多角形描出プロセスにも持越される。
多角形描出プロセスの間に多角形の辺をなめらかにし
ようとする試みの中で、ピットウエイとワトキンソンは
ブレゼンハムのアルゴリズムを修正して、多角形の辺を
形成する画素について部分占有面積値を確定した。この
修正は、ブレゼンハムの誤差項に傾きをmとしたときの
量(1−m)を追加することを含んでいた。その結果、
誤差項は多角形の内側の画素の面積を表す尺度となる
(ピットウエイ/ワトキンソンアルゴリズムの詳細につ
いては、Foley及びVan DamのFundamentals of Interac
tive Computer Graphics(Addison−Wesley Publishin
g,1984年)の460〜463ページを参照)。ピットウエイ/
ワトキンソンアルゴリズムを使用すると、多角形が占め
ている画素の面積にその画素における多角形の色、すな
わち、強さ(陰影のある多角形では強さ、すなわち、色
が異なってくると思われるため)を乗算したものに等し
い画素強さが生成される。
ピットウエイ/ワトキンソンアルゴリズムを使用して
計算される占有面積値は、多角形の線と主軸との間の面
積である。多角形が主軸に向かって、すなわち、描出し
ている線と主軸との間に位置している場合には、占有面
積値を直接に使用できる。多角形が副軸に向かって位置
している場合には、所望の占有面積値は1の値と、確定
したピットウエイ/ワトキンソン占有面積値との差に等
しい。ピットウエイ及びワトキンソンのアルゴリズムは
1つの線しかアドレス指定できないので、アルゴリズム
は、画素1つより細く、単一の画素の領域の中に入って
しまう細い多角形、又は単一の画素の領域の中に入る複
数の頂点を処理することができない。加えて、アルゴリ
ズムは主軸増分ごとに1つの画素を扱うため、1つの多
角形が一部ずつを占めているいくつかの画素は多角形に
より占められていないかのように扱われる。さらに、ピ
ットウエイ/ワトキンソンアルゴリズムは単純な平均化
プロセスを実行するのみであり、様々に異なるたたみ込
み平均化機能又は重み付き平均化機能に直接には拡張し
ない。
多角形を描出する別の方式は、画素内部の占有面積の
場所を指示する部分画素マスクを採用する。たとえば、
部分画素マスクは1つの画素において多角形に関わる占
有面積の4×4格子上の16ビットパターンを形成しても
良い。マスクは16個の部分画素領域の組合わせからなる
占有面積に加えて、全占有面積と、占有面積なしとを表
し、部分画素マスクの組合わせは256種類ある。整数画
素境界上に位置する水平の辺と垂直の辺に対応するため
に、ルックアップテーブルの索引は5×5アレイをアク
セスする。このことを図1a,図1b及び図1cに示す。テー
ブルから得られるマスクは4×4アレイであり、ビット
から構成されているが、0の値は多角形がその部分画素
を占めていないことを指示し、1の値は占めていること
を指示する。部分画素マスクを使用するために、幾何学
的操作を経た後に、多角形の頂点を部分画素値に量子化
する。マスクルックアップのために索引を計算するに
は、傾きの辺の符号を規定しなければならない。これ
は、傾きの方向に現在画素に隣接する画素の整数x座標
を確定する。規約上、隣接画素が常に右側にあるように
水平の辺は左から右へ描出される。垂直の辺では、隣接
画素を確定するために、それらの辺が多角形の左辺であ
るか又は右辺であるかをさらに知ることが必要である。
図1aを参照すると、隣接画素のx値を現在画素の辺の現
在x値から減算し、その結果にx中の部分画素の数(こ
の例においては4)を乗算したとき、次の結果が確定さ
れる。
0=04; 1=.254; 2=.504; 3=.754; 4=14 これらの値は部分画素識別マトリクスに対するx索引
となる。
図1bはxy索引を示し、図1cは部分画素識別索引を示
す。xについて実行したのと同じ計算を辺のy値につい
て実行する。y索引を確定するための計算は、多角形が
y増加方向に一度に走査線1つずつ描出されることによ
って簡略化される。x索引とy索引は画素の入口索引の
部分画素番号(たとえば、0から24)を与える。部分画
素マスクは入口索引を画素内部並びに画素境界上に置く
ことができるように設計されている。出口部分画素につ
いて同一の手順を実行する。隣接画素又は走査線遮断さ
れたとき直ちに、又は辺が終わったときに(辺が現在画
素の中で終わる場合)、出口部分画素を計算する。
入口部分画素と出口部分画素に関わる2つの部分画素
索引を確定したならば、ルックアップテーブルからマス
クを得て、辺のどの側が内側の辺であり、どちらが外側
の辺であるかを指示する辺コードに従って、マスクをそ
のまま使用するか、又はその補数をとる。1つの画素の
中の単一の多角形の複数の辺に関わるマスクを頂点コー
ドに従って組合わせる。頂点が180゜より大きい内角を
もつ2つの辺(凹形)を表す場合、マスクを論理ORし、
内角が180゜以下である(凸形)場合には、マスクを論
理ANDする。部分画素マスク自体は実験により確定され
ても良いし、あるいは、全てのマスクを生成するために
一貫したアルゴリズムを使用する限りにおいて所定のア
ルゴリズムに従って確定されても良い。マスク中の辺と
多角形の内側/外側との関係の知識に基づいてビットパ
ターンの補数をとることにより、可能な辺交点の組合せ
の半分を得ることができるのであれば、組合せのもう一
方の半分を与えることによりメモリを節約しても良い。
多角形の辺上の所望の部分占有画素を計算したなら
ば、走査線上の1つのスパンに沿った多角形の辺画素の
間の内側画素を充填しなければならない。走査線上の1
つのスパンを充填するには、多角形の左辺上の最も右側
の辺画素と、多角形の次の右辺上の最も左側の辺画素と
を確定する必要がある。確定したならば、それらの辺画
素の間の画素を充填する。1つのスパンに沿った多角形
の末端辺画素を使用するだけで、隣接する辺画素は完全
にペイントされる結果となり、それに対し、一部占有さ
れている辺画素は一部ペイントされ、すなわち、「色」
と占有面積」を与えられ、全体をペイントされる充填画
像には「色」のみが与えられるようになると考えられる
ため、1つのスパンにおいて最初の充填画素と、最後の
充填画素を確定することが必要である理由を図2aに示
す。図2bは、左辺画素が5つ(1つの頂点を含む)、右
辺画素は2つあるためにスパンの2つの画素のみを完全
に充填すべきであるという1例を示す。
単一の多角形について、充填すべき個々の走査線にい
くつかのスパンが存在する場合もある(Foley及びVan
DamのFundamentals of Interactive Computer Graphics
の456ページに多角形描出の説明がある。)特定の1つ
の走査線における個々のスパンの確定はその走査線上に
多角形の全ての辺を描出することと、1つのスパンの中
で完全に充填すべき第1の画素と最後の画素を確定する
ことを含む。それらの第1の充填画素と最後の充填画素
を確定したときに、走査線上のその位置についてX順分
類を実行し、次に個々のスパンを左から右の順序で充填
する。
多角形の画素ごとのエネルギー、すなわち、占有面積
を確定したならば、次に多角形画像を背景に合成すれば
良い。合成は、多角形と背景との間の遷移をできる限り
なめらかにさせるために多角形の画素を背景に混合する
技法である。1つの合成方法では、1つの画素における
1要素の占有面積の広さを識別するためにアルファ
「α」チャネルと呼ばれる別個の構成要素、すなわち、
チャネルを使用する。PorterとDuffの「Compositing Di
gital Images」,Computer Graphics第18巻第3号(1984
年7月)を参照。その要素を任意の背景に重ねて置くた
めには、前景色と背景色との線形補間を制御する混合係
数が各画素で要求される。この情報はαチャネルに符号
化されるが、0の値ではそれは占有面積なしを指示し、
1の値は全占有面積を表し、小数は部分占有面積に対応
する。そこで、画像の要素(画素)を下記の合成式に従
って背景に合成する。
Ct=α Ca+(1−αα Cb α=α+(1−αα 式中、Caは多角形の画素の色であり、Cbは背景オブジ
ェクトの色であり、Ctは合成時の画素の色であり、αa
は多角形の画素の部分占有面積の値であり、αbは背景
画素の部分占有面積であり、αtは合成α値である。
αチャネルの1つの実現形態では、αチャネルは1つ
の画素における多角形による部分占有面積に比例する画
素ごとの単一のα値のみを保持する。部分占有面積の向
き又は形状と関連する情報は保持されない。その上、1
つの画素と交わる多角形の辺の数が1より大きい場合、
α値は合成α値になり、交差する多角形の実際の数は未
知である。それらの合成式を多角形の全ての画素に等し
く適用する。従って、多角形の深さに差異がある場合、
深さにかかわらず多角形の画素は同じに描出される。さ
らに、合成式を介して計算される画素の色は特定の1つ
の画素で重なり合う多角形の描出順序により大きく左右
される。描出順序が多角形の実際の深さの順序に近いほ
ど、計算上の色値は所望の色値に対してより正確にな
る。米国特許第4,748,572号は、描出すべき多角形を合
成に先立って深さ順に分類するメカニズムを説明してい
る。ところが、分類プロセスはきわめて多くの時間を費
やし、いくつかの処理パスを必要とし、多角形描出プロ
セスをかなり遅くしてしまう。
交わり合う多角形を描出するときに発生し、多角形の
深さ順序に従って変化する誤差を、図3a及び図3bの例に
より示す。図3aは、3つの多角形のa,b及びcが交わる
画素を示す。多角形の中のそれぞれの画素はz値として
識別される関連する深さ値と、その画素における占有面
積の広さを示すα値とを有する。図3bは、αaが二分の
一に等しく、αbは二分の一に等しく且つαcは二分の
一に等しいときに起こりうるあらゆる深さ順序に対して
多角形ごとに計算した結果として色とαの値を示す。図
3bは、考えられる6つのケースのうち4つ、すなわち、
1,2,4及び6のケースにおいて、3つの交わりあう多角
形から最終画素色への寄与は深さ順序によって決まるこ
とを示している。この結果として発生する誤差を深さ順
依存誤差という。
図4は、αaが二分の一に等しく、αbは四分の一に
等しく且つαcは1に等しいときの多角形a,b及びcの
2つのケースを示す。描出の順序はc,b,aである。αが
1の値を得たとき、その後に続く他の多角形との合成に
かかわらずαは常に1の値にとどまることに注意すべき
である。図4は、これが深さ順序とは無関係に真である
と立証する。さらに、第2のケースでは、多角形aが多
角形cの前方にあり且つ二分の一に等しいα値を有する
にもかかわらず、多角形「a」から最終色への寄与はな
い。ところが、色の計算後に(第2のステップで)z値
はz=zbの値に更新され、また、α値は1に等しいの
で、多角形aが画素を完全に占有している多角形により
隠される(他方の多角形が実際には1のα値を有する多
角形の前方にあっても)ことを結論づけるだけの十分な
情報はない。
発明の概要 従って、本発明の目的は、多角形の深さとは無関係に
無順位で描出される高品質の多角形を生成することであ
る。
本発明の目的は、多角形の最小限の量の時間の中で描
出する単一系列、すなわち、単一パスの計算を利用して
高品質の多角形を描出することである。
本発明の目的は、画素ごとに、各画素のz値が各多角
形画素を対応する背景画素と合成するために使用される
合成式を確定するようにしてエイリアシング除去多角形
を描出することである。
さらに、本発明の目的は、画素ごとの部分画素マスク
を深さ値と関連して使用して、エイリアシング除去多角
形を生成する多角形描出方法を提供することである。
単一パス技法を使用して、多角形について走査変換プ
ロセスを実行する。まず、多角形の辺と頂点を構成して
いる画素を多角形を規定する頂点から確定する。アルフ
ァチャネルは、占有面積の量及び部分画素領域を指示す
る各画素と関連する部分画素マスク、又は1つの画素の
占有面積のパーセンテージを示す単一の値のいずれかか
ら構成される。さらに、各画素の深さを示すz値を維持
する。次に、多角形の辺画素の間にある画素をターンオ
ンし、それにより、多角形を充填する。次に、多角形を
構成している画素を画素ごとに背景画素と合成する。多
角形の各画素の深さ値(Z値)を使用して、多角形の各
画素を背景と合成するために使用すべき合成式を確定す
る。合成式は、多角形画素の背景画素への合成からの情
報の追加を反映するために、画素の色と、背景画素のZ
バッファ値と、部分画素マスクとを更新する。この方法
によって、合成に先立って多角形を深さの順に分類する
多くの時間を要するプロセスを実行せずに高品質のエイ
リアシング除去多角形を描出できるであろう。
一実施例では、多角形及び背景の画素ごとに占有面積
を記述する部分画素マスクの重ね合わせを維持する。多
角形は、まず、走査線変換アルゴリズムを使用して多角
形の辺を確定し、多角形の辺画素について部分画素マス
クの重ね合わせを確定することにより描出される。次
に、辺画素の間にある画素を充填することにより多角形
を充填する。多角形を充填したならば、背景画素のzバ
ッファ値に関する多角形のZ値によって決まる1組の式
を使用して、多角形を画素ごとに背景と合成する。背景
画素について部分画素マスクを維持し、合成式に従って
更新する。zバッファ値は、特定の1画素について色を
修正するか否か、特定の1画素についてZバッファ値を
修正するか否か、そして、部分画素マスク(その画素の
占有面積により確定される)を修正するか否かというこ
とも確定するする。従って、描出すべき多角形をZバッ
ファ順に分類するためのコスト又は速度を要することな
く、エイリアシング除去多角形のきわめて正確な描出が
達成される。
別の実施例では、要求されるメモリの量をできる限り
少なくするために、単一の値、アルファ値を使用して背
景画素の占有面積の量を指示する。合成前に、多角形の
部分画素マスクを単一の値に変換する。背景画素のそれ
ぞれについても占有面積を示す単一の値を維持する。合
成すべき多角形の各画素のZ値を背景画素の対応するZ
バッファ値と比較する。次に、Z値とZバッファ値との
比較によって決まる合成式を使用して、多角形画素を背
景画素に合成する。
図面の簡単な説明 本発明の目的、特徴及び利点は以下の詳細な説明から
明白であろう。
図1a,図1b及び図1cは、画素ごとの部分画素マスクの
概念を示す。
図2a及び図2bは、多角形の辺の間で最初に充填される
画素と、最後に充填される画素の定義を示す。
図3a及び図3bは、深さについて無順位で多角形を合成
した結果を示す。
図4は、深さについて無順位で合成した結果を示す表
である。
図5は、本発明を採用するコンピュータのブロック線
図である。
図6は、本発明の好ましい実施例を一般的に表すフロ
ーチャートである。
図7は、ピットウエイ/ワトキンソン走査変換アルゴ
リズムを示す図である。
図8は、1つの画素の中の細い多角形の占有面積の確
定を示す。
図9は、8ビットサブマスクを示す。
図10a,図10b及び図10cは、1例としての多角形の辺
と、対応する包含部分画素マスク及び排他部分画素マス
クとを示す。
図11a及び図11bは、アルファ値及び部分画素マスクの
公式化を示す。
図12は、1つの画素に関わる部分画素マスクを確定す
るためのルックアップテーブルの利用を示す。
図13a〜図13nは、多角形に関わる部分画素マスクの生
成の1例を示す。
図14は、走査線変換アルゴリズムを説明するために使
用される多角形を示す。
図15a及び図15bは、採用される合成式を示す。
図16a及び図16bは、深さ順に従属する誤りと、本発明
のシステムによるその誤りの改善を示す。
図17a,図17b及び図17cは、深さ順に従属する誤りと、
本発明のシステムによるその誤りの改善をさらに示す。
発明の詳細な説明 表記法及び用語 以下の詳細な説明の大半は、コンピュータメモリ内部
にあるデータビットについての演算のアルゴリズム及び
記号表示によって提示される。そのようなアルゴリズム
による説明や表示は、データ処理技術に熟達する人がそ
の作業の内容をその分野の当業者に最も有効に伝達する
ための手段である。
ここでは、また、一般にもアルゴリズムは所望の結果
に至る首尾一貫したステップのシーケンスであると考え
られている。それらのステップは物理的量の物理的操作
を要求するステップである。通常、そのような量は記
憶,転送,組合せ,比較及びその他の方法による操作が
可能な電気信号又は磁気信号の形態をとるが、必ずそう
であるとは限らない。時によっては、主に一般に使用さ
れている用語であるという理由により、それらの信号を
ビット,値,要素,記号,文字,項,数などと呼ぶと好
都合であることがわかっている。ただし、それらの用語
及びそれに類する用語は、全て、適切な物理的量と関連
させるべきものであり、単にそのような量に便宜上付さ
れたラベルであるにすぎないということを忘れてはなら
ない。
さらに、実行される操作を、一般にはオペレータが実
行する知的動作と関連している加算又は比較などの用語
で表すことが多いが、本発明の一部を成す、ここで説明
する動作のどれをとっても、そのようなオペレータの能
力は不要であり、多くの場合に望ましくない。動作は機
械の動作である。本発明の動作を実行するのに有用な機
械には、汎用デジタルコンピュータ又は他の同様の装置
がある。あらゆる場合において、コンピュータを動作さ
せるときの方法動作と、計算それ自体の方法との明確な
区別に留意すべきである。本発明は、電気信号又は他の
物理的(たとえば、機械的,化学的)信号を処理して、
別の所望の物理的信号を発生するに際してコンピュータ
を動作させる方法ステップに関する。
本発明は、さらに、そのような動作を実行する装置に
関する。この装置は要求された目的に合わせて特別に構
成されても良いが、あるいは、汎用コンピュータに記憶
させたコンピュータプログラムによりコンピュータを選
択的に動作させるか又は再構成しても良い。ここで提示
するアルゴリズムは、本来、特定のコンピュータ又は他
の装置に関連するものではない。すなわち、ここに示す
教示に従って書込んだプログラムと共に様々な汎用機械
を使用であきるであろうし、あるいは、要求される方法
ステップを実行するためにはより特殊化した装置を構成
するほうが好都合であると判明するかもしれない。それ
らの多様な機械に必要とされる構造は以下の説明から明
白になるであろう。
システム全般の構成 図5は、本発明に従ってエイリアシング除去多角形を
描出するための典型的なコンピュータ利用システムを示
す。3つの主要構成要素から構成されるコンピュータ10
1が示されている。それらの構成要素のうち第1のもの
は、コンピュータ101のその他の部分との間で適切な構
造形態の情報を通信するために使用される入出力(I/
O)回路102である。コンピュータ101の一部として、中
央処理装置(CPU)103と、メモリ104も示されている。
それら2つの構成要素は、多くの汎用コンピュータ及び
ほぼ全ての専用コンピュータで通常見られる要素であ
る。実際には、コンピュータ101の中に含まれているい
くつかの要素はこの広いカテゴリーのデータプロセッサ
を代表すべきものである。コンピュータ101の役割を果
たすのに適するデータプロセッサの特定の例には、カリ
フォルニア州マウンテンビューのSun Microsystems,In
c.が製造している機械がある。同様の能力を有する他の
コンピュータを以下に説明する機能を実行するために簡
明な方法で適用させることができることは言うまでもな
いであろう。
図5には入力装置105も示されており、これは典型的
実施例ではキーボードとして表されている。しかしなが
ら、入力装置が実際にはカード読取り装置、磁気テープ
又は紙テープ読取り装置,あるいは他の周知の入力装置
(当然、別のコンピュータを含む)であっても良いこと
を理解すべきである。大容量メモリ装置106は入出力回
路102に結合しており、コンピュータ101の追加記憶能力
を与える。大容量メモリは他のプログラムなどを含んで
いても良く、また、磁気テープ又は紙テープ読取り装
置、あるいは他の周知の装置の形態をとっても良い。大
容量メモリ106内部に保持されているデータをメモリ104
の一部としてコンピュータ101に標準的方式により取入
れてもよいことはわかるであろう。
さらに、メッセージ又は他の通信をユーザーに対して
表示するために使用される表示モニター107が示されて
いる。そのような表示モニターはいくつかの周知の種類
のCRT表示装置の中のいずれかの形態をとっていても良
い。表示モニター107は図形画像、すなわち、本発明の
プロセスに従って描出されたエイリアシング除去多角形
をさらに表示しても良い。カーソル制御装置108は、指
令モードを選択し且つ入力データを編集するために使用
され、一般に、システムに情報を入力するためのより便
利な手段を構成している。
プロセスの説明 本発明によれば、多角形の深さの順序で記憶するとい
う多くの時間を要するプロセスを実行せずに、高画質の
エイリアシング除去多角形を単一のパスで描出できるで
あろう。描出すべきそれぞれの多角形はその頂点と、
色、すなわち、強さと、Zバッファ値とも呼ばれる深さ
値とにより識別される。
図6を参照すると、ブロック300では、描出すべき多
角形の辺を構成する画素の占有面積を確定する。占有面
積の量は画素の強さに反映され、占有面積が広いほど、
多角形画素が画素の最終強さに寄与する割合は大きい。
その占有面積の値をα(アルファ)値という。α値はピ
ットウエイ/ワトキンソンアルゴリズムに従って確定さ
れるのが好ましい。ピットウエイ/ワトキンソンアルゴ
リズムに従って計算される占有面積値は多角形の辺を表
す線と、主軸との間の面積である。このことについて、
図7を参照してさらに説明する。図中符号400は描出す
べき所望の線を表す。ブレゼンハムの線アルゴリズム
は、線のその部分を最も良く評価するためにどの画素を
描出すべきか、たとえば、画素ti410又は画素si420を確
定する。アルゴリズムは、sとtとの差に比例する決定
変数diを使用する。描出している実際の線に最も近接す
る画素としてPi-1が確定されており、そこで、次に設定
すべき画素がtiであるか又はsiであるかを判定するため
にdiを計算するもである。sがtより小さければ、si
所望の線により近く、それを設定すべきであり、そうで
なければtiのほうが近く、それを設定すべきである。こ
のことは、s−tが0より小さい場合にはsiが選択され
るという点に注目することにより異なる観点から考察で
きるであろう。dxが(x2−x1)の絶対値に等しく、dyは
(y2−y1)の絶対値に等しいとするとき、dの値は2
(dy−dx)と計算される。
ピットウエイ/ワトキンソンアルゴリズムを使用する
と、d値は(mx−y)+(1−m)と等しいものと計算
される。尚、mは線の傾きである。線のその部分をどの
画素が表示すべきであるかを判定するための試験は、元
来のアルゴリズムにおけるように値を0と比較するので
はなく、値(1−m)と比較する。そこで、変数dはス
テップごとに画素占有面積を評価する働きをする。dか
1に近づくほど、画素の占有面積は大きくなり、画素の
強さへの寄与は多くなる。ところが、ピットウエイ/ワ
トキンソンアルゴリズムは細い多角形又は頂点には十分
に適応しない。
細い多角形を描出しようとするときに起こる誤りをで
きる限り少なくするために、多角形の辺を個々に中間走
査線バッファに送り込む方式を採用する。この方式が好
ましいのは、辺は一般的に特定の走査線に対して完全に
描出され、1つの辺に関わる部分占有面積値を後続する
計算に備えて記憶しなければならないためである。たと
えば、占有面積は2つの辺(たとえば、図8に示す2つ
の辺)を横切ることから得られるマスクの組合わせであ
るので、1つの辺について部分占有面積マスクを記憶す
る必要がある。まず、同じ走査線上に位置している辺画
素を順次描出し、従って、それらをまとめて中間走査線
バッファに送り込むことができるように、多角形の辺画
素をy座標値に従って分類する。このように、細い多角
形又は頂点に関わる占有面積を背景に合成するのに先立
って個別に確定すれば良い。
図8を参照すると、細い多角形又は頂点の最終占有面
積は次の合成式を使用して取出せるであろう: α=1−(1−αa)−(1−αb) =αa+αb−1 式中、αaは多角形の下方の辺と上の走査線との間の部
分占有面積であり、αbは多角形の上方の辺と走査線と
の間の部分占有面積である。同様に、部分画素マスクを
使用する場合には、走査線バッファは部分画素値の分解
能に至る1つの走査線から構成されることになるであろ
う。従って、細い多角形又は頂点の最終占有面積は次の
合成式を使用して取出せるであろう: MF=MAAND MB 式中、「AND」は論理AND演算を表し、MFは全部分画素マ
スクを表し、MAは多角形の下方の辺に関わる部分画素マ
スクを表し、MBは多角形の上方の辺に関わるマスクを表
す。
多角形のそれぞれの辺画素の占有面積はα値又は部分
画素マスクにより表せるであろう。部分画素マスクは1
つの画素の領域を複数の部分画素領域に分割する。部分
画素領域はどのような大きさ又は形状であっても良い
が、部分画素領域は等しい面積をもっているのが好まし
い。好ましい実施例では、画素を4×4格子に従って分
割して、1つの画素において多角形に関わる占有面積の
16ビットパターンを提供することにより、部分画素マス
クの面積を等しくするように設計している。マスクは16
個の部分画素領域の組合わせから成る占有面積と、全占
有面積及び占有面積なしを表す。各部分画素要素は1つ
の部分画素の幾何学的位置を表す。従って、マスクの場
合、占有面積の量のみならず、画素内部における占有面
積の実際の場所をも確定するので、マスクは画素の占有
面積をより正確に表示できる。あるいは、メモリに記憶
するルックアップテーブルの中のマスク数をできる限り
少なくするために、画素領域を図9に示すマスクのよう
に所定のパターン又は無作為生成パターンに従って8つ
の部分画素領域に分割する8ビットマスクを使用しても
良い。
メモリに記憶されるルックアップテーブルのマスクの
セットは、起こる可能性のあるあらゆる組合わせについ
て部分画素マスクを提供すべきである。メモリのスペー
スを節約するために、既に記憶してあるマスクの補数、
すなわち、鏡像であるマスクを記憶させないことによ
り、記憶するマスクの数を半減するのが好ましい。描出
プロセス中、メモリに記憶されている鏡像マスクの補数
をとることにより、記憶されていないマスクを容易に確
定できるであろう。
マスクは実験により生成されても良いし、あるいは、
起こりうるあらゆるマスクの組合わせをアドレス指定す
る所定のプロセスを経て生成されても良い。マスクを生
成するための手続きは、占有面積の実際の量が対応する
マスクについて確定された占有面積の量とほぼ等しくな
るように保証すべきである。このことは図10a及び図10b
に示されている。図10aは1つの画素を通る辺を示し、
この場合、辺の包含側は画素の面積の約5/8を占める。
図10bに示されている対応するマスクは、画素の面積の9
/16を占める部分画素セットを有する。占有面積はほぼ
等しいので、このマスクは辺を正確に表す。
マスク生成手続きは辺の一方の側にある面積に関わる
マスクと、辺の他方の側に関するマスクとを生成するこ
とにより、2つのマスクを互いに加えた場合に、その結
果得られるマスクが全占有面積と等しくさせることがで
きるべきである。このことは図10b及び図10cに示されて
いる。先に述べた通り、図10bは、図10aに示す辺の包含
側について生成した対応するマスクを表す。図10cは、
図10aに示す辺の排他側について生成したマスクであ
る。図10b及び図10cのマスクの和は、マスクの生成に関
わるプロセスが正確であることを指示する全マスクであ
る。
マスクを生成するための1つの方法は、角度範囲全体
にわたる部分画素の中心を通る複数のベクトルにより描
かれた領域に対応する部分画素ごとのマスクのセットを
確定することである。そのベクトルを所定の増分だけ回
転させ、辺部分画素を確定し(ブレゼンハムなど)、辺
部分画素により描かれる領域の中の全ての部分画素を埋
める走査変換プロセスに従ってマスクを計算しても良
い。このプロセスは各部分画素に関して実行される。
マスクを生成するための別の方法は、ピットウエイ/
ワトキンソンアルゴリズムを使用して、所定の領域サイ
ズ及び入口点に従ってマスクを確定するというものであ
る。次に、領域サイズと入口点を変化させて、複数の異
なるマスクを生成する。
図11a及び図11bは、アルファ値と対応する部分画素マ
スクの公式化の実例を表す。この例では、16セルテーブ
ルを2つの交差点によりアドレス指定している。左の辺
に関わる交差点が(0.0,0.0)であり且つ表示すべき面
はこの左辺の右側にあると仮定する。部分画素マスクと
占有面積値を計算するために、ブレゼンハムの線アルゴ
リズムを採用して表示要素を横断してゆく。しかしなが
ら、ステップサイズは1.0ではなく、0.25である。
図11aは、辺の左側にある面に関わる交差点の様々に
異なる組合わせについてのマスクを示す。辺の左側の面
に関わる対応するマスクの補数をとることにより、辺の
右側の面を簡単に確定できる。
図11bは、辺の左側の面に関わるアルファ値、すなわ
ち、占有面積値の表を表す。これらの値は、マスク中で
設定されている部分画素の数を合計することにより簡単
に確定できるであろう。値16は全占有面積を表す。値16
から辺の左側の面に関わる1つの占有面積値を減じるこ
とにより、辺の右側の面に関わる占有面積値を確定でき
るであろう。
マスクはテーブルのアレイ、すなわち、1組のテーブ
ルに組込まれ、それらのテーブルはメモリに記憶され
る。エイリアシング除去多角形の描出中、画素の中に位
置する辺から確定した索引に従ってマスクをアクセスす
る。その索引は入口部分画素と出口部分画素、すなわ
ち、辺が画素に入るところの部分画素と、辺が画素から
出るところの部分画素であっても良い。あるいは、索引
は入口部分画素と、画素を通る辺の傾きとから構成され
ていても良い。また、索引は画素を通る辺の傾きと、画
素の中心から辺までの垂直方向距離であっても良い。さ
らに、画素の中に現れる頂点に関わるマスクを確定する
場合、索引は入口部分画素と、その頂点の部分画素位置
であっても良い。
再び図1を参照すると、4×4部分画素マスクを表示
するためには5×5テーブルを使用するのが好ましい。
テーブルは部分画素入口索引と、部分画素出口索引とを
介してアクセスされる。多角形の入口索引と出口索引
は、多角形の辺が画素に入るところと、画素から出ると
ころそれぞれの部分画素位置である。多角形の頂点は何
らかの幾何学的操作を経た後に部分画素値に量子化され
る。テーブルの入口索引を計算するためには、辺の傾き
の符号を確定しなければならない。これは、傾きの方向
で現在画素に隣接している画素の整数x座標を計算する
のに使用される。規約上、隣接画素が常に右側にあるよ
うに水平の辺は左から右へ描出されるのが好ましい。垂
直の辺の隣接画素を確定するためには、その辺が右辺で
あるか又は左辺であるかの追加情報が必要である。次
に、隣接画素のx値を現在辺画素のx値から減算し、x
中の部分画素の数(この例では4)と乗算する: 0=0×4; 1=.25×4; 2=.5×4; 3=.75×4; 4=1×4 値.25,.5,.75及び1はここで使用しているマスクの量子
化レベルである。それらの小数値は、辺をトラバース
し、整数画素値を部分画素精密値から減算するのに先立
って頂点における最も近い部分画素位置に丸めるために
発生される。部分画素マトリクスへの索引を識別するた
めに、その値を値4と乗算する(図1bを参照)。辺のy
値についても同一の計算を実行する。これらのx索引と
y索引は、画素への入口の部分画素番号、この例では0
から24、を表す。マスクは入口索引が画素の内側並びに
画素境界上にあることができるように設計されている。
出口部分画素(すなわち、多角形の辺が画素境界と交差
するところの部分画素位置)について同一の手続きを実
行する。出口部分画素は、隣接画素又は走査線が遮断さ
れる位置、あるいは辺が終わる(辺が現在画素の中で終
わる場合)位置で計算される。
入口部分画素索引と出口部分画素索引を確定したなら
ば、ルックアップテーブルからマスクを得る。このこと
は図12に示されており、図12は、マスク520を取出すた
めにマスクルックアップテーブル515に入力されている
部分画素索引509及び510を示す。
まず最初に、1つの画素の中に複数の辺が現れている
という状況に関して生成されたマスクを個別に確定し
(すなわち、辺ごとのマスクを個別に確定する)、組合
わせる。一実施例では、辺コードに従ってマスクを組合
わせる。辺は、その辺が右辺であるか又は左辺である
か、すなわち、辺が凸形であるか又は凹形であるあるか
を指示し、それはどの領域が辺の内側、従って、多角形
の内側にあるかを確定する。
ある特定の走査線において、画素が右辺の左側、左辺
の右側にあるならば、その画素は多角形の内側にある。
左辺と右辺の識別は複数の方法により実行できるであろ
う。1つの方法では、多角形の頂点をy座標値に従って
降順に分類する。隣接y座標値に対応するx座標値を比
較する。より大きいy座標値に対するx座標値がより小
さいy座標値に対応するx座標値より小さい場合、その
座標により指定される辺は右辺である。逆に、より大き
いy座標値に対するx座標値がより小さいy座標値に対
応するx座標値より大きい場合には、辺は左辺として指
定される。
別の方法では、多角形の方向を確定する。たとえば、
多角形は時計回り方向に描かれても良く、あるいは反時
計回り方向に描かれても良い。多角形を反時計回り方向
に描き、辺のxの変化(δx=x2−x1)か0より大きい
場合、その辺は左辺であり、辺に対応するマスクの補数
をとることになる。垂直の辺(δx1=0)は、yの変化
(δy1=y2−y1)が0より小さい場合に左辺としてコー
ド化され、補数をとることになる。一般に、δy1が0よ
り大きい辺は左辺としてコード化され、δy1が0以下で
ある辺は右辺としてコード化される。左から右へ進んで
ゆく(δx1>0)水平の辺は右辺としてコード化され、
右から左へ進んでゆく水平の辺は左辺としてコード化さ
れる。同様に、頂点のコード化は以下に計算される2つ
の関与する辺のδx及びδyのクロス乗積を使用して実
行される: クロス乗積(CP)=(δx1×δy2)−(δx2×δy1)
式中、δx1,δy1は辺1から取られ、δx2及びδy2は辺
2から取られたものである。クロス乗積が0以下である
(0≧CP)場合、頂点は2つの辺から生成した2つの部
分画素マスクが互いに論理ANDされることを指示する凸
形であるとしてコード化される。そうでない場合には、
頂点は2つのマスクが互いに論理ORされることを指示す
る凹形である。第1の頂点で1つの辺の一端が凹形を形
成する一方で、第2の頂点では同じ辺の他端が別の隣接
する辺と凸角を形成することもありうるので、頂点並び
に辺をコード化しなければならない。
以下、図13a〜図13nを参照して多角形の画素マスクの
生成の1例を論じる。図13aは、(2.1,0.2),(3.1,2.
2)及び(0.2,3.1)に頂点を有する三角形の多角形を示
す。小数点の左側の数は画素値を表し、小数点の右側の
数は小数値、すなわち、部分画素値を表す。頂点位置を
生成するために、まず、頂点値を表示座標スペースに変
換する。次に、頂点座標を部分画素要素に(好ましくは
画素内部の少なくとも2つの小数ビット)に量子化す
る。次に、頂点位置をY座標値と、X座標値とによって
分類し、活動辺リストと、走査線の順序とを確定する。
第1の頂点はy座標値0.2であるので、走査線変換ア
ルゴリズムは多角形の一部分を包含すべき第1の走査線
はy=0にあることを確定する。辺の部分画素位置は適
正な部分画素マスクを索引付けするために使用されるの
で、次のステップは画素の辺の部分画素位置(すなわ
ち、辺交差点)を補外する。この例では、ブレゼンハム
のアルゴリズムを使用して、多角形の辺と画素の辺との
交点を確定する。
第1の頂点は(2.1,0.2)であるので、評価される第
1の画素は画素(2.0,0.0)である。このことは図13bに
示されている。頂点は1つの画素の中に位置しているの
で、頂点の各辺を個別に確定し、組合わせて、頂点に関
わる部分画素マスクを生成する。従って、図13cにより
示すように、頂点の左辺((2.0,1.0)と(2.1,0.2)と
の間の辺)はブレゼンハムのアルゴリズムと、部分画素
位置(2.2,0.0)とを使用して画素の辺と交差するよう
に補外される。同様に、頂点の右辺((2.2,1.0)と
(2.1,0.2)との間の辺)は部分画素位置(2.0,0.0)で
画素の辺と交差するように補外される。画素へのそれら
の入口点と出口点を使用して、部分画素マスクを含む占
有面積テーブルを索引付けする。
入口点と出口点の小数ビット(小数点の右側の値)を
取出して、占有面積テーブルに対する索引を形成するア
ドレスを作成する。1つの交差点は5つの部分画素領
域、すなわち、現在画素の4つの部分画素と、次の隣接
する部分画素の0部分画素の中の1つと交わることに注
意すべきである。従って、画素の右辺又は底辺に交点が
現れた場合、より上位のビット、この例ではこれは小数
点の左側の数であるが、それを参照する。小数ビットの
値が0であれば、より上位のビットを現在画素のより上
位のビットの値と比較する。2つの値が等しいならば、
交点のその特定の座標に関わるアドレスの部分は0であ
る。交点の座標値のより上位のビットの値が現在画素の
対応するビットより大きい場合、交点のその特定の座標
に関わるアドレスには4の値が与えられる。この例で
は、このプロセスによって図13dに示す値が得られるで
あろう。図13dのテーブルは、辺が左辺であるか又は右
辺であるかを指定する、「1r」ビットと呼ばれるビット
を含む。辺ごとの値を利用して、占有面積テーブルをア
ドレス指定し、辺ごとの対応する部分画素マスクを検索
する。
占有面積テーブルは、確定されたアドレスで画素と交
差する無限辺に関わる部分画素マスクを戻す。図13e
は、占有面積テーブルから検索されると考えられる部分
画素マスクを示す。先に説明した通り、頂点論理を使用
すると、頂点は凸形であると確定される。従って、2つ
の部分画素マスクを論理ANDすることにより2つのマス
クを組合わせる。現在多角形について現在走査線が完全
に処理され、データがフレームバッファへ転送されるま
で、現在走査線に関わる画素値を記憶する中間走査線バ
ッファに得られた部分画素マスクを書込む。
この時点で、現在走査線には多角形の一部を含む他の
画素は存在しない。このことは、中間走査線バッファに
記憶されているデータがフレームバッファに合成された
ことを指示する走査線論理により検出され、次の走査線
で処理は継続してゆく。
図13fにより示す次の走査線は、それぞれが別個の画
素と交差する2つの辺から構成されている。各辺を個別
に処理して、中間走査線バッファに記憶されている対応
する部分画素マスク(図13gにより示す)を検索し、そ
れらをフレームバッファに合成する。
処理すべき第3の走査線を図13hにより示す。3つの
画素に関わる部分画素マスクは、初めの2本の走査線に
関して説明したプロセスに従って確定される。ただし、
位置(1.0,2.0)の画素は2つの別個の辺を含むことに
注意すべきである。走査線論理にはこのケースに備えた
規定が含まれている。第1の辺がこの画素と交差すると
き、走査線論理は、中間走査線バッファの画素位置には
(現在走査線に関して)書込みがなされていないことを
検出する。従って、部分画素マスクは中間走査線バッフ
ァに書込まれる。画素と交差する第2の辺を処理すると
きには、論理は中間走査線バッファの特定の画素に書込
みがなされていることを検出し、その部分画素マスクと
中間走査線バッファの部分画素マスクとを互いに論理AN
Dすることにより、それら2つの部分画素マスクを組合
わせる(このことは図13iにより示されている)。
最も右側の画素の処理中、辺論理は画素の補外右辺が
第2の頂点を越えて延出していることを確定する。この
ことは右辺が完了していることを示しており、活動辺リ
ストから右辺を削除する。第2の頂点を形成する辺に関
わる部分画素マスクを個別に確定し、それら2つの部分
画素マスクを互いに論理ANDすることにより(図13jによ
り示すように)組合わせる。走査線に関してその結果得
られた占有面積を図13kにより示す。
図13lにより示す次の走査線は多角形の第3の頂点か
ら構成されている。頂点を形成する辺を補外して、交点
(すなわち、画素の辺入口点及び辺出口点)を確定す
る。交点の位置を頂点の位置と比較することにより、頂
点の右辺を補外することにより確定された画素の右辺は
頂点の左辺を越えて延出しており、頂点の左辺を補外す
ることにより確定された画素の左辺は頂点の右辺を越え
て延出していることが確定される。従って、活動辺リス
トから左辺と右辺を除外し(そこで、活動辺リストは空
になる)、図13mにより示すように、頂点を形成する辺
ごとの部分画素マスクを占有面積テーブルから検索し、
互いに論理ANDし、中間走査線バッファに記憶する(図1
3nにより示す)。その後、中間走査線バッファに記憶さ
れている部分画素マスクをフレームバッファの対応する
画素と合成して、多角形の処理を完了する。
再び図6を参照すると、多角形の境界画素又は辺の正
しい部分占有面積を確定したならば、ブロック310で、
辺画素の間の画素を充填する。それぞれの辺画素が計算
されるときに、それと共に、多角形の内側の第1の非辺
画素を表すx値を識別するのが好ましい。この画素は多
角形の内側で最初に充填すべき画素である。次に、それ
らのx値をy値及び増加してゆくx値によって分類し、
奇/偶原則を使用して、現在走査線上のいくつかのスパ
ンについて充填スパンを開始し、また、充填スパンを終
了する。
分類リスト中の第1のx値は、それぞれ連続する画素
をターンオンすることにより充填が始まる点である左辺
である。対応する右辺が見出されるまで、充填プロセス
は続く。リストをさらに検討して、現在走査線で別の1
組の左辺と右辺が見出され、充填プロセスを繰返すか否
かを知る。
辺画素の間の走査線処理は単純な線形補間ループを使
用して実行される:たとえば、平坦な多角形の場合: (x<right_x)である間 process_pixel(x,y,z,r,g,b) x+=scale_x z+=dzDx r+=drDx g+=dgDx b+=dbDx 式中、x,y,zは表示座標値を示し、そのzは深さを示
し、r,g,bは色座標値の赤,緑,色を示し、x,y,z,r,g,b
は計算すべきx,y,z,r,g,bの値であり、「right_x」は処
理中のスパンの右辺画素であり、「scale_x」は走査線
に沿った画素増分であり、「+=」は演算子の左側の変
数を演算子の右側の変数により増分する演算を表し、ま
た、dzDx,drDx,dgDx及びdbDxは、それぞれ、xに関わる
z,r,g,bの傾きであり、下記の式により計算される(図1
4に示すように、辺画素は左辺P1−P3の終端点及び右辺P
1−P2の終端点により識別されるものと仮定する): 式中、dx1,dy1,dz1,dr1,dg1及びdb1はスパンの右辺を形
成する終端点P1,P2の間のx,y,z,r,g,b値についての差値
であり、dx3,dy3,dz3,dr3,dg3及びdb3は1つの走査線上
のスパンの左辺を形成する終端点P1,P3の間のx,y,z,r,
g,b値についての差値である。
多角形の1つの走査線を画素値に変換したならば、図
6のブロック320で、多角形の各画素のz値、すなわ
ち、深さ値(以下、zaという)を多角形と合成すべき各
背景画素のバッファ値(zb)と比較して、使用すべき1
組の合成式を確定する。各画素のz値を使用すべき合成
式を確定するための対照基準として採用することによ
り、背景と合成される多角形の正確な描出を実行でき
る。
ブロック330で、zaがzbより小さければ、多角形は背
景画素の前方にあり、ブロック340において多角形の画
素を背景画素と合成する。
図15aは、1つの画素の占有面積の広さを記述するた
めに単一のアルファ値を使用するときに採用される合成
式を示し、図15bは、1つの画素における占有面積を表
すために部分画素マスクを使用するときに1つの画素を
背景画素と合成するために採用される式を示す。
従って、zaがzbより小さく且つ占有面積を記述するた
めにアルファ値を使用する場合には、合成時の背景画素
の色を図15aの式540,545,550に従って計算し、背景画素
のアルファ値を式に従って更新し、zバッファ値を式56
0に従って多角形の画素のz値(za)と等しくなるよう
に設定する。
占有面積を記述するために部分画素マスクを使用する
場合には、図15bを参照して、占有面積値αaを式650及
び655に従って確定するが、これは1に設定されている
マスク中の部分画素要素の数をマスク中の部分画素の総
数により除算することに従って簡単に確定される。式66
0及び665は多角形画素と、背景画素の合成色を確定し、
それは背景画素の更新色である。式670は、背景画素の
αチャネルに記憶すべき合成部分画素マスクを取出す。
部分画素マスクは背景画素の先に記憶されていた部分画
素マスクと、多角形の画素のマスクとの論理ORである。
新たな多角形が観察者により近接している限り、zバッ
ファ値は多角形画素のz値に更新される(式675)。
図6のブロック350で背景画素が多角形画素の前方に
あり且つ画素の占有面積の広さを記述するために単一の
アルファ値を使用する場合には、図6のブロック360
で、背景画素と多角形画素とを合成し、アルファ値を更
新する。図15aの式565,570,575は合成時の背景画素の色
を確定するために使用され、式580はアルファの更新値
を確定するために使用される。背景と合成される多角形
画素は背景画素の背後にあるので、zバッファ値は同じ
ままである(式585)。
図6のブロック350で、占有面積を記述するためにマ
スクを使用する場合、zbがzaより小さいならば、背景画
素は多角形画素の前方にあり、ブロック360で、図15bの
式680,685,690,695,700,705及び710を使用して多角形画
素と背景画素を合成する。それらの式は、多角形画素の
z値(za)が背景画素のz値(zb)より大きく且つ背景
画素マスクは既に一杯(全マスク)になってはいない
(すなわち、画素が多角形により閉塞されてはいない)
ときに、採用される。1つの画素に対する比例色寄与を
取出すために使用される部分マスクを、まず、式680に
示すように、記憶されている背景部分画素マスクの論理
補数と論理ANDする。この演算は、背景画素のマスクに
より指示されるように多分見えないであろうと考えられ
る画素領域を除去する。合成マスク演算の結果は、見え
るであろうと考えられる部分画素であり、それは占有面
積値に寄与する(式685)。画素の色は式690により確定
され、その結果としての背景画素の部分画素マスクと色
は式695,700及び705により確定される。背景画素は多角
形画素の前方にあるので、zバッファの値は変化しない
(式710)。
図6のブロック370で、zaがzbと等しいならば、ブロ
ック380の合成演算を実行するために2つの方法を採用
できるであろう。第1の方法は、単純に背景画素色を多
角形画素の色と重ね書きするものである。この方法は、
アルファ値が占有面積を表すケースに関して、アルファ
値の和が1の値以上であるときに使用される。同様に、
この方法は、記憶されているマスクと多角形の部分画素
マスクとの論理ORの結果が全マスクになる(すなわち、
マスク中の全てのビットが1に設定される)ときに採用
される。アルファ値が1の値以上であるとき又はマスク
がフルであるときには、記憶されている情報が与えられ
れば、どの合成が先に起こったかは不明確である。統計
によれば、入力情報は通常は背景情報より重要であるこ
とがわかっているので、画素の色を確定するために入力
情報を使用することになる。
式590,595,600,605及び610は合成時に色及びアルファ
値zバッファ値を確定するために使用され、式715,720,
725,730,735及び740(図15b)は、部分画素マスクを使
用するときに利用される。
背景画素マスクと多角形マスクを互いに論理ORすると
きに合計アルファ値が1未満であるか、又は、マスクが
フルでない場合(すなわち、(Ma|Mb)≠full maskの
場合)には、画素が頂点画素を含み、単純な重ね書きの
結果、合成辺に沿って望ましくないリップルが現れる確
率は高い。従って、図6のブロック390では、エイリア
シング除去辺のなめらかさを維持するために、アルファ
値方式の場合は図15aの式615,620,625,630及び635によ
り指示するような合成式を使用し、マスク方式の場合に
は図15bの式745,750,755,760,765及び770により指示す
るような合成式を使用するのが好ましい。
図16a及び図16bと、図17a,図17b及び図17cとは、深さ
順序付け依存性誤りと、システムをシングルパスシステ
ムとなるように維持しつつ深さ順序依存性誤りを最小限
に抑えることにより本発明のシステムが達成する改善と
を詳細に示す。
この実施例では、特定の画素における多角形の3つの
面を使用する(図16aを参照)。表示装置に対する画素
出力の最終色は、深さの順序(たとえば、zA<zB<zC)
と、描出の時間順序(たとえば、tA<tB<tC)の双方に
よって決まる。図16bは、深さ順序と描出の時間順序と
の様々に異なる組合わせに対する合成色を示す。値zA,z
B及びzCはそれぞれ面A,B及びCに関わるz値、すなわ
ち、深さ値を表す。同様に、tA,tB及びtCはそれぞれ面
A,面B及び面Cを描出する時間順序を表す。
図17a,図17b及び図17cに示す表は、高速シングルパス
システムを維持しつつ深さ順序付け依存性誤りを最小限
に抑えるに際しての本発明のシステムの有効性をさらに
示している。図17aの表は、好ましくは多重パスシステ
ムを介して、多角形を適正に描出するために無限の量の
時間が与えられる場合の描出すべき理想の色値を示す。
図17bは、本発明のシステムを使用して描出される色値
を示す。図17cは、理想の色値と、本発明のシステムに
従って描出される色値との誤り解析を表す。図17cから
見てとれるように、誤りマージンは全体として最小であ
り、シングルパスシステムにおいて時間を節約してエイ
リアシング防止多角形を描出することのほうがよりまさ
っている。
本発明を好ましい実施例に関連して説明したが、以上
の説明に照らして数多くの代替構成,変形,変更及び用
途が当業者に明白になるであろうということは明かであ
る。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ヴァン ルー,ジェイムズ アメリカ合衆国 94022 カリフォルニ ア州・ロスアルトス・ファーンドン ア ヴェニュ・1864 (72)発明者 ウォールナー,ダウン・エム アメリカ合衆国 95129 カリフォルニ ア州・サンホゼ・レインボウ ドライ ブ・6785 (56)参考文献 特開 昭64−54581(JP,A) 特開 平1−191276(JP,A) 特開 昭61−182171(JP,A) 特開 昭61−287384(JP,A) 特開 昭62−24297(JP,A) 特開 昭63−113785(JP,A) 柴本猛,特集 最新レンダリング技術 とCG映像 拡張Zバッファ・アルゴリ ズム,PIXEL,日本,図形処理情報 センター,No.66,71−78 加藤俊明,高品位な画像生成のための エイリアシング除去方法,日経コンピュ ータグラフィックス,日本,日経BP, 1998年1月号,138−142 (58)調査した分野(Int.Cl.7,DB名) G06T 11/60 120 G06T 15/40 200 JICSTファイル(JOIS) WPI/L(QUESTEL)

Claims (8)

    (57)【特許請求の範囲】
  1. 【請求項1】中央処理装置(CPU)と、メモリと、図形
    表示装置とを具備するコンピュータシステムにあって、
    色と、多角形の頂点を指示する1組の座標と、多角形の
    深さを示す深さ値とにより表わされるエイリアシング除
    去多角形を図形表示装置に描出する方法において、 メモリ内に配置され、図形表示装置への出力に備えて図
    形画像を表わす画素を記憶するフレームバッファを設
    け、フレームバッファ中の各画素は、色値と、Zバッフ
    ァ値と、占有面積を示す表示とにより特定され、前記Z
    バッファ値は画素の深さを表わし、占有面積表示は1つ
    の画素の中の占有面積広さを表わし、フレームバッファ
    中の前記画素は背景画素として特定されるようにする過
    程と; 多角形を構成する画素を特定する過程であって、 多角形の頂点に従って多角形を形成する辺の画素位置を
    計算し、 多角形が覆っている画素の中の面積を確定することによ
    り辺画素ごとに占有面積表示を形成し、 各辺画素における多角形の深さ値を計算して各辺画素の
    深さ値とし、 多角形の内側の画素における辺画素の間にある画素位置
    を計算し、 全占有面積を表わす内側画素ごとの占有面積表示を形成
    し、 各内側画素における多角形の深さ値を計算して各内側画
    素の深さ値として、 多角形を構成する画素を特定する過程と; 合成画素を形成する過程であって、 多角形画素の深さ値が対応する背景画素の深さ値より小
    さい場合には、 合成画素の色を、多角形画素の色と背景画素の色との、
    多角形画素の占有面積広さに依存して決まる第1の比例
    混合に、等しくなるように設定し、 合成画素の深さ値を多角形画素の深さ値に等しくなるよ
    うに設定し、 合成画素の占有面積表示を、多角形画素の占有面積表示
    と背景画素の占有面積表示との、多角形画素の占有面積
    広さに依存して決まる第1の比例混合に、等しくなるよ
    うに設定し、 多角形画素の深さ値が対応する背景画素の深さ値より大
    きい場合には、 合成画素の色を、多角形画素の色と背景画素の色との、
    背景画素の占有面積広さに依存して決まる第2の比例混
    合に等しくなるように設定し、 合成画素の占有面積表示を、多角形画素の占有面積表示
    と背景画素の占有面積表示との、背景画素の占有面積広
    さに依存して決まる第2の比例混合に、等しくなるよう
    に設定し、 合成画素の深さ値を背景画素の深さ値に等しくなるよう
    に設定し、 多角形画素の深さ値が対応する背景画素の深さ値と等し
    く且つ多角形画素と背景画素の占有面積表示の組合わせ
    が全占有面積を表わす場合には、 合成画素の色を多角形画素の色に等しくなるように設定
    し、 合成画素の占有面積表示を全占有面積を表わすように設
    定し、 合成画素の深さ値を背景画素及び多角形画素の深さ値に
    等しくなるように設定し、 多角形画素の深さ値が対応する背景画素の深さ値と等し
    く且つ多角形画素と背景画素の占有面積表示の組合わせ
    が全占有面積を指示しない場合には、 合成画素の色を、多角形画素の色と背景画素の色との、
    多角形画素の占有面積広さに依存して決まる第1の比例
    混合に、等しくなるように設定し、 合成画素の深さ値を多角形画素の深さ値と等しくなるよ
    うに設定し、 合成画素の占有面積表示を、多角形画素の占有面積表示
    と背景画素の占有面積表示との、多角形画素の占有面積
    広さに依存して決まる第1の比例混合に、等しくなるよ
    うに設定して、 多角形の各辺画素及び各内側画素とフレームバッファ中
    での画素を合成すべき記憶場所における対応する背景画
    素とを合成することにより、新たな背景画素となってフ
    レームバッファに記憶される合成画素を形成する過程
    と; 合成画素をフレームバッファの対応する背景画素の記憶
    場所に記憶し、それにより、深さ値と色値および専有面
    積表示を含めて背景画素を、合成画素と置き換えて、新
    たな背景画素を形成する過程と; フレームバッファに記憶されている画素を検索し、図形
    表示装置でそれらの画素を色値により指示される色と、
    占有面積表示により指示される強さとで画素を動作させ
    て、図形表示装置に図形画像を生成する過程と を備え、それぞれの画素は個別に深さ値、色値及び占有
    面積表示を保持し、そして個別に対応する背景画素と合
    成され、各背景画素は個別に深さ値、色値及び占有面積
    表示を保持している、多角形を描出する方法。
  2. 【請求項2】中央処理装置(CPU)と、メモリと、図形
    表示装置とを具備するコンピュータシステムにあって、
    色と、多角形の頂点を指示する1組の座標と、多角形の
    深さを示す深さ値とにより表わされるエイリアシング防
    止多角形を図形表示装置に描出する方法において、 メモリ内に配置されるフレームバッファを設け、フレー
    ムバッファ中の各画素が色値と、Zバッファ値と、部分
    画素マスクとにより特定され、前記Zバッファ値が画素
    の深さを表わし、部分画素マスクがセットされており且
    つ1つの画素の占有面積の量を指示する画素中の部分画
    素を表し、フレームバッファ中の前記画素が背景画素と
    して特定されるようにする過程と; 多角形を構成する画素を特定する過程であって、 多角形の頂点に従って多角形を形成する辺の画素位置を
    計算し、 多角形の辺が交差する部分画素を確定し、多角形の辺が
    交差する部分画素及び多角形に包含される部分画素をセ
    ットすることにより、辺画素ごとに部分画素マスクを形
    成し、 各辺画素における多角形の深さ値に等しくなるよう各辺
    画素の深さ値を計算し、 多角形の内側の画素における辺画素の間にある画素位置
    を計算し、 各部分画素マスクの全ての部分画素をセットすることに
    より、内側画素ごとに部分画素マスクを形成し、 各内側画素における多角形の深さ値に等しくなるよう各
    内側画素の深さ値を計算して、 多角形を構成する画素を特定する過程と; 多角形の各辺画素及び各内側画素と、フレームバッファ
    中での画素を合成すべき記憶場所における対応する背景
    画素とを合成することにより、フレームバッファに記憶
    する新たな背景画素として、合成画素を形成する形成過
    程であって、 多角形画素の深さ値が対応する背景画素の深さ値より小
    さい場合には、 多角形画素の色を表わすCaはCa:=αaCaとし,多角
    形画素の占有面積表示を表わすαaはαa:=count(M
    a)/MASK_SIZEとし,Cbで背景画素の色を表わし、Maで多
    角形画素に関わる部分画素マスクを表わし,countでセッ
    トされた部分(サブ)画素をカウントする関数を表わ
    し,MASK_SIZEで部分画素マスク中の部分画素の総数を表
    わし,:=で置換関数を表わすとき、合成画素の色を Cb:=Ca+(1−αa)Cb と等しくなるように設定し; Mbで背景画素の部分画素マスクを表し,「|」で論理OR
    関すを表すとき、合成画素の部分画素マスクを Mb:=Ma|Mb と等しくなるように設定し; 合成画素の深さ値を多角形画素の深さ値に等しくなるよ
    う設定し; 多角形画素の深さ値が対応する背景画素の深さ値より大
    きく且つ背景画素に関わる部分画素マスクが全マスクと
    等しくない場合には、 αb:=count(Mb)/MASK_SIZE, Ma :=Ma&〜Mb αa:=count(Ma)/MASK_SIZE, Ca :=αaCa とし,αbは背景画素の占有面積の量を表わす占有面積
    表示とし,「&」で論理AND関数を表わし,「〜」で論
    理否定関数を表わすとき、合成画素の色を Cb:=(1−αb)Ca+Cb と等しくなるように設定し; 合成画素の部分画素マスクを Mb:=Ma|Mb と等しくなるように設定し; 深さ値を背景画素の深さ値と等しくなるように設定し; 多角形画素の深さ値が対応する背景画素の深さ値と等し
    い場合には、 合成画素の部分画素マスクを Mb:=Ma|Mb に等しくなるように設定し; 合成画素の色を Cb:=Ca+(1−αa)Cb に等しくなるように設定し; 合成画素の深さ値を多角形画素の深さ値に等しくなるよ
    うに設定する 形成過程と を備える、エイリアシング防止多角形を描出する方法。
  3. 【請求項3】中央処理装置(CPU)と、メモリと、図形
    表示装置とを具備し、前記メモリには図形表示装置へ出
    力されるべき画素から構成される図形画像を記憶するフ
    レームバッファが含まれているコンピュータシステムに
    あって、色と、多角形の頂点を指示する1組の座標と、
    多角形の深さを示す深さ値とにより表わされるエイリア
    シング防止多角形を図形表示装置に描出する方法におい
    て、 フレームバッファ中の各画素を、色値と、Zバッファ値
    と、占有面積を示す表示とにより特定し、前記バッファ
    Z値で画素の深さを表わし、占有面積表示で1つの画素
    の中の占有面積広さを表わし、前記フレームバッファ中
    の画素は背景画素として特定されるようにする過程と; 多角形を構成する画素を特定する過程であって、 多角形の頂点に従って多角形を形成する辺の画素位置を
    計算し、 各辺画素の占有面積表示を画素内で多角形が占める領域
    を決定することにより形成し、 各辺画素における多角形の深さ値に等しくなるよう各辺
    画素の深さ値を計算し、 多角形の内側の画素における辺画素の間にある画素位置
    を計算し、 全占有面積を表わす内側画素ごとの占有面積表示を形成
    し、 各内側画素における多角形の深さ値に等しくなるよう各
    内側画素の深さ値を計算して 多角形を構成する画素を特定する過程と; 多角形の各辺画素及び各内側画素と、フレームバッファ
    中での画素を合成すべき記憶場所における対応する背景
    画素とを合成することにより、フレームバッファに記憶
    する新たな背景画素として、合成画素を形成する形成過
    程であって、 多角形画素の深さ値が対応する背景画素の深さ値より小
    さい場合には、 Cbで背景画素の色を表し、多角形画素の色を表すCaはC
    a:=αaCaとし、αaで多角形画素の占有面積表示を
    表わし、「:=」で置換関数を表わすとき、合成画素の
    色を Cb:=Ca+(1−αa)Cb に等しくなるように設定し、 背景画素の占有面積表示をαbとするとき、合成画素の
    占有面積表示を αb:=αa+(1−αa)αb に等しくなるように設定し、 合成画素の深さ値を多角形画素の深さ値と等しくなるよ
    うに設定し、 多角形画素の深さ値が対応する背景画素の深さ値より大
    きく且つ背景画素の占有面積表示が全占有面積を指示し
    ない場合には、 合成画素の色を Cb:=(1−αb)Ca+Cb に等しくなるように設定し、 合成画素の占有面積表示を αb:=(1−αb)αa+αb に等しくなるように設定し、 合成画素の深さ値を背景画素の深さ値と等しくなるよう
    に設定し、 多角形画素の深さ値が対応する背景画素の深さ値と等し
    い場合には、 合成画素の占有面積表示を αb:=αa+(1−αa)αb に等しくなるように設定し、 合成画素の色を Cb:=Ca+(1−αa)Cb に等しくなるように設定し、 合成画素の深さ値を多角形画素の深さ値と等しくなるよ
    うに設定する 形成過程と; 合成画素をフレームバッファの対応する背景画素の記憶
    場所に記憶し、それにより、背景画素を合成画素と置換
    えて、新たな背景画素を形成する過程と; フレームバッファに記憶されている画素を検索し、図形
    表示装置でそれらの画素を色値により指示される色と、
    占有面積表示により指示される強さで動作させて、図形
    表示装置に図形画像を生成する過程とから成る方法。
  4. 【請求項4】中央処理装置(CPU)と、メモリと、図形
    表示装置とを具備するコンピュータシステムにあって、
    色と、多角形の頂点を指示する1組の座標と、多角形の
    深さを示す深さ値とにより表わされるエイリアシング除
    去多角形を図形表示装置に描出する装置において、 メモリ内に配置され、図形画像を表わす画素を図形表示
    装置への出力に備えて記憶するフレームバッファにし
    て、各画素は、色値と、Zバッファ値と、占有面積を示
    す表示とにより特定され、前記Zバッファ値は画素の深
    さを表わし、占有面積表示は1つの画素の中の占有面積
    広さを表わし、前記画素が背景画素として特定されてい
    る、フレームバッファと; 多角形を構成する画素を特定する手段であって、 多角形の頂点に従って多角形を形成する辺の画素位置を
    計算する手段と、 多角形が覆っている画素の中の面積を確定することによ
    り辺画素ごとに占有面積表示を形成する手段と、 各辺画素における多角形の深さ値を計算して各辺画素の
    深さ値とする手段と、 多角形の内側の画素における辺画素の間にある画素位置
    を計算する手段と、 全占有面積を表わす内側画素ごとの占有面積表示を形成
    する手段と、 各内側画素における多角形の深さ値を計算して各内側画
    素の深さ値とする手段と、 を有している、多角形を構成する画素を特定する手段
    と; 合成画素を形成する手段であって、 合成画素の色を設定する手段と、 合成画素の占有面積表示を設定する手段と、 合成画素の深さ値を設定する手段と、 合成画素をフレームバッファの、対応する背景画素の記
    憶場所に記憶し、それにより、背景画素を合成画素と置
    き換えて、新たな背景画素を形成する出力手段と を有し、多角形の各辺画素及び各内側画素と画素を合成
    すべきフレームバッファの記憶場所における対応する背
    景画素とを合成し、それにより、フレームバッファに記
    憶する新たな背景画素として、合成画素を形成する手段
    と; この合成画素を形成する手段を制御する制御手段であっ
    て、 多角形画素の深さ値を対応する背景画素の深さ値と比較
    する手段と、 多角形画素と背景画素の占有面積表示を組合わせる手段
    と、 組合わせ占有面積表示を完全占有面積を表わす占有面積
    表示と比較する手段とを有していて、 多角形画素の深さ値が対応する背景画素の深さ値より小
    さい場合には、 前記色を設定する手段を制御することによって、合成画
    素の色を、多角形画素の色と背景画素の色との、多角形
    画素の占有面積広さに依存して決まる第1の比例混合
    に、等しくなるように設定することを行い、 前記深さ値を設定する手段を制御することによって、合
    成画素の深さ値を背景画素の深さ値に等しくなるように
    設定することを行い、 前記占有面積表示を設定する手段を制御することによっ
    て、合成画素の深さ値を多角形画素の深さ値に等しくな
    るように設定することを行い、 前記占有面積表示を設定する手段を制御することによっ
    て、合成画素の占有面積表示を、多角形画素の占有面積
    表示と背景画素の占有面積表示との、多角形画素の占有
    面積広さに依存して決まる第1の比例混合に、等しくな
    るように設定することを行い、 多角形画素の深さ値が対応する背景画素の深さ値より大
    きい場合には、 前記色を設定する手段を制御することによって、合成画
    素の色を、多角形画素の色と背景画素の色との、背景画
    素の占有面積広さに依存して決まる第2の比例混合に等
    しくなるように設定することを行い、 前記占有面積表示を設定する手段を制御することによっ
    て、合成画素の占有面積表示を、多角形画素の占有面積
    表示と背景画素の占有面積表示との、背景画素の占有面
    積広さに依存して決まる第2の比例混合に、等しくなる
    ように設定することを行い、 前記深さ値を設定する手段を制御することによって、合
    成画素の深さ値を背景画素の深さ値に等しくなるように
    設定することを行い、 多角形画素の深さ値が対応する背景画素の深さ値と等し
    く且つ多角形画素と背景画素の占有面積表示の組合わせ
    が全占有面積を表わす場合には、 前記色を設定する手段を制御することによって、合成画
    素の色を多角形画素の色に等しくなるように設定するこ
    とを行い、 前記占有面積表示を設定する手段を制御することによっ
    て、合成画素の占有面積表示を全占有面積を表わすよう
    に設定することを行い、 前記深さ値を設定する手段を制御することによって、合
    成画素の深さ値を背景画素及び多角形画素の深さ値に等
    しくなるように設定することを行い、 多角形画素の深さ値が対応する背景画素の深さ値と等し
    く且つ多角形画素と背景画素の占有面積表示の組合わせ
    が全占有面積を指示しない場合には、 前記色を設定する手段を制御することによって、合成画
    素の色を、多角形画素の色と背景画素の色との、多角形
    画素の占有面積広さに依存して決まる第1の比例混合
    に、等しくなるように設定することを行い、 前記深さ値を設定する手段を制御することによって、合
    成画素の深さ値を多角形画素の深さ値と等しくなるよう
    に設定することを行い、 前記占有面積表示を設定する手段を制御することによっ
    て、合成画素の占有面積表示を、多角形画素の占有面積
    表示と背景画素の占有面積表示との、多角形画素の占有
    面積広さに依存して決まる第1の比例混合に、等しくな
    るように設定することを行う 制御手段と; フレームバッファに記憶されている画素を検索し、図形
    表示装置でそれらの画素を色値により指示される色と、
    占有面積表示により指示される強さで動作させて、図形
    表示装置に図形画像を生成するフレームバッファ制御す
    る手段と を備え、それにより、画素が、個別に深さ値、色値及び
    占有面積表示を保持し、個別に対応する背景画素であっ
    て個別に深さ値、色値及び占有面積表示を保持している
    背景画素と合成されるようにした、エイリアシング防止
    多角形を描出する装置。
  5. 【請求項5】中央処理装置(CPU)と、メモリと、図形
    表示装置とを具備するコンピュータシステムにあって、
    色と、多角形の頂点を指示する1組の座標と、多角形の
    深さを示す深さ値とにより表わされるエイリアシング防
    止多角形を図形表示装置に描出する装置において、 メモリ内に配置されるフレームバッファであって、その
    中で各画素が、色値と、Zバッファ値と、部分画素マス
    クとにより特定され、前記Zバッファ値が画素の深さを
    表わし、部分画素マスクが、画素の中でセットされてい
    る部分画素を表わして1つの画素の占有面積の量を指示
    し、前記画素が背景画素として特定されている、フレー
    ムバッファと; 多角形を構成する画素を特定する画素特定手段であっ
    て、 多角形の頂点に従って多角形を形成する辺の画素位置を
    計算する手段を有し、 多角形の辺が交差する部分画素を確定し、多角形の辺が
    交差する部分画素及び多角形に包含される部分画素をセ
    ットすることにより、辺画素ごとに部分画素マスクを形
    成する手段を有し、 各辺画素における多角形の深さ値に等しくなるよう各辺
    画素の深さ値を計算する手段を有し、 多角形の内側の画素における辺画素の間にある画素位置
    を計算する手段を有し、 各部分画素マスクの全ての部分画素をセットすることに
    より、内側画素ごとに部分画素マスクを形成する手段を
    有し、 各内側画素における多角形の深さ値に等しくなるよう各
    内側画素の深さ値を計算する手段を有する、 多角形を構成する画素を特定する画素特定手段と、 多角形の各辺画素及び各内側画素と、フレームバッファ
    中での画素を合成すべき記憶場所における対応する背景
    画素とを合成することにより、新たな背景画素として合
    成画素を形成する形成手段であって、 合成画素の色を設定する手段を有し、 合成画素の部分画素マスクを設定する手段を有し、 合成画素の深さ値を設定する手段を有している 形成手段と、 この形成手段を制御する制御手段であって、 多角形画素の深さ値を対応する背景画素の深さ値と比較
    する手段を有し、 多角形画素の部分画素マスクと背景画素とを組合わせる
    手段を有し、 この背景画素に組合わされた部分画素マスクを全占有面
    積の部分画素マスクと比較する手段を有していて、 多角形画素の深さ値が対応する背景画素の深さ値より小
    さい場合には、 前記の合成画素の色を設定する手段は、 多角形画素の色を表わすCaはCa:=αaCaとし,多角
    形画素の占有面積表示を表わすαaはαa:=count(M
    a)/MASK_SIZEとし,Caで多角形画素の色を表わし、Cbで
    背景画素の色を表わし、Maで多角形画素に関わる部分画
    素マスクを表わし,countで占有面積を表すようセットさ
    れた数をカウントする関数を表わし,MASK_SIZEで部分画
    素マスク中の部分画素の総数を表わし,:=で置換関数を
    表わすとき、合成画素の色を Cb:=Ca+(1−αa)Cb と等しく設定し; 前記の合成画素の部分画素マスクを設定する手段は、 Mbで背景画素の部分画素マスクを表し,「|」で論理OR
    関すを表すとき、合成画素の部分画素マスクを Mb:=Ma|Mb と等しく設定し; 前記の合成画素の深さ値を設定する手段は、合成画素の
    深さ値を多角形の深さ値に等しく設定し; 多角形画素の深さ値が対応する背景画素の深さ値より大
    きく且つ背景画素に関わる部分画素マスクが全占有面積
    を示していない場合には、 前記の合成画素の色を設定する手段は、 αb:=count(Mb)/MASK_SIZE, Ma :=Ma&〜Mb αa:=count(Ma)/MASK_SIZE, Ca :=αaCa とし,「&」で論理AND関数を表わし,「〜」で論理否
    定関数を表わすとき、合成画素の色を Cb:=(1−αb)Ca+Cb と等しく設定し; 前記の合成画素の部分画素マスクを設定する手段は、合
    成画素の部分画素マスクを Mb:=Ma|Mb と等しく設定し; 前記の合成画素の深さ値を設定する手段は、深さ値を背
    景画素の深さ値と等しく設定し; 多角形画素の深さ値が対応する背景画素の深さ値と等し
    い場合には、 合成画素の部分画素マスクを設定する手段は、合成画素
    の部分画素マスクを Mb:=Ma|Mb に等しく設定し; 前記の合成画素の色を設定する手段は、合成画素の色を Cb:=Ca+(1−αa)Cb に等しく設定し; 前記の合成画素の深さ値を設定する手段は、合成画素の
    深さ値を多角形画素の深さ値に等しく設定する という制御を行う制御手段と、 フレームバッファに記憶されている画素を検索し、図形
    表示装置でそれらの画素を色値により指示される色と、
    占有面積表示により指示される強さで動作させて、図形
    表示装置に図形画像を生成するフレームバッファ制御手
    段と を備える、エイリアシング防止多角形を描出する装置。
  6. 【請求項6】中央処理装置(CPU)と、メモリと、図形
    表示装置とを具備するコンピュータシステムにあって、
    色と、多角形の頂点を指示する1組の座標と、多角形の
    深さを示す深さ値とにより表わされるエイリアシング除
    去多角形を図形表示装置に描出する装置において、 メモリ内に配置され、図形画像を表わす画像を図形表示
    装置への出力に備えて記憶するフレームバッファにし
    て、各画素は、色値と、Zバッファ値と、占有面積を示
    す表示とにより特定され、前記Zバッファ値は画素の深
    さを表わし、占有面積表示は1つの画素の中の占有面積
    広さを表わし、前記画素が背景画素として特定されてい
    る、フレームバッファと; 多角形を構成する画素を特定する手段であって、 多角形の頂点に従って多角形を形成する辺の画素位置を
    計算する手段と、 多角形が覆っている画素の中の面積を確定することによ
    り辺画素ごとに占有面積表示を形成する手段と、 各辺画素における多角形の深さ値を計算して各辺画素の
    深さ値とする手段と、 多角形の内側の画素における辺画素の間にある画素位置
    を計算する手段と、 全占有面積を表わす内側画素ごとの占有面積表示を形成
    する手段と、 各内側画素における多角形の深さ値を計算して各内側画
    素の深さ値とする手段と、 を有している、多角形を構成する画素を特定する手段
    と; 合成画素を形成する手段であって、 合成画素の色を設定する手段と、 合成画素の占有面積表示を設定する手段と、 合成画素の深さ値を設定する手段と、 を有し、多角形の各辺画素及び各内側画素と画素を合成
    すべきフレームバッファの記憶場所における対応する背
    景画素とを合成して、新たな背景画素となる、フレーム
    バッファに記憶される合成画素を形成する手段と; この合成画素を形成する手段を制御する制御手段であっ
    て、 多角形画素の深さ値を対応する背景画素の深さ値と比較
    する手段と、 多角形画素と背景画素の占有面積表示を組合わせる手段
    と、 組合わせ占有面積表示を完全占有面積を表わす占有面積
    表示と比較する手段とを有していて、 多角形画素の深さ値が対応する背景画素の深さ値より小
    さい場合には、 前記色を設定する手段を制御することによって、Cbで背
    景画素の色を表し、多角形画素の色を表すCaはCa:=α
    Caとし、αaで多角形画素の占有面積表示を表わ
    し、「:=」で置換関数を表わすとき、合成画素の色を Cb:=Ca+(1−αa)Cb に等しくなるように設定することを行い、 前記占有面積表示を設定する手段を制御することによっ
    て、背景画素の占有面積表示をαbとするとき、合成画
    素の占有面積表示を αb:=αa+(1−αa)αb に等しくなるように設定することをこない、 前記深さ値を設定する手段を制御することによって、合
    成画素の深さ値を多角形画素の深さ値と等しくなるよう
    に設定することを行い、 多角形画素の深さ値が対応する背景画素の深さ値より大
    きく且つ背景画素の占有面積表示が全占有面積に等しく
    ない場合には、 前記色を設定する手段を制御することによって、合成画
    素の色を Cb:=(1−αb)Ca+Cb に等しくなるように設定することを行い、 前記占有面積表示を設定する手段を制御することによっ
    て、合成画素の占有面積表示を αb:=(1−αb)αa+αb に等しくなるように設定することを行い、 前記深さ値を設定する手段を制御することによって、合
    成画素の深さ値を背景画素の深さ値と等しくなるように
    設定することを行い、 多角形画素の深さ値が対応する背景画素の深さ値と等し
    い場合には、 前記占有面積表示を設定する手段を制御することによっ
    て、合成画素の占有面積表示を αb:=αa+(1−αa)αb に等しくなるように設定することを行い、 前記色を設定する手段を制御することによって、合成画
    素の色を Cb:=Ca+(1−αa)Cb に等しくなるように設定することを行い、 前記深さ値を設定する手段を制御することによって、合
    成画素の深さ値を多角形画素の深さ値と等しくなるよう
    に設定することを行う 制御手段と、 合成画素をフレームバッファの、対応する背景画素の記
    憶場所に記憶し、それにより、背景画素を合成画素と置
    き換えて、新たな背景画素を形成する出力手段と、 フレームバッファに記憶されている画素を検索し、図形
    表示装置でそれらの画素を色値により指示される色と、
    占有面積表示により指示される強さで動作させて、図形
    表示装置に図形画像を生成するフレームバッファ制御す
    る手段と を備える、多角形を描出する装置。
  7. 【請求項7】図形表示装置に多角形の視覚表示を描出す
    る走査変換の方法において、 多角形を構成している画素であって、画素の色と1つの
    画素の中の占有面積広さとで特定される画素を確定する
    過程と; 画素ごとに深さを規定する過程と; 多角形の各画素を背景画素と合成して、合成画素を生成
    する過程であって、 多角形画素の深さと背景画素の深さと比較する過程と; 背景画素が多角形画素の手前にある場合には、 背景画素の色と、背景画素の占有面積広さに比例した割
    合だけ減少させた多角形画素の色とを組合わせて、合成
    画素の色を形成し、 背景画素の占有面積広さと、背景画素の占有面積広さに
    比例した割合だけ減少させた多角形画素の多角形画素の
    占有面積広さとを組み合わせて、合成画素の占有面積広
    さを確定し、 背景画素の深さを、合成画素の深さとして特定し、 背景画素が多角形画素の背後にある場合には、 多角形画素の色と、多角形画素の占有面積広さに比例し
    た割合だけ減少させた背景画素の色とを組合わせて、合
    成画素の色を形成し、 多角形画素の占有面積広さと、多角形画素の占有面積広
    さに比例した割合だけ減少させた背景画素の占有面積広
    さとを組合わて、合成画素の占有面積広さを確定し、 多角形画素の深さを、合成画素の深さとして特定し、 多角形画素の深さが背景画素の深さと等しく且つ背景画
    素の占有面積広さが画素を完全に覆う場合には、 多角形画素の色を、合成画素の色として形成し、 合成画素の占有面積を完全占有面積に確定し、 多角形画素の深さを、合成画素の深さとして特定し、 多角形画素の深さが背景画素の深さと等しく且つ背景画
    素が画素の一部を覆っている場合には、 多角形画素の色と、多角形画素の占有面積広さに比例し
    た割合だけ減少させた背景画素の色とを組合わせて、合
    成画素の色を形成し、 多角形画素の占有面積広さと、多角形画素の占有面積広
    さに比例した割合だけ減少させた背景画素の占有面積広
    さとを組合わせて、合成画素の占有面積広さを確定し、 多角形画素の深さを、合成画素の深さとして特定して 合成画素を生成する過程と; 合成画素を新たな背景画素としてフレームバッファメモ
    リに記憶する過程と; フレームバッファから画素データを読取る過程と; 決定された合成画素の色および占有面積広さでもって、
    図形表示装置用の画素を発生し、エイリアシング除去多
    角形の視覚表示を実行する過程と を備えることを特徴とする方法。
  8. 【請求項8】CPUと、入出力装置と、メモリとを具備す
    るコンピュータグラフィックスシステムにあって、エイ
    リアシング防止多角形を描出する装置において、 描出すべき多角形の定義に従って、多角形を構成してい
    る画素を生成する画素生成手段を備え、前記画素が色
    と、深さと、占有面積表現とから成り、前記色が生成す
    べき画素の画素の色を規定し、前記深さが画像の視覚的
    深さを特定し、前記占有面積表示が1つの画素の中の占
    有面積広さを表わしており; メモリ手段内にあって、画素を記憶するフレームバッフ
    ァを備え; 多角形のそれぞれの画素を、フレームバッファに背景画
    素として記憶された画素と合成して、フレームバッファ
    に新たな背景画素として記憶する合成画素を形成する形
    成手段であって、 多角形画素の深さを背景画素の深さと比較する比較手段
    と; この比較手段に応答して、 (a)多角形画素が背景画素の手前にある場合には、 多角形画素の色と、多角形画素の占有面積広さに比例し
    た割合だけ減少させた背景画素の色とを組合わせた色に
    従って、合成画素の色を確定し; 多角形画素の占有面積広さと、多角形画素の占有面積広
    さに比例した割合だけ減少させた背景画素の占有面積広
    さとを組合わせて、合成画素の占有面積広さを確定し; 多角形画素の深さを合成画素の深さとして特定し、 (b)多角形画素が背景画素の背後にある場合には、 背景画素の色と、背景画素の占有面積広さに比例した割
    合だけ減少させた多角形画素の色とを組合わせた色に従
    って、合成画素の色を確定し; 背景画素の占有面積広さと、背景画素の占有面積広さに
    比例した割合だけ減少させた多角形画素の占有面積広さ
    とを組合わせた占有面積広さに従って、合成画素の占有
    面積広さを確定し; 背景画素の深さを合成画素の深さとして特定し、 (c)多角形画素の深さが背景画素の深さと等しく且つ
    背景画素が画素を完全に覆っている場合には、 多角形画素の色を合成画素の色として設定し; 合成画素の占有面積広さを完全占有面積広さを指示する
    ように設定し; 多角形画素の深さを合成画素の深さとして設定し、 (d)多角形画素の深さが背景画素の深さと同じであり
    且つ背景画素が画素の一部を覆っている場合には、 多角形画素の色と、多角形画素の占有面積広さに比例し
    た割合だけ減少させた背景画素の色とを組合わせて、合
    成画素の色を確定し; 多角形画素の占有面積広さと、多角形画素の占有面積広
    さに比例した割合だけ減少させた背景画素の占有面積広
    さとを組合わせて、合成画素の占有面積広さを確定し; 多角形画素の深さを合成画素の深さとして設定する 前記比較手段に応答して特定の合成技法に従って合成す
    る手段を選択する手段と を有する形成手段を備え; フレームバッファに記憶されている画素を検索し、図形
    表示装置において、それらの画素を色値により指示され
    る色と、占有面積表示により指示される強さで動作させ
    て、図形表示装置に図形画像を生成する図形表示装置制
    御手段を備えている、 ことを特徴とする多角形を描出する装置。
JP50655391A 1990-03-19 1991-02-15 エイリアシング除去多角形を描出する方法及び装置 Expired - Fee Related JP3277280B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US495,338 1990-03-19
US07/495,338 US5123085A (en) 1990-03-19 1990-03-19 Method and apparatus for rendering anti-aliased polygons

Publications (2)

Publication Number Publication Date
JPH05507372A JPH05507372A (ja) 1993-10-21
JP3277280B2 true JP3277280B2 (ja) 2002-04-22

Family

ID=23968256

Family Applications (1)

Application Number Title Priority Date Filing Date
JP50655391A Expired - Fee Related JP3277280B2 (ja) 1990-03-19 1991-02-15 エイリアシング除去多角形を描出する方法及び装置

Country Status (7)

Country Link
US (1) US5123085A (ja)
EP (1) EP0521084B1 (ja)
JP (1) JP3277280B2 (ja)
KR (1) KR960012669B1 (ja)
AU (1) AU7564391A (ja)
DE (1) DE69131927T2 (ja)
WO (1) WO1991014995A1 (ja)

Families Citing this family (124)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5640496A (en) * 1991-02-04 1997-06-17 Medical Instrumentation And Diagnostics Corp. (Midco) Method and apparatus for management of image data by linked lists of pixel values
US5343558A (en) * 1991-02-19 1994-08-30 Silicon Graphics, Inc. Method for scan converting shaded triangular polygons
US5381522A (en) * 1991-03-28 1995-01-10 Canon Kabushiki Kaisha Image processing apparatus and method
JPH0540463A (ja) * 1991-08-08 1993-02-19 Hitachi Ltd 多階調文字発生装置
US5339386A (en) * 1991-08-08 1994-08-16 Bolt Beranek And Newman Inc. Volumetric effects pixel processing
JP3009525B2 (ja) * 1991-10-28 2000-02-14 株式会社リコー ベクトル画像描画装置
JPH05143742A (ja) * 1991-11-20 1993-06-11 Ricoh Co Ltd ベクトル画像描画装置
US5706415A (en) * 1991-12-20 1998-01-06 Apple Computer, Inc. Method and apparatus for distributed interpolation of pixel shading parameter values
US5517603A (en) * 1991-12-20 1996-05-14 Apple Computer, Inc. Scanline rendering device for generating pixel values for displaying three-dimensional graphical images
US5377313A (en) * 1992-01-29 1994-12-27 International Business Machines Corporation Computer graphics display method and system with shadow generation
US5333249A (en) * 1992-03-02 1994-07-26 Xerox Corporation Method for phase aligned nth bitting of graphics applications
EP0568358B1 (en) * 1992-04-29 2001-08-16 Canon Kabushiki Kaisha Method and apparatus for filling an image
JP3332165B2 (ja) * 1992-08-08 2002-10-07 株式会社リコー 画像処理装置
US5461703A (en) * 1992-10-13 1995-10-24 Hewlett-Packard Company Pixel image edge enhancement method and system
US5606650A (en) * 1993-04-22 1997-02-25 Apple Computer, Inc. Method and apparatus for storage and retrieval of a texture map in a graphics display system
US5402533A (en) * 1993-04-22 1995-03-28 Apple Computer, Inc. Method and apparatus for approximating a signed value between two endpoint values in a three-dimensional image rendering device
WO1994027240A1 (en) * 1993-05-10 1994-11-24 Apple Computer, Inc. Computer graphics system having high performance multiple layer z-buffer
US5583974A (en) * 1993-05-10 1996-12-10 Apple Computer, Inc. Computer graphics system having high performance multiple layer Z-buffer
GB2278524B (en) * 1993-05-28 1997-12-10 Nihon Unisys Ltd Method and apparatus for rendering visual images employing area calculation and blending of fractional pixel lists for anti-aliasing and transparency
US5684939A (en) * 1993-07-09 1997-11-04 Silicon Graphics, Inc. Antialiased imaging with improved pixel supersampling
US5515484A (en) * 1993-10-06 1996-05-07 Silicon Graphics, Inc. Method and apparatus for rendering volumetric images
US5416893A (en) * 1993-10-26 1995-05-16 Hewlett-Packard Co. Method for displaying edging or decaling of an object in a graphics display
KR100243174B1 (ko) * 1993-12-28 2000-02-01 윤종용 서브픽셀 마스크 발생방법 및 장치
JPH07282274A (ja) * 1994-04-04 1995-10-27 Mitsubishi Electric Corp グラフィック表示装置
US5596686A (en) 1994-04-21 1997-01-21 Silicon Engines, Inc. Method and apparatus for simultaneous parallel query graphics rendering Z-coordinate buffer
US5808627A (en) * 1994-04-22 1998-09-15 Apple Computer, Inc. Method and apparatus for increasing the speed of rendering of objects in a display system
JP2637920B2 (ja) * 1994-08-11 1997-08-06 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータ・グラフィック・システム及びフレーム・バッファ使用方法
US5737455A (en) * 1994-12-12 1998-04-07 Xerox Corporation Antialiasing with grey masking techniques
US5649078A (en) * 1995-03-22 1997-07-15 International Business Machines Corporation Efficient two-pass rasterization scheme utilizing visibility information
DE69628451D1 (de) * 1995-07-26 2003-07-03 Apple Computer Verfahren zur zeilendarstellung durch sortieren von segmenten und untersegmenten
US5841447A (en) * 1995-08-02 1998-11-24 Evans & Sutherland Computer Corporation System and method for improving pixel update performance
US5742277A (en) * 1995-10-06 1998-04-21 Silicon Graphics, Inc. Antialiasing of silhouette edges
US5724561A (en) * 1995-11-03 1998-03-03 3Dfx Interactive, Incorporated System and method for efficiently determining a fog blend value in processing graphical images
US5701365A (en) * 1996-06-21 1997-12-23 Xerox Corporation Subpixel character positioning with antialiasing with grey masking techniques
US5940080A (en) * 1996-09-12 1999-08-17 Macromedia, Inc. Method and apparatus for displaying anti-aliased text
US6115049A (en) * 1996-09-30 2000-09-05 Apple Computer, Inc. Method and apparatus for high performance antialiasing which minimizes per pixel storage and object data bandwidth
US5860925A (en) * 1997-06-27 1999-01-19 Siemens Medical Systems, Inc. Ultrasound scan conversion method
US6057855A (en) * 1997-07-02 2000-05-02 Hewlett-Packard Company Method and apparatus for providing polygon pixel sub-sample information using incremental means
US6104407A (en) * 1997-09-23 2000-08-15 Ati Technologies, Inc. Method and apparatus for processing fragment pixel information in a three-dimensional graphics processing system
US6204859B1 (en) * 1997-10-15 2001-03-20 Digital Equipment Corporation Method and apparatus for compositing colors of images with memory constraints for storing pixel data
US6002407A (en) 1997-12-16 1999-12-14 Oak Technology, Inc. Cache memory and method for use in generating computer graphics texture
US6496186B1 (en) 1998-02-17 2002-12-17 Sun Microsystems, Inc. Graphics system having a super-sampled sample buffer with generation of output pixels using selective adjustment of filtering for reduced artifacts
US6496187B1 (en) 1998-02-17 2002-12-17 Sun Microsystems, Inc. Graphics system configured to perform parallel sample to pixel calculation
US6483504B1 (en) 1998-02-17 2002-11-19 Sun Microsystems, Inc. Graphics system having a super sampled-sample buffer with efficient storage of sample position information
JP2002503855A (ja) * 1998-02-17 2002-02-05 サン・マイクロシステムズ・インコーポレーテッド 可変解像度スーパーサンプリングによるグラフィックス・システム
US6717578B1 (en) 1998-02-17 2004-04-06 Sun Microsystems, Inc. Graphics system with a variable-resolution sample buffer
US6624823B2 (en) 1998-02-17 2003-09-23 Sun Microsystems, Inc. Graphics system configured to determine triangle orientation by octant identification and slope comparison
EP1205881A3 (en) * 1998-02-17 2004-10-27 Sun Microsystems, Inc. Graphics system with variable resolution super-sampling
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
US6157393A (en) * 1998-07-17 2000-12-05 Intergraph Corporation Apparatus and method of directing graphical data to a display device
WO2000004436A1 (en) 1998-07-17 2000-01-27 Intergraph Corporation Graphics processing with transcendental function generator
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
WO2000004495A1 (en) 1998-07-17 2000-01-27 Intergraph Corporation System for processing vertices from a graphics request stream
US6476816B1 (en) 1998-07-17 2002-11-05 3Dlabs Inc. Ltd. Multi-processor graphics accelerator
WO2000004484A2 (en) 1998-07-17 2000-01-27 Intergraph Corporation Wide instruction word graphics processor
WO2000004443A1 (en) 1998-07-17 2000-01-27 Intergraph Corporation Byte reordering apparatus and method
US6646639B1 (en) 1998-07-22 2003-11-11 Nvidia Corporation Modified method and apparatus for improved occlusion culling in graphics systems
US6577317B1 (en) 1998-08-20 2003-06-10 Apple Computer, Inc. Apparatus and method for geometry operations in a 3D-graphics pipeline
US6771264B1 (en) 1998-08-20 2004-08-03 Apple Computer, Inc. Method and apparatus for performing tangent space lighting and bump mapping in a deferred shading graphics processor
WO2000011603A2 (en) 1998-08-20 2000-03-02 Apple Computer, Inc. Graphics processor with pipeline state storage and retrieval
WO2000019372A1 (en) * 1998-09-28 2000-04-06 Orbotech Ltd. Pixel coding and image processing method
US6591020B1 (en) 1998-12-23 2003-07-08 Xerox Corporation Antialiazed high-resolution frame buffer architecture
US6417861B1 (en) 1999-02-17 2002-07-09 Sun Microsystems, Inc. Graphics system with programmable sample positions
US6674440B1 (en) 1999-04-05 2004-01-06 3Dlabs, Inc., Inc. Ltd. Graphics processor for stereoscopically displaying a graphical image
US6285348B1 (en) * 1999-04-22 2001-09-04 Broadcom Corporation Method and system for providing implicit edge antialiasing
JP4332934B2 (ja) 1999-06-17 2009-09-16 株式会社セガ アンチエイリアシング方法及びこれを用いた画像処理装置
US6429877B1 (en) * 1999-07-30 2002-08-06 Hewlett-Packard Company System and method for reducing the effects of aliasing in a computer graphics system
US6577307B1 (en) 1999-09-20 2003-06-10 Silicon Integrated Systems Corp. Anti-aliasing for three-dimensional image without sorting polygons in depth order
US6844880B1 (en) 1999-12-06 2005-01-18 Nvidia Corporation System, method and computer program product for an improved programmable vertex processing model with instruction set
AU780003B2 (en) * 2000-03-30 2005-02-24 Canon Kabushiki Kaisha Optimising pixel generation from compositing stack
US6956576B1 (en) 2000-05-16 2005-10-18 Sun Microsystems, Inc. Graphics system using sample masks for motion blur, depth of field, and transparency
US6426755B1 (en) 2000-05-16 2002-07-30 Sun Microsystems, Inc. Graphics system using sample tags for blur
US6636232B2 (en) * 2001-01-12 2003-10-21 Hewlett-Packard Development Company, L.P. Polygon anti-aliasing with any number of samples on an irregular sample grid using a hierarchical tiler
US6919906B2 (en) * 2001-05-08 2005-07-19 Microsoft Corporation Discontinuity edge overdraw
US7286138B2 (en) * 2001-05-08 2007-10-23 Microsoft Corporation Discontinuity edge overdraw
US6697064B1 (en) * 2001-06-08 2004-02-24 Nvidia Corporation System, method and computer program product for matrix tracking during vertex processing in a graphics pipeline
US7456838B1 (en) 2001-06-08 2008-11-25 Nvidia Corporation System and method for converting a vertex program to a binary format capable of being executed by a hardware graphics pipeline
US7006101B1 (en) 2001-06-08 2006-02-28 Nvidia Corporation Graphics API with branching capabilities
WO2002101497A2 (en) * 2001-06-08 2002-12-19 Nvidia Corporation System, method and computer program product for programmable fragment processing in a graphics pipeline
WO2003010718A1 (en) * 2001-07-20 2003-02-06 Koninklijke Philips Electronics N.V. Computer graphics system and method of rendering polygons
JP3549871B2 (ja) * 2001-07-27 2004-08-04 株式会社ソニー・コンピュータエンタテインメント 描画処理装置及び方法、描画処理プログラムを記録した記録媒体、描画処理プログラム
KR20040047816A (ko) * 2001-09-12 2004-06-05 마이크로닉 레이저 시스템즈 에이비 공간광변조기를 이용한 개선된 방법 및 장치
US6618185B2 (en) 2001-11-28 2003-09-09 Micronic Laser Systems Ab Defective pixel compensation method
US7106490B2 (en) * 2001-12-14 2006-09-12 Micronic Laser Systems Ab Methods and systems for improved boundary contrast
EP1583946B1 (en) * 2003-01-15 2006-11-08 Micronic Laser Systems Ab A method to detect a defective pixel
US7764287B2 (en) * 2003-07-07 2010-07-27 Arcsoft, Inc. Graphic engine for approximating a quadratic bezier curve in a resource-constrained device
US7142211B2 (en) * 2003-07-07 2006-11-28 Arcsoft, Inc. Graphic engine for fill style transferring in a resource-constrained device
US7161597B2 (en) * 2003-07-07 2007-01-09 Arcsoft, Inc. Graphic engine for rasterizing a straight edge in a resource-constrained device
JP2005100177A (ja) * 2003-09-25 2005-04-14 Sony Corp 画像処理装置およびその方法
JP4183082B2 (ja) * 2003-09-26 2008-11-19 シャープ株式会社 3次元画像描画装置および3次元画像描画方法
US7486337B2 (en) * 2003-12-22 2009-02-03 Intel Corporation Controlling the overlay of multiple video signals
US7599044B2 (en) 2005-06-23 2009-10-06 Apple Inc. Method and apparatus for remotely detecting presence
US7242169B2 (en) * 2005-03-01 2007-07-10 Apple Inc. Method and apparatus for voltage compensation for parasitic impedance
JP2006293553A (ja) * 2005-04-07 2006-10-26 Aisin Aw Co Ltd フォントデータの回転処理装置及び地図表示システム
US9298311B2 (en) * 2005-06-23 2016-03-29 Apple Inc. Trackpad sensitivity compensation
US7577930B2 (en) 2005-06-23 2009-08-18 Apple Inc. Method and apparatus for analyzing integrated circuit operations
US7432937B2 (en) * 2005-06-30 2008-10-07 Intel Corporation System and method for concave polygon rasterization
US7496416B2 (en) * 2005-08-01 2009-02-24 Luxology, Llc Input/output curve editor
US7433191B2 (en) * 2005-09-30 2008-10-07 Apple Inc. Thermal contact arrangement
US7598711B2 (en) * 2005-11-23 2009-10-06 Apple Inc. Power source switchover apparatus and method
US20070268298A1 (en) 2006-05-22 2007-11-22 Alben Jonah M Delayed frame buffer merging with compression
WO2007142326A1 (ja) * 2006-06-09 2007-12-13 Aisin Aw Co., Ltd. データ更新システム、端末装置、サーバ装置、及びデータ更新方法
CN101617354A (zh) 2006-12-12 2009-12-30 埃文斯和萨瑟兰计算机公司 用于校准单个调制器投影仪中的rgb光的系统和方法
JP4446201B2 (ja) * 2007-03-30 2010-04-07 アイシン・エィ・ダブリュ株式会社 画像認識装置及び画像認識方法
US8155826B2 (en) * 2007-03-30 2012-04-10 Aisin Aw Co., Ltd. Vehicle behavior learning apparatuses, methods, and programs
JP4501983B2 (ja) * 2007-09-28 2010-07-14 アイシン・エィ・ダブリュ株式会社 駐車支援システム、駐車支援方法、駐車支援プログラム
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
US8077378B1 (en) 2008-11-12 2011-12-13 Evans & Sutherland Computer Corporation Calibration system and method for light modulation device
US8669999B2 (en) * 2009-10-15 2014-03-11 Nvidia Corporation Alpha-to-coverage value determination using virtual samples
US20110183301A1 (en) * 2010-01-27 2011-07-28 L-3 Communications Corporation Method and system for single-pass rendering for off-axis view
US8410977B2 (en) * 2011-02-17 2013-04-02 Honeywell International Inc. Methods and systems for identifying hazardous flight zone areas on a display
US8860742B2 (en) * 2011-05-02 2014-10-14 Nvidia Corporation Coverage caching
US20120280992A1 (en) * 2011-05-02 2012-11-08 Shebanow Michael C Grid walk sampling
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
US9218641B1 (en) * 2012-06-19 2015-12-22 Exelis, Inc. Algorithm for calculating high accuracy image slopes
EP2835792B1 (en) * 2013-08-07 2016-10-05 Axis AB Method and system for selecting position and orientation for a monitoring camera
JP6330506B2 (ja) 2014-06-18 2018-05-30 ブラザー工業株式会社 画像読取装置
JP6330505B2 (ja) * 2014-06-18 2018-05-30 ブラザー工業株式会社 画像読取装置
US10242286B2 (en) * 2015-03-25 2019-03-26 Intel Corporation Edge-based coverage mask compression
CN107808363B (zh) * 2017-11-23 2020-12-25 杭州电魂网络科技股份有限公司 图像遮罩处理方法及装置
CN113129417A (zh) * 2019-12-27 2021-07-16 华为技术有限公司 一种全景应用中图像渲染的方法及终端设备

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4704605A (en) * 1984-12-17 1987-11-03 Edelson Steven D Method and apparatus for providing anti-aliased edges in pixel-mapped computer graphics
US4684990A (en) * 1985-04-12 1987-08-04 Ampex Corporation Method and apparatus for combining multiple video images in three dimensions
US4780711A (en) * 1985-04-12 1988-10-25 International Business Machines Corporation Anti-aliasing of raster images using assumed boundary lines
US4825391A (en) * 1987-07-20 1989-04-25 General Electric Company Depth buffer priority processing for real time computer image generating systems
GB2210540A (en) * 1987-09-30 1989-06-07 Philips Electronic Associated Method of and arrangement for modifying stored data,and method of and arrangement for generating two-dimensional images
US4873515A (en) * 1987-10-16 1989-10-10 Evans & Sutherland Computer Corporation Computer graphics pixel processing system
US4918626A (en) * 1987-12-09 1990-04-17 Evans & Sutherland Computer Corp. Computer graphics priority system with antialiasing
US4908780A (en) * 1988-10-14 1990-03-13 Sun Microsystems, Inc. Anti-aliasing raster operations utilizing sub-pixel crossing information to control pixel shading

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
加藤俊明,高品位な画像生成のためのエイリアシング除去方法,日経コンピュータグラフィックス,日本,日経BP,1998年1月号,138−142
柴本猛,特集 最新レンダリング技術とCG映像 拡張Zバッファ・アルゴリズム,PIXEL,日本,図形処理情報センター,No.66,71−78

Also Published As

Publication number Publication date
DE69131927D1 (de) 2000-02-24
JPH05507372A (ja) 1993-10-21
EP0521084B1 (en) 2000-01-19
DE69131927T2 (de) 2000-10-19
EP0521084A1 (en) 1993-01-07
US5123085A (en) 1992-06-16
EP0521084A4 (en) 1993-11-18
KR960012669B1 (ko) 1996-09-23
AU7564391A (en) 1991-10-21
WO1991014995A1 (en) 1991-10-03

Similar Documents

Publication Publication Date Title
JP3277280B2 (ja) エイリアシング除去多角形を描出する方法及び装置
US6104407A (en) Method and apparatus for processing fragment pixel information in a three-dimensional graphics processing system
US6201545B1 (en) Method and apparatus for generating sub pixel masks in a three dimensional graphic processing system
US5982376A (en) Three-dimensional graphic display apparatus with improved high-speed anti-aliasing
US6774910B2 (en) Method and system for providing implicit edge antialiasing
US5230039A (en) Texture range controls for improved texture mapping
JP4101275B2 (ja) 走査線ベースのラスタ画像プロセッサにおける奥行き追跡の方法
JP3356779B2 (ja) ポリゴンのラスタ化
US5519823A (en) Apparatus for rendering antialiased vectors
EP1958162B1 (en) Vector graphics anti-aliasing
US7554546B1 (en) Stippled lines using direct distance evaluation
JPH04287292A (ja) トリミングされたパラメトリック面のレンダリング方法及び装置
US6963346B2 (en) Method and system for efficiently using fewer blending units for antialiasing
US6741243B2 (en) Method and system for reducing overflows in a computer graphics system
JP2612221B2 (ja) 図形画像を生成する装置及び方法
US5719598A (en) Graphics processor for parallel processing a plurality of fields of view for multiple video displays
US6172680B1 (en) Method and apparatus for a three-dimensional graphics processing system including anti-aliasing
US5295234A (en) Apparatus for displaying a three dimensional object which appears substantially the same in different display directions by modifying stored image data by a scale factor
US6570952B2 (en) Memory efficient shear-warp voxel projection algorithm
JP4311877B2 (ja) 副標本化テクスチャ端縁部のアンチエイリアシング
US5926183A (en) Efficient rendering utilizing user defined rooms and windows
EP0855682A2 (en) Scan line rendering of convolutions
US7170528B1 (en) Fast glyph rendering for vector based fonts
US6515661B1 (en) Anti-aliasing buffer
JPH05303646A (ja) テクスチャ発生方法及びテクスチャ発生装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees