JPH07104960B2 - グラフィックス・ディスプレイ・システム及び隠面消去方法 - Google Patents
グラフィックス・ディスプレイ・システム及び隠面消去方法Info
- Publication number
- JPH07104960B2 JPH07104960B2 JP2269677A JP26967790A JPH07104960B2 JP H07104960 B2 JPH07104960 B2 JP H07104960B2 JP 2269677 A JP2269677 A JP 2269677A JP 26967790 A JP26967790 A JP 26967790A JP H07104960 B2 JPH07104960 B2 JP H07104960B2
- Authority
- JP
- Japan
- Prior art keywords
- pixel data
- pixel
- graphics
- memory
- depth
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/40—Hidden part removal
- G06T15/405—Hidden part removal using Z-buffer
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
- Controls And Circuits For Display Device (AREA)
Description
【発明の詳細な説明】 A.産業上の利用分野 本発明は、3次元グラフィクス・オブジェクトの表示装
置に関し、特にグラフィクス・ディスプレイ・システム
上で3次元オブジェクトを生成・操作するデータ処理装
置に関する。
置に関し、特にグラフィクス・ディスプレイ・システム
上で3次元オブジェクトを生成・操作するデータ処理装
置に関する。
B.従来の技術 コンピュータ・グラフィクス・システムは、3次元オブ
ジェクトをモデル化し、CRT(陰極線管)などの2次元
出力デバイスに表示するときよく用いられる。3次元オ
ブジェクトを2次元ディスプレイ・デバイスに表示する
際には、システムが隠面を認識して消去しなければ、所
望の3次元表現が得られない。イメージの隠面を消去す
る方法には、奥行きバッファまたはZバッファを用いた
ものがある。Zバッファは、ディスプレイ・デバイス上
の画素またはピクセルの一つ一つに対するエントリを持
った大きなメモリ・アレイである。
ジェクトをモデル化し、CRT(陰極線管)などの2次元
出力デバイスに表示するときよく用いられる。3次元オ
ブジェクトを2次元ディスプレイ・デバイスに表示する
際には、システムが隠面を認識して消去しなければ、所
望の3次元表現が得られない。イメージの隠面を消去す
る方法には、奥行きバッファまたはZバッファを用いた
ものがある。Zバッファは、ディスプレイ・デバイス上
の画素またはピクセルの一つ一つに対するエントリを持
った大きなメモリ・アレイである。
グラフィクス・システムのZ軸は、観察者の視点からの
距離を反映する。したがって大きいZ値は、視点からの
距離が長いことを表す。生成されたオブジェクト上の点
のZ値を比較すれば、どのオブジェクトが視点に最も近
いか、よって2次元ディスプレイ上に現れるかどうかが
分かる。Zバッファ・システムでは、ピクセルが生成さ
れるごとに、そのZ座標(ZNEW)が、それより前にZバ
ッファに格納されたZ座標(ZOLD)と比較される。ZOLD
が存在しない場合、ZNEWは背景のZ座標と比較される。
ZNEWがZOLDより小さい場合(そのピクセルが前の視点よ
りも視点に近いことを示す)、ピクセルはディスプレイ
・デバイスに書き込まれ、Zバッファメモリが更新され
てZNEWが格納される。ZNEWがZOLDより大きいか等しい場
合、ピクセルは書き込まれず、Zバッファは変更されな
い。Zバッファ法については、「インタラクティブ・コ
ンピュータ・グラフィクス入門(Fundamentals of Inte
ractive Computer Graphics)、J.D.Foley、A.Van Da
m、Addison-Wesley Publishing Co.、1982、pp.560-56
1、に説明されている。
距離を反映する。したがって大きいZ値は、視点からの
距離が長いことを表す。生成されたオブジェクト上の点
のZ値を比較すれば、どのオブジェクトが視点に最も近
いか、よって2次元ディスプレイ上に現れるかどうかが
分かる。Zバッファ・システムでは、ピクセルが生成さ
れるごとに、そのZ座標(ZNEW)が、それより前にZバ
ッファに格納されたZ座標(ZOLD)と比較される。ZOLD
が存在しない場合、ZNEWは背景のZ座標と比較される。
ZNEWがZOLDより小さい場合(そのピクセルが前の視点よ
りも視点に近いことを示す)、ピクセルはディスプレイ
・デバイスに書き込まれ、Zバッファメモリが更新され
てZNEWが格納される。ZNEWがZOLDより大きいか等しい場
合、ピクセルは書き込まれず、Zバッファは変更されな
い。Zバッファ法については、「インタラクティブ・コ
ンピュータ・グラフィクス入門(Fundamentals of Inte
ractive Computer Graphics)、J.D.Foley、A.Van Da
m、Addison-Wesley Publishing Co.、1982、pp.560-56
1、に説明されている。
Zバッファを使えば、隠面の問題を容易に解決できる
が、Zバッファ・メモリの読み込み、比較、および更新
の速度がネックとなり、グラフィクス・システムのピク
セル書き込み速度が落ちる。大きなメモリが必要なこと
(代表的なものは1メガバイト以上)と、この種のデバ
イスのコストを考慮すれば、比較的コストのかかるSRAM
(スタティック・ランダム・アクセス・メモリ)よりも
DRAM(ダイナミック・ランダム・アクセス・メモリ)を
使うことになる。一般に入手できるDRAMの中で代表的な
ものは、RMW(リード・モディファイ・ライト)サイク
ル・タイムが約200ns(ナノ秒)である。
が、Zバッファ・メモリの読み込み、比較、および更新
の速度がネックとなり、グラフィクス・システムのピク
セル書き込み速度が落ちる。大きなメモリが必要なこと
(代表的なものは1メガバイト以上)と、この種のデバ
イスのコストを考慮すれば、比較的コストのかかるSRAM
(スタティック・ランダム・アクセス・メモリ)よりも
DRAM(ダイナミック・ランダム・アクセス・メモリ)を
使うことになる。一般に入手できるDRAMの中で代表的な
ものは、RMW(リード・モディファイ・ライト)サイク
ル・タイムが約200ns(ナノ秒)である。
代表的なコンピュータ・グラフィクス・プロセッサで
は、ピクセル・データを高速に生成でき(ピクセル当た
り100ns)、代表的なディスプレイ・デバイスは、ピク
セル・データを同じように高速に受信できる。ここか
ら、DRAMのRMWサイクル・タイムの長いことが、ディス
プレイ生成プロセスを高速化する際の制限要因になる。
は、ピクセル・データを高速に生成でき(ピクセル当た
り100ns)、代表的なディスプレイ・デバイスは、ピク
セル・データを同じように高速に受信できる。ここか
ら、DRAMのRMWサイクル・タイムの長いことが、ディス
プレイ生成プロセスを高速化する際の制限要因になる。
速度制限をなくす試みは、米国特許第4679041号明細書
「DRAMを用いた高速Zバッファ(High Speed Z-Buffer
With Dynamic Random Access Memory)、Fetter他にみ
られる。Fetter他は、DRAMサイクル・タイムの長さが制
約となることを認識し、ZNEWの演算をZOLDのRMWサイク
ルにオーバラップするシステムを実現している。この方
法はしかし、Zバッファのサイクル・タイムを短縮する
上で課題を残している。現在のグラフィクス処理システ
ムには、さらに高速のZバッファ処理が必要である。
「DRAMを用いた高速Zバッファ(High Speed Z-Buffer
With Dynamic Random Access Memory)、Fetter他にみ
られる。Fetter他は、DRAMサイクル・タイムの長さが制
約となることを認識し、ZNEWの演算をZOLDのRMWサイク
ルにオーバラップするシステムを実現している。この方
法はしかし、Zバッファのサイクル・タイムを短縮する
上で課題を残している。現在のグラフィクス処理システ
ムには、さらに高速のZバッファ処理が必要である。
C.発明が解決しようとする課題 本発明の目的は、サイクル・タイムが比較的長いDRAMを
採用しながらも、高速なグラフィクス処理システムのピ
クセル書き込み時間を制限しないZバッファシステムを
提供することにある。本発明の目的には、ピクセルのRM
Wサイクル・タイムがピクセル生成サイクル・タイムよ
りも長いDRAMを用いて、グラフィクス・システムのピク
セル生成速度でZバッファの比較を行うZバッファ・コ
ントローラを提供することも含まれる。
採用しながらも、高速なグラフィクス処理システムのピ
クセル書き込み時間を制限しないZバッファシステムを
提供することにある。本発明の目的には、ピクセルのRM
Wサイクル・タイムがピクセル生成サイクル・タイムよ
りも長いDRAMを用いて、グラフィクス・システムのピク
セル生成速度でZバッファの比較を行うZバッファ・コ
ントローラを提供することも含まれる。
これらの目的は、他の目的も含めて、以下に述べるよう
に、各サイクルでZ値のブロックを比較することによっ
て、Z値を高速に比較するZバッファ・コントローラを
備えた装置によって達成される。
に、各サイクルでZ値のブロックを比較することによっ
て、Z値を高速に比較するZバッファ・コントローラを
備えた装置によって達成される。
D.課題を解決するための手段 DRAMのメモリ・アクセス時間に制約されない速度でアク
セスおよび比較を行うためにZバッファ制御ロジックが
用いられる。隣接した多数のピクセルを関連する一組の
セルに累算するためにZバッファ・コントローラが用い
られる。セルについてZバッファに保持された値は、Z
バッファ・コンパレータによって並列にアクセスされ、
Zバッファ・コンパレータは、比較を並列に行い、その
結果をZバッファ・シリアライザに引き渡す。Zバッフ
ァ・シリアライザは、書き込まれたピクセルの順序をデ
ィスプレイ・インタフェースに返すとともに必要な値を
ディスプレイ・インタフェースに出力する。これによっ
てグラフィクス・ディスプレイ・デバイス上の処理と表
示が継続する。
セスおよび比較を行うためにZバッファ制御ロジックが
用いられる。隣接した多数のピクセルを関連する一組の
セルに累算するためにZバッファ・コントローラが用い
られる。セルについてZバッファに保持された値は、Z
バッファ・コンパレータによって並列にアクセスされ、
Zバッファ・コンパレータは、比較を並列に行い、その
結果をZバッファ・シリアライザに引き渡す。Zバッフ
ァ・シリアライザは、書き込まれたピクセルの順序をデ
ィスプレイ・インタフェースに返すとともに必要な値を
ディスプレイ・インタフェースに出力する。これによっ
てグラフィクス・ディスプレイ・デバイス上の処理と表
示が継続する。
E.実施例 本発明を採用したグラフィクス・システムを第1図に示
す。グラフィクス・プロセッサ100は、表現対象のオブ
ジェクトの各ピクセルに対応したX、Y、Zの各座標を
生成する。オブジェクトの表現に必要なときは、各ピク
セルについて3軸座標と、通常は赤、緑、青の成分(RG
B)で指定される色が生成される。グラフィクス・プロ
セッサは、X、Y、Zのどの座標位置からでもスタート
でき、水平、垂直、または対角線方向に隣接ピクセルの
シーケンスを生成できる。プロセッサは、実施例では、
ピクセル・データがなくなったときに“END"信号を生成
する。“ZRDY"信号は、Zバッファがピクセル・データ
を受信できる状態にあることを示すために、Zバッファ
・コントローラ102によって生成される。
す。グラフィクス・プロセッサ100は、表現対象のオブ
ジェクトの各ピクセルに対応したX、Y、Zの各座標を
生成する。オブジェクトの表現に必要なときは、各ピク
セルについて3軸座標と、通常は赤、緑、青の成分(RG
B)で指定される色が生成される。グラフィクス・プロ
セッサは、X、Y、Zのどの座標位置からでもスタート
でき、水平、垂直、または対角線方向に隣接ピクセルの
シーケンスを生成できる。プロセッサは、実施例では、
ピクセル・データがなくなったときに“END"信号を生成
する。“ZRDY"信号は、Zバッファがピクセル・データ
を受信できる状態にあることを示すために、Zバッファ
・コントローラ102によって生成される。
ディスプレイ・インタフェース104は、2次元座標
(X、Y)と色(R、G、B)の形でピクセル・データ
を受ける。“WPIX"信号は、ピクセルをディスプレイ・
デバイスに書き込むかどうかを示す。アクティブなWPIX
値を持つのは可視ピクセルだけである。“DRDY"信号
は、ディスプレイ・インタフェースがピクセル・データ
を受信できる状態にあることを示す。ディスプレイ・イ
ンタフェースは、グラフィクス・イメージをディスプレ
イ・デバイス106に表示するのに必要な信号を生成する
ように動作する。実施例ではCRTすなわちモニタ・デバ
イスを示しているが、ここで採用する方法は、プロッ
タ、プリンタ、他の型のモニタなど、2次元ディスプレ
イ・デバイスでも同じように有効である。
(X、Y)と色(R、G、B)の形でピクセル・データ
を受ける。“WPIX"信号は、ピクセルをディスプレイ・
デバイスに書き込むかどうかを示す。アクティブなWPIX
値を持つのは可視ピクセルだけである。“DRDY"信号
は、ディスプレイ・インタフェースがピクセル・データ
を受信できる状態にあることを示す。ディスプレイ・イ
ンタフェースは、グラフィクス・イメージをディスプレ
イ・デバイス106に表示するのに必要な信号を生成する
ように動作する。実施例ではCRTすなわちモニタ・デバ
イスを示しているが、ここで採用する方法は、プロッ
タ、プリンタ、他の型のモニタなど、2次元ディスプレ
イ・デバイスでも同じように有効である。
Zバッファ制御ロジック102は、各Z座標を評価し、他
の面を背後に隠れる面や線を消去する。ZバッファはZ
バッファ・メモリ108を備える。ディスプレイ・デバイ
ス上の各ピクセルに対応するエントリがこのメモリに含
まれる。バッファ・メモリ108は、実施例では、メモリ
・アクセス・サイクル1回で同時にアクセスできる複数
のDRAMモジュールから成る。Zバッファは、隣接ピクセ
ルが、異なるDRAMモジュールに位置するように編成され
ている。
の面を背後に隠れる面や線を消去する。ZバッファはZ
バッファ・メモリ108を備える。ディスプレイ・デバイ
ス上の各ピクセルに対応するエントリがこのメモリに含
まれる。バッファ・メモリ108は、実施例では、メモリ
・アクセス・サイクル1回で同時にアクセスできる複数
のDRAMモジュールから成る。Zバッファは、隣接ピクセ
ルが、異なるDRAMモジュールに位置するように編成され
ている。
本発明によるZバッファ・コントローラは、隣接ピクセ
ルについて、グラフィクス・プロセッサからのピクセル
・データを累算し、収集されたピクセルについてZバッ
ファの比較を並列に行う。ZNEWがZOLDよりも小さいピク
セルはすべて並列に更新され、対応するX、Y、および
色データがディスプレイ・インタフェースに送られる。
他の場合そのピクセル・データは棄却される。ピクセル
をこれに関連するZバッファ・メモリ・アドレスで累算
し、並列に処理することで、Zバッファ・メモリのアク
セス、比較、および更新にかかる時間が複数のピクセル
に分散される。比較が終わると、ピクセル・データは再
び直列化され、ディスプレイ・インタフェースによって
表示される。
ルについて、グラフィクス・プロセッサからのピクセル
・データを累算し、収集されたピクセルについてZバッ
ファの比較を並列に行う。ZNEWがZOLDよりも小さいピク
セルはすべて並列に更新され、対応するX、Y、および
色データがディスプレイ・インタフェースに送られる。
他の場合そのピクセル・データは棄却される。ピクセル
をこれに関連するZバッファ・メモリ・アドレスで累算
し、並列に処理することで、Zバッファ・メモリのアク
セス、比較、および更新にかかる時間が複数のピクセル
に分散される。比較が終わると、ピクセル・データは再
び直列化され、ディスプレイ・インタフェースによって
表示される。
本発明の実施に必要なDRAMモジュールすなわち独立した
アドレス・パスの個数は、グラフィクス・プロセッサか
らのDRAMアクセスとピクセル生成の相対的な速さによっ
て決まる。1回の演算で比較されるピクセル数npとグラ
フィクス・プロセッサのピクセル生成速度fpとの関係は
次のようになる。
アドレス・パスの個数は、グラフィクス・プロセッサか
らのDRAMアクセスとピクセル生成の相対的な速さによっ
て決まる。1回の演算で比較されるピクセル数npとグラ
フィクス・プロセッサのピクセル生成速度fpとの関係は
次のようになる。
(ta+tc+tu)/np<=1/fp ここで、 ta=メモリ・アクセス時間 tc=比較時間 tu=メモリ更新時間 したがってDRAMのアクセス、比較、および更新時間が20
0ns(ナノ秒)で、ピクセル生成速度がナノ秒当たり0.0
1ピクセル(ピクセル当たり100ns)の実施例では、一回
に比較するピクセルの個数は少なくとも2個となる。
0ns(ナノ秒)で、ピクセル生成速度がナノ秒当たり0.0
1ピクセル(ピクセル当たり100ns)の実施例では、一回
に比較するピクセルの個数は少なくとも2個となる。
本発明は、m×nセルのピクセルの同時処理に関する。
実施例では4ピクセルを同時に比較できる。第2(a)
図に示すとおり、2×2のセルが水平方向に2ピクセ
ル、垂直方向に2ピクセルを構成する。このように4ピ
クセルを1グループとしたのは、ある線を生成したと
き、Zバッファを検査するために水平方向に2ピクセ
ル、垂直方向に2ピクセル、または対角線方向に2ピク
セルが生成されることがあるからである。セル数を2×
2とすることによって、システムがサイクルごとにアク
セスするピクセルが2個以上になる可能性が大きくな
る。各ピクセルのアドレスは、基準ピクセルXYbaseとの
関係から指定される。
実施例では4ピクセルを同時に比較できる。第2(a)
図に示すとおり、2×2のセルが水平方向に2ピクセ
ル、垂直方向に2ピクセルを構成する。このように4ピ
クセルを1グループとしたのは、ある線を生成したと
き、Zバッファを検査するために水平方向に2ピクセ
ル、垂直方向に2ピクセル、または対角線方向に2ピク
セルが生成されることがあるからである。セル数を2×
2とすることによって、システムがサイクルごとにアク
セスするピクセルが2個以上になる可能性が大きくな
る。各ピクセルのアドレスは、基準ピクセルXYbaseとの
関係から指定される。
コントローラは、ピクセル・データが終わりに達すると
きか、または線の生成によってセル境界をまたぐ結果に
なるときに、比較を行うように構成されている。
きか、または線の生成によってセル境界をまたぐ結果に
なるときに、比較を行うように構成されている。
隣接ピクセルに対するZバッファの同時アクセスは、実
施例では、DRAMモジュール4個のアドレスをアドレス1
個で指定することによって行われる。処理サイクル1回
で複数のピクセル・アドレスをアクセスできる限り、ほ
かにもいろいろなDRAM構成が可能である。本発明は、DR
AM4個のアクセスをアドレス1個で指定するのに必要な
アドレス・ラインを少なくするものである。
施例では、DRAMモジュール4個のアドレスをアドレス1
個で指定することによって行われる。処理サイクル1回
で複数のピクセル・アドレスをアクセスできる限り、ほ
かにもいろいろなDRAM構成が可能である。本発明は、DR
AM4個のアクセスをアドレス1個で指定するのに必要な
アドレス・ラインを少なくするものである。
Zバッファ制御ロジック102の詳細を第3図に示す。ア
キュムレータ110は、グラフィクス・プロセッサによっ
て生成されたピクセルを収集してセルにまとめる機能を
実行する。アキュムレータは、各ピクセル・データ点
に、それがアキュムレータに届いた順序を示すタグをつ
ける。この順序によって、Zバッファの比較後にピクセ
ルが再び直列化される。またアキュムレータは、セル境
界の横断、またはピクセル・データの終わりを検出す
る。Zバッファ比較にはRGB成分は必要ないので、本発
明の実施例に応じたコントローラは、RGB値を、後で参
照するためにFIFO(ファーストイン・ファーストアウ
ト)キュー112にロードする。これらの値は、必要な
ら、アキュムレータによって引き渡されるピクセルに付
加することができる。
キュムレータ110は、グラフィクス・プロセッサによっ
て生成されたピクセルを収集してセルにまとめる機能を
実行する。アキュムレータは、各ピクセル・データ点
に、それがアキュムレータに届いた順序を示すタグをつ
ける。この順序によって、Zバッファの比較後にピクセ
ルが再び直列化される。またアキュムレータは、セル境
界の横断、またはピクセル・データの終わりを検出す
る。Zバッファ比較にはRGB成分は必要ないので、本発
明の実施例に応じたコントローラは、RGB値を、後で参
照するためにFIFO(ファーストイン・ファーストアウ
ト)キュー112にロードする。これらの値は、必要な
ら、アキュムレータによって引き渡されるピクセルに付
加することができる。
アキュムレータは、ピクセルを累算したセルをメモリ・
コントローラ114に引き渡す。メモリ・コントローラ114
は、メモリ108をアクセスし、比較を行い、ZNEW<ZOLD
のピクセルすべてについて、ZNEWをメモリに書き込み、
ピクセルが可視であることを示すタグをピクセルにつけ
る。他のピクセル(前に書き込まれたピクセルに優先す
るZNEW≧ZOLDのピクセル)には、不可視であることを示
すタグがつけられる。
コントローラ114に引き渡す。メモリ・コントローラ114
は、メモリ108をアクセスし、比較を行い、ZNEW<ZOLD
のピクセルすべてについて、ZNEWをメモリに書き込み、
ピクセルが可視であることを示すタグをピクセルにつけ
る。他のピクセル(前に書き込まれたピクセルに優先す
るZNEW≧ZOLDのピクセル)には、不可視であることを示
すタグがつけられる。
コントローラ114は、処理結果をシリアライザ116に引き
渡し、シリアライザ116は、ピクセルを逐一生成して各
ピクセル値をディスプレイ・インタフェースに転送す
る。ピクセルのタグが可視であることを示す場合、WPIX
値はアクティブとなり、FIFOキューがディスプレイ・イ
ンタフェースへアンロードされる。他の場合、WPIXはイ
ンアクティブであり、FIFOはアンロードされて棄却され
る。
渡し、シリアライザ116は、ピクセルを逐一生成して各
ピクセル値をディスプレイ・インタフェースに転送す
る。ピクセルのタグが可視であることを示す場合、WPIX
値はアクティブとなり、FIFOキューがディスプレイ・イ
ンタフェースへアンロードされる。他の場合、WPIXはイ
ンアクティブであり、FIFOはアンロードされて棄却され
る。
実施例で、セル内の各ピクセルに生成順序を示すタグを
つける必要があるのは、比較のために格納されたZ座標
が、セル内の位置に従って配置されるだけだからであ
る。セルの順序は、グラフィクス・プロセッサによって
生成されたピクセルの順序と同じであることを保証しな
い。順序タグは、ピクセルを生成順序で直列化し直すた
めに制御ロジックによって用いられる。
つける必要があるのは、比較のために格納されたZ座標
が、セル内の位置に従って配置されるだけだからであ
る。セルの順序は、グラフィクス・プロセッサによって
生成されたピクセルの順序と同じであることを保証しな
い。順序タグは、ピクセルを生成順序で直列化し直すた
めに制御ロジックによって用いられる。
アキュムレータ110のブロック図を第4図に示す。最
初、カウンタ120は初期値にリセットされる。グラフィ
クス・プロセッサから有効ピクセルが受信されると、そ
のX、Y成分が調べられ、Z座標がレジスタpi、jに、セ
ルの左下の座標がXYbaseにそれぞれロードされる。実施
例では、アドレス1個(XYbaseのアドレス)しか格納さ
れない。これはDRAMモジュールがそれぞれアドレス1個
でアクセスされるからである。Z値のpは、各モジュー
ルと比較される。すなわちpx、yは第1モジュールと、P
X+1Yは第2モジュールと、以下同様に比較される。各モ
ジュールが個別にアドレス指定される実施例の場合、セ
ル内の各ピクセルのアドレスを保持する必要がある。各
レジスタ122のフォーマットは第5(a)図に示すとお
りである。第1フィールドZは、格納されたピクセルの
Z座標である。フィールドLは、これが、セルで最後に
ロードされるピクセルであることを示す。Vは、レジス
タが有効なことを示す。Cは、このピクセルがロードさ
れたときのカウンタ120の値を示す。
初、カウンタ120は初期値にリセットされる。グラフィ
クス・プロセッサから有効ピクセルが受信されると、そ
のX、Y成分が調べられ、Z座標がレジスタpi、jに、セ
ルの左下の座標がXYbaseにそれぞれロードされる。実施
例では、アドレス1個(XYbaseのアドレス)しか格納さ
れない。これはDRAMモジュールがそれぞれアドレス1個
でアクセスされるからである。Z値のpは、各モジュー
ルと比較される。すなわちpx、yは第1モジュールと、P
X+1Yは第2モジュールと、以下同様に比較される。各モ
ジュールが個別にアドレス指定される実施例の場合、セ
ル内の各ピクセルのアドレスを保持する必要がある。各
レジスタ122のフォーマットは第5(a)図に示すとお
りである。第1フィールドZは、格納されたピクセルの
Z座標である。フィールドLは、これが、セルで最後に
ロードされるピクセルであることを示す。Vは、レジス
タが有効なことを示す。Cは、このピクセルがロードさ
れたときのカウンタ120の値を示す。
カウンタ120は各ピクセルに対してインクリメントされ
る。カウンタを各ピクセル・レジスタに格納することに
よって、ピクセルが生成された順序をシリアライザ116
によって復元できる。END信号がグラフィクス・プロセ
ッサによって転送されるか、境界ディテクト126によっ
てセル境界の横断が検出されると、フィールドLが現在
のpi、jにセットされ、カウンタ120が初期値にリセット
される。各レジスタ122のセット状態は次に、バス130を
通してメモリ・コントローラ114に引き渡される。コン
トローラ128は、レジスタ122のロード・プロセスを制御
し、RGBデータをFIFOキューに引き渡して、グラフィク
ス・プロセッサおよびメモリ・コントローラと通信す
る。
る。カウンタを各ピクセル・レジスタに格納することに
よって、ピクセルが生成された順序をシリアライザ116
によって復元できる。END信号がグラフィクス・プロセ
ッサによって転送されるか、境界ディテクト126によっ
てセル境界の横断が検出されると、フィールドLが現在
のpi、jにセットされ、カウンタ120が初期値にリセット
される。各レジスタ122のセット状態は次に、バス130を
通してメモリ・コントローラ114に引き渡される。コン
トローラ128は、レジスタ122のロード・プロセスを制御
し、RGBデータをFIFOキューに引き渡して、グラフィク
ス・プロセッサおよびメモリ・コントローラと通信す
る。
メモリ・コントローラ114の詳細を第6図に示す。アキ
ュムレータによってレジスタ122に格納された値は、バ
ス130を通してメモリ・コントローラのレジスタ132に引
き渡される。コントローラ内のレジスタは、各ピクセル
のXYbaseおよび値qx、yと同じ順序で配列されている。レ
ジスタ・アドレスXYbase136は、メモリ・コントローラ
・ロジック134の制御により、DRAMモジュール(メモ
リ)108のアクセスに用いられる。メモリ108からのデー
タは、データ・ラインを通してコンパレータ138、140、
142、144に引き渡され、各コンパレータは、メモリ108
からのZOLDとレジスタ132のZNEW値を比較する。
ュムレータによってレジスタ122に格納された値は、バ
ス130を通してメモリ・コントローラのレジスタ132に引
き渡される。コントローラ内のレジスタは、各ピクセル
のXYbaseおよび値qx、yと同じ順序で配列されている。レ
ジスタ・アドレスXYbase136は、メモリ・コントローラ
・ロジック134の制御により、DRAMモジュール(メモ
リ)108のアクセスに用いられる。メモリ108からのデー
タは、データ・ラインを通してコンパレータ138、140、
142、144に引き渡され、各コンパレータは、メモリ108
からのZOLDとレジスタ132のZNEW値を比較する。
各レジスタqi、jのフォーマットは第5(b)図に示すと
おりである。値Z、V、L、およびCは、pi、jのものと
同等である。さらに、qi、jは、各コンパレータの出力に
応じてセットされる値Wを持つ。あるピクセルで、ZNEW
<ZOLDであり、フィールドVが真なら、ZNEWはメモリに
書き込まれ、フィールドWは真にセットされる。
おりである。値Z、V、L、およびCは、pi、jのものと
同等である。さらに、qi、jは、各コンパレータの出力に
応じてセットされる値Wを持つ。あるピクセルで、ZNEW
<ZOLDであり、フィールドVが真なら、ZNEWはメモリに
書き込まれ、フィールドWは真にセットされる。
比較と更新が終了すると、メモリ・コントローラ・ロジ
ックは、qi、jからのデータをバス146を通してシリアラ
イザへ転送する。フィールドL、C、およびWだけが転
送される。ここでZ座標自体は必要なくなる。
ックは、qi、jからのデータをバス146を通してシリアラ
イザへ転送する。フィールドL、C、およびWだけが転
送される。ここでZ座標自体は必要なくなる。
シリアライザ116の詳細を第7図に示す。メモリ・コン
トローラ114からのデータは、バス146を通してレジスタ
148に引き渡される。レジスタri、jのフォーマットは第
5(c)図に示すとおりである。シリアライザ116は、r
i、jを、グラフィクス・プロセッサによって生成された
順序に直列化し、フィールドWが真なら、ディスプレイ
・インタフェースに書き込む。カウンタ150は最初、初
期値にセットされる。レジスタ148は、実施例では、入
力レジスタとしてのカウンタ150の出力に関連したメモ
リとして働く。ri、j値が一致する(フィールドCがカウ
ンタ150に等しい)場合、LとWがシリアライザ・コン
トローラ152に引き渡される。
トローラ114からのデータは、バス146を通してレジスタ
148に引き渡される。レジスタri、jのフォーマットは第
5(c)図に示すとおりである。シリアライザ116は、r
i、jを、グラフィクス・プロセッサによって生成された
順序に直列化し、フィールドWが真なら、ディスプレイ
・インタフェースに書き込む。カウンタ150は最初、初
期値にセットされる。レジスタ148は、実施例では、入
力レジスタとしてのカウンタ150の出力に関連したメモ
リとして働く。ri、j値が一致する(フィールドCがカウ
ンタ150に等しい)場合、LとWがシリアライザ・コン
トローラ152に引き渡される。
組み合わせロジック154は、カウンタのステップごとに
X、Yアドレスを演算する。ri、jのフィールドWがアク
ティブなら、X、Y、R、G、およびBはディスプレイ
・インタフェースに置かれ、WPIXは真値を持つ。他の場
合、WPIXはインアクティブで、FIFOはアンロードされる
だけである。いずれの場合もカウンタはインクリメント
され、プロセスが繰り返される。現在のセルの最後のピ
クセルを示すフィールドLが真なら、カウンタは初期値
にリセットされる。
X、Yアドレスを演算する。ri、jのフィールドWがアク
ティブなら、X、Y、R、G、およびBはディスプレイ
・インタフェースに置かれ、WPIXは真値を持つ。他の場
合、WPIXはインアクティブで、FIFOはアンロードされる
だけである。いずれの場合もカウンタはインクリメント
され、プロセスが繰り返される。現在のセルの最後のピ
クセルを示すフィールドLが真なら、カウンタは初期値
にリセットされる。
アキュムレータ、コントローラ、およびシリアライザの
処理は、パイプライン方式で並行して行なわれる。すな
わちアキュムレータ110が、所定のセルnから3Dピクセ
ルをロードする間、メモリ・コントローラ114は、セル
n−1のZ座標を比較し、シリアライザ116はセルn−
2の2次元ピクセルをアンロードできる。このような高
速演算ができるのは、ピクセルは直列に生成され、ディ
スプレイに直列に書き込まれるが、Zバッファのアクセ
ス、比較、および更新は並列に実行されるからである。
処理は、パイプライン方式で並行して行なわれる。すな
わちアキュムレータ110が、所定のセルnから3Dピクセ
ルをロードする間、メモリ・コントローラ114は、セル
n−1のZ座標を比較し、シリアライザ116はセルn−
2の2次元ピクセルをアンロードできる。このような高
速演算ができるのは、ピクセルは直列に生成され、ディ
スプレイに直列に書き込まれるが、Zバッファのアクセ
ス、比較、および更新は並列に実行されるからである。
当業者には明らかなように、実施例の構造に代わる変形
例も存在する。変形例では、セルのサイズと構成が上述
のものとは異なる。さらに、それぞれのアドレスを並列
に、個別に指定できるDRAMモジュールも採用できる。そ
の場合は、各ピクセスの実アドレスは、アキュムレー
タ、メモリ・コントローラ、およびシリアライザに格納
され、それらの間で受け渡しされる。また、異なるロジ
ック構成を用いることで、累算、メモリ制御、直列化の
各機能を実現できる。このような変形例は、他の実施例
も含めて、ここに説明した本発明の適用範囲に含まれる
と考えられる。
例も存在する。変形例では、セルのサイズと構成が上述
のものとは異なる。さらに、それぞれのアドレスを並列
に、個別に指定できるDRAMモジュールも採用できる。そ
の場合は、各ピクセスの実アドレスは、アキュムレー
タ、メモリ・コントローラ、およびシリアライザに格納
され、それらの間で受け渡しされる。また、異なるロジ
ック構成を用いることで、累算、メモリ制御、直列化の
各機能を実現できる。このような変形例は、他の実施例
も含めて、ここに説明した本発明の適用範囲に含まれる
と考えられる。
F.発明の効果 本発明によれば、サイクル・タイムが比較的長いDRAMを
採用しながらも、高速なグラフィクス処理システムのピ
クセル書き込み時間を制限しないZバッファシステムが
得られる。
採用しながらも、高速なグラフィクス処理システムのピ
クセル書き込み時間を制限しないZバッファシステムが
得られる。
第1図は、本発明によるグラフィクス・システムの構造
を示すブロック図である。 第2(a)図は、本発明によるピクセル・セル構成を示
す図である。 第2(b)図は、本発明の実施例に採用したピクセルの
相対アドレス指定を示す図である。 第3図は、本発明によるZバッファ制御ロジックのブロ
ック図である。 第4図は、本発明によるアキュムレータのロジックを示
すブロック図である。 第5(a)図、第5(b)図、および第5(c)図は、
本発明のエレメントに採用したレジスタ構造を示す図で
ある。 第6図は、本発明によるメモリ・コントローラのブロッ
ク図である。 第7図は、本発明によるシリアライザのブロック図であ
る。 100……グラフィクス・プロセッサ、102……Zバッファ
・ロジック、108……Zバッファ・メモリ、110……アキ
ュムレータ、116……シリアライザ。
を示すブロック図である。 第2(a)図は、本発明によるピクセル・セル構成を示
す図である。 第2(b)図は、本発明の実施例に採用したピクセルの
相対アドレス指定を示す図である。 第3図は、本発明によるZバッファ制御ロジックのブロ
ック図である。 第4図は、本発明によるアキュムレータのロジックを示
すブロック図である。 第5(a)図、第5(b)図、および第5(c)図は、
本発明のエレメントに採用したレジスタ構造を示す図で
ある。 第6図は、本発明によるメモリ・コントローラのブロッ
ク図である。 第7図は、本発明によるシリアライザのブロック図であ
る。 100……グラフィクス・プロセッサ、102……Zバッファ
・ロジック、108……Zバッファ・メモリ、110……アキ
ュムレータ、116……シリアライザ。
Claims (2)
- 【請求項1】グラフィック命令を処理して隠面を消去
し、表示装置にオブジェクトを表示するグラフィックス
・ディスプレイ・システムであって、 グラフィック命令を処理し、奥行き値を含む複数のピク
セル・データを生成するグラフィック・プロセッサ手段
と、 前記表示装置の各ピクセルの奥行き値を格納するメモリ
手段と、 前記ピクセル・データの生成順にかかわらず所定の規則
に従ってピクセル・データのセットを生成し、前記ピク
セル・データのセットのそれぞれのピクセル・データに
生成順タグを付すアキュムレータ手段と、 前記ピクセル・データのセットに対応する前記メモリ手
段内の複数の奥行き値をアクセスするメモリ制御手段
と、 前記ピクセル・データのセットのそれぞれのピクセル・
データに含まれる奥行き値と、アクセスされた関連奥行
き値をそれぞれ並列に比較する比較手段と、 前記比較手段に応答して、生成された前記ピクセル・デ
ータの奥行き値が前記メモリ手段内の奥行き値よりも設
定された視点に近い時のみ、表示するために前記ピクセ
ル・データを前記生成順タグの順で出力する直列化手段
と を有するグラフィックス・ディスプレイ・システム。 - 【請求項2】各ピクセル・データが視点からの距離を表
す奥行き値を含み、グラフィックス・オブジェクトを表
す複数のピクセル・データを生成するグラフィックス・
プロセッサと、グラフィックス・ディスプレイ・デバイ
スの各ピクセルについて、前記視点までの以前の距離を
表す奥行き値を格納した奥行きバッファ・メモリとを備
えたグラフィックス・ディスプレイ・システムにおい
て、隠面を消去する方法であって、 前記グラフィックス・プロセッサによる前記ピクセル・
データの生成順にかかわらず所定の規則に従ってピクセ
ル・データのセットを生成し、前記ピクセル・データの
セットのそれぞれのピクセル・データに生成順タグを付
すステップと、 前記ピクセル・データのセットに対応する前記奥行きバ
ッファ・メモリ内の複数の奥行き値をアクセスするステ
ップと、 前記ピクセル・データのセットのそれぞれのピクセル・
データに含まれる奥行き値と、アクセスされた関連奥行
き値をそれぞれ並列に比較する比較ステップと、 前記比較ステップに応答して、生成された前記ピクセル
・データの奥行き値が前記メモリ手段内の奥行き値より
も設定された視点に近い時のみ、表示するために前記ピ
クセル・データを前記生成順タグの順で出力するステッ
プと を含む、グラフィックス・ディスプレイ・システムにお
ける隠面消去方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/425,778 US5043921A (en) | 1989-10-23 | 1989-10-23 | High speed Z-buffer control |
US425778 | 1999-10-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH03139780A JPH03139780A (ja) | 1991-06-13 |
JPH07104960B2 true JPH07104960B2 (ja) | 1995-11-13 |
Family
ID=23687996
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2269677A Expired - Fee Related JPH07104960B2 (ja) | 1989-10-23 | 1990-10-09 | グラフィックス・ディスプレイ・システム及び隠面消去方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5043921A (ja) |
EP (1) | EP0425186A3 (ja) |
JP (1) | JPH07104960B2 (ja) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5265198A (en) * | 1989-10-23 | 1993-11-23 | International Business Machines Corporation | Method and processor for drawing `polygon with edge`-type primitives in a computer graphics display system |
JPH04335422A (ja) * | 1991-05-10 | 1992-11-24 | Ricoh Co Ltd | ソーティング装置 |
US5265199A (en) * | 1991-05-22 | 1993-11-23 | Silicon Graphics, Inc. | Method and apparatus for accomplishing Z-buffering by prediction |
US5359704A (en) * | 1991-10-30 | 1994-10-25 | International Business Machines Corporation | Method for selecting silhouette and visible edges in wire frame images in a computer graphics display system |
US5319388A (en) * | 1992-06-22 | 1994-06-07 | Vlsi Technology, Inc. | VGA controlled having frame buffer memory arbitration and method therefor |
US5621866A (en) * | 1992-07-24 | 1997-04-15 | Fujitsu Limited | Image processing apparatus having improved frame buffer with Z buffer and SAM port |
US5321809A (en) * | 1992-09-11 | 1994-06-14 | International Business Machines Corporation | Categorized pixel variable buffering and processing for a graphics system |
TW241196B (ja) * | 1993-01-15 | 1995-02-21 | Du Pont | |
JP3557208B2 (ja) * | 1993-05-10 | 2004-08-25 | アプル・コンピュータ・インコーポレーテッド | 高性能複数層zバッファを有するコンピュータ・グラフィックス・システム |
DE19508774A1 (de) * | 1995-03-03 | 1996-09-05 | Univ Tuebingen | Verfahren und Vorrichtung zur Überabtastung von Bildelementen |
US5767856A (en) * | 1995-08-22 | 1998-06-16 | Rendition, Inc. | Pixel engine pipeline for a 3D graphics accelerator |
US5933156A (en) * | 1997-12-03 | 1999-08-03 | Margolin; Jed | Z-Buffer for row addressable graphics memory with flash fill |
US6747645B1 (en) * | 1998-03-13 | 2004-06-08 | Hewlett-Packard Development Company, L.P. | Graphics memory system that utilizes detached-Z buffering in conjunction with a batching architecture to reduce paging overhead |
TW431069B (en) * | 2000-04-07 | 2001-04-21 | Via Tech Inc | High-speed data buffer |
US8854364B1 (en) | 2003-12-22 | 2014-10-07 | Nvidia Corporation | Tight depth range occlusion prediction system and method |
US8269769B1 (en) * | 2003-12-22 | 2012-09-18 | Nvidia Corporation | Occlusion prediction compression system and method |
US8390619B1 (en) | 2003-12-22 | 2013-03-05 | Nvidia Corporation | Occlusion prediction graphics processing system and method |
US7995056B1 (en) | 2003-12-22 | 2011-08-09 | Nvidia Corporation | Culling data selection system and method |
US8878849B2 (en) * | 2007-12-14 | 2014-11-04 | Nvidia Corporation | Horizon split ambient occlusion |
US10008029B2 (en) | 2013-05-31 | 2018-06-26 | Nvidia Corporation | Updating depth related graphics data |
US9418400B2 (en) | 2013-06-18 | 2016-08-16 | Nvidia Corporation | Method and system for rendering simulated depth-of-field visual effect |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4658247A (en) * | 1984-07-30 | 1987-04-14 | Cornell Research Foundation, Inc. | Pipelined, line buffered real-time color graphics display system |
US4679041A (en) * | 1985-06-13 | 1987-07-07 | Sun Microsystems, Inc. | High speed Z-buffer with dynamic random access memory |
FR2586838B1 (fr) * | 1985-08-30 | 1989-07-28 | Labo Electronique Physique | Processeur d'elimination de faces cachees pour la synthese d'images a trois dimensions |
JPS63271673A (ja) * | 1987-04-30 | 1988-11-09 | Toshiba Corp | 三次元表示装置 |
JPS63307591A (ja) * | 1987-06-09 | 1988-12-15 | Agency Of Ind Science & Technol | 高機能zバッファメモリ |
US4945500A (en) * | 1987-11-04 | 1990-07-31 | Schlumberger Technologies, Inc. | Triangle processor for 3-D graphics display system |
US4951232A (en) * | 1988-09-12 | 1990-08-21 | Silicon Graphics, Inc. | Method for updating pipelined, single port Z-buffer by segments on a scan line |
-
1989
- 1989-10-23 US US07/425,778 patent/US5043921A/en not_active Expired - Lifetime
-
1990
- 1990-10-09 JP JP2269677A patent/JPH07104960B2/ja not_active Expired - Fee Related
- 1990-10-17 EP EP19900311389 patent/EP0425186A3/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
EP0425186A2 (en) | 1991-05-02 |
EP0425186A3 (en) | 1993-02-03 |
US5043921A (en) | 1991-08-27 |
JPH03139780A (ja) | 1991-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH07104960B2 (ja) | グラフィックス・ディスプレイ・システム及び隠面消去方法 | |
EP0433373B1 (en) | Efficient method for updating pipelined, single port z-buffer | |
US4679041A (en) | High speed Z-buffer with dynamic random access memory | |
EP0447225B1 (en) | Methods and apparatus for maximizing column address coherency for serial and random port accesses in a frame buffer graphics system | |
US5038297A (en) | Method and apparatus for clearing a region of Z-buffer | |
US5999199A (en) | Non-sequential fetch and store of XY pixel data in a graphics processor | |
JPH07141202A (ja) | コンテキストを管理するシステム及び方法 | |
US20040155885A1 (en) | Cache invalidation method and apparatus for a graphics processing system | |
US5454076A (en) | Method and apparatus for simultaneously minimizing storage and maximizing total memory bandwidth for a repeating pattern | |
US5321809A (en) | Categorized pixel variable buffering and processing for a graphics system | |
US5621866A (en) | Image processing apparatus having improved frame buffer with Z buffer and SAM port | |
US5404448A (en) | Multi-pixel access memory system | |
JPH08212382A (ja) | Z−バッファタグメモリ構成 | |
US5005117A (en) | Three-dimensional computer graphics apparatus with two-port memory for storing depth information | |
US4912658A (en) | Method and apparatus for addressing video RAMS and refreshing a video monitor with a variable resolution | |
JPS5912176B2 (ja) | デイジタル・テレビジヨン・デイスプレイのためのカ−ソル回路 | |
JP2952780B2 (ja) | コンピユータ出力システム | |
JPH07271970A (ja) | ダイナミックランダムアクセスメモリ、ダイナミックランダムアクセスメモリのアクセス方法及びシステム | |
US4748442A (en) | Visual displaying | |
US6031550A (en) | Pixel data X striping in a graphics processor | |
US4614941A (en) | Raster-scan/calligraphic combined display system for high speed processing of flight simulation data | |
JPH02123422A (ja) | コンピュータ出力装置 | |
EP0551251B1 (en) | Method and apparatus for clearing a region of a z-buffer | |
JPH0588838A (ja) | マルチウインドウ表示装置 | |
JPS61290486A (ja) | 表示制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |