JP2003509780A - 透光性3dグラフィックをレンダリングする方法及び装置 - Google Patents

透光性3dグラフィックをレンダリングする方法及び装置

Info

Publication number
JP2003509780A
JP2003509780A JP2001524060A JP2001524060A JP2003509780A JP 2003509780 A JP2003509780 A JP 2003509780A JP 2001524060 A JP2001524060 A JP 2001524060A JP 2001524060 A JP2001524060 A JP 2001524060A JP 2003509780 A JP2003509780 A JP 2003509780A
Authority
JP
Japan
Prior art keywords
pixel
triangle
fragment
values
value
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.)
Withdrawn
Application number
JP2001524060A
Other languages
English (en)
Other versions
JP2003509780A5 (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.)
Koninklijke Philips NV
Original Assignee
Philips Electronics NV
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 Philips Electronics NV filed Critical Philips Electronics NV
Publication of JP2003509780A publication Critical patent/JP2003509780A/ja
Publication of JP2003509780A5 publication Critical patent/JP2003509780A5/ja
Withdrawn 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/62Semi-transparency

Abstract

(57)【要約】 画像平面に射影すべき複数の三角形の画像基本要素から二次元のピクセル画像をレンダリングする画像処理方法において、これら三角形内の位置における値が透光性の値である。透光性ピクセルフラグメントの全ては、部分的フラグメントとして特徴付けられ、これらフラグメントは、ピクセルフラグメントに前面から背面へと挿入される。ピクセルの最後の色は、第1フラグメントから決定される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】
本発明は、複数の三角形の画像基本要素で構成されるグラフィック画像のレン
ダリングにおいて透光性を扱う方法及び装置に関する。
【0002】 透光技術は、透光性物体が重なる場所においてアンチエイリアジング(anti-al
iasing)が困難なとき、これら物体の画像を供給するだけでなく、モデルの大き
さに関し大幅な変化を可能にするため、あるモデルから他のモデルへの円滑な遷
移を可能にもする3D画像に適用され、細部のフェードレベル(fade level)の適
用が物体がすぐに後退する(recede)とき、フライトシュミレータ(flight simula
tor)に適応される。
【0003】 3Dグラフィックにおいて、透光性物体は、この透光性物体の背後にある物体
が透光性物体を介し減衰された形式で見ることができるようにする一方、不透明
な物体は、この不透明な物体の後ろにあるどんな物体を分かりにくくしてしまう
。透光性は、典型的にモノクロ、すなわち赤、緑及び青色成分に共通する1つの
α成分であり、各色成分が独自のα成分を持つ場合、このとき、減色法による色
の混色の十分知られた効果が物体の重複部に与えられる。
【0004】 ある透光性のモデルは、小さい孔を持つモデルである。色付けされた不透明な
物体に人間の目で見えないほど小さい無数の孔を一面に付けることで透光性物体
が作られる場合、透光性物体の背後の物体は、この孔を通して見ることができる
。透光性は、物体表面の一単位(unity)領域毎の孔により占められる領域として
規定される。
【0005】 上記の小さな孔のモデルを用いて、0.25の透過度を各々持つ一連の重なっ
ている透光性物体を通して見ると考えてみる。最も近くにある物体は、物体の表
面領域の0.75だけが光を反射し、残りの0.25が孔に含まれるので、0.
75によって減衰された色を持つ。2番目に近い物体は、0.25*0.75により減衰
された色を持つ。この2番目の物体の表面の0.25だけが、1番目の物体にあ
る孔を通って見ることができ、この表面の0.75だけが光を反射する。これは
等しい透光性を持つ物体に対し以下の表1に示される。
【表1】
【0006】 物体が異なる透光性である場合、位置は以下の表2に説明される。
【表2】
【0007】 各ピクセルフラグメントがピクセルを十分覆っているとする、つまり、スクリ
ーン上の任意のピクセルの最終的な色を決定するために、ピクセルフラグメント
は、前から後ろの順序でレンダリングされ、これらフラグメント各々は、独立し
てテクスチャされ、シェードされる。各ピクセルフラグメントの色は、それの前
にある透光性フラグメントの影響を考えて減衰され、その減衰量は、上記表2の
例の後に計算される。
【0008】 表1及び表2から、減衰の合計(累積的減衰)は、一単位に近づき、実際には
減衰の合計は、最終的なピクセルの色を得るために一単位にならなければならな
いことは明らかである。所与のピクセルでの有限数の透光性表面に関し、不透明
な背景例えば空があるとする。一単位から減衰の合計を引く(これにより減衰の
最終的な合計を一単位にする)ことでその色を減衰させ、この結果を最終的なピ
クセルの色に加える。
【0009】 典型的には、透光性は、0.0から1.0の範囲内にあるように数値を割り当
て、この範囲は、ハードウェア実行時に、0から256の整数にマッピングされ
る。
【0010】 9ビットを257個の値にエンコードする必要がある256個の値は、8ビッ
トが0から255の範囲内の値を満足させるとき、不便である。幾つかのシステ
ムは、0.0から1.0の範囲を0から255の範囲にマッピングするが、これ
は、例えば0.25、0.5及び0.75のような値を表しにくくする。幾つか
のシステムは、0.0の範囲を0から256の範囲にマッピングし、次に値25
6を255として表す。
【0011】 慣例として、“透光性(translucency)”という用語は、透光性が前記範囲を越
えて増大するので、不透明な物体を値0.0にマッピングし、透光性の物体を値
1.0にマッピングする。“不透明(opacity)”という用語は、不透明さがこの
範囲を越えて増大するので、透光性の物体が値0.0にマッピングされ、不透明
な物体を値1.0にマッピングされるときに与えられる。 “α(alpha)”という
用語は、それが透光性又は不透明と解釈されるに関係無くその値を呼ぶのに使用
される。
【0012】 リアルタイム民生用3Dグラフィックにおいて、3つの型式の透光性、従来型
、テクスチャ型及びスクリーンドア(screendoor)型がある。
【0013】 従来型の透光性は、全体の物体、メッシュ又は面に与えられ、256の異なる
透光性のレベルに対し8個のビットで典型的には表される。従来型の透光性は、
物体が幾つかの層又は透光性を介して見られるとき、累積的な減衰効果を有する
【0014】 従来型の透光性の増大する量は、物体のVRMLモデルに与えられ、リアルタ
イム3Dグラフィックモデルが交差する面を使用する、例えば、適合させるため
に交差するポリゴン(intersecting polygon)をトリミング(trimming)するよりも
、アニメーションにおいて接合箇所に現れるギャップ及びクラックを防ぐために
、キャラクタの足を表すメッシュがキャラクタの体を表すメッシュに入り込むの
で、この物体が消えていき、実際には予期外の暗い範囲が発生することが予想さ
れ、ポリゴンの“スペア部品”は、通常の使用において、これらが交差している
ポリゴンの不透明な表面の後ろに隠れたままとなるという認識の中に正に残され
る。しかしながら、透光性の技術が用いられるとき、期待以上の多くの透光性表
面が存在するので交差に暗い部分が現れる。
【0015】 スクリーンドア型の透光性は、物体が孔に、例えば、物体の中央のピクセルを
描かないことで、文字どおりコショウを蒔いたように孔を降り蒔いた技術である
。省略されるピクセルが多ければ多いほど、透光性がはっきりしてくる。例えば
、0.5の透光性は、1ピクセルおきに描くことでシュミレートされるが、欠け
ているピクセルの規則的なパターンは、観察者をいらいらさせることが明らかな
ので、避けなければならない。規則的なパターンを避けるこの必要性は、スクリ
ーンドア型の透光性を使用することで達成される透光性の控えめなレベル数を制
限する。
【0016】 フェードレベルの詳細における透光性の典型的な適用に対し、従来型の透光性
は、交差部分での予期外の暗い範囲のために適切ではなく、スクリーンドア型の
透光性が好ましい。
【0017】 Microsoft Corporation出願の米国特許番号第5864342号において、透
光性であるグラフィカル物体をレンダリングする方法は、開示され、ここで、幾
何学基本要素(geometric primitive)のモデルが"チャンク(chunk)"に分割され、
各チャンクのピクセルフラグメントが生成され、次いで分解される。テクスチャ
マッピング及びフィルタリングは、アンチエイリアジングより先に、テクスチャ
マッピングされた基本要素を発生させるが、計算すべき属性の数を減少すること
はない。
【0018】 共に審査中の国際出願公開公報WO99/06957において、三角形の画像
基本要素からのピクセルは、各ピクセルに対する属性値を与えるために、この三
角形の各頂点において記憶される値、例えばカラー又はテクスチャから寄与を決
定するのに用いられる内側フラグを供給する発明が開示されている。全ての三角
形からのピクセル属性値が各ピクセルに対する出力の色を一緒に決定する。
【0019】 本発明は、3Dグラフィックスシステムにおける透光性を扱うことを可能にす
る技術の改良である。
【0020】 本発明に従い、画像平面に投影すべき複数の三角形の画像基本要素から二次元
のピクセル画像をレンダリングする画像処理方法を提供し、この方法において、
三角形の頂点に対し保持される値から補間することで得られるピクセル単位の属
性値は、投影された三角形の基本要素内のそれぞれのピクセル上にマッピングさ
れる。ここで、各三角形に対し、 射影前に、三角形は、この三角形の個々のエッジと同一点に集まる座標軸(s,
t)及び前記エッジ間の頂点と同一の原点を持つ各々の二次元座標システムでパラ
メタ化され、 射影中に、パラメタ化座標システムによって生成される補間関数が与えられ、
前記二次元座標システムによって三角形内の位置でパラメタ値を決定し、 射影後、三角形内の位置における決定されたパラメタ値は、各ピクセルにおい
て属性値を与えるために、記憶された値から、各頂点における1つ以上の属性に
対する寄与を決定する、画像処理方法において、この三角形内の位置における前
記パラメタ値が、透光性値であることを特徴とする。
【0021】 更に、本発明に従って、画像平面に射影すべき複数の三角形の画像の基本要素
を規定するデータから二次元ピクセル画像をレンダリングするように構成される
画像処理装置を提供し、この処理装置は、三角形の頂点に対し保持される値から
ピクセル単位の属性値を得るように配される補間手段と、投影された三角形の基
本要素内の各々のピクセル上に前記ピクセル単位の属性値をマッピングするよう
に配されるデータハンドリング手段とを含み、 射影前に、前記三角形の基本要素を規定するデータを入力するように結合され
、この三角形の各々のエッジと同一点に集まる座標軸(s, t)と、前記エッジ間の
頂点と同一の原点とを持つ各々の二次元座標システムで各三角形をパラメタ化す
るように配される計算手段、 前記二次元座標システムによって三角形内の位置におけるパラメタ値を得るよ
うに、パラメタ化された座標システムによって生成された補間関数を各三角形に
適用可能である射影手段、及び 各ピクセルに属性値を与えるように、各頂点における1つ以上の属性に対する
、前記記憶された値からの寄与を前記三角形内の位置における前記決定されたパ
ラメタ値から得て、全ての三角形からピクセル単位の属性値を組合せ、ピクセル
単位の色の値を供給するように構成されるピクセルシェーディング手段、を有す
る処理装置において、この装置は、ピクセルを透光性ピクセルとして特徴付け、
透光性ピクセルが他のピクセルに重なっている場合、最初の透光性ピクセルの色
から得られるピクセル単位の色の値を供給する手段を更に有することを特徴とす
る。
【0022】 本発明の方法において、各三角形の内側にある多数のフラグは、ピクセルフラ
グメントが透光性であるか不透明であるかを示す主属性として供給され、これは
、テクスチャステップ又はシェーディングステップが実行されるまで、実際の透
光性がわからないために、フラグメントがピクセルフラグメントバッファに正確
に挿入されない。
【0023】 本発明の方法により供給されるべき透光性の型式がスクリーンドア型の透光性
であるとき、ピクセルフラグメントの内側フラグの幾つかは、ピクセルフラグメ
ントバッファに提案されるときにマスクオフ(mask off)される。好ましくは、ス
クリーンドア型の透光性は、限定数の透光性レベルにエンコードされ(例えば3
ビットを使用する場合8レベル)、これらレベルは、ルックアップテーブルを用
いることにより、必要とされる数のビットマスク(例えば32)に変換される。
【0024】 従来型の透光性の値は、主属性として利用可能にしていたが、追加のビット数
のこの主属性を保持するのに必要とされる。テクスチャ型の透光性又はスクリー
ンドア型の透光性のどちらも、これらがピクセル単位で与えられるが面単位では
与えられないので主属性とすることはできない。本発明の方法において、従来型
透光性、テクスチャ透光性及び例えば8個のレベルのスクリーンドア型の透光性
に対し、ピクセルフラグメントバッファが依然比較的安価に提供されるので、主
属性毎に4つの追加のピクセルとピクセルフラグメント毎に4つの追加ビットの
みを供給する必要がある。
【0025】 本発明の方法によるレンダリング処理中に、ピクセルフラグメントは、物体の
前面から物体の背面へレンダリングされ、レンダリングされた透光性ピクセルフ
ラグメントのα値は、この合計が一単位を越えるまで蓄積される。補正は、例え
ば累積されたαが一単位に等しくなる最後のピクセルフラグメントの色とαとの
関数として行われる。
【0026】 各透光性フラグメントがレンダリングされるので、その色は、例えば従来型の
透光性又はテクスチャ型の透光性に関する、幾つかのα値の積に比例して減衰さ
れる。
【0027】
【発明の実施の形態】
本発明は、添付する図を参照し、実施例を通じてここに開示される。
【0028】 図1は、座標s及びtを持つ三角形の内側の点pを備えるこの三角形のビュー
空間平面におけるパラメタ化を説明する。以下に規定されるような(s, t)は、明
らかであるように、本発明を具体化する属性補間技術でのこれらの使用が多数の
やり方で異なったとしても、重心の計算に用いられる形式(1-s-t, s, t)の重心
座標に似ていることに注意されたい。s軸は、三角形の頂点V.0及びV.1を通って
伸び、t軸は、頂点V.0及びV.2を通り伸び、原点は頂点V.0にある。頂点V.1は、
(s, t)=(1, 0)であり、頂点V.2は、(s, t)=(0, 1)である。以下に参照されるよ
うに、エッジ0は頂点V.0から頂点V.1へ伸びている。エッジ1は、頂点V.1から
頂点V.2へ伸び、エッジ2は頂点V.2から頂点V.0へ伸びている。
【0029】 点Pに透視補正(perspective correct)値(s, t)を与える場合、属性の透視補
正値Q[P]は、 Q[(s, t)]=Q[0]=s*(Q[1]-Q[0])+t*(Q[2]-Q[0]) から計算することができる。
【0030】 テクスチャが透視補正であることが利点であることは明白である。つまり、非
透視補正シェーディング(non-perspective correct shading)は、許容範囲内で
あるが、良好なライティングモデル(lighting model)が到来する場合、透視補正
の不足が特にハイライトに関し著しくなる。透視補正は、s及びtの代わりにs/
z, t/z及び1/zを補間することにより達成される。1/zを補間することでも隠面消
去(hidden surface removal)に透視修正を行い、これは単にzを補間したときに
は起こらない。
【0031】 (s/z, t/z)及び1/zのスタート及びデルタ値は、スクリーン上の任意の点での
三角形のビュー空間頂点から計算することが可能である。以下の3つのケースは
、ビュー空間における三角形の平面の向きを合わせるように最適にされる。 ケースC Kc=OSx*OTy-OTx*OSy s/z=[+OTy*(xs/d-Ox/z)-OTx*(ys/d-Oy/z]/Kc t/z=[-OSy*(xs/d-Ox/z)+OSx*(ys/d-Oy/z)]/Kc ケースB Kb=OTx*Osx-OSx*Otz s/z=[-OTz*(xs/d-Ox/z)-OTx*(1-Oz/z]/Kb t/z=[+OSz*(xs/d-Ox/z)+OSx*(1-Oz/z)]/Kb ケースA Ka=OTz*OSy-OSz*OTy s/z=[-OTy*(1-Oz/z)-OTz*(ys/d-Oy/z]/Ka t/z=[+OSy*(1-Oz/z)+OSx*(ys/d-Oy/z)]/Ka
【0032】 s及びtを得るために1/zによってs/z, t/zを分割するコストは、単一のテク
スチャアドレスを透視修正するのに匹敵し、三角形毎に2つ以上のテクスチャ用
いることが1/zによる余計な分割を必要とすることなく透視修正のままでいるこ
とに注意されたい。
【0033】 (s, t)を用いることは、I-O試験(Inside-Outside testing)を簡単にする。 ビ
ュー空間の三角形の頂点(O,S,T)に基づく座標(s, t)を与える場合、座標tの記
号は、三角形の平面をベクトルOSと同一線上の線に沿って2つに分割する。同
様に、座標sの記号は、この平面をベクトルOTの一方の側に分割する。これは
、前記3つのエッジの内2つに対しI-O試験を供給する。
【0034】 頂点SとTとの間にある第3のエッジは、等式s+t==1により規定され、それ故
、I-O試験は、この第3のエッジ上で実行することが可能である。s及びtは直
接利用することができないのに対し、s/z, t/z及び1/zは既に利用することがで
き、1/zの記号が観察者(viewer)の前の点に対し一定(負)であるので、s及び
tの極性に基づく試験は、s/z及びt/zを使用することができる。これを使用する
場合、第3の試験は、s/z+t/z==1/zと書き直され、このための変数は既に利用す
ることができる。
【0035】 クリッピングに関して、本アーキテクチャは直接的なやり方で動作し、(s/z,
t/z, 1/z)がI-O試験に使用されるときには、特別なクリッピングアルゴリズムを
必要としない。クリッピングされた三角形を生成する必要がなく、関連する属性
を計算する必要もない。これは、スクリーン空間の頂点に基づくアーキテクチャ
に関しかなりの利点となる。
【0036】 画像は、スクリーンの小さな領域(タイル)を逐次的且つ独立的にレンダリン
グすることで描かれる。これの実施例は図2に示されている。後続する実施例に
おいて、タイルは8×8ピクセルの大きさを持っている。タイルを描くために、
初期判定は、どの三角形がタイルを嵌入(impact)しているかに関して行われる。
図2を参照して、レンダリングされたタイルにある視覚的な効果がある、すなわ
ちこの三角形がタイルと重なっている場合、三角形はタイルを嵌入し(TR.1
)、タイルと重なっていない場合、このレンダリングされたタイルにある視覚的
な効果を持つのに十分なほど接近している(TR.2)。タイルフットプリント
FPは、それが視覚的な効果を有する場合、三角形が重ならなければならない範
囲である。アンチエイリアジング(anti-aliasing)アルゴリズムを選択すること
が、このタイルフットプリントを決定するが、満足のいく結果は、8×8ピクセ
ルのタイル、9×9ピクセルのタイルフットプリントを与える場合、タイルのエ
ッジから1/2ピクセル外側にあるフットプリントで得ることができる。
【0037】 制御特性に関しては、いわゆる”マジック”ポイントが特定される。このマジ
ックポイントは、ピクセルの中心と同心であり、続いて増大して補間されるパラ
メタの絶対的計算に使用され、三角形の隣接するボックスの内側及びスクリーン
上であることを必要とされる。このマジックポイントは、三角形の一部としてタ
イル分割手順に決定される。上述されるように、三角形は全体的なスクリーン上
又は部分的なスクリーン上のどちらかでクリップされる必要が無いので、このマ
ジックポイントの計算が、全ての三角形に対し同じである。頂点での値は、全て
の三角形に対し変化されない。つまり、どんなときにも新しい頂点又は新しい三
角形を生成することを必要としない。
【0038】 スクリーン上の各三角形は、面識別子として整数値を割り当てられる。三角形
がタイル嵌入する場合、この面識別子は、このタイルを嵌入している全ての三角
形の面識別子を保持するタイルフラグメントスタック(tile fragment stack)に
プッシュされる。このタイルフラグメントスタックが読み出される場合、面識別
子は三角形の属性をアクセスするのに使用される。各タイルフラグメントスタッ
クはタイルサイズのスクリーン領域に対応し、集合的にタイルフラグメントスタ
ックはタイルフラグメントバッファを有する。各タイルフラグメントスタックは
、必要とされるときのピクセルアドレスを生成するのに使用されるタイルフラグ
メントバッファ内にアドレス(x, y)を有する。タイルフラグメントは面識別子及
びスタックアドレス(x, y)で構成される。タイルフラグメントスタックは、概念
的にはタイルフラグメントのスタックであるが、実際には、スタックアドレス(x
, y)に関連する面識別子のスタックである。
【0039】 タイルは独立して及び如何なる順序でレンダリングされたとしても、左上から
始まり、偶数番号の列を左から右へ走査し、奇数番号の列を右から左へ走査し、
列の組を上から下へ走査するジグザグのラスタ走査順序でタイルフラグメントを
読み取ることで、タイル間のコヒーレントを利用することが好ましい。リアルタ
イム実施において、十分な数のタイルがレンダリングされた場合、これらタイル
は読み取られ、まだレンダリングされないピクセルを読み取ろうとすることを気
にすることなく、表示器に送ることが可能である。これはFIFOバッファにレ
ンダリングされたタイルを保持するようにするが、かなりのスクリーンフレーム
バッファのコストを無くしてしまう。
【0040】 本発明を具現化する画像処理装置は図3に示され、これは、別々にハンドリン
グされる主及び予備属性を持つ2段階装置を有する。各段階は、三角形の頂点に
対する3D(ビュー空間)座標を有する主属性で画像を作り出す三角形ポリゴン
の連動する面の組の形式でデータを入力する入力部を持つ主属性処理器10を具
備する個々の属性バッファ14,16と結合される(それぞれローカルキャッシ
ュ10A,12Aを持つ)処理器10,12を有する。図5を参照して以下に説
明されるように、冒頭のルーチンは、幾つかの基本計算を実行し、主属性ストア
14又は(点線で示されるような)予備属性ストア16の適切な方に与える三角
形属性を分離するために、処理器10に与える前又はその中に与える入力データ
に与えられる。
【0041】 処理された主属性データは、予備段階に出力するデータ及び深さバッファ18
に送られる。この予備段階は、この一般化された補間を行い、フレームバッファ
に供給し、そこから表示器へ供給するのに適する出力ピクセル値を生成するため
に、異なる予備属性の各々(例えば、マップストア20からのテクスチャマッピ
ング、カラーリング、表面法線)に対しそれを提供する。
【0042】 主属性バッファ14は、オフチップ(off-chip)であり、マジックポイントで評
価されるようにレンダリングされるべき各三角形に対し、アンチエイリアジング
及びzバッファリング(z-buffering)に使用される増大して補間される属性を保
持する。主属性キャッシュ10Aは、オンチップ(on-chip)であり、タイル間で
保存及び復元されるように容易にレンダリングされる各三角形に対し、増大しな
がら補間される属性を保持する。タイル変換手順に対する三角形は、各三角形に
対し基準カウントを維持することが可能になるので、各三角形により嵌入される
タイルが幾つあるかを特定する。この基準カウントは、三角形がタイルの一部と
して処理される毎に減少していく。基準カウントが0になるとき、三角形の属性
はもはや必要とされず、キャッシュ10Aから出力されてしまう。高さのある三
角形は、フレームを処理する時間のかなり大きなフラグメント用のキャッシュに
残存するので、タイルはラスタ走査順序で読み出される。幾つかの状況において
、それの基準カウントが0でなくても、三角形の属性をキャッシュから出力する
ことを必要とする。つまり、キャッシュにより属性が次に必要とされるとき、機
構は、 これら属性が最後に補間されたとして、前記値を復元するために供給され、マジ
ックポイントで与えられるので、オフチップ特性バッファに戻して増大して補間
される属性の現在の値を書き込むのは好ましくない。
【0043】 本アーキテクチャにおいて、マジックポイントにおける三角形のパラメタは、
値がタイル内の嵌入された各ピクセルに対し生成されるまで、あるピクセルから
他の隣接ピクセル等へ隣接ピクセルに対し増大するように補間される。これら補
間された値は、三角形によって嵌入された次のタイルに使用する準備がされる主
属性キャッシュに記憶される。その後、主属性キャッシュから復元された予め増
大して補間された値は、現在のタイルの内側のピクセルで終了する経路に沿って
増大して補間され、そして増大する補間は、現在のタイル内にピクセルを嵌入す
るように続けられる。ジグザグ走査シーケンスでは、三角形により嵌入された現
在のタイルが、以前の上記タイルに対し、しばしば水平に隣接し、常に近くにあ
り、それ故にこの経路に沿って移動するのに費やされる時間が最小となる。増大
する補間は、x及びyにおいて1つのピクセルステップを使用する。簡単なシフ
トは2つのピクセルのパワーにおけるステップを許容し、タイルの大きさに対応
するステップを使用することがタイルの第1ピクセルを必要とする時間を最小に
するタイル探索モード(file seek mode)を容易にする。これは、補間された属性
値が主属性キャッシュ10Aから早期に出力された後、この値を復元するのに使
用される。
【0044】 各ピクセルにおいて、値が増大して補間されるので、これら値はいわゆるピク
セルフラグメントを規定する。三角形により嵌入されたピクセルフラグメントは
、これらフラグメントが容認される(及びこれにより最終画像に寄与する)又は
(これらが遮断されるので)拒絶されるかであるピクセルフラグメントバッファ
に送られる。三角形を嵌入しないピクセルフラグメントは拒絶される。ピクセル
フラグメントが容認される場合、増大して補間される値s/z及びt/zは、s及びt
を得るために1/zにより分割され、これらはピクセルフラグメントバッファに記
憶される。1/zによる分割は、各ピクセルフラグメントが増大する補間により作
り出されるように行わなければならない。
【0045】 s及びtを得るためのこの分割プロセスは、s/z, t/z及び1/zの整数値を浮動
小数点式の値に変換するように事前エンコーダで始まる。次に、1/zの仮数の高
次ビットは、z及びzの概算値を得るための小さなルックアップテーブル(例
えば512語)に与えられる。このテーブルにより供給されるzの値は、1/zの
逆数のテーラー級数展開の第1項である。このテーブルにより供給されるz
値は、テーラー級数展開の第2項を得るために、1/zの仮数の低次ビットにより
乗算される。これら第1及び第2項は、zの仮数を与えるために15個の分数ビ
ットへ加算される。zの仮数は、s及びtの仮数を与えるために、s/z及びt/zの
仮数により乗算される。s/z, t/z及び1/zのべき乗は、s及びtのべき乗を得る
ために組み合わされる。最後にs及びtの整数値は、それぞれのべき乗に比例し
てこれらの仮数を上又は下にシフトすることで得られる。
【0046】 (zではなく)1/zのべき乗及び仮数は、ピクセルフラグメントの前から後ろ
への順序を決定するために、ピクセルフラグメントバッファの内側で使用される
逆の深さ値を作り出すために一緒にパックされる。この表現は、この透視の影響
が、浮動小数点の仮数を使用することで起こる深さの解像度に関する変化により
反射される。
【0047】 図3をまだ参照する場合、予備属性バッファ16は、オフチップであり、隠面
除去後まで要求されない特性、すなわち例えばストア20用のテクスチャマップ
アドレスをテクスチャリング及びシェーディングすることを必要とする属性を保
持する。予備属性キャッシュ12Aは、オンチップであり、現在テクスチャ及び
シェーディングされる各三角形に対する属性を保持する。タイルベースレンダリ
ング(tile based rendering)は、キャッシュが必須であるため、ピクセルフラグ
メントバッファから読み取られる連続するピクセルフラグメントが別々の三角形
に与えられることを意図する。
【0048】 出力画像における所望の粒状感を達成するために、各ピクセルは、点ではなく
領域としてみなされる。多重I-O試験は、ピクセル領域の何分のいくつが三角形
により覆われているかを決定するために、ピクセル中央の近くの異なるサンプリ
ングポイントで実行される。これら多重I-O試験の組み合わされた結果は、内側
ビットベクトルと呼ばれ、このベクトルにおけるビットNは、N番目のサンプリ
ングポイントにおけるI-O試験の結果である。現在のアーキテクチャは1ピクセ
ルにつき32個のサンプリングポイントを使用している。1ピクセルにつき8個
のサンプリングポイントからなる基本パターンは、ピクセルフットプリント(pix
el footprint)を覆う32個のポイントを与えるために、4つの対角線方向の各
々に移動する。つまり、図4は32個のサンプリングポイントのパターンからな
る図式表示である。
【0049】 現在のアーキテクチャは、ピクセルの中心(マジックポイント)において、s/
z, t/z及び1/zの値を得るために増大する補間を使用する。この増大する補間の
デルタから得られるオフセット値をピクセルの中心におけるs/z, t/z及び1/zの
現在の値に加えることは、各サンプリングポイントにおけるs/z, t/z及び1/zの
値を供給する。これら値は、各サンプリングポイントに対するI-Oブール(I-O bo
olean)を与えるために組み合わされる。結果生じるブールは、内側ビットベクト
ルを与えるために連結される。この内側ビットベクトルの増大する補間がタイル
間に保存及び復元すべき追加の値を必要としないことに注意されたい。サンプリ
ングポイントにおける値は、ピクセルの中心における値及び32個のサンプリン
グポイントの位置の情報を与えられる三角形(タイル)毎に関連する増大する補
間デルタから得ることが可能である。
【0050】 隠面除去での使用に対し、ピクセルフラグメントバッファは、二重にバッファ
リングされる。一方のバッファは、現在のタイルを嵌入し、最後の画像への視覚
的寄与が期待されるこれらピクセルフラグメント全てを組み立てる。他方のバッ
ファは、前のタイルに対し組み立てられたピクセルフラグメントを保持し、テク
スチャ及びシェードされるべきフラグメントを供給する。一般的には、ピクセル
フラグメントの幾つかは拒絶されるので、それから読み取られるよりも多くの、
ピクセルフラグメントバッファに示されるピクセルフラグメントが存在する。
【0051】 ピクセルフラグメントバッファは、タイルにおける各ピクセルに対し1つのス
タックである、2Dアレイのピクセルフラグメントスタックとして、多数のピク
セルフラグメントを保持する各スタックで配される。これらピクセルフラグメン
トは、スタックにおいて連続するフラグメントが視覚点(view origin)から単調
に増大する深さを有するように分類される。ピクセルフラグメントがスタックへ
入ることを提案するとき、それの逆の深さ(1/z)は、スタックの各フラグメント
の逆の深さと比較されなければならず、これは効率を維持するために並列に行わ
なければならない。多重の深さ比較は、比較器のアレイにロードすべきスタック
と、その新しい位置におけるフラグメントで書かれるべきスタックとの内容を必
要とし、おそらくは、提案されるフラグメントを承認し、事前にスタックのフラ
グメントの1つを拒絶するだろう。この動作は、スタックがオフチップメモリへ
の如何なるアクセスも必要なく、オンチップを全体的に実行する順序でタイルベ
ースレンダリングを命令することである。
【0052】 上記説明は、本出願人による出願中である上述の特許公開公報WO99/06
957に関する。これら方法及び装置において、その内側フラグの全て又は一部
が設定されたかに依存、言い換えると、フラグメントが三角形によって全て又は
部分的に覆われるかに依存して、ピクセルフラグメントか全体又は一部分だけと
することができる。全フラグメントは不透明である。
【0053】 本発明において、透光性フラグメントの背後のフラグメントが、減衰した形式
で見ることができるので、透光性フラグメントは不完全なフラグメントとして扱
われる。
【0054】 透光性ピクセルフラグメントは、ピクセルフラグメントバッファに前から後ろ
へと挿入される。つまり、レンダリングされたピクセルフラグメントのα値は、
このα値の合計が一単位(unity)を越えるまで増大する。補正は、ピクセルフラ
グメントの関数として、前記合計されたαが一単位に等しくなる色及びαに行わ
れる。
【0055】 この合計されたαが1を越えた後は、超過したαの量が計算され、最後のピク
セルフラグメントのαにより分割される超過したαに等しいフラクションによっ
て、最後のピクセルフラグメントの色成分を乗算するのに使用される。この色補
正は、増大する色から減算される。小さなルックアップテーブルは、この分割が
ハードウェアにおいて早く実行されることを可能にする。
【0056】 色補正を減算することは、必然的に簡単な高速乗算器で生じる打ち切り効果(t
runcation effect)が、一単位よりも僅かに大きい合計されるαにする傾向があ
るので、この合計されるαを1に等しくさせる最後のフラグメントの色の何分の
いくつかを直接計算するよりも好ましい。直接計算法における打ち切り誤差は、
合計されるαを一単位よりも僅かに小さくし、合計されるαを一単位よりも大き
く又は等しくなるようにするどんなアルゴリズムも不必要にフラグメントを処理
し続ける。
【0057】 各透光性フラグメントがレンダリングされるので、((s, t)座標の関数として
ピクセルの中心で計算される)このフラグメントの色は、数個のα値の積に比例
して減少する。一方の上記α値が従来の透光性値であり、他方は、テクスチャ透
光性値である。更なるαは、累積的減少、すなわち、現在のフラグメントの前に
ある(従ってこのフラグメントより前にレンダリングされた)フラグメントの不
透明度の積から得られる値である。
【0058】 (典型的にはガウス)フィルタ関数に従って内側フラグを計り、合計すること
で得られる他のαが依然存在する。ピクセルが、一部が覆われた2つの透光性ピ
クセルフラグメント及び十分に覆われた1つの不透明なフラグメントのみを含む
場合に起こることを考えてみる。ここで2つの透光性フラグメントは、同じ物体
の一部であり、共通のエッジを共有し、この問題を明らかにするため、両方のフ
ラグメントは同じ従来の透光性を持ち、一緒に全体のピクセルを覆う。部分的に
覆われる2つの透光性フラグメントによるこの累積的減少は、このピクセルを覆
う単一の透光性フラグメントによる累積的減少と明らかに等しい。残念なことに
、暗黙的に述べられたこの累積的減少のアルゴリズムは、各透光性フラグメント
が全体のピクセルを覆い、内側フラグから得られるαを含むことが何も助けには
ならないと仮定する。
【0059】 このピクセルフラグメントバッファは、これにより、フラグメント間において
ピクセルの全て又は一部を覆い、同時に連続するフラグメントを減少させるよう
に働く部分的に透光性フラグメントの集合を見分ける。この集合内における各フ
ラグメントのαを蓄積することで、このαは、この集合に対し累積的減少する寄
与として、この集合の後ろのフラグメントに与えられる。
【0060】 このような見分けは、以下のようにして達成される。フラグメントはレンダリ
ングすべきピクセルフラグメントスタックから読み出されるとする。集合は、ピ
クセルフラグメントを部分的に覆う透光性で始まり、次のフラグメントが不透明
又は十分に覆われている場合、すなわち集合における全てのフラグメントに対す
る内側フラグが共にビット列のOR(bitwise OR)となるときピクセルを覆う場合
に終了する。次のフラグメントが不透明又は十分に覆われている場合、この集合
におけるフラグメントの内側フラグはピクセルを覆うことなく、これにより累積
的減少がエッジに沿って全く正しくなくなることが可能となる。
【0061】 VRML、時々はDirect 3Dに関しては、どの面がメッシュ構造であるかとい
う認識は明確である。メッシュが配されている場合、メッシュ識別子における変
化が集合の最後を規定するのに使用されるよりも(任意のピクセルに存在するメ
ッシュ識別子の数を効果的にエンコードするようにハッシュ化される)メッシュ
識別子がコード化する。これは前記集合がピクセルを覆っていない場合を通常は
発見する。物体が選び取られた背面ではないときには失敗し、ピクセルはこの物
体の前面及び背面の一部を含み、これら2つの面を分離せず、全体的な物体は、
1つのメッシュから構築され、前方に面しているピクセルフラグメントは、例え
ば透光性の球体の場合にピクセルを覆わない。決定(fix)は、前方又は後方に面
している三角形を特定するためにビットをマッシュ識別子に加えることで得るこ
とができる。
【0062】 結局のところ、提案されるピクセルフラグメントが処理され、各スタックは、
前から後ろの順序で読み出され、最も近いピクセルフラグメントで始まる。各ピ
クセルフラグメントの視覚的被写域、すなわち各フラグメントの視覚的(閉塞さ
れていない)部分の被写域を決定するために、累算器は、前に読み込んだフラグ
メントの内側フラグと現在のフラグメントの累積的被写域とから形成されるビッ
トベクトルのビット列のORを維持する。現在のフラグメントに対する視覚的被
写域は、累積的被写域の補数(complement)でその内側フラグから形成されるビッ
トベクトルのビット列のANDをすることで得られる。この視覚的被写域が得ら
れた後、累算器は次のフラグメントの準備のために更新される。結局、累算器は
、全てのビットベクトルを含むことになる。全てのフラグメントが読み出される
前に、累積的被写域が全ての被写域となる場合、スタックに残存するフラグメン
トは、これらが十分閉塞されるので、不可視として廃棄される。
【0063】 図5から図8は、初期受信及び準備からピクセル単位の値の出力へのデータの
扱いを説明するフローチャートを補足している。
【0064】 一般データの準備ルーチンは、図5で説明され、501において、適当なソー
ス(例えば、インターネットを介して得られるVRMLデータファイル)からデ
ータを得ることで始まる。このデータは、三角形の頂点、面の法線等において透
光性値を識別する予備データと一緒に三角形の頂点の座標をリストにするコンパ
クトなデータファイルを有する索引付け(index)された面の組でもよい。502
において、このコンパクトなデータファイルは、503において摘出及び保存さ
れる透光性データで伸張される。502の伸張されたデータから、各三角形のビ
ュー空間頂点データは、505での二次元スクリーン空間に投影される三角形で
(504において)読み取られる。
【0065】 タイルベースのレンダリングが使用されるので、506において、走査変換が
各三角形を一列のタイルに変換し始める。余分なデータ、例えばスクリーンのエ
ッジでピクセルカーネル(pixel kernel)のフットプリントマージン内のみ現れる
三角形に対するデータは、507で除去操作により取り除かれる。次に、508
において、識別子が各三角形に割り当てられ、三角形の1つ以上のフラグメント
された部分を搬送するタイルが(509において)タイルバッファに挿入される
【0066】 三角形に対する識別子の割り当てから続いて、マジックポイントが510にお
いて選択される。これに対し、512において対応する増大する値(デルタ)を
計算する前に、(511において)ポイントs/z、t/z及び1/zが計算される。こ
れら計算された値は主属性を有し、導入手順の最終段階513は、これらを主属
性ストア(図3の14)にロードすることである。
【0067】 これら主属性の扱いは図6及び図7に示されている。図6の上部に示されるよ
うに、ステップ513によりロードされた主属性バッファ14に加え、キャッシ
ュメモリ10Aが(509においてロードされた)三角形フラグメントを含むタ
イルに対するバッファ24と共に供給される。このキャッシュ10Aは、外部バ
ッファ14、24からロードされた高速のローカル(オンチップ)メモリを供給
し、ピクセルフラグメントバッファ26に属性値(ポリゴン単位のα値、マッシ
ュ識別フラグ及び前面/背面に面するフラグ)も供給する(図7)。
【0068】 最初の操作601は、タイルバッファ24からキャッシュ10Aへフラグメン
トを読み取ることである。次に602においてこのキャッシュから、s/z、t/z及
び1/zの値が各サンプリングポイントに対し計算される。603において、s/z、
t/z及び1/zの値がキャッシュに戻される結果により補間される。
【0069】 I-O試験は604において実行される。キャッシュ10Aは、スクリーンドア
の透光性が与えられているときのI-O試験段階に示し、(フラグメント又はピク
セルが不透明として簡単に扱うことができないことを示すために)透光性フラグ
をI-O試験段階に供給する。
【0070】 補間中に、I-O試験は、604において、各サンプルポイントに対し、これら
が三角形の境界の内側にあるか外側にあるかを決定するように実行され、これに
続いて、このポイントでの1/zは、ピクセルへの三角形の寄与が考慮又は拒絶さ
れる(606)かを決定するために、他の三角形から対応して配置されたサンプ
ルポイントと比較される(605)。この1/zの比較が成功した場合、ピクセル
フラグメントは、607において、上述のように、完全又は部分的として分類さ
れる。
【0071】 (本発明において完全であるが透光性フラグメントを意味する)部分的ピクセ
ルフラグメントの寄与は、608においてスタックに加えられる。このスタック
は既に完全である場合、608においてこのスタックに空間を作るという行動は
、これがサンプルポイントを覆わない場合に、整合性を維持するために、新しい
最後のフラグメントのタイルに、それ又は各々の当該サンプルポイントを転送す
る補償609を必要とするオーバーフロー(一般に最後尾のフラグメントの除去
)となる。解決されるオーバーフロー問題に関し、最新のフラグメントは適切な
位置でスタックに挿入され(610)、その値は、ピクセルフラグメントバッフ
ァ(図7)に送られる。607に続き、スタックがまだ完全ではないことが明ら
かになった場合、このとき簡単な空間作成操作は、1つ下の新しいフラグメント
よりも深い深さを持つエントリを移動するように実行される。
【0072】 完全なピクセルフラグメントの寄与は、611においてスタックに加えられる
。これは、ピクセルを横切るポリゴン交差(polygon intersection)が存在する場
所で与え、不透明ピクセルとして扱われるが、各ポリゴンの最終ピクセルの色へ
の寄与は、このピクセル内のサンプルポイントを見ることで決定される。典型的
には図4に見られるように32個のポイントが使用される。612において、各
サンプルポイントにおける1/zの比較は、このポイントにおいてポリゴンのどの
サンプルポイントが一番先であるかを識別し、ステップ613において、可視的
被写域の修正、この最終ピクセル色は前記一番先のサンプルポイントからのみで
決定され、ピクセルフラグメントバッファに供給するステップ610に加えられ
る。これらサンプルポイントにおける1/zに対する記憶された値は614におい
て更新される。
【0073】 I-O試験から先の上記動作が処理される一方、603からのデータへの補間は
、615における優先エンコードで始まり、続いて616において1/zの逆数の
計算(すなわち、zを復元)をする他の動作の支配下にある。zの値、s及びt
の値に関しては、(s/z)*z及び(t/z)*zを計算することで617において戻される
。s及びtの整数値に関しては、618において決定される。これらの値は、ス
テップ610において加算され、次に図7の頂上部に示されるピクセルフラグメ
ントバッファ26においてフラグメントで記憶される。
【0074】 このフラグメントバッファから、ピクセルフラグメントの各スタックのα値は
、701でプールされ、フラグメントデータは、702において予備ハンドリン
グセクションにおけるキャッシュメモリ12Aに読み出される。703において
、三角形のフラグメントによりタイルの可視的被写域の範囲がα値から計算され
、704においてフィルタに与えられ、値αが得られ、705においてフラグメ
ントスタックを更新し、701を介しステップ702へ送られる。706におい
て、αは、予備属性ハンドリング段階におけるピクセルシェーディング段階に出
力される(図8)。
【0075】 一単位の許容値を越えるガウスフィルタ関数を適用することで累積されるα値
の可能性は、上記を参照している。更新された累積される被写域段階705は、
ステップ704から一単位へ入力されるどんなα値もクランプ(clamp)するよう
に配される。
【0076】 図8の予備属性ハンドリング段階は、図4及び図5の主属性段階のようであり
、この主属性段階からの準備されたタイルデータと、503において索引が付け
られたフェイスセット(face set)の展開に関する抽出された透光性値とを入力す
るために供給されるオンチップのキャッシュ12Aを単一のチップに供給するこ
とである。示されるように、各々異なる属性の型式は並列に扱われ、801にお
いて各三角形の頂点に対するテクスチャ空間座標(U, V)により特定されるテクス
チャ値で始まる。パラメタ化された座標システムを使用する(s, t)において、テ
クスチャバッファ(マップストア)20と結合されるビットマップテクスチャ処
理段階(bitmap texture processing stage)803に送られる出力で補間される
(802)。処理器803からの出力は、ピクセルシェーダー段階(pixel shade
r stage)804に送られる。示されるように、805において頂点毎に特定され
る法線は、806においても同様に補間され、同じく、ピクセルの色も、807
において三角形の頂点で特定され、808において補間される。これら色は、重
なり合う透光性フラグメント(ステップ613参照)が存在するとき、シェーダ
804により変化(例えば上書き)される。他の属性における一般的なケースは
、811における三角形の属性毎に(810において(s, t)でも評価される)8
09において示される。処理器803に関しては、806、808、810及び
811の出力は、事前に計算されたα値に沿って、シェーダ804への入力を供
給する。
【0077】 このシェーダの出力は、812においてシェードされたピクセルフラグメント
に対する累算器へ行き、813におけるピクセルのガンマ補正へと続く。このシ
ェードされたピクセルは、814において出力される。ガンマ補正は、アンチエ
イリアジングに対するガンマ補正が低い強度で最もクリティカルとなるので、ワ
ークステーションにおいて普通に行われるように、ディスプレイドライバにさせ
ることはない。色成分毎に通常8ビットに切り取られ、ガンマ補正を適用するこ
とは、アンチエイリアジングされたエッジに沿って顕著なでこぼこを与えること
が分かっているのに対し、切り取られる前にガンマ補正を実行することが円滑な
エッジを復元する。
【0078】 上述の(s, t)技術は、深さバッファエントリの大きさを減少させ、それでも透
光性を扱うことを許可する。この(s, t)技術は、従来の透光性又はテクスチャの
透光性にも応用可能である。
【0079】 上述されたように、32個のサンプリングポイントにおける内側フラグの計算
は、32個の1/zの値をアンチエイリアジングを交差可能にする。I-O試験用のs/
z、t/zを使用することを必要とする数値精度及びロングワード長は、ピクセルの
中央で(s, t)を計算するとき許容されるが、並列するハードウェアを用いて32
回のI-O試験を行うのに使用されるとき、かなりの負担を課すことになる。
【0080】 解決法は、スクリーン空間エッジ距離が、有限の数値精度によるギャップ又は
クラックを避けるために計算されるという利益を持ち、簡単なスクリーン空間エ
ッジ方程式及びスクリーン空間マンハッタンエッジ距離(screen space Manhatta
n edge distance)を使用することであり、これらは、より短いワード長を使用す
ることができ、少ないハードウェアを必要とする。
【0081】 この解決法に対する異議は、透視ビュー空間がスクリーン空間内に作られなけ
ればならないことである。図9の(a)に示されるように、三角形の全ての3頂
点V0、V1、V2が観察者(viewer)Pよりも前又は全てが観察者の背後(図示
せず)にあり、それらを選択しているときは何ら問題は起きない。
【0082】 しかしながら、三角形が図9の(b)に示されるように、Z=0平面にまたがる
場合に問題が生じる。観察者の背後の頂点V1は、不適切に射影し、これが不適
切なエッジの方程式を導くことになる。
【0083】 1つの解決法は、従来のクリッピング(clipping)であるが、頂点の反射という
公知の技術を応用することがより効果的である。これは、V1'=V1-(V1-V0)を与え
ることで、頂点V1が頂点V0に対し、両方の頂点を通る線に沿って反射される
ことを示す図9の(b)に示されている。V1'は、以前と同じ線上にあるが、今
は観察者Pの前にある。V0及びV1'は、確かなスクリーン空間エッジ方程式を構
成するために、スクリーン空間内に正確に射影することが可能である。
【0084】 公知の頂点反射技術が三角形のエッジを共有するために適用される場合、エッ
ジがギャップ及びクラックが無いままとなるので、同じ頂点は、エッジを共有す
る両方の面に対し修正される。
【0085】 これら頂点がメッシュの内側で共有される場合、頂点の反射は、観察者の背後
にある頂点は二度、つまり頂点がこれらエッジの交点に置かれる2つのエッジの
各々に沿って一度ずつ反射されるように、追加の頂点を作り出している。ビュー
空間の頂点がs/z、t/z、1/zを計算するのに使用される本発明による方法におい
て、共有される頂点に関する透視射影技術の利点は、ビュー及びスクリーン空間
の頂点の両方を搬送する必要によってオフセットされ、加えて、観察者の背後に
ある頂点は二度透視されなければならない。従って、ビュー空間の頂点のみが搬
送された場合有益となり、透視射影は各三角形の各頂点に対し実行される。
【0086】 本発明の開示を読むことから、他の改良が当業者には明らかとなるであろう。
このような改良は、設計、製造及び画像処理機器及び装置の使用、並びにこれら
の構成部品において既に公知であり、ここに既に開示した特徴の代わりに又はそ
れに加えて使用されてもよい。
【図面の簡単な説明】
【図1】 図1は、三角形の画像基本要素のパラメタを説明している。
【図2】 図2は、ピクセルフィルタカーネルを嵌入する三角形の画像基本
要素を表す。
【図3】 図3は、本発明を用いた画像処理システムのブロック図である。
【図4】 図4は、半ピクセル間隔グリッド上のサンプルポイント配列を表
す。
【図5】 図5は、初期データ取得のフローチャート表示及び図3のシステ
ムに供給するデータを生成する事前処理ルーチンである。
【図6】 図6は、図3のシステムにおける主属性ハンドリング段階の動作
を概略的に説明する。
【図7】 図7は、図3のシステムにおける主属性ハンドリング段階のピク
セルフラグメントサブシステムの動作を概略的に説明する。
【図8】 図8は、図3のシステムにおける予備属性ハンドリング段階の動
作を概略的に説明する。
【図9a】 図9(a)は、頂点反射の技術を説明する。
【図9b】 図9(b)は、頂点反射の技術を説明する。
【符号の説明】
10,12 処理器 14 主属性 10A 主属性キャッシュ 12A 予備属性キャッシュ 16 予備属性 18 バッファ 20 テクスチャバッファ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ウッド カール ジェイ オランダ国 5581 エイダブリュー アイ ンドーフェン プロフ ホルストラーン 6 Fターム(参考) 5B080 AA14 BA04 BA07 FA02 FA03 FA14 FA15 FA17 GA02 GA11 GA22

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 画像平面に射影すべき複数の三角形の画像基本要素から二次
    元のピクセル画像をレンダリングする画像処理方法であって、当該方法において
    、前記三角形の頂点に対し保持される値から補完することで得られるピクセル単
    位の属性値は、前記射影された三角形の基本要素内のそれぞれのピクセル上にマ
    ッピングされ、各三角形に対し、 射影前に、三角形は、前記三角形の個々のエッジと同一点に集まる座標軸(s,
    t)及び前記エッジ間の頂点と同一の原点を持つ各々の二次元座標システムでパラ
    メタ化され、 射影中に、パラメタ化座標システムによって生成される補間関数が与えられ、
    前記二次元座標システムによって前記三角形内の位置でパラメタ値を決定し、 射影後、前記三角形内の位置における前記決定されたパラメタ値は、各ピクセ
    ルにおいて属性値を与えるために、前記記憶された値から、各頂点における1つ
    以上の属性に対する寄与を決定する、画像処理方法において、前記三角形内の位
    置における前記パラメタ値が、透光性値であることを特徴とする画像処理方法。
  2. 【請求項2】 三角形により完全に又は部分的に覆われている透光性ピクセ
    ルフラグメントは、部分的なフラグメントとして特徴付けられる請求項1に記載
    の方法。
  3. 【請求項3】 zがピクセルの深さ値である場合、ピクセルの中心が透視補
    正補間s/z、t/z及び1/zを用いた三角形の内側にあるか外側にあるかを決定する
    ために、当該ピクセルが試験される請求項1又は2に記載の方法。
  4. 【請求項4】 三角形の内側又は外側に位置するかを決定する前記試験が、
    前記ピクセルの中心から既定距離内の複数のサンプルポイントの各々で更に実行
    される請求項3に記載の方法。
  5. 【請求項5】 2つの三角形の交差により規定される線は、前記複数のサン
    プルポイントにおける深さの逆数1/zを使用して、各ピクセルでアンチエイリア
    ジングされる請求項4に記載の方法。
  6. 【請求項6】 透光性ピクセルフラグメントは、前から後ろへピクセルフラ
    グメントバッファに挿入され、前記レンダリングされたピクセルフラグメントの
    α値は、前記α値の合計が一単位を越えるまで累積され、前記累計されたαが一
    単位に等しくなる最後のピクセルフラグメントの色及びαの関数として接続がな
    される請求項5に記載の方法。
  7. 【請求項7】 ピクセルの前記最後の色は、最初のサンプルのポイント値か
    ら決定される請求項6に記載の方法。
  8. 【請求項8】 画像平面に射影すべき複数の三角形の画像基本要素を規定す
    るデータから二次元のピクセル画像をレンダリングするように構成される画像処
    理装置であって、当該装置は、前記三角形の頂点に対し保持される値からピクセ
    ル単位の属性値を得るように配される補間手段と、前記射影された三角形の基本
    要素内のそれぞれのピクセル上に前記ピクセル単位の属性値をマッピングするよ
    うに配されるデータハンドリング手段とを含み、 射影前に前記三角形の基本要素を規定する前記データを入力するように結合さ
    れ、前記三角形の各々のエッジと同一点に集まる座標軸(s. t)と、前記エッジ間
    の前記頂点と同一の原点とを持つ各々の二次元座標システムで各三角形をパラメ
    タ化するように配される計算手段、 前記二次元座標システムによって三角形内の位置におけるパラメタ値を得るよ
    うに、前記パラメタ化された座標システムによって生成された補間関数を各三角
    形に適用可能である射影手段、及び 各ピクセルに属性値を与えるように、各頂点における1つ以上の属性に対する
    、前記記憶された値からの寄与を前記三角形内の位置における前記決定されたパ
    ラメタ値から得て、全ての三角形からピクセル単位の属性値を組み合わせ、ピク
    セル単位の色の値を供給するように構成されるピクセルシェーディング手段、を
    有する画像処理装置において、前記装置は、ピクセルを透光性ピクセルとして特
    徴付け、透光性ピクセルが他のピクセルに重なっている場合、最初の透光性ピク
    セルの色から得られるピクセル単位の色の値を供給する手段を更に有することを
    特徴とする画像処理装置。
  9. 【請求項9】 複数のデータストックを保持し、各ストックはそれぞれのピ
    クセルと関連を持ち、前記ピクセルを嵌入する1つ以上の三角形の透光性を識別
    するエントリを保持する記憶手段、透光性ピクセルフラグメントを前記ストック
    に前面から背面へと挿入する手段、レンダリングされる透光性ピクセルフラグメ
    ントの前記α値を、前記α値の合計が一単位を越えるまで収容する手段、及び前
    記合計されたαが一単位に等しくなる最後のピクセルフラグメントの色及びαの
    関数として接続を与える手段を更に有する請求項8に記載の画像処理装置。
JP2001524060A 1999-09-16 2000-09-08 透光性3dグラフィックをレンダリングする方法及び装置 Withdrawn JP2003509780A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GBGB9921777.0A GB9921777D0 (en) 1999-09-16 1999-09-16 Method and apparatus for handling translucency in 3d graphics
GB9921777.0 1999-09-16
PCT/EP2000/008849 WO2001020553A1 (en) 1999-09-16 2000-09-08 Method and apparatus for rendering translucent 3d graphics

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2011176797A Division JP5185418B2 (ja) 1999-09-16 2011-08-12 透光性3dグラフィックをレンダリングする方法及び装置

Publications (2)

Publication Number Publication Date
JP2003509780A true JP2003509780A (ja) 2003-03-11
JP2003509780A5 JP2003509780A5 (ja) 2007-11-08

Family

ID=10860942

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2001524060A Withdrawn JP2003509780A (ja) 1999-09-16 2000-09-08 透光性3dグラフィックをレンダリングする方法及び装置
JP2011176797A Expired - Fee Related JP5185418B2 (ja) 1999-09-16 2011-08-12 透光性3dグラフィックをレンダリングする方法及び装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2011176797A Expired - Fee Related JP5185418B2 (ja) 1999-09-16 2011-08-12 透光性3dグラフィックをレンダリングする方法及び装置

Country Status (6)

Country Link
US (1) US6700584B1 (ja)
EP (1) EP1131791A1 (ja)
JP (2) JP2003509780A (ja)
GB (1) GB9921777D0 (ja)
TW (1) TW473693B (ja)
WO (1) WO2001020553A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009187095A (ja) * 2008-02-04 2009-08-20 Seiko Epson Corp 画像処理方法、そのプログラム及び画像処理装置
US8269775B2 (en) 2008-12-09 2012-09-18 Qualcomm Incorporated Discarding of vertex points during two-dimensional graphics rendering using three-dimensional graphics hardware
JP2012230689A (ja) * 2006-08-03 2012-11-22 Qualcomm Inc ピクセルマスクを用いたグラフィックシステム

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1204073B1 (en) * 2000-10-27 2007-01-31 Canon Kabushiki Kaisha Image generation method and apparatus
GB2377870B (en) * 2001-05-18 2005-06-29 Canon Kk Method and apparatus for generating confidence data
US7103621B2 (en) * 2002-03-29 2006-09-05 Pts Corporation Processor efficient transformation and lighting implementation for three dimensional graphics utilizing scaled conversion instructions
US7324116B2 (en) 2002-06-20 2008-01-29 Microsoft Corporation Systems and methods for providing controllable texture sampling
US7268779B2 (en) * 2002-12-24 2007-09-11 Intel Corporation Z-buffering techniques for graphics rendering
US7800631B2 (en) 2003-03-18 2010-09-21 Qualcomm Incorporated Triangle rendering using direct evaluation
US7382370B2 (en) * 2004-07-07 2008-06-03 The United States Of America As Represented By The Secretary Of The Navy System and method for smoothing and compression of polyline data
US7425966B2 (en) 2004-10-07 2008-09-16 Nvidia Corporation Pixel center position displacement
US7387397B2 (en) * 2005-08-25 2008-06-17 Nissan Technical Center North America, Inc. Vehicle backlit panel
FR2917211A1 (fr) * 2007-06-08 2008-12-12 St Microelectronics Sa Procede et dispositif de generation d'images graphiques
US20120233210A1 (en) * 2011-03-12 2012-09-13 Matthew Thomas Bogosian Storage of Arbitrary Points in N-Space and Retrieval of Subset thereof Based on Criteria Including Maximum Distance to an Arbitrary Reference Point
TWI594176B (zh) * 2010-09-30 2017-08-01 fu-zhi Huang A three-dimensional window interface, a method of generating the same, and a computer-readable medium
US8842121B2 (en) * 2011-02-03 2014-09-23 Intel Corporation Stream compaction for rasterization
CN102184572B (zh) * 2011-05-19 2017-07-21 威盛电子股份有限公司 三维图形裁剪方法、呈现方法及其图形处理装置
US9836879B2 (en) * 2013-04-16 2017-12-05 Autodesk, Inc. Mesh skinning technique
US20150058390A1 (en) * 2013-08-20 2015-02-26 Matthew Thomas Bogosian Storage of Arbitrary Points in N-Space and Retrieval of Subset Thereof Based on a Determinate Distance Interval from an Arbitrary Reference Point
KR102465969B1 (ko) 2015-06-23 2022-11-10 삼성전자주식회사 그래픽스 파이프라인을 수행하는 방법 및 장치

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04220783A (ja) * 1990-03-14 1992-08-11 Hewlett Packard Co <Hp> 表示装置及び表示方法
JPH0628491A (ja) * 1992-07-08 1994-02-04 Matsushita Electric Ind Co Ltd 画像生成装置
JPH096987A (ja) * 1995-06-20 1997-01-10 Ricoh Co Ltd 画像処理装置
JPH09330422A (ja) * 1996-06-07 1997-12-22 Hitachi Ltd 3次元グラフィック表示方法および表示システム
WO1999006957A1 (en) * 1997-08-01 1999-02-11 Koninklijke Philips Electronics N.V. Method and apparatus for attribute interpolation in 3d graphics
WO1999041704A1 (en) * 1998-02-17 1999-08-19 Sun Microsystems, Inc. Estimating graphics system performance for polygons

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1309198C (en) 1987-12-10 1992-10-20 Carlo J. Evangelisti Parallel rendering of smoothly shaded color triangles with anti-aliased edges for a three dimensional color display
GB8828342D0 (en) 1988-12-05 1989-01-05 Rediffusion Simulation Ltd Image generator
US5771046A (en) 1994-06-20 1998-06-23 Ricoh Company, Ltd. Image processing system and method including perspective transformation of three-dimensional objects utilizing clipping plane positions
US5739818A (en) 1995-05-31 1998-04-14 Canon Kabushiki Kaisha Apparatus and method for performing perspectively correct interpolation in computer graphics
US5864342A (en) * 1995-08-04 1999-01-26 Microsoft Corporation Method and system for rendering graphical objects to image chunks
JPH09153142A (ja) * 1995-12-01 1997-06-10 Hitachi Ltd レンダリング装置およびその方法
JP3732593B2 (ja) * 1996-09-30 2006-01-05 株式会社東芝 画像処理装置
JPH10187951A (ja) 1996-12-27 1998-07-21 Namco Ltd 画像合成装置及び画像合成方法
JP3580682B2 (ja) * 1997-09-26 2004-10-27 株式会社ソニー・コンピュータエンタテインメント 画像処理装置および方法
US6473082B1 (en) * 1999-05-18 2002-10-29 S3 Graphics Co., Ltd. System and method for implementing a two-layer z-range buffer

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04220783A (ja) * 1990-03-14 1992-08-11 Hewlett Packard Co <Hp> 表示装置及び表示方法
JPH0628491A (ja) * 1992-07-08 1994-02-04 Matsushita Electric Ind Co Ltd 画像生成装置
JPH096987A (ja) * 1995-06-20 1997-01-10 Ricoh Co Ltd 画像処理装置
JPH09330422A (ja) * 1996-06-07 1997-12-22 Hitachi Ltd 3次元グラフィック表示方法および表示システム
WO1999006957A1 (en) * 1997-08-01 1999-02-11 Koninklijke Philips Electronics N.V. Method and apparatus for attribute interpolation in 3d graphics
WO1999041704A1 (en) * 1998-02-17 1999-08-19 Sun Microsystems, Inc. Estimating graphics system performance for polygons

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012230689A (ja) * 2006-08-03 2012-11-22 Qualcomm Inc ピクセルマスクを用いたグラフィックシステム
JP2009187095A (ja) * 2008-02-04 2009-08-20 Seiko Epson Corp 画像処理方法、そのプログラム及び画像処理装置
US8269775B2 (en) 2008-12-09 2012-09-18 Qualcomm Incorporated Discarding of vertex points during two-dimensional graphics rendering using three-dimensional graphics hardware

Also Published As

Publication number Publication date
EP1131791A1 (en) 2001-09-12
GB9921777D0 (en) 1999-11-17
TW473693B (en) 2002-01-21
US6700584B1 (en) 2004-03-02
WO2001020553A1 (en) 2001-03-22
JP2012014714A (ja) 2012-01-19
JP5185418B2 (ja) 2013-04-17

Similar Documents

Publication Publication Date Title
JP5185418B2 (ja) 透光性3dグラフィックをレンダリングする方法及び装置
US6204856B1 (en) Attribute interpolation in 3D graphics
US10665009B2 (en) Hidden culling in tile-based computer generated images
US10043306B2 (en) Using depth data in a graphics processing system
US9536333B2 (en) Method and apparatus for improved processing of graphics primitives
GB2544679A (en) Tessellating patches of surface data in tile based computer graphics rendering
US7158133B2 (en) System and method for shadow rendering
US10497150B2 (en) Graphics processing fragment shading by plural processing passes
JP4499291B2 (ja) 3次元コンピュータ生成画像のシェーディング及びテクスチャリング
US6501481B1 (en) Attribute interpolation in 3D graphics
JP4209129B2 (ja) グラフィックスモデルを表す複数のポリゴンを含むメッシュをレンダリングする方法
US7834879B2 (en) Drawing apparatus for displaying image data about a plurality of objects including semitransparent object and opaque object on computer display screen
US10726610B2 (en) Efficient graphics processing using metadata
US5926183A (en) Efficient rendering utilizing user defined rooms and windows
KR100328593B1 (ko) 3-d 그래픽용 고속 클립핑 방법
US11908069B2 (en) Graphics processing
Brown The Comparison of three 3D graphics raster processors and the design of another

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070907

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070907

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20090424

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100406

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100706

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100713

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100805

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100812

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100906

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100928

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101227

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110107

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110128

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110204

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110228

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110307

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110426

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110812

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110822

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20110909

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20111006