JPH03212775A - アンチエイリアス多角形の描図方法及び装置 - Google Patents
アンチエイリアス多角形の描図方法及び装置Info
- Publication number
- JPH03212775A JPH03212775A JP2311223A JP31122390A JPH03212775A JP H03212775 A JPH03212775 A JP H03212775A JP 2311223 A JP2311223 A JP 2311223A JP 31122390 A JP31122390 A JP 31122390A JP H03212775 A JPH03212775 A JP H03212775A
- Authority
- JP
- Japan
- Prior art keywords
- pixel
- polygon
- image array
- graphics processor
- program
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—Two-dimensional [2D] image generation
- G06T11/40—Filling planar surfaces by adding surface attributes, e.g. adding colours or textures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—Three-dimensional [3D] image rendering
- G06T15/50—Lighting effects
- G06T15/503—Blending, e.g. for anti-aliasing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、全体としてラスク型グラフィックディスプレ
イサブシステム上に描かれた多角形におけるエイリアシ
ングとして知られる階段波効果を低減させるための装置
と方法に関する。ラスク多角形の辺縁をなめらかにする
ことによって階段波効果を低減することはアンチエイリ
アシングとして知られている。殊に、本発明は、多角形
をピクセルあたりに何回もサンプリングするようなアン
チエイリアシング装置と方法に関する。
イサブシステム上に描かれた多角形におけるエイリアシ
ングとして知られる階段波効果を低減させるための装置
と方法に関する。ラスク多角形の辺縁をなめらかにする
ことによって階段波効果を低減することはアンチエイリ
アシングとして知られている。殊に、本発明は、多角形
をピクセルあたりに何回もサンプリングするようなアン
チエイリアシング装置と方法に関する。
ラスフグラフインクディスプレイサブシステム上で多角
形を走査変換する作業は、2次元ラスク格子上の多角形
内部に位置するピクセルの座標を判断することにある。
形を走査変換する作業は、2次元ラスク格子上の多角形
内部に位置するピクセルの座標を判断することにある。
多角形を構成する線分の内側のピクセルを十分に観察す
ると多角形を近似する階段状のパターンが結果される。
ると多角形を近似する階段状のパターンが結果される。
多角形に対するエイリアスを回避する既知の手法は、時
間を消費すると共に、計算集約的であって、ハードウェ
ア形式で実行する場合には広範で追加的なハードウェア
による支援が必要となろう。
間を消費すると共に、計算集約的であって、ハードウェ
ア形式で実行する場合には広範で追加的なハードウェア
による支援が必要となろう。
かかるアルゴリズムは、ラスク型グラフィックディスプ
レイサブシステムが十分に高性能のサブシステムの場合
には、十分にそれらの所期の機能を果すであろう。然し
なから、低コストのワークステーションにおいては、価
格と競合するために、ラスフグラフイックディスプレイ
処理速度について種々の妥協が必要になる。かかるワー
クステーションにおいて命令の組が少ないコンピュータ
(RI S C”)中央処理装置(CP U)を使用す
ると、プロセッサ性能において必要とされる妥協の度合
いが最小限になるが、伝統的なアンチエイリアスアルゴ
リズムを使用すれば、これらのワークステージジンにお
けるグラフインク応答は緩慢になるであろう。それ故、
今日、伝統的な技法よりも高速で計算集約的でない多角
形のアンチエイリアス装置と方法が必要とされる。
レイサブシステムが十分に高性能のサブシステムの場合
には、十分にそれらの所期の機能を果すであろう。然し
なから、低コストのワークステーションにおいては、価
格と競合するために、ラスフグラフイックディスプレイ
処理速度について種々の妥協が必要になる。かかるワー
クステーションにおいて命令の組が少ないコンピュータ
(RI S C”)中央処理装置(CP U)を使用す
ると、プロセッサ性能において必要とされる妥協の度合
いが最小限になるが、伝統的なアンチエイリアスアルゴ
リズムを使用すれば、これらのワークステージジンにお
けるグラフインク応答は緩慢になるであろう。それ故、
今日、伝統的な技法よりも高速で計算集約的でない多角
形のアンチエイリアス装置と方法が必要とされる。
本発明によるエイリアスを除去した多角形を描くための
装置は、ホストデータプロセッサを備える。同ホストプ
ロセッサには1本のバスによってメモリが接続される。
装置は、ホストデータプロセッサを備える。同ホストプ
ロセッサには1本のバスによってメモリが接続される。
ディスプレイは多角形を表示するための複数のピクセル
を備える。グラフィックプロセッサとディスプレイ間に
はフレームバッファが接続される。上記グラフィックプ
ロセッサは、イメージ配列をサンプリングするためのプ
ログラムを内蔵している。上記イメージ配列は、複数の
ピクセルか、同ピクセルのうちの一つ内部の複数の位置
の何れかを備えるようにプログラムによって選択的に再
構成できる。
を備える。グラフィックプロセッサとディスプレイ間に
はフレームバッファが接続される。上記グラフィックプ
ロセッサは、イメージ配列をサンプリングするためのプ
ログラムを内蔵している。上記イメージ配列は、複数の
ピクセルか、同ピクセルのうちの一つ内部の複数の位置
の何れかを備えるようにプログラムによって選択的に再
構成できる。
本発明によるエイリアスを除去した多角形を描く方法は
、イメージ配列をサンプリングするためのプログラムを
内蔵するグラフインクプロセンサを設けることを含む。
、イメージ配列をサンプリングするためのプログラムを
内蔵するグラフインクプロセンサを設けることを含む。
イメージ配列は、プログラムによって選択的に構成され
、複数のピクセルか、同ピクセルのうちの一つの内部の
複数の位置の何れかを備えるようになっている。上記イ
メージ配列は構成された通りにサンプリングされる。こ
れらのステップによってエイリアスが除去された多角形
がつくりだされる。
、複数のピクセルか、同ピクセルのうちの一つの内部の
複数の位置の何れかを備えるようになっている。上記イ
メージ配列は構成された通りにサンプリングされる。こ
れらのステップによってエイリアスが除去された多角形
がつくりだされる。
さて図面、殊に第1図について述べると、エイリアシン
グを有する三角形10が示されている。
グを有する三角形10が示されている。
上記三角形10では、その内部に上部左手隅14を有す
るピクセル12が明示されている。図の如く、明示され
たピクセル12は線分16.18.20により画成され
る三角形に近似的にしか対応していない。ラスク型グラ
フィックディスプレイサブシステム上で三角形10の如
き多角形を走査変換する作業は、2次元ラスク格子22
の三角形10内部に位置するピクセル12の座標を決定
することである。線分16−20内のとクセル12を十
分に明示すると、三角形に近似する階段波パターン24
が生ずることになろう。
るピクセル12が明示されている。図の如く、明示され
たピクセル12は線分16.18.20により画成され
る三角形に近似的にしか対応していない。ラスク型グラ
フィックディスプレイサブシステム上で三角形10の如
き多角形を走査変換する作業は、2次元ラスク格子22
の三角形10内部に位置するピクセル12の座標を決定
することである。線分16−20内のとクセル12を十
分に明示すると、三角形に近似する階段波パターン24
が生ずることになろう。
第2図は三角形10をエイリアスされた形で描ぐための
装置30のブロック線図である。CPU32はバス36
により、浮動小数点プロセッサ(FPU)34に接続さ
れる。CPU32は32ビツトシステムバス38により
、グラフィックサダシステム45内のランダムアクセス
メモリ(RAM)40、キャッシュ42、およびインタ
ーフェース44に接続されている。インターフェース4
4はバス46によりグラフィックプロセッサ48に接続
されている。グラフィックプロセッサ48は12のビッ
トグラフィックバス50によってフレームバッファ52
に接続されている。フレームバッファ52は、バス56
によりビデオデジタル/アナログ変換器(DAC)54
へ接続されている。
装置30のブロック線図である。CPU32はバス36
により、浮動小数点プロセッサ(FPU)34に接続さ
れる。CPU32は32ビツトシステムバス38により
、グラフィックサダシステム45内のランダムアクセス
メモリ(RAM)40、キャッシュ42、およびインタ
ーフェース44に接続されている。インターフェース4
4はバス46によりグラフィックプロセッサ48に接続
されている。グラフィックプロセッサ48は12のビッ
トグラフィックバス50によってフレームバッファ52
に接続されている。フレームバッファ52は、バス56
によりビデオデジタル/アナログ変換器(DAC)54
へ接続されている。
DAC54は、ライン60によりビデオディスプレイ5
8に接続されている。
8に接続されている。
局部的な参照引き数は、グラフィックプロセッサ48が
第3図に示すようにビクセル72の矩形配列70中のフ
レームバッファ52を更新すべきことを指示する。以下
のアルゴリズムの記述は、例として4x4の配列を使用
しているが、実際はこれと異なっていても差支えない。
第3図に示すようにビクセル72の矩形配列70中のフ
レームバッファ52を更新すべきことを指示する。以下
のアルゴリズムの記述は、例として4x4の配列を使用
しているが、実際はこれと異なっていても差支えない。
多数のグラフィックプロセッサ48を一緒に使用して、
フレームバッファメモリ52に対して高い帯域幅を実現
するようにすることができる。グラフィックプロセッサ
48の各々は、フレームバッファ52内の何れの4 x
4 領域にもアクセスすることができる。
フレームバッファメモリ52に対して高い帯域幅を実現
するようにすることができる。グラフィックプロセッサ
48の各々は、フレームバッファ52内の何れの4 x
4 領域にもアクセスすることができる。
任意の位置に配置された時、上部左隅74は原点を表わ
し、配列内の各ビクセル72は、(x、y)偏差によっ
て表わされる。配列内のビクセル72の位置はサイトと
称される。各サイトはそれに対応するビクセル72に関
する情報を含む。
し、配列内の各ビクセル72は、(x、y)偏差によっ
て表わされる。配列内のビクセル72の位置はサイトと
称される。各サイトはそれに対応するビクセル72に関
する情報を含む。
第3図に示す配列70の2次元的表現は、配列70内の
サイト72とフレームバッファ52内のビクセルの間に
直観的な1対lの写像が存在するためにアルゴリズムの
形を理解するためのガイドとして有効である。これは別
に、配列70は第4図中の76で示すように、線形状に
表現することもできよう。線形状の表現は、グラフィッ
クプロセッサ48のチップがそのレジスタを実際に線形
にレイアウトする際にアルゴリズムのハードウェア構成
を記述するためにより有効であることが判る。
サイト72とフレームバッファ52内のビクセルの間に
直観的な1対lの写像が存在するためにアルゴリズムの
形を理解するためのガイドとして有効である。これは別
に、配列70は第4図中の76で示すように、線形状に
表現することもできよう。線形状の表現は、グラフィッ
クプロセッサ48のチップがそのレジスタを実際に線形
にレイアウトする際にアルゴリズムのハードウェア構成
を記述するためにより有効であることが判る。
グラフィックプロセッサ48における基礎的幾何形状の
基本は幾何学的半空間の評価である。第5A、5Bおよ
び50図に示すように、一つの面内の任意の線80は同
面を2つの半空間82と84に分割する。上記半空間を
評価することによって1本の線80の何れの側に点が位
置するかが判断される。1本の線の右側に対する点は全
て一方の半空間内にある一方、左側に対する点は全て他
方の半空間内にある。
基本は幾何学的半空間の評価である。第5A、5Bおよ
び50図に示すように、一つの面内の任意の線80は同
面を2つの半空間82と84に分割する。上記半空間を
評価することによって1本の線80の何れの側に点が位
置するかが判断される。1本の線の右側に対する点は全
て一方の半空間内にある一方、左側に対する点は全て他
方の半空間内にある。
グラフィックプロセッサ48は以下の3つの幾何学的基
本形状、即ち、三角形、凸形の四辺形、および線をサポ
ートする。これらの基本形状を選んだのは、それが幾何
学的に単純で、それ以上の複雑な形状は上記基本形状で
構成できるためである。凸形の多角形の如きより?j!
雑な形状はそれ以上の一般性を与えるが、グラフィック
サブシステムの複雑さがはなはだしく増加するという代
償を払わなければならない。任意の凸形多角形は、それ
らを記述するために必要とされるデータ量が無限である
ために、一つのグラフィックチップに対するアトミック
処理のサイズもまた無限になる。
本形状、即ち、三角形、凸形の四辺形、および線をサポ
ートする。これらの基本形状を選んだのは、それが幾何
学的に単純で、それ以上の複雑な形状は上記基本形状で
構成できるためである。凸形の多角形の如きより?j!
雑な形状はそれ以上の一般性を与えるが、グラフィック
サブシステムの複雑さがはなはだしく増加するという代
償を払わなければならない。任意の凸形多角形は、それ
らを記述するために必要とされるデータ量が無限である
ために、一つのグラフィックチップに対するアトミック
処理のサイズもまた無限になる。
グラフインクサブシステムによってはCPUに割込みを
かけて多角形を走査変換中に新たな辺縁を追加するもの
がある。この手法は複雑なだけでなく、マルチプロセッ
サ環境においては受は入れることはできない。プロセッ
サの使用を効率化するには、1つのアトミック処理のサ
イズは小さくなければならない。複雑な多角形はCPU
32によって容易かつ効率的に複数の三角形又は四辺形
でモザイク状に配列することができる。事実、陰影をな
めらかにするには、3つの点が一つの面を形成し、4つ
以上の点は制約を超えているために、1つの多角形を数
個の三角形に分解するとより優れた結果が得られるのが
普通である。
かけて多角形を走査変換中に新たな辺縁を追加するもの
がある。この手法は複雑なだけでなく、マルチプロセッ
サ環境においては受は入れることはできない。プロセッ
サの使用を効率化するには、1つのアトミック処理のサ
イズは小さくなければならない。複雑な多角形はCPU
32によって容易かつ効率的に複数の三角形又は四辺形
でモザイク状に配列することができる。事実、陰影をな
めらかにするには、3つの点が一つの面を形成し、4つ
以上の点は制約を超えているために、1つの多角形を数
個の三角形に分解するとより優れた結果が得られるのが
普通である。
半空間幾何学の基本的数学は単純で、そのVLSIの製
作はすこぶる規則的かつ効率的に行うことが可能である
が、それ自体では半空間は2D又は3D(次元)図形に
対する有効な基本形状を何ら提供するものではない。然
しなから、第5D図に示すような三角形92の内部90
を考えてみよう。
作はすこぶる規則的かつ効率的に行うことが可能である
が、それ自体では半空間は2D又は3D(次元)図形に
対する有効な基本形状を何ら提供するものではない。然
しなから、第5D図に示すような三角形92の内部90
を考えてみよう。
上記三角形の内部は3つの半空間82の交差したちの以
外の何者でもない。三角形92は頂点94を共有する3
つの辺縁80でモデル化される。グラフィックプロセッ
サ48は、1つの辺縁80の何れの側にピクセル72が
位置することができるかを判断することができる。同プ
ロセッサ48は一つの辺縁80に関連して1つのピクセ
ル72を′+′又は′−′とじてマーキングすることが
できる。′+′はピクセル72が辺縁80に関して三角
形92の内側にある一方、 −′はそれが外側にあるこ
とを意味する。ピクセル72が三角形全体92に関して
内側にあることを判断するための、3つの辺縁80に関
して内側にあることの簡単なテストが成分半空間評価の
符号ビットの論理積として実行される。この半空間幾何
学法は4つの半空間の重なりにすぎない凸形四辺形につ
いても等しく十分にあてはまることは明らかである。
外の何者でもない。三角形92は頂点94を共有する3
つの辺縁80でモデル化される。グラフィックプロセッ
サ48は、1つの辺縁80の何れの側にピクセル72が
位置することができるかを判断することができる。同プ
ロセッサ48は一つの辺縁80に関連して1つのピクセ
ル72を′+′又は′−′とじてマーキングすることが
できる。′+′はピクセル72が辺縁80に関して三角
形92の内側にある一方、 −′はそれが外側にあるこ
とを意味する。ピクセル72が三角形全体92に関して
内側にあることを判断するための、3つの辺縁80に関
して内側にあることの簡単なテストが成分半空間評価の
符号ビットの論理積として実行される。この半空間幾何
学法は4つの半空間の重なりにすぎない凸形四辺形につ
いても等しく十分にあてはまることは明らかである。
さて、基本的な構成ブロックが確立された。即ち、フレ
ームバッファメモリ52の参照単位としての配列70と
、何れのとクセルア2が幾何学的図形内に含まれるかを
判断するための半空間評価と、内側ピクセル72におけ
る対象の属性を判断するための平面評価とである。サポ
ートされた形の基本モデルは半空間幾何学法の形で確立
されたが、配列メモリ52を参照してのこれらの幾何学
的モデルの具現化はこれまでまだ行われていなかった。
ームバッファメモリ52の参照単位としての配列70と
、何れのとクセルア2が幾何学的図形内に含まれるかを
判断するための半空間評価と、内側ピクセル72におけ
る対象の属性を判断するための平面評価とである。サポ
ートされた形の基本モデルは半空間幾何学法の形で確立
されたが、配列メモリ52を参照してのこれらの幾何学
的モデルの具現化はこれまでまだ行われていなかった。
幾何学的図形をタイル張りするための複数の配列基準の
発生は経路追跡と称され、使用される半空間表現によっ
て容易に実現される。グラフィックプロセッサ48のア
ルゴリズムは、それぞれの配列基準における半空間幾何
学形状をテストして、何れの方向に幾何学図形が延びる
かを判断することにより、次の配列基準がどこでなけれ
ばならないかを表示する。この配列の移動は幾何学的図
形全体がタイル張りされ終るまで続けられる。
発生は経路追跡と称され、使用される半空間表現によっ
て容易に実現される。グラフィックプロセッサ48のア
ルゴリズムは、それぞれの配列基準における半空間幾何
学形状をテストして、何れの方向に幾何学図形が延びる
かを判断することにより、次の配列基準がどこでなけれ
ばならないかを表示する。この配列の移動は幾何学的図
形全体がタイル張りされ終るまで続けられる。
第6図は三角形100をタイル張りするために基本配列
70がどのように使用されるかを示す。配列70は三角
形100の頂点102に位置決めさ゛れた後、線104
に沿って下左方向へ移動され、線106と交差するまで
何度も繰返し右方向へ走査される。これらの処理は線1
08に達し、配列70により走査されるまで繰返される
。
70がどのように使用されるかを示す。配列70は三角
形100の頂点102に位置決めさ゛れた後、線104
に沿って下左方向へ移動され、線106と交差するまで
何度も繰返し右方向へ走査される。これらの処理は線1
08に達し、配列70により走査されるまで繰返される
。
半空間評価器に基本的形状として与えられる幾何学的形
状の構成は幾何学的にも概念的にも魅力的である。半空
間表現はピクセル座標でサンプリングされる数学モデル
で、フレームバッファ52に対する表現を離散的なもの
にする。概念上は、ピクセル周波数でサンプリングされ
たこの数学的表現は共通のコンピュータデータベースの
作成にとって重置でニレガントな方法を提供する。以下
の説明は、この着想上の優雅さが実施の簡易化に資する
ことによって比較的低コストで高い平行性を提供するこ
とを示す。
状の構成は幾何学的にも概念的にも魅力的である。半空
間表現はピクセル座標でサンプリングされる数学モデル
で、フレームバッファ52に対する表現を離散的なもの
にする。概念上は、ピクセル周波数でサンプリングされ
たこの数学的表現は共通のコンピュータデータベースの
作成にとって重置でニレガントな方法を提供する。以下
の説明は、この着想上の優雅さが実施の簡易化に資する
ことによって比較的低コストで高い平行性を提供するこ
とを示す。
半空間を求めるために使用される基礎数学は次の一般的
な線形等式に基づいている。
な線形等式に基づいている。
yzmx十す
但し、mは線の勾配であり、bはyの切片である。
上記等式は線の一方側のvAy>mx+bのXとyの値
について、他方側のy<mx十すのXとyの値について
あてはまる。(x 1. y 1)と(x2゜x2)
を通過する特定の線については、線方程弐の定数は以下
の通りとなる。
について、他方側のy<mx十すのXとyの値について
あてはまる。(x 1. y 1)と(x2゜x2)
を通過する特定の線については、線方程弐の定数は以下
の通りとなる。
、m=dy/dx
b=3’ 1−dy/dx x 1
但し、dy=y2−yl、およびdx=x2−xiであ
る。
る。
これらの値は未知数mとbについて次の連立方程式を解
くことによって求めることができる。
くことによって求めることができる。
yl=mxl+b
y2=mx2+b
かくして、(xLyl)と(x 2. y 2)の2
点によってパラメータ化される半空間を求めるには、以
下の一次方程式を解く必要がある。
点によってパラメータ化される半空間を求めるには、以
下の一次方程式を解く必要がある。
V=dV/dx X+yl−dy/dx XI
(1)先の議論の数学は実数体系で提示したもの
である。然しなから、ラスタフレームバッファをアドレ
ッシングするには、Xとyの実数値を離散化する必要が
ある。この離散化は第7A図に示すようにサンプリング
として知られている。簡単なラスフグラフインクの目標
は離散的なピクセル72アドレスで半空間式をサンプリ
ングしてピクセル72あたり1つのサンプリング点を表
わすことである。このようにすると、グラフィンクプロ
セッサ48アレイ70内の各ピクセル72はそれが幾何
学図形の内側にあるか、それとも外側にあるかを判断す
ることができる。
(1)先の議論の数学は実数体系で提示したもの
である。然しなから、ラスタフレームバッファをアドレ
ッシングするには、Xとyの実数値を離散化する必要が
ある。この離散化は第7A図に示すようにサンプリング
として知られている。簡単なラスフグラフインクの目標
は離散的なピクセル72アドレスで半空間式をサンプリ
ングしてピクセル72あたり1つのサンプリング点を表
わすことである。このようにすると、グラフィンクプロ
セッサ48アレイ70内の各ピクセル72はそれが幾何
学図形の内側にあるか、それとも外側にあるかを判断す
ることができる。
これとは別に、一定のアンチエイリアシングアルゴリズ
ムは、第7B図に示すようにスーパーサンプリングする
ことによって幾何学図形内のピクセル72の割合ヲ判断
する。1つのビクセル72から多数のサンプル120を
取り平均化すると、もしそのサンプル数が十分に大きな
ものである場合にはすこぶる良好なアンチエイリアリン
グ効果を得ることができる。サンプリング周波数は前述
の数学から独立しているために、相異なるアルゴリズム
で同一の線方程式を異なる周波数でサンプリングするこ
とができる。
ムは、第7B図に示すようにスーパーサンプリングする
ことによって幾何学図形内のピクセル72の割合ヲ判断
する。1つのビクセル72から多数のサンプル120を
取り平均化すると、もしそのサンプル数が十分に大きな
ものである場合にはすこぶる良好なアンチエイリアリン
グ効果を得ることができる。サンプリング周波数は前述
の数学から独立しているために、相異なるアルゴリズム
で同一の線方程式を異なる周波数でサンプリングするこ
とができる。
端点をビクセル中心122にあてるとエイリアスなし画
像としては不十分な結果が生みだされる。
像としては不十分な結果が生みだされる。
また、エイリアスを有する画像はサブピクセルの位置決
めにより改善されるものがあろう。但し、その改良効果
は映像の品質が低いために、それ程劇的なものではない
。端点を現在のフレームバッファのメモリコストとビデ
オ帯域幅とが可能にするよりも高度な解像度で位置決め
できるようにすることは非常に重要である。それ故、グ
ラフィックプロセッサ48は、多角形の頂点と線の端点
については固定小数点表記法を使用している。第8図に
示すように、各とクセルア2は、(o、o)が上部左隅
124にあるような8x8格子に分解される。グラフィ
ックプロセッサ48に対して与えられる座標はピクセル
72座標に対して付加されるサブピクセル120の位置
として見ることができる。座標(x、y)はサブピクセ
ル座標値(xHod 8、ymod8)を有するビクセ
ル(Xdiv 8. ydiv 8)に配置される。
めにより改善されるものがあろう。但し、その改良効果
は映像の品質が低いために、それ程劇的なものではない
。端点を現在のフレームバッファのメモリコストとビデ
オ帯域幅とが可能にするよりも高度な解像度で位置決め
できるようにすることは非常に重要である。それ故、グ
ラフィックプロセッサ48は、多角形の頂点と線の端点
については固定小数点表記法を使用している。第8図に
示すように、各とクセルア2は、(o、o)が上部左隅
124にあるような8x8格子に分解される。グラフィ
ックプロセッサ48に対して与えられる座標はピクセル
72座標に対して付加されるサブピクセル120の位置
として見ることができる。座標(x、y)はサブピクセ
ル座標値(xHod 8、ymod8)を有するビクセ
ル(Xdiv 8. ydiv 8)に配置される。
データはサブピクセル120のフォーマットか基本ビク
セル72の座標フォーマットの何れかの形態でグラフィ
ックプロセッサ48に与えることができる。もしビクセ
ル72の座標フォーマットが使用されるばあいには、チ
ップに入るや否や、グラフィックプロセッサ48は内部
で即座に3ビツトだけ左へデータをシフトさせることに
なろう。
セル72の座標フォーマットの何れかの形態でグラフィ
ックプロセッサ48に与えることができる。もしビクセ
ル72の座標フォーマットが使用されるばあいには、チ
ップに入るや否や、グラフィックプロセッサ48は内部
で即座に3ビツトだけ左へデータをシフトさせることに
なろう。
このための数学式は非常に簡単である。次の等式(1)
に戻ろう。
に戻ろう。
V=Lh/dx X+yl−dy/dx Xiこの等式
は、ビクセル座標系に対して何ら厳格な束縛は有しない
ことに注意されたい。外面的には、等式が表出される座
標系は意味を有さない。即ち、上記数学式は依然として
有効である。かくして、dx、dy、xi、およびyl
は8倍だけスケールアップされることによってサブピク
セル120の座標値が得られる。先の場合には、我々は
各ビクセル72が1単位に相当する座標系内でサンプリ
ングしていたために、(0,1,2,3・・・・・・)
というXとyの値にのみしか関心がなかった。今度は、
各ビクセル7.2においてサンプリングするために、我
々は(0,8,16,24・・・・・・)という値でサ
ンプリングすることになろう。我々の新たな座標系は8
倍大きくなったために、ピクセル72は8単位離れ、こ
の間隔はピクセルあたり1サンプルを与えることになろ
う。アドレスのサブピクセル部分が(0,0)である場
合には、サンプリングは1ピクセルの上部左隅124で
行われることに注意されたい。
は、ビクセル座標系に対して何ら厳格な束縛は有しない
ことに注意されたい。外面的には、等式が表出される座
標系は意味を有さない。即ち、上記数学式は依然として
有効である。かくして、dx、dy、xi、およびyl
は8倍だけスケールアップされることによってサブピク
セル120の座標値が得られる。先の場合には、我々は
各ビクセル72が1単位に相当する座標系内でサンプリ
ングしていたために、(0,1,2,3・・・・・・)
というXとyの値にのみしか関心がなかった。今度は、
各ビクセル7.2においてサンプリングするために、我
々は(0,8,16,24・・・・・・)という値でサ
ンプリングすることになろう。我々の新たな座標系は8
倍大きくなったために、ピクセル72は8単位離れ、こ
の間隔はピクセルあたり1サンプルを与えることになろ
う。アドレスのサブピクセル部分が(0,0)である場
合には、サンプリングは1ピクセルの上部左隅124で
行われることに注意されたい。
半空間を求める上記技法が与えられた場合、次のステッ
プはこの数学式をグラフィックプロセッサ48を介して
フレームバッファに適用することである。第9図に示す
ように、グラフィックプロセッサ48は4 x 4 領
域130を平行して更新できることを想起されたい。か
くして、スクリーン上の所与の4x゛4SM域130の
何れについても、16の座標値の各々においてy=dy
/dx X+yl−dy/dxの線形等式を平行して求
めることによって、1回の評価回数で16のサイト72
の各々について内側にあるかどうかが判断されることに
なろう。4x4よりも大きな領域について半空間を求め
るためには、配列130をその領域にわたって引きずっ
て領域を完全にタイル張りする必要がある。もしその評
価時間がVRAMアクセスタイムよりも小さいか、それ
に等しくすることができれば、更新はアルゴリズムの速
度ではなくメモリアクセスによって制約される。
プはこの数学式をグラフィックプロセッサ48を介して
フレームバッファに適用することである。第9図に示す
ように、グラフィックプロセッサ48は4 x 4 領
域130を平行して更新できることを想起されたい。か
くして、スクリーン上の所与の4x゛4SM域130の
何れについても、16の座標値の各々においてy=dy
/dx X+yl−dy/dxの線形等式を平行して求
めることによって、1回の評価回数で16のサイト72
の各々について内側にあるかどうかが判断されることに
なろう。4x4よりも大きな領域について半空間を求め
るためには、配列130をその領域にわたって引きずっ
て領域を完全にタイル張りする必要がある。もしその評
価時間がVRAMアクセスタイムよりも小さいか、それ
に等しくすることができれば、更新はアルゴリズムの速
度ではなくメモリアクセスによって制約される。
1
ラスク装置は本質上離散値でサンプリングするために、
1つの半空間はフレームバッファ52内の各ピクセル7
2における線形方程式を求めることによって求めること
ができる。実際には、所望結果に近似したピクセルのみ
が求められる。概念上は簡単であるが、半空間の評価を
VLS Iによって実行することが安価かつ効率的に実
行できるということは容易には明らかでない。以下の記
述は、線形方程式を離散値で平行して求める場合の非常
に簡単かつ効率的な手法を述べたものである論理上の出
発点は以下の線形方程式である。
1つの半空間はフレームバッファ52内の各ピクセル7
2における線形方程式を求めることによって求めること
ができる。実際には、所望結果に近似したピクセルのみ
が求められる。概念上は簡単であるが、半空間の評価を
VLS Iによって実行することが安価かつ効率的に実
行できるということは容易には明らかでない。以下の記
述は、線形方程式を離散値で平行して求める場合の非常
に簡単かつ効率的な手法を述べたものである論理上の出
発点は以下の線形方程式である。
y=mx+b
(x 2. y 2)と(x 2. y 2)間の
線分について、その定数は、 n = d y / d x b=yl−dy/dx XI、となる但し、tiy=
y2−yl、a x = x 2− x lである。
線分について、その定数は、 n = d y / d x b=yl−dy/dx XI、となる但し、tiy=
y2−yl、a x = x 2− x lである。
従って、y =dy/dx X+yl−dy/dx X
iy −dy/dx X −(yl−dy/dx XI
) = 0除算は数値上高価で精度の損失をもたらすか
ら、両辺をdxにより乗する。即ち、dxy−dyx−
dxyl+dyxl=0上記等式の左辺は線上の(x、
y)については0であり、線の一方側は正で、他方側は
負である。dx4配列内の各サイトにおける等式の符号
を求めるだけで、グラフィックプロセッサ48は、各ピ
クセル72における辺の内外性を判断することができる
。然しながら、VLSI製造上求め6れる単純さは、d
xyとdyxの計算がまだ余りも難しく、それぞれのサ
イトにおいて2個の乗算と1個の加算を伴うことになる
ために、従来よりまだ達成されていなかった。これはダ
イの寸法と実行時間の双方において禁止的に高くする。
iy −dy/dx X −(yl−dy/dx XI
) = 0除算は数値上高価で精度の損失をもたらすか
ら、両辺をdxにより乗する。即ち、dxy−dyx−
dxyl+dyxl=0上記等式の左辺は線上の(x、
y)については0であり、線の一方側は正で、他方側は
負である。dx4配列内の各サイトにおける等式の符号
を求めるだけで、グラフィックプロセッサ48は、各ピ
クセル72における辺の内外性を判断することができる
。然しながら、VLSI製造上求め6れる単純さは、d
xyとdyxの計算がまだ余りも難しく、それぞれのサ
イトにおいて2個の乗算と1個の加算を伴うことになる
ために、従来よりまだ達成されていなかった。これはダ
イの寸法と実行時間の双方において禁止的に高くする。
簡単な置換を数回実行することにより、上記乗算はピク
セルあたりの段階から半空間あたりの段階へ移行させる
ことによってピクセル評価段階には符号を比較する一回
の加算を残すだけとすることが可能である。
セルあたりの段階から半空間あたりの段階へ移行させる
ことによってピクセル評価段階には符号を比較する一回
の加算を残すだけとすることが可能である。
さて、(originx、 originy )を領域
130の原点を表わすものとしよう。同様にして、(o
ffsetx。
130の原点を表わすものとしよう。同様にして、(o
ffsetx。
offsety)をその原点からの偏差であるとするこ
とによってx =originx +offsetx、
およびy=originy+offsetyとなるよう
にする。
とによってx =originx +offsetx、
およびy=originy+offsetyとなるよう
にする。
Xとyを置換すると、
dx (originy + offsety) −d
y (originx + offsetx)−dxy
l +dyxl = O dxoriginy + dxof fsety −d
yoriginx −dyof fsetxdyyl
+ dyxl = 0 上記等式を再編成して最終的な等式を得ると、dxof
fsety−dyoffsetx=dxoriginy
+dyoriginx+ dxyl −dyxl dxoffsety−dyoffsetx=
(2)−dxoriginy+dyorigin
x+ (3)dxyl −dyxl
(4)妥当性の持続時間と共に異な
る等式の評価が発生する時に注意されたい。
y (originx + offsetx)−dxy
l +dyxl = O dxoriginy + dxof fsety −d
yoriginx −dyof fsetxdyyl
+ dyxl = 0 上記等式を再編成して最終的な等式を得ると、dxof
fsety−dyoffsetx=dxoriginy
+dyoriginx+ dxyl −dyxl dxoffsety−dyoffsetx=
(2)−dxoriginy+dyorigin
x+ (3)dxyl −dyxl
(4)妥当性の持続時間と共に異な
る等式の評価が発生する時に注意されたい。
等式によっては半空間全体について一度で計算されるも
のもあれば、配列130の1段階毎に1度に計算される
ものもある。(即ち、配列130が移動した時、同等式
は求めなおす必要がある。)何れの等式もサイトあたり
1回では求められない。
のもあれば、配列130の1段階毎に1度に計算される
ものもある。(即ち、配列130が移動した時、同等式
は求めなおす必要がある。)何れの等式もサイトあたり
1回では求められない。
かくして高次の平行性がすこぶる低コストで実現するこ
とができる。dx、dy、xi、ytの値は一定の幾何
学的半空間の定義については一定であることは明らかで
、(4)が半空間あたり1度求められ、配列130内の
位置や配列130の移動によって影響を受けないことを
示す。
とができる。dx、dy、xi、ytの値は一定の幾何
学的半空間の定義については一定であることは明らかで
、(4)が半空間あたり1度求められ、配列130内の
位置や配列130の移動によって影響を受けないことを
示す。
offsetxとoffsetyは正の整数(018,
16,24)であってチップの原点からのXとyの偏差
を表わし、これら値はチップ内に組込まれる。上記値が
(0,1,2,3)ではなくて(0,8,16,24)
であるのは、格子がサブピクセル位置決めの形をとり、
サンプリングピクセルあたり1回行われるためである。
16,24)であってチップの原点からのXとyの偏差
を表わし、これら値はチップ内に組込まれる。上記値が
(0,1,2,3)ではなくて(0,8,16,24)
であるのは、格子がサブピクセル位置決めの形をとり、
サンプリングピクセルあたり1回行われるためである。
か(して、(2)もまた線全体について一回計算される
。更に、その求め方は、その値が規則的な間隔をおいて
いるために、dxとdyを逐次的に加算するように単純
化することができる。等式(2)は配列内の位置に依存
する値のみを含む。
。更に、その求め方は、その値が規則的な間隔をおいて
いるために、dxとdyを逐次的に加算するように単純
化することができる。等式(2)は配列内の位置に依存
する値のみを含む。
配列130の位置によって影響を受ける唯一の表現は(
3)であり、dxoriginy−dyoriginx
である。このため、配列130内のサイト72あたり2
個の乗算と1個の加算に対して、配列の一段階あたり2
個の乗算と1個の加算のみが残されることになる。
3)であり、dxoriginy−dyoriginx
である。このため、配列130内のサイト72あたり2
個の乗算と1個の加算に対して、配列の一段階あたり2
個の乗算と1個の加算のみが残されることになる。
本文節は先の文節からのアルゴリズムを実行するための
簡単なVLS 1回路を記述する。次の線分方程式 %式% (2) (3) (4) は、配列130内の各サイト72について異なる唯一つ
の開環式(2)のみを有する。この項はoffsetx
とoffsetyについて許される値の16の置換全体
について計算されなければならないから、その計算は一
見最もきつい計算であるように思われる。幸いなことに
、離散的格子130の規則性によって非常に効率的に実
施することが可能である。テーブル■と■は(2)の開
環式、dxoffsetyとdyoffsetxに対し
て必要とされる値の規則性を示す。
簡単なVLS 1回路を記述する。次の線分方程式 %式% (2) (3) (4) は、配列130内の各サイト72について異なる唯一つ
の開環式(2)のみを有する。この項はoffsetx
とoffsetyについて許される値の16の置換全体
について計算されなければならないから、その計算は一
見最もきつい計算であるように思われる。幸いなことに
、離散的格子130の規則性によって非常に効率的に実
施することが可能である。テーブル■と■は(2)の開
環式、dxoffsetyとdyoffsetxに対し
て必要とされる値の規則性を示す。
テーブル■
dx
offsety
dx
8dx+8dx
8dx+3dx+8dx
テーブル■
dy offsetx
■
Bdy
8dy + 86y
8dy + Bdy +8dy
これらのテーブルの生成は簡単である。アレイ70内の
各値(第10図)は単にdx又はdyの8倍にすぎず、
3だけ右シフトとして実行され、アレイ内の先の値に加
算される。ひとたび、これらの値が得られると、(2)
は16個のサイト72の各々において、−回の減算・d
x offsety−dy offsetxによって計
算される。上記サイトはすこぶる効率的な収縮配列構造
により連続的に満たされる。この減算結果は、第10図
に示すように、16個のサイト140の各々に記憶され
なければならない。
各値(第10図)は単にdx又はdyの8倍にすぎず、
3だけ右シフトとして実行され、アレイ内の先の値に加
算される。ひとたび、これらの値が得られると、(2)
は16個のサイト72の各々において、−回の減算・d
x offsety−dy offsetxによって計
算される。上記サイトはすこぶる効率的な収縮配列構造
により連続的に満たされる。この減算結果は、第10図
に示すように、16個のサイト140の各々に記憶され
なければならない。
線形等式におけるその他の項は、配列内の偏差から独立
している。(3)+ (4)の和は半空間定数と称され
る。半空間等式からの(2)が図の如くサイト140の
各々に記憶されると仮定した時、サイト値と半空間定数
の和の符号は線80に対するピクセル72の偏りを示す
ことになろう。
している。(3)+ (4)の和は半空間定数と称され
る。半空間等式からの(2)が図の如くサイト140の
各々に記憶されると仮定した時、サイト値と半空間定数
の和の符号は線80に対するピクセル72の偏りを示す
ことになろう。
(第5A−5D図)半空間定数はサイト偏差座標とは独
立であるから、同じ値がサイトの各々に加算される。か
くして、VLS I構造150(第11図)はすこぶる
単純である。−本のnビットバス152が各サイト14
0における値を横切って走り、サイト140に記憶され
る値に加算される。符号ビットが唯一関心のあるビット
であるから、加算器の代わりに振幅コンパレータ154
を使用するだけで十分である。かくして、各サイト14
0は振幅コンパレータ154とレジスタ156を備える
ことによってサイト140の値を保持する。コンパレー
タ154はどの半空間内に各ピクセル72が存在するか
を判断する。第11図は、配列内の各サイト140につ
いてVLS Iセルのブロック線図を示す。上記レジス
タは、半空間が初期化された時にバス152からロード
される。
立であるから、同じ値がサイトの各々に加算される。か
くして、VLS I構造150(第11図)はすこぶる
単純である。−本のnビットバス152が各サイト14
0における値を横切って走り、サイト140に記憶され
る値に加算される。符号ビットが唯一関心のあるビット
であるから、加算器の代わりに振幅コンパレータ154
を使用するだけで十分である。かくして、各サイト14
0は振幅コンパレータ154とレジスタ156を備える
ことによってサイト140の値を保持する。コンパレー
タ154はどの半空間内に各ピクセル72が存在するか
を判断する。第11図は、配列内の各サイト140につ
いてVLS Iセルのブロック線図を示す。上記レジス
タは、半空間が初期化された時にバス152からロード
される。
配列70が移動する毎に、レジスタ156の内容はバス
152上の半空間定数と比較される。160における回
路の出力は比較結果である。
152上の半空間定数と比較される。160における回
路の出力は比較結果である。
第11図は、VLS I構造を構成し、配列70内の1
6個のサイト140の各々で半空間の平行評価を実行す
るサイトセル160の集合170を示す。この構造は半
空間評価器又は半空間タワーと称される。バス152の
配線の列は一つの値(3)+ (4)を表わし、サイト
140に記憶される値の各々に加算される。各サイト1
40は、第11図に示すようにコンパレータとレジスタ
を含む。各サイト140から到来する線は、どの半空間
にサイトのピクセル72が位置するかを示すプール値で
ある。
6個のサイト140の各々で半空間の平行評価を実行す
るサイトセル160の集合170を示す。この構造は半
空間評価器又は半空間タワーと称される。バス152の
配線の列は一つの値(3)+ (4)を表わし、サイト
140に記憶される値の各々に加算される。各サイト1
40は、第11図に示すようにコンパレータとレジスタ
を含む。各サイト140から到来する線は、どの半空間
にサイトのピクセル72が位置するかを示すプール値で
ある。
半空間評価器に対して回路140が与えられているとす
ると、第12図に示すような四辺形評価器は自明である
。同じ回路は、四辺形の各辺縁について1回ずつ、計4
回使用される。4つの半空間評価器における相当するサ
イトのプール結果は、論理積がとられ、各ピクセル72
の内外性が判断される。もし1ピクセル72が4つの辺
の全てについて四辺形内にあれば、それは四辺形内部に
あることになる。さもなければ、外側にあることになる
。同様にして、線評価器は、4つの半空間評価器を使用
して先に提示された線モデルを実現する。3角形モデル
には評価器のうち3つしか必要でないため、第4番目の
ものを無効とする。第12図は、個々の半空間タワー1
70の相互作用を示す。タワー170を横切って走るプ
ールワイヤ160は、ワイヤード論理積の演算がなされ
て最終結果がつくりだされる。
ると、第12図に示すような四辺形評価器は自明である
。同じ回路は、四辺形の各辺縁について1回ずつ、計4
回使用される。4つの半空間評価器における相当するサ
イトのプール結果は、論理積がとられ、各ピクセル72
の内外性が判断される。もし1ピクセル72が4つの辺
の全てについて四辺形内にあれば、それは四辺形内部に
あることになる。さもなければ、外側にあることになる
。同様にして、線評価器は、4つの半空間評価器を使用
して先に提示された線モデルを実現する。3角形モデル
には評価器のうち3つしか必要でないため、第4番目の
ものを無効とする。第12図は、個々の半空間タワー1
70の相互作用を示す。タワー170を横切って走るプ
ールワイヤ160は、ワイヤード論理積の演算がなされ
て最終結果がつくりだされる。
各サイトのプールワイヤ160とフレームバフフッ52
内のピクセルの間に一対一の対応関係を実現するために
、ワイヤ160は直接、グラフィックプロセッサ48上
のパッドへ向かい、グラフィックプロセッサ48は今度
は個々のメモリチップに対してワイヤイネーブルとなる
。16のピクセiしは16個の異なるメモリチップ内に
あるため、ワイヤはピクセルを個別的に制御することに
なる。
内のピクセルの間に一対一の対応関係を実現するために
、ワイヤ160は直接、グラフィックプロセッサ48上
のパッドへ向かい、グラフィックプロセッサ48は今度
は個々のメモリチップに対してワイヤイネーブルとなる
。16のピクセiしは16個の異なるメモリチップ内に
あるため、ワイヤはピクセルを個別的に制御することに
なる。
′1′はメモリチップをライトイネーブルとする一方、
′O′はそれをイープル不能とする。
′O′はそれをイープル不能とする。
コンピュータグラフインク分野が成長するにつれて、視
覚上の迫真性に対する要求が強まってい名。レイトレー
シング、テクスチュアマッピング、アンチエイリアシン
グ、トランスペアレンジ−およびその他の多くの技法が
効果的に使用されてリアルな映像がつくりだされている
。これらの技法は圧倒的にソフトウェア志向的であるか
、又はすこぶる高価な専用ハードウェアを使用してきた
。
覚上の迫真性に対する要求が強まってい名。レイトレー
シング、テクスチュアマッピング、アンチエイリアシン
グ、トランスペアレンジ−およびその他の多くの技法が
効果的に使用されてリアルな映像がつくりだされている
。これらの技法は圧倒的にソフトウェア志向的であるか
、又はすこぶる高価な専用ハードウェアを使用してきた
。
グラフィックプロセッサ48における幾何学的単純さと
豊かなフレームバンファ更新技術は、先端的な描画技法
のうちのい(つかをハードウェア内へ移行させるに十分
な機会を提供する。
豊かなフレームバンファ更新技術は、先端的な描画技法
のうちのい(つかをハードウェア内へ移行させるに十分
な機会を提供する。
連続的な幾何学的表現から離散的なピクセル表現へ幾何
学的形状を変換することに伴うサンプリングの場合、辺
縁部に刻み目がついたり詳部が失われたりするといった
欠陥が生ずる。上記問題点はエイリアシングと称され、
幾何学図形のサンプリング不足によって引き起こされる
ものである。
学的形状を変換することに伴うサンプリングの場合、辺
縁部に刻み目がついたり詳部が失われたりするといった
欠陥が生ずる。上記問題点はエイリアシングと称され、
幾何学図形のサンプリング不足によって引き起こされる
ものである。
標準的なラスフグラフイックでは、線と多角形は離散的
な格子位置やピクセルでしかサンプリングされない。エ
イリアシングは、特に、サンプリング周波数が低い低解
像装置上に出現する。解像度が増すにつれて、エイリア
シングを発見する人間の目の能力は低下する。ディスプ
レイの解像度に係わりなく、離散的な格子位置における
サンプリングがエイリアシングを除去することは決して
ないであろう。然しなから、そのことによって我々のエ
イリアシングを検出する能力は低下するであろう。この
段落はグラフィックプロセッサ48により使用されるア
ンチエイリアシング手法を説明する。以下の解説は三角
形のみを取扱うものであるが、同手法はサポートされた
幾何学的基本形状の全てについても効果がある。
な格子位置やピクセルでしかサンプリングされない。エ
イリアシングは、特に、サンプリング周波数が低い低解
像装置上に出現する。解像度が増すにつれて、エイリア
シングを発見する人間の目の能力は低下する。ディスプ
レイの解像度に係わりなく、離散的な格子位置における
サンプリングがエイリアシングを除去することは決して
ないであろう。然しなから、そのことによって我々のエ
イリアシングを検出する能力は低下するであろう。この
段落はグラフィックプロセッサ48により使用されるア
ンチエイリアシング手法を説明する。以下の解説は三角
形のみを取扱うものであるが、同手法はサポートされた
幾何学的基本形状の全てについても効果がある。
グラフィックプロセッサ48は、エイリアシング効果を
駆逐するためにスーパーサンプリングとして知られる技
法を使用する。スーパーサンプリングとはディスプレイ
ハードウェアがサポートするよりも高解像度でサンプリ
ングしてピクセル解像度にまで平均化することを意味す
る。フレームバッファ52のメモリは貴重な商品である
。から、シーン全体をスーパーサンプリングした後に平
均化することは誤りであろう。ディスプレイ解像度の1
6倍でサンプリングするにはフレームバッファメモリ5
2の16倍が必要となるであろう。より費用効果的な方
法は、lピクセル72中に16個のサンプルをとり(第
13図)、一方、多角形をラスター化して、16サンプ
ルを平均化した後、フレームバッファに書込むことであ
る。正規(エイリアス化)モードでは、グラフィックプ
ロセッサ48はチップ内の16のサイトを使用して16
個のビクセル72をサンプリングする。アンチエイリア
スモードで三角形や線を描く場合には、グラフィックプ
ロセッサ48は16サイトを使用して、1個のピクセル
72内の16個の位置120でサンプリングする。メモ
リ帯域幅全部は実現できないのでその性能はアンチエイ
リアシングには十分でないことに注意されたい。
駆逐するためにスーパーサンプリングとして知られる技
法を使用する。スーパーサンプリングとはディスプレイ
ハードウェアがサポートするよりも高解像度でサンプリ
ングしてピクセル解像度にまで平均化することを意味す
る。フレームバッファ52のメモリは貴重な商品である
。から、シーン全体をスーパーサンプリングした後に平
均化することは誤りであろう。ディスプレイ解像度の1
6倍でサンプリングするにはフレームバッファメモリ5
2の16倍が必要となるであろう。より費用効果的な方
法は、lピクセル72中に16個のサンプルをとり(第
13図)、一方、多角形をラスター化して、16サンプ
ルを平均化した後、フレームバッファに書込むことであ
る。正規(エイリアス化)モードでは、グラフィックプ
ロセッサ48はチップ内の16のサイトを使用して16
個のビクセル72をサンプリングする。アンチエイリア
スモードで三角形や線を描く場合には、グラフィックプ
ロセッサ48は16サイトを使用して、1個のピクセル
72内の16個の位置120でサンプリングする。メモ
リ帯域幅全部は実現できないのでその性能はアンチエイ
リアシングには十分でないことに注意されたい。
これは既に提示したアルゴリズムとすこぶる容易に適合
する。アンチエイリアシング用アルゴリズムは、我々が
以前に提示した同じ辺等式を使用する。即ち、 dx offsety−dy offsetx= −d
x originy+dy orignx+dx yl
−dy xidx offsety−dy offse
tx −−dx originy+dy origin
x+dxyl−dyxl 座標はビクセル解像度から8だけスケールアップされる
ため、この等式を(012,4,6)のoffsetx
とoffsetyの値で計算すると、一つのビクセル7
2内に16の等間隔のサンプルが得られることになろう
。上記ビクセル72におけるカラー値は、多角形内部の
サンプル点におけるカラー値の和を採用したサンプル総
数(16)によって除したものである。サンプル総数は
2の累乗であるから、除算は演算シフトに帰する。かく
して、アンチエイリアスビクセル値の計算公式は以下の
通りになる。
する。アンチエイリアシング用アルゴリズムは、我々が
以前に提示した同じ辺等式を使用する。即ち、 dx offsety−dy offsetx= −d
x originy+dy orignx+dx yl
−dy xidx offsety−dy offse
tx −−dx originy+dy origin
x+dxyl−dyxl 座標はビクセル解像度から8だけスケールアップされる
ため、この等式を(012,4,6)のoffsetx
とoffsetyの値で計算すると、一つのビクセル7
2内に16の等間隔のサンプルが得られることになろう
。上記ビクセル72におけるカラー値は、多角形内部の
サンプル点におけるカラー値の和を採用したサンプル総
数(16)によって除したものである。サンプル総数は
2の累乗であるから、除算は演算シフトに帰する。かく
して、アンチエイリアスビクセル値の計算公式は以下の
通りになる。
6
上記のアンチエイリアス処理は三角形が1個の場合には
効果があるが、1辺を共有する2つの3角形の場合につ
いて考えてみよう。最初の三角形はアンチエイリアス処
理され、フレームバッファ52内へ配置され、その後、
第2の三角形がアンチエイリアス処理されてフレームバ
・7フア52内へ配置される。両方の三角形内にあった
辺に沿うビクセルは第2の三角形の値のみを有すること
になろう。然しなから、第1の三角形からのカラー値は
残存なし、第2の三角形からのカラー値と混合されなけ
ればならない。しかし、第2の三角形を描く場合、その
カラー混合を適当に処理するにはまだ十分な情報が存在
しない。第14図は、2個の三角形180と182が隣
接し、ビクセル72が′+′とマーキングした共通の辺
184に沿って存在する様子を示す。
効果があるが、1辺を共有する2つの3角形の場合につ
いて考えてみよう。最初の三角形はアンチエイリアス処
理され、フレームバッファ52内へ配置され、その後、
第2の三角形がアンチエイリアス処理されてフレームバ
・7フア52内へ配置される。両方の三角形内にあった
辺に沿うビクセルは第2の三角形の値のみを有すること
になろう。然しなから、第1の三角形からのカラー値は
残存なし、第2の三角形からのカラー値と混合されなけ
ればならない。しかし、第2の三角形を描く場合、その
カラー混合を適当に処理するにはまだ十分な情報が存在
しない。第14図は、2個の三角形180と182が隣
接し、ビクセル72が′+′とマーキングした共通の辺
184に沿って存在する様子を示す。
遮蔽されるビクセルの割合を表示する別のビクセル情報
を維持する必要がある。これは一般にα又は遮蔽チャネ
ルと呼ばれてきた。グラフィックプロセッサ48は8ビ
ツトのαチャネルを維持することになろう。1ピクセル
におけるαチャネル中の0はビクセルが空であることを
示す。αチャネル中の255はビクセルが完全に遮蔽さ
れたことを示す。多角形の境界上のビクセルはOと25
5の間の何れかの値をとり、それらが一部遮蔽されたこ
とを示すのが普通であろう。1つの三角形における1ピ
クセルのα値は、採用されたサブピクセルサンプルの総
数により除せられた三角形内部のサブピクセルサンプル
数によって判断される。これは0と1の範囲内の数であ
って、その後O〜255の範囲にスケーリングされる。
を維持する必要がある。これは一般にα又は遮蔽チャネ
ルと呼ばれてきた。グラフィックプロセッサ48は8ビ
ツトのαチャネルを維持することになろう。1ピクセル
におけるαチャネル中の0はビクセルが空であることを
示す。αチャネル中の255はビクセルが完全に遮蔽さ
れたことを示す。多角形の境界上のビクセルはOと25
5の間の何れかの値をとり、それらが一部遮蔽されたこ
とを示すのが普通であろう。1つの三角形における1ピ
クセルのα値は、採用されたサブピクセルサンプルの総
数により除せられた三角形内部のサブピクセルサンプル
数によって判断される。これは0と1の範囲内の数であ
って、その後O〜255の範囲にスケーリングされる。
αの実際の計算値はちょうど三角形内部のサンプル数に
16を乗じたもので、その値は255でクランピングさ
れる。上記値をクランプしなければならないのは、もし
16個のサンプルが全て三角形内部にあると、工6を乗
じても固定小数点数系で1が2重に表示されるために2
56が得られることになるためである。
16を乗じたもので、その値は255でクランピングさ
れる。上記値をクランプしなければならないのは、もし
16個のサンプルが全て三角形内部にあると、工6を乗
じても固定小数点数系で1が2重に表示されるために2
56が得られることになるためである。
アンチエイリアス三角形は前後にソートしてその順序に
描かれる必要がある。その基本的典型例はブロックが一
杯になるまで1ピクセルを増加することであり、他の三
角形は全てそのビクセルに隠れてフレームバッファ52
には加えられないということを意味する。かくして、X
ソートと共に、αチャネルは隠れた表面を解像する。フ
レームバッファ52を増加する場合、次の公式が使用さ
れる。
描かれる必要がある。その基本的典型例はブロックが一
杯になるまで1ピクセルを増加することであり、他の三
角形は全てそのビクセルに隠れてフレームバッファ52
には加えられないということを意味する。かくして、X
ソートと共に、αチャネルは隠れた表面を解像する。フ
レームバッファ52を増加する場合、次の公式が使用さ
れる。
t haw= l tb 十MIN(1−αtb+
αjri )ltr=α、1.1−αrb+MIN(
1−αfb+ αt1、)但し、 αfb=フレームバンファ内の現在のα値1tb=フレ
ームバツフア内の現在の強度値αtri=(三角形内部
のサブビクセルサンプル数にもとづく)新たな三角形か
らの α値 i、□=新たな三角形からの強度値 αnew =フレームバッファ内へ入力されるα値i□
、=フレームバッファ内へ入力される強度イd蔓 上記公式は、0〜lの範囲内の正規化されたα値を使用
する。
αjri )ltr=α、1.1−αrb+MIN(
1−αfb+ αt1、)但し、 αfb=フレームバンファ内の現在のα値1tb=フレ
ームバツフア内の現在の強度値αtri=(三角形内部
のサブビクセルサンプル数にもとづく)新たな三角形か
らの α値 i、□=新たな三角形からの強度値 αnew =フレームバッファ内へ入力されるα値i□
、=フレームバッファ内へ入力される強度イd蔓 上記公式は、0〜lの範囲内の正規化されたα値を使用
する。
この方法はルーカスフィルムで使用されるAバッファア
ンチエイリアス隠面アルゴリズム程確実ではないが、大
きな規模用途で十分効果があり、ハードウェア内で実施
することがずっと容易である。グラフィックプロセッサ
48のアルゴリズムは簡単で、メモリ要求条件はずっと
少なく、ルーカスフィルムAバッファにより必要とされ
るメモリは、フレームバッファの大きさと共にシーンの
複雑さにより制約を受ける。グラフィックプロセッサ4
8のメモリ要求条件は、フレームバッファ52のサイズ
によってのみ制約される。Aバッファに対するその制約
は、1ピクセルのどの部分が以前遮蔽されたかをAバッ
ファが認識できず、Zでオーバーラツプする多角形どう
しの間の隠面問題を解決できないことである。これらは
、アンチエイリアス多角形から得ることのできる多数の
用途にとっては程良く小さな制約であると考えられる。
ンチエイリアス隠面アルゴリズム程確実ではないが、大
きな規模用途で十分効果があり、ハードウェア内で実施
することがずっと容易である。グラフィックプロセッサ
48のアルゴリズムは簡単で、メモリ要求条件はずっと
少なく、ルーカスフィルムAバッファにより必要とされ
るメモリは、フレームバッファの大きさと共にシーンの
複雑さにより制約を受ける。グラフィックプロセッサ4
8のメモリ要求条件は、フレームバッファ52のサイズ
によってのみ制約される。Aバッファに対するその制約
は、1ピクセルのどの部分が以前遮蔽されたかをAバッ
ファが認識できず、Zでオーバーラツプする多角形どう
しの間の隠面問題を解決できないことである。これらは
、アンチエイリアス多角形から得ることのできる多数の
用途にとっては程良く小さな制約であると考えられる。
第1図は本発明の理解に有効なエイリアス多角形図、
第2図は本発明によりアンチエイリアスな多角形を描く
ためのシステムの概略ブロック線図、第3図は第2図の
システムに使用されるような2次元ピクセルアレイ図、 第4図は、第3図の2次元アレイがどのように線形アレ
イに変換されるかを示す線図、第5A〜5D図はどのよ
うにして多角形が第2図のシステム内に表現されるかを
示す図、第6図は本発明の方法の一部を示す線図、第7
A図と第7B図は、本発明の方法のもう一つの部分を示
す2次元ピクセルアレイ図、第8〜9図は、更に、本発
明の方法の追加的部分を示す2次元ピクセルアレイ図、 第10図は、第4図のものと同様な線図で、本発明の方
法を理解するために有効な一定の数学的表現を備えたも
の、 第11図は第2図のシステムの一部の詳細ブロック線図
、 第12図は第2図のシステムのそれ以上の部分を示すも
う一つの詳細ブロック線図、 第13図は本発明の方法を理解するに有効な2次元ピク
セルサブアレイ図、 第14図は本発明の方法の一部の動作を示す2次元ピク
セルアレイ図。 10・・・・・・三角形、14・・・・・・上部左手隅
、12・・・・・・ビクセル、16.18.20・・・
・・・線分、22・・・・・・2次元ラスク格子、24
・・・・・・階段波パターン、36・・・・・・バス、
34・・・・・・浮動小数点プロセッサ、32・・・・
・・CPU、4B・旧・・グラフィックプロセッサ、5
0・・・・・・120ビツトグラフイツクバス、52・
・・・・・フレームバッファ、54・・・・・・ビデオ
デジタルアナログ変換器。 手 続 補 正 書(方式) %式% 1、事件の表示 平成2年特許願第311223号 3、補正をする者 事件との関係 出 願人 4、代 理 人 5、補正命令の日付 平成3年2月12日
ためのシステムの概略ブロック線図、第3図は第2図の
システムに使用されるような2次元ピクセルアレイ図、 第4図は、第3図の2次元アレイがどのように線形アレ
イに変換されるかを示す線図、第5A〜5D図はどのよ
うにして多角形が第2図のシステム内に表現されるかを
示す図、第6図は本発明の方法の一部を示す線図、第7
A図と第7B図は、本発明の方法のもう一つの部分を示
す2次元ピクセルアレイ図、第8〜9図は、更に、本発
明の方法の追加的部分を示す2次元ピクセルアレイ図、 第10図は、第4図のものと同様な線図で、本発明の方
法を理解するために有効な一定の数学的表現を備えたも
の、 第11図は第2図のシステムの一部の詳細ブロック線図
、 第12図は第2図のシステムのそれ以上の部分を示すも
う一つの詳細ブロック線図、 第13図は本発明の方法を理解するに有効な2次元ピク
セルサブアレイ図、 第14図は本発明の方法の一部の動作を示す2次元ピク
セルアレイ図。 10・・・・・・三角形、14・・・・・・上部左手隅
、12・・・・・・ビクセル、16.18.20・・・
・・・線分、22・・・・・・2次元ラスク格子、24
・・・・・・階段波パターン、36・・・・・・バス、
34・・・・・・浮動小数点プロセッサ、32・・・・
・・CPU、4B・旧・・グラフィックプロセッサ、5
0・・・・・・120ビツトグラフイツクバス、52・
・・・・・フレームバッファ、54・・・・・・ビデオ
デジタルアナログ変換器。 手 続 補 正 書(方式) %式% 1、事件の表示 平成2年特許願第311223号 3、補正をする者 事件との関係 出 願人 4、代 理 人 5、補正命令の日付 平成3年2月12日
Claims (1)
- 【特許請求の範囲】 1、ホストデータプロセッサと、同プロセッサに対して
1本のバスで接続されるメモリと、同バスに接続される
グラフィックプロセッサと、複数のピクセルを備え多角
形を表示するディスプレイと、上記グラフィックプロセ
ッサとディスプレイ間に接続されるフレームバッファと
、から成り、上記グラフィックプロセッサが一つのイメ
ージ配列をサンプリングするプログラムを内蔵し、上記
イメージアレイが上記プログラムにより選択的に再構成
でき、複数のピクセル又は同ピクセルの一つ内に複数の
ロケーションの何れかを備えるアンチエイリアス多角形
の描図方法。 2、イメージ配列をサンプリングするためのプログラム
を内蔵するグラフィックプロセッサを有するアンチエイ
リアス多角形の描図装置において、上記イメージアレイ
が上記プログラムによりサンプリングすべく選択的に再
構成可能であって、複数のピクセル又は同ピクセルの一
つ内に複数のロケーションの何れかを備える前記装置。 3、イメージ配列をサンプリングするためのプログラム
を内蔵するグラフィックプロセッサを設け、上記イメー
ジ配列を上記プログラムにより選択的に構成して複数の
ピクセル又は同ピクセルの一つ内に複数のロケーション
を構成し、上記の如く構成されたイメージ配列をサンプ
リングして多角形をアンチエイリアス処理するアンチエ
イリアス多角形の描図方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US43835689A | 1989-11-17 | 1989-11-17 | |
| US438356 | 1989-11-17 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH03212775A true JPH03212775A (ja) | 1991-09-18 |
Family
ID=23740329
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2311223A Pending JPH03212775A (ja) | 1989-11-17 | 1990-11-16 | アンチエイリアス多角形の描図方法及び装置 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US5287438A (ja) |
| EP (1) | EP0430501B1 (ja) |
| JP (1) | JPH03212775A (ja) |
| CA (1) | CA2030022A1 (ja) |
| DE (1) | DE69032932T2 (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05274443A (ja) * | 1991-09-25 | 1993-10-22 | Internatl Business Mach Corp <Ibm> | コンピュータ・ディスプレイ・システム及び方法 |
| JP2004510270A (ja) * | 2000-09-28 | 2004-04-02 | インテル・コーポレーション | フルシーン・アンチエイリアシング・スーパーサンプリング実施のための方法および装置 |
| JP2010140101A (ja) * | 2008-12-09 | 2010-06-24 | Fujitsu Ltd | 描画装置 |
Families Citing this family (90)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE69122557T2 (de) * | 1990-06-29 | 1997-04-24 | Philips Electronics Nv | Bilderzeugung |
| JP3462566B2 (ja) | 1994-04-08 | 2003-11-05 | 株式会社ソニー・コンピュータエンタテインメント | 画像生成装置 |
| JPH07282270A (ja) * | 1994-04-08 | 1995-10-27 | Sony Corp | 画像生成方法および装置 |
| EP0693737A3 (en) * | 1994-07-21 | 1997-01-08 | Ibm | Method and apparatus for managing tasks in a multiprocessor system |
| JP2637920B2 (ja) * | 1994-08-11 | 1997-08-06 | インターナショナル・ビジネス・マシーンズ・コーポレイション | コンピュータ・グラフィック・システム及びフレーム・バッファ使用方法 |
| US6201528B1 (en) | 1994-11-16 | 2001-03-13 | International Business Machines Corporation | Anti-aliased inking for pen computers |
| US5649173A (en) * | 1995-03-06 | 1997-07-15 | Seiko Epson Corporation | Hardware architecture for image generation and manipulation |
| US5870097A (en) | 1995-08-04 | 1999-02-09 | Microsoft Corporation | Method and system for improving shadowing in a graphics rendering system |
| US5852443A (en) * | 1995-08-04 | 1998-12-22 | Microsoft Corporation | Method and system for memory decomposition in a graphics rendering system |
| US5977977A (en) * | 1995-08-04 | 1999-11-02 | Microsoft Corporation | Method and system for multi-pass rendering |
| US5864342A (en) * | 1995-08-04 | 1999-01-26 | Microsoft Corporation | Method and system for rendering graphical objects to image chunks |
| US5886701A (en) * | 1995-08-04 | 1999-03-23 | Microsoft Corporation | Graphics rendering device and method for operating same |
| US5808617A (en) * | 1995-08-04 | 1998-09-15 | Microsoft Corporation | Method and system for depth complexity reduction in a graphics rendering system |
| US5990904A (en) * | 1995-08-04 | 1999-11-23 | Microsoft Corporation | Method and system for merging pixel fragments in a graphics rendering system |
| US5949428A (en) * | 1995-08-04 | 1999-09-07 | Microsoft Corporation | Method and apparatus for resolving pixel data in a graphics rendering system |
| JP2803630B2 (ja) * | 1996-04-22 | 1998-09-24 | 日本電気株式会社 | 図形処理方法および装置 |
| WO1998055965A1 (en) * | 1997-06-04 | 1998-12-10 | Oak Technology, Inc. | Apparatus and method for optimizing memory usage while processing graphics images |
| US6057855A (en) * | 1997-07-02 | 2000-05-02 | Hewlett-Packard Company | Method and apparatus for providing polygon pixel sub-sample information using incremental means |
| US7142224B2 (en) * | 1997-07-10 | 2006-11-28 | Yamaha Corporation | Polygon drawing apparatus and method, and storage medium for implementing the same method |
| US6097397A (en) * | 1997-11-20 | 2000-08-01 | Real 3D, Inc. | Anisotropic texture mapping using silhouette/footprint analysis in a computer image generation system |
| US6292192B1 (en) * | 1998-01-09 | 2001-09-18 | Silicon Graphics, Inc. | System and method for the direct rendering of curve bounded objects |
| 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 |
| EP1055201B1 (en) * | 1998-02-17 | 2003-07-09 | Sun Microsystems, Inc. | Graphics system with variable resolution super-sampling |
| 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 |
| US6459428B1 (en) * | 1998-02-17 | 2002-10-01 | Sun Microsystems, Inc. | Programmable sample filtering for image rendering |
| US6489956B1 (en) * | 1998-02-17 | 2002-12-03 | Sun Microsystems, Inc. | Graphics system having a super-sampled sample buffer with generation of output pixels using selective adjustment of filtering for implementation of display effects |
| US6317525B1 (en) * | 1998-02-20 | 2001-11-13 | Ati Technologies, Inc. | Method and apparatus for full scene anti-aliasing |
| JP3639108B2 (ja) * | 1998-03-31 | 2005-04-20 | 株式会社ソニー・コンピュータエンタテインメント | 描画装置および描画方法、並びに提供媒体 |
| US6606093B1 (en) | 1998-05-19 | 2003-08-12 | Microsoft Corporation | Method and apparatus for antialiasing by gamma corrected area calculation |
| US6501483B1 (en) * | 1998-05-29 | 2002-12-31 | Ati Technologies, Inc. | Method and apparatus for antialiasing using a non-uniform pixel sampling pattern |
| WO1999064990A2 (en) | 1998-06-12 | 1999-12-16 | Intergraph Corporation | System for reducing aliasing on a display device |
| US6577316B2 (en) | 1998-07-17 | 2003-06-10 | 3Dlabs, Inc., Ltd | Wide instruction word graphics processor |
| WO2000004482A2 (en) | 1998-07-17 | 2000-01-27 | Intergraph Corporation | Multi-processor graphics accelerator |
| US6459453B1 (en) | 1998-07-17 | 2002-10-01 | 3Dlabs Inc. Ltd. | System for displaying a television signal on a computer monitor |
| WO2000004494A1 (en) | 1998-07-17 | 2000-01-27 | Intergraph Corporation | Graphics processing system with multiple strip breakers |
| US6181355B1 (en) | 1998-07-17 | 2001-01-30 | 3Dlabs Inc. Ltd. | Graphics processing with transcendental function generator |
| WO2000004496A1 (en) | 1998-07-17 | 2000-01-27 | Intergraph Corporation | Graphics processor with texture memory allocation system |
| US6480913B1 (en) | 1998-07-17 | 2002-11-12 | 3Dlabs Inc. Led. | Data sequencer with MUX select input for converting input data stream and to specific output data stream using two exclusive-or logic gates and counter |
| US6188410B1 (en) | 1998-07-17 | 2001-02-13 | 3Dlabs Inc. Ltd. | System for processing vertices from a graphics request stream |
| WO2000004527A1 (en) * | 1998-07-17 | 2000-01-27 | Intergraph Corporation | Apparatus and method of directing graphical data to a display device |
| 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 |
| US6781585B2 (en) | 2000-01-11 | 2004-08-24 | Sun Microsystems, Inc. | Graphics system having a super-sampled sample buffer and having single sample per pixel support |
| US7119809B1 (en) | 2000-05-15 | 2006-10-10 | S3 Graphics Co., Ltd. | Parallel architecture for graphics primitive decomposition |
| US7061507B1 (en) * | 2000-11-12 | 2006-06-13 | Bitboys, Inc. | Antialiasing method and apparatus for video applications |
| US6819332B2 (en) * | 2001-02-27 | 2004-11-16 | 3Dlabs Inc. Ltd. | Antialias mask generation |
| US7184066B2 (en) | 2001-05-09 | 2007-02-27 | Clairvoyante, Inc | Methods and systems for sub-pixel rendering with adaptive filtering |
| US6819320B2 (en) | 2002-03-04 | 2004-11-16 | Sun Microsystems, Inc. | Reading or writing a non-super sampled image into a super sampled buffer |
| US20030169255A1 (en) * | 2002-03-11 | 2003-09-11 | Lavelle Michael G. | Two-sided lighting in a single pass |
| US7015920B2 (en) * | 2003-04-30 | 2006-03-21 | International Business Machines Corporation | Method and system for providing useable images on a high resolution display when a 2D graphics window is utilized with a 3D graphics window |
| US8775997B2 (en) * | 2003-09-15 | 2014-07-08 | Nvidia Corporation | System and method for testing and configuring semiconductor functional circuits |
| US8775112B2 (en) * | 2003-09-15 | 2014-07-08 | Nvidia Corporation | System and method for increasing die yield |
| US8732644B1 (en) | 2003-09-15 | 2014-05-20 | Nvidia Corporation | Micro electro mechanical switch system and method for testing and configuring semiconductor functional circuits |
| US7003758B2 (en) * | 2003-10-07 | 2006-02-21 | Brion Technologies, Inc. | System and method for lithography simulation |
| US8711161B1 (en) | 2003-12-18 | 2014-04-29 | Nvidia Corporation | Functional component compensation reconfiguration system and method |
| EP1580694A1 (en) * | 2004-03-22 | 2005-09-28 | STMicroelectronics S.r.l. | Image rendering with adaptive filtering for anti-aliasing |
| US7307628B1 (en) * | 2004-08-06 | 2007-12-11 | Nvidia Corporation | Diamond culling of small primitives |
| US8723231B1 (en) * | 2004-09-15 | 2014-05-13 | Nvidia Corporation | Semiconductor die micro electro-mechanical switch management system and method |
| US8711156B1 (en) | 2004-09-30 | 2014-04-29 | Nvidia Corporation | Method and system for remapping processing elements in a pipeline of a graphics processing unit |
| US8427496B1 (en) | 2005-05-13 | 2013-04-23 | Nvidia Corporation | Method and system for implementing compression across a graphics bus interconnect |
| US8698811B1 (en) | 2005-12-15 | 2014-04-15 | Nvidia Corporation | Nested boustrophedonic patterns for rasterization |
| US8390645B1 (en) | 2005-12-19 | 2013-03-05 | Nvidia Corporation | Method and system for rendering connecting antialiased line segments |
| US9117309B1 (en) | 2005-12-19 | 2015-08-25 | Nvidia Corporation | Method and system for rendering polygons with a bounding box in a graphics processor unit |
| US8928676B2 (en) * | 2006-06-23 | 2015-01-06 | Nvidia Corporation | Method for parallel fine rasterization in a raster stage of a graphics pipeline |
| US8237738B1 (en) | 2006-11-02 | 2012-08-07 | Nvidia Corporation | Smooth rasterization of polygonal graphics primitives |
| US8427487B1 (en) | 2006-11-02 | 2013-04-23 | Nvidia Corporation | Multiple tile output using interface compression in a raster stage |
| US8482567B1 (en) * | 2006-11-03 | 2013-07-09 | Nvidia Corporation | Line rasterization techniques |
| US8724483B2 (en) * | 2007-10-22 | 2014-05-13 | Nvidia Corporation | Loopback configuration for bi-directional interfaces |
| US8780123B2 (en) * | 2007-12-17 | 2014-07-15 | Nvidia Corporation | Interrupt handling techniques in the rasterizer of a GPU |
| US9064333B2 (en) * | 2007-12-17 | 2015-06-23 | Nvidia Corporation | Interrupt handling techniques in the rasterizer of a GPU |
| US8681861B2 (en) * | 2008-05-01 | 2014-03-25 | Nvidia Corporation | Multistandard hardware video encoder |
| US8923385B2 (en) * | 2008-05-01 | 2014-12-30 | Nvidia Corporation | Rewind-enabled hardware encoder |
| US20110063304A1 (en) * | 2009-09-16 | 2011-03-17 | Nvidia Corporation | Co-processing synchronizing techniques on heterogeneous graphics processing units |
| CN101667123B (zh) * | 2009-09-24 | 2013-05-08 | 中兴通讯股份有限公司 | 一种不规则窗口实现方法及装置 |
| US9530189B2 (en) | 2009-12-31 | 2016-12-27 | Nvidia Corporation | Alternate reduction ratios and threshold mechanisms for framebuffer compression |
| US9331869B2 (en) | 2010-03-04 | 2016-05-03 | Nvidia Corporation | Input/output request packet handling techniques by a device specific kernel mode driver |
| JP5273087B2 (ja) * | 2010-04-14 | 2013-08-28 | 株式会社Jvcケンウッド | 映像処理装置および映像処理方法 |
| US9183651B2 (en) * | 2010-10-06 | 2015-11-10 | Microsoft Technology Licensing, Llc | Target independent rasterization |
| US9171350B2 (en) | 2010-10-28 | 2015-10-27 | Nvidia Corporation | Adaptive resolution DGPU rendering to provide constant framerate with free IGPU scale up |
| US8860742B2 (en) * | 2011-05-02 | 2014-10-14 | Nvidia Corporation | Coverage caching |
| US9591309B2 (en) | 2012-12-31 | 2017-03-07 | Nvidia Corporation | Progressive lossy memory compression |
| US9607407B2 (en) | 2012-12-31 | 2017-03-28 | Nvidia Corporation | Variable-width differential memory compression |
| GB2511817A (en) | 2013-03-14 | 2014-09-17 | Imagination Tech Ltd | Rendering in computer graphics systems |
| US9418437B2 (en) | 2013-03-15 | 2016-08-16 | Nvidia Corporation | Stencil then cover path rendering with shared edges |
| US9401034B2 (en) | 2013-04-30 | 2016-07-26 | Microsoft Technology Licensing, Llc | Tessellation of two-dimensional curves using a graphics pipeline |
| US9710894B2 (en) | 2013-06-04 | 2017-07-18 | Nvidia Corporation | System and method for enhanced multi-sample anti-aliasing |
| US9832388B2 (en) | 2014-08-04 | 2017-11-28 | Nvidia Corporation | Deinterleaving interleaved high dynamic range image by using YUV interpolation |
| US11295506B2 (en) * | 2015-09-16 | 2022-04-05 | Tmrw Foundation Ip S. À R.L. | Chip with game engine and ray trace engine |
| CN112102435B (zh) * | 2020-09-24 | 2023-08-01 | 安徽文香科技股份有限公司 | 一种几何图形绘制的方法、装置、设备及存储介质 |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4371872A (en) * | 1979-07-23 | 1983-02-01 | The Singer Company | Fractional clock edge smoother for a real-time simulation of a polygon face object system |
| US4590465A (en) * | 1982-02-18 | 1986-05-20 | Henry Fuchs | Graphics display system using logic-enhanced pixel memory cells |
| US4528642A (en) * | 1982-04-12 | 1985-07-09 | Tektronix, Inc. | Completing a fill pattern inside a redrawn panel outline |
| US4783649A (en) * | 1982-08-13 | 1988-11-08 | University Of North Carolina | VLSI graphics display image buffer using logic enhanced pixel memory cells |
| US4755810A (en) * | 1985-04-05 | 1988-07-05 | Tektronix, Inc. | Frame buffer memory |
| US4780711A (en) * | 1985-04-12 | 1988-10-25 | International Business Machines Corporation | Anti-aliasing of raster images using assumed boundary lines |
| US4811245A (en) * | 1985-12-19 | 1989-03-07 | General Electric Company | Method of edge smoothing for a computer image generation system |
| FR2594980A1 (fr) * | 1986-02-21 | 1987-08-28 | Gen Electric | Processeur de visualisation pour un systeme de visualisation graphique |
| US4991122A (en) * | 1987-10-07 | 1991-02-05 | General Parametrics Corporation | Weighted mapping of color value information onto a display screen |
| 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 |
-
1990
- 1990-11-15 CA CA002030022A patent/CA2030022A1/en not_active Abandoned
- 1990-11-15 DE DE69032932T patent/DE69032932T2/de not_active Expired - Lifetime
- 1990-11-15 EP EP90312472A patent/EP0430501B1/en not_active Expired - Lifetime
- 1990-11-16 JP JP2311223A patent/JPH03212775A/ja active Pending
-
1992
- 1992-08-13 US US07/929,845 patent/US5287438A/en not_active Expired - Lifetime
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05274443A (ja) * | 1991-09-25 | 1993-10-22 | Internatl Business Mach Corp <Ibm> | コンピュータ・ディスプレイ・システム及び方法 |
| JP2004510270A (ja) * | 2000-09-28 | 2004-04-02 | インテル・コーポレーション | フルシーン・アンチエイリアシング・スーパーサンプリング実施のための方法および装置 |
| JP2010140101A (ja) * | 2008-12-09 | 2010-06-24 | Fujitsu Ltd | 描画装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| CA2030022A1 (en) | 1991-05-18 |
| EP0430501A3 (en) | 1993-03-24 |
| EP0430501A2 (en) | 1991-06-05 |
| DE69032932T2 (de) | 1999-09-16 |
| DE69032932D1 (de) | 1999-03-18 |
| EP0430501B1 (en) | 1999-02-03 |
| US5287438A (en) | 1994-02-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0430501B1 (en) | System and method for drawing antialiased polygons | |
| Deering et al. | The triangle processor and normal vector shader: a VLSI system for high performance graphics | |
| US7006110B2 (en) | Determining a coverage mask for a pixel | |
| KR101349171B1 (ko) | 3차원 그래픽 가속기 및 그것의 픽셀 분배 방법 | |
| US5230039A (en) | Texture range controls for improved texture mapping | |
| EP0464907B1 (en) | Generating an image | |
| JP5232358B2 (ja) | アウトラインフォントのレンダリング | |
| US5307450A (en) | Z-subdivision for improved texture mapping | |
| US6650327B1 (en) | Display system having floating point rasterization and floating point framebuffering | |
| JP3344597B2 (ja) | グラフィック画像をテッセレーション化する方法および装置 | |
| AU2004265970B2 (en) | System and method for applying accurate three-dimensional volume textures to arbitrary triangulated surfaces | |
| US6292192B1 (en) | System and method for the direct rendering of curve bounded objects | |
| US20110285742A1 (en) | System and method for path rendering with multiple stencil samples per color sample | |
| US8125480B2 (en) | Flat texture volume rendering | |
| US6573893B1 (en) | Voxel transfer circuit for accelerated volume rendering of a graphics image | |
| US7884825B2 (en) | Drawing method, image generating device, and electronic information apparatus | |
| EP1958162A1 (en) | Vector graphics anti-aliasing | |
| US7616200B1 (en) | System for reducing aliasing on a display device | |
| US6542154B1 (en) | Architectural extensions to 3D texturing units for accelerated volume rendering | |
| US20030160789A1 (en) | Multiple scan line sample filtering | |
| US6982719B2 (en) | Switching sample buffer context in response to sample requests for real-time sample filtering and video generation | |
| US6489966B1 (en) | Graphic processing device | |
| JP4311877B2 (ja) | 副標本化テクスチャ端縁部のアンチエイリアシング | |
| US20070257936A1 (en) | Image generator | |
| US6756978B1 (en) | Apparatus and method for sharing antialiasing memory across multiple displays |