JPH1074263A - コンピュータ・グラフィックス・システム - Google Patents

コンピュータ・グラフィックス・システム

Info

Publication number
JPH1074263A
JPH1074263A JP9086754A JP8675497A JPH1074263A JP H1074263 A JPH1074263 A JP H1074263A JP 9086754 A JP9086754 A JP 9086754A JP 8675497 A JP8675497 A JP 8675497A JP H1074263 A JPH1074263 A JP H1074263A
Authority
JP
Japan
Prior art keywords
span
mask
data structure
graphics
pixel
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
Application number
JP9086754A
Other languages
English (en)
Inventor
Thuy-Linh Tran Bui
サイ−リン・トラン・ブイ
Charles Ray Johns
チャールズ・レイ・ジョーンズ
John Thomas Roberson
ジョン・トーマス・ロバーソン
John Fred Spannaus
ジョン・フレッド・スパナウス
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH1074263A publication Critical patent/JPH1074263A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Image Generation (AREA)

Abstract

(57)【要約】 (修正有) 【課題】 ホスト・コンピュータとグラフィックス・サ
ブシステムとの間でグラフィックス機能を効果的に分散
させること。 【解決手段】 奥行き、アルファ、ステンシル、及び他
の画素データの記憶は、1又は複数の補助グラフィック
ス・バッファを含むシステム・メモリにある。ホスト・
システムのメイン・プロセッサは、画像に関連する画素
データを発生する。このデータは補助バッファに対して
検査される。この検査の結果、ホスト・システムにより
マスクが発生される。マスクは、スパン幅、カラー補間
の場合にはカラー・ベースとカラー増分データ、及び第
1の画素のX,Yアドレス等と組み合わされ、PCIバ
スを通してバースト・モードでグラフィックス・サブシ
ステムへ転送される。グラフィックス・サブシステムに
おいては、マスクにより規定される画素データの一部を
フレーム・バッファへロードするため、他のデータと共
にマスクが用いられる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般的にはコンピ
ュータ・グラフィックス・システムに関し、特に、コン
ピュータのメイン・システムとグラフィックス・サブシ
ステムとの間の効率的なグラフィックス情報の転送を必
要とするディスプレイ・グラフィックス・サブシステム
を実現するようなシステムに関する。
【0002】
【従来の技術】コンピュータ・グラフィックスの分野に
おいては、多くの種類のグラフィックス・システムが利
用されている。しかしながら、通常、このようなシステ
ムは、グラフィックス情報の処理に関する所与のタスク
を実行するホスト・コンピュータと、更なる機能を実行
するグラフィックス・アダプタを通常含む関連するグラ
フィックス・サブシステムに設けられる。後者は、例え
ば、実際にグラフィックスを表示するグラフィックス出
力装置への出力として適切な形態にグラフィックス情報
を配列させることを含む。
【0003】技術的な発展において、ホスト・コンピュ
ータとグラフィックス・サブシステムとの間におけるグ
ラフィックス情報の発生、処理、及び表示に関する役割
の分担については、多くの形態が採られていた。ホスト
・コンピュータ及びグラフィックス・サブシステムの特
定の特徴に大きく依存するために、必要な機能が、ホス
ト・コンピュータ又はグラフィックス・サブシステムの
いずれかにより交互に行なわれる場合もある。コンピュ
ータによる画像システムの一例におけるこの役割分担
は、ホスト・コンピュータ・システムのメイン・プロセ
ッサが画素のレンダリングを実行し、そして得られた最
終的な画素データがグラフィックス・サブへ転送される
ことになる。その後、グラフィックス・サブシステム
は、グラフィックス画像を生成するために用いられるフ
レーム・バッファに適宜の画素を配置する。
【0004】説明のために示すが、上記と対照的に他の
システムにおいては、グラフィックス・アダプタがレン
ダリングを行うために用いられ、そしてもちろん、適切
なグラフィックス出力装置により使用される適宜のフォ
ーマットでグラフィックス情報の提示も行う。例えば、
グラフィックス・アダプタ・カードには完全3Dエンジ
ンが設けられており、グラフィックス・アダプタ上のグ
ラフィックスに関する全ての処理が発生しかつ特殊なグ
ラフィックス機能を実行する完全なサブシステムとなっ
ているが、これらのシステムは比較的新しくかつ高価で
ある。これは、1つには、全てのグラフィックス処理を
行うために非常に高度でかつ高価なグラフィックス・ア
ダプタ・プロセッサを必要とするからであり、さらに、
十分なグラフィックス・アダプタ・メモリを必要とする
からである。従って、別個のサブシステムに対して全て
のグラフィックス機能を負担させるというこの解決法
は、実際問題として、一般的かつ高性能のグラフィック
スを提供する実行可能な解決法ではなく、むしろ、エン
ジニアリング・ワークステーション等におけるようにコ
ストが嵩むことを正当化し得る適所市場のために最適化
された方法といえる。
【0005】専用の高機能グラフィックス・サブシステ
ムに対して別の解決方法を採ることについて他の理由も
存在する。高機能コンピュータ・システムにおいては、
通常、グラフィックス・サブシステムから所与のグラフ
ィックス機能の負担を減らしてホスト・コンピュータへ
負担させるために、中央演算処理装置若しくはコントロ
ーラ・チップ上の余剰の「シリコン」すなわち能力を利
用可能な場合がある。言い換えるならば、プロセッサ若
しくはメモリ・コントローラ自身でグラフィックス機能
を実現することにより、ホスト・コンピュータにより用
いられていないこの余剰の処理能力を、「フリー」なも
のとして有効に利用することができる。仮に、そのよう
にしない場合には、このようなグラフィックス機能を専
用のグラフィックス・サブシステム内に設けなければな
らなくなる。
【0006】従って、例えば、いくつかのマイクロプロ
セッサ製造業者は、より優れたグラフィックスを提供し
かつ3Dレンダリングやマルチメディア機能を支援する
という重要性を増しつつある領域を補助するべく、ブロ
ック移動等のための特殊な命令を設けるなど、新しいプ
ロセッサ命令を提供してきた。
【0007】上述のように、3Dレンダリング等のより
高度な機能のグラフィックスについては、専用のグラフ
ィックス・サブシステムを設けることが可能であるが、
比較的高価なグラフィックス・アダプタを具備すると共
に、奥行き(Z)バッファ処理等の事項を処理するための
余分なメモリ、アルファ(alpha)・プレーンを記憶する
ための他の関連メモリ、更なるロジック等を具備する。
しかしながら、産業上では、システム資源をより有効に
利用することにより、高機能グラフィックスを実現する
ためのコストを低減することが模索されてきた。従っ
て、グラフィックス・アダプタにおける高速のビデオ・
メモリを必要とする替わりに、例えば、奥行き、アルフ
ァ、又は透明要素等の記憶のためにプロセッサ複合体内
のメイン・メモリ及びホスト・コンピュータの処理を有
効に利用することに、ある程度の関心がもたれていた。
【0008】しかしながら、ホスト・コンピュータの使
用中の資源を利用することによりグラフィックス機能を
ホスト・コンピュータとグラフィックス・アダプタの間
に分散させようとすることには、問題点がある。第1の
問題は、非常に密度の高いグラフィックス情報を限られ
た帯域幅のバスを通してグラフィックス・サブシステム
へ転送することにある。さらに、現代の細分化の時代に
あっては、設計者が、グラフィックス・アダプタ又はメ
イン・プロセッサ若しくはメイン・コントローラのみの
設計を特殊化する場合があり、必要な統合システムとし
ての見通しや技術が失われがちである。このため、設計
者は、メイン・システムについてもグラフィックス・サ
ブシステムについてもその利点や制約を熟知しているこ
とが要求される。従って、分散型グラフィックス設計手
法による予期せぬ恩恵を利用できるような機会は、それ
ほど明確であるとはいえず、安易には認めがたい。
【0009】それにも拘わらず、グラフィックス画像ア
ートにおいては、システムすなわちホスト・コンピュー
タのメイン・メモリ及びプロセッサが、少なくともある
程度のグラフィックス処理ワークロードを負担するべく
利用されることが一般的である。具体的には、このよう
なシステム・メモリが、通常、複数の補助グラフィック
ス・バッファを含んでいる。これらの補助バッファは、
視者に対する所望の効果を実現するべく、基本グラフィ
ックス・データを操作するために必要な情報を格納する
ことになる。例えば、これらの補助バッファには、奥行
きバッファ、アルファ・バッファ、ステンシル・バッフ
ァ等が含まれる。そして、既知の方法で用いられてグラ
フィックス情報を処理することにより、最終的に表示さ
れたとき、視者によって3Dすなわち奥行きや様々な表
面の特徴等が知覚される。ワークステーション等の現代
のホスト・コンピュータにおける格段に向上した処理能
力の出現に伴い、メイン・システム・プロセッサの通常
は余裕のある能力を利用可能となる。従って、これらの
コンピュータは、画素をレンダリングして表示のために
グラフィックス・サブシステムへ伝送する前に、上記の
バッファに対して極めて複雑な時間のかかる検査を行う
べく理想的に設定されている。しかしながら、前述の通
り、システムの特別な必要性によっては、このバッファ
に対する検査を、グラフィックス・アダプタ・プロセッ
サに必要な処理能力を有する特殊なグラフィックス支援
ハードウェアで置き換えることもできる。
【0010】いずれにしても重要な点は、この補助グラ
フィックス・バッファに対する検査の結果、所与の画像
の幾つかの画素がレンダリング不要となる場合がある点
である。単純な一例ではあるが、3次元システムの画像
を構成する画素の一部が、遠いオブジェクトと視者との
間にある平面内の別のオブジェクトのために視者から見
えなくなることがある。表示が覆い隠される例として
は、太陽の画像に関する画素の一部が、地球上の視者と
太陽との間を遮る月の存在により見えなくなる場合があ
る。重要なことは、幾つかの画素がレンダリング不要で
あるにも拘わらず、レンダリング不要の画素のアドレス
も含めて各画素ベースに基づくアドレス情報を維持する
必要がある点である。仮にそうしなければ、グラフィッ
クス・サブシステムは、画像に関係する画素の集合の中
からいずれの画素がレンダリング不要であるのかを、上
記の補助バッファ検査の結果として判断する手段がなく
なってしまう。
【0011】この各画素ベースに基づくアドレス情報を
維持する必要性が、本発明の課題とする重大な問題点で
ある。現代の高解像度グラフィックス画像システムにお
いては、ホスト・コンピュータとグラフィックス・サブ
システムとの間で膨大な量の画素データを転送しなけれ
ばならない。例えば、現在の比較的中程度の解像度であ
る1280×1024画素の表示画面の表示装置を設け
る場合、すなわち、1024本のラインが各々1280
個の画素をもつ場合でさえ、各画素がそれぞれ独自の画
素アドレスを有している。高いカラー解像度システムに
おいては、各画素自身が、24ビット数のようなカラー
奥行き情報と関連している。このように、画素の数の多
さ、画素データの画素当たりのビット数の多さ、及び画
素に関する独自の個別アドレスの数の多さを含むこの大
量のグラフィックス・データがある。従って、専用のグ
ラフィックス・サブシステムからメイン・システムへ所
与のグラフィックス機能を負担させる場合には、それに
より、メイン・システムとグラフィックス・サブシステ
ムとを相互接続するバスの限られた帯域幅の取り扱いに
おける問題が発生することは、明らかであろう。「バー
スト・モード」による現在のPCIバスでさえ、3Dレ
ンダリングに必要な必要な様々な画素データ、アドレ
ス、及び様々な前述の補助検査データの全てをこのよう
なバスを通して搬送することは、不可能ではないとして
も非実用的である。
【0012】
【発明が解決しようとする課題】以上により、本発明の
目的は、ホスト・コンピュータとグラフィックス・サブ
システムとの間でグラフィックス・インプリメンテーシ
ョンを効果的に分散するシステムを提供することであ
る。これにより、余剰のホスト能力の利用による関連コ
ストにおける有利性を享受すると同時に、全てのグラフ
ィックス操作をグラフィックス・サブシステム自身で実
行する高性能グラフィックス・サブシステムの必要性を
排除する。さらに、本発明の目的は、分散型グラフィッ
クス・インプリメンテーションを提供する一方、前述の
ホスト・システムとグラフィックス・サブシステムとを
相互接続するバス構造に関するボトルネックの問題をも
解決することである。
【0013】
【課題を解決するための手段】本発明は、ホスト・コン
ピュータ処理複合体からグラフィックス・サブシステム
へとグラフィックス情報を効率的に転送するシステム及
び方法であって、レンダリング及び最終的画素データが
ホスト・システムにより発生されるシステム及び方法を
提供する。
【0014】マスク・スパン・オペレーションが設けら
れ、実施例では、このオペレーションが、ホストのシス
テム・プロセッサ及び他のシステム資源により実行され
る3Dレンダリングを支援する。奥行き、アルファ、ス
テンシル、及び他の画素データの記憶装置は、システム
すなわちホスト・コンピュータのメイン・メモリに設け
られ、関連する1又は複数の補助グラフィックス・バッ
ファを含む。ホスト・システムのメイン・プロセッサ
は、画像に関連する画素データを発生する。このデータ
は、バスを通してグラフィックス・サブシステムへ転送
される前にバッファに対して検査される。この検査の結
果、ホスト・システムは、画素データと組み合わされて
グラフィックス・サブシステムへ転送されることになる
マスクを発生する。このマスクは、ホストにより実行さ
れた補助バッファ検査の単純化された複合体である。
【0015】実施例では、マスクの最上位ビットが、マ
スクに続く第1のすなわち最上位の画素のデータの更新
を制御する。後続する各マスク・ビットは、順次続く画
素の更新を制御する。従って、システムにスパン・コマ
ンドが設けられ、実施例では、そのフォーマットは、
[ポリ・スパン・コマンド(命令コードと、ホスト−グラ
フィックス・サブシステム間で転送されるデータ構造の
カウント)][第1の画素のアドレス][幅、すなわち、グ
ラフィックス・サブシステムによりレンダリングされる
画素数のカウント][マスク]である。従って、本発明に
よる上記のスパン・コマンドを用いて、例えば、画素
(0,0)、(4,0)、及び(8,0)をグラフィッ
ク・サブシステムのフレーム・バッファ要素へと更新す
る場合、ホスト・システムは、ポリ・スパン・コマンド
/カウント、第1の画素(0,0)のアドレス、幅
「9」、及び、マスク「B100010001」のみ
を、ホストとグラフィックス・サブシステムとを相互接
続するPCIバス等のバスを通して伝達するだけであ
る。このように、マスク・スパン・コマンドを使用する
ことによりホストとグラフィックス・サブシステムとの
間のグラフィックス・データの転送効率の飛躍的向上が
実現される。仮に、マスク・スパン・コマンドを使用し
なければ、上記の幅「9」のスパン及び「B10001
0001」のマスクを発生するために複数のスパン・コ
マンドが必要となるであろう。さらに、グラフィックス
・サブシステムにおいては、このマスクが、グラフィッ
クス・サブシステムへ先に転送された画素レンダリング
・データのサブセットを決定するために用いられる。こ
れにより、このような画素のサブセットが、グラフィッ
クス・サブシステムのフレーム・バッファへ書き込ま
れ、その後、グラフィックス・サブシステムと互いに接
続された関連のグラフィックス出力装置上に表示され
る。
【0016】ポリ・スパン・コマンドとしては、基本ポ
リ・スパン、ポリ・マスク・スパン、カラー補間ポリ・
スパン、及び、最も一般的にはカラー補間ポリ・マスク
・スパンが含まれ、様々なスパンに対して必要に応じて
用いられる。スパン内に所定の増分の変量で変化するカ
ラーが存在する場合、そのカラーを処理するべく、ホス
トからグラフィックス・サブシステムへのグラフィック
ス・データ伝送をさらに効率的なものとする。具体的に
は、ホスト−グラフィックス・サブシステム間のバスに
対し、各画素について個別化された完全なカラー・デー
タとは対照的な単純化されたカラー・データを与える。
この単純化されたカラー・データを利用することによ
り、グラフィックス・サブシステムは、表示すべき画素
の決定のためにマスクを利用する以外に各画素について
のカラーを補間するためにもマスクを利用することがで
きる。カラーの場合の実施例では、[デルタ赤]、[デル
タ緑]、[デルタ青]の形の初期データ構造が与えられ、
ホストからグラフィックス・サブシステムへ伝送され
る。その場合、各カラーについてのデルタ整数部及びデ
ルタ小数部は、連続する各画素においてその直前の画素
に対して変化したカラーの増分を示すように与えられ
る。この初期データ構造は、ポリ・スパン・コマンド内
の全てのスパンに該当する。同様に、[初期赤]、[初期
緑]、[初期青]の形の基本データ構造が与えられ、各カ
ラーについて、初期整数成分及び初期小数成分を含む開
始カラー・ベースが与えられる。初期データ構造の場合
と同様に、この基本データ構造は、スパン内の画素に対
応する。従って、グラフィックス・コントローラ自身
は、表示されるスパンの各画素について、そのスパンの
第1の画素の対応する初期カラーと、そのスパン内の連
続する隣接画素におけるカラーの変化量を規定するカラ
ー増分とからそのカラーを計算することができる。
【0017】
【発明の実施の形態】コンピュータ化されたグラフィッ
クス画像システムにおいては、画像当たりの画素数の増
大、カラー解像度の向上、フルモーション・ビデオ等に
関する拡張機能が、探求され続けている。一方、このこ
とは、ホスト・システムとグラフィックス・サブシステ
ムとの間を接続する限られた帯域幅のバスを通して益々
増大する情報を効率的に転送可能とするという深刻な問
題を生じさせる。奥行きやアルファ等のバッファ及び検
査により提供される更なる機能への要望と、ホスト・コ
ンピュータとグラフィックス・サブシステムとの間のグ
ラフィックス情報の効率的転送の問題は、各画素ベース
に基づくこの検査に関係するアドレス情報を維持する必
要性のために、さらに悪い状況となる。補助バッファに
対するホスト検査の結果からいずれの画素が表示されな
いかをグラフィックス・サブシステムにおいて識別する
ために個々の画素アドレスが必要とされる場合に、バス
帯域幅の制限によってバスを介した個々の画素アドレス
の転送が妨げられる。
【0018】従って、各画素に関する補助バッファに対
するシステム・メモリの検査結果及びカラー・データを
グラフィックス・サブシステムへ送ると同時に、アドレ
ス・オーバヘッドを最小限とすることができる転送方法
が切実に求められた。
【0019】図1は、本発明の実施例に用いられるデジ
タル・コンピュータ・システム10の構成図である。こ
のようなコンピュータは、IBMコーポレーションによ
り製品化されているRISCベースのシステム等、ワー
クステーションの形態をとることができる。しかしなが
ら、本発明はこの形態に限定されず、グラフィックス情
報の表示のためにグラフィックス・サブシステムを利用
する実質的に任意のコンピュータ・システムに対して同
等に適用可能である。
【0020】図1を参照すると、コンピュータは、メイ
ン・メモリ12へ接続された1又は複数のメインプロセ
ッサ11と、ホスト10Aのハードディスク12Aを具
備する。汎用的な入力装置13及び出力装置14が、そ
れぞれホストへ付設される。このような入力装置として
は、キーボード、マウス、タブレット、若しくは他の形
式の入力装置である。出力装置14としては、テキスト
・モニタ、プロッタ、若しくは他の既知の出力装置があ
る。よく知られたディスケット若しくはコンパクト・デ
ィスク等のコンピュータ読取り可能な着脱自在の媒体1
9を、ディスク・ドライブ若しくはCDROMドライブ
等の入出力装置18へ挿入することができる。データ
は、入出力コントローラ17により制御される入出力装
置18によって、着脱自在の媒体から読み取られ又はこ
れに対して書き込まれる。入出力コントローラは、バス
16を介してメイン・プロセッサと情報伝達を行う。メ
イン・メモリ12、ハード・ディスク12A、及び着脱
自在の媒体19は全て、メイン・プロセッサ11により
処理されるデータを記憶する「メモリ」と称される。
【0021】本発明の重要な特徴は、ホスト・システム
10Aが、さらにメイン・プロセッサ11及びメイン・
メモリ12と互いに接続されたメモリ・コントローラ3
0を含むことである。これは、メイン・メモリ内に存在
する表示される画素に関連するグラフィックス情報の処
理及び記憶を制御するためである。特に、以下詳細に述
べるように、このメモリ・コントローラの重要な機能
は、様々な補助バッファに対するグラフィックス・デー
タの「検査」を制御することである。これらの補助バッ
ファは、その後にレンダリングを行って表示するべき画
素及びそれを実行する方法を制御するための情報を格納
する。このメモリ・コントローラ30の検査機能は、ソ
フトウェアで実施可能であるが、通常、ハードウェアと
して実施される。
【0022】補助バッファの利用の一例として、「奥行
き」すなわち「Z」バッファがメイン・メモリ12に含
められる。画像の所与の画素が処理されているとき、シ
ステム10は、この画素を前面で覆い見えなくしている
オブジェクトがあるか否かを判断することにより、画像
の見かけの奥行きを与えるために呼び出される(この場
合、その画素の画像と視者との間に別の画像が存在する
ので、その画素は表示されないことが望ましい)。従っ
て、メモリ・コントローラ30及びメイン・メモリ12
と連係してメイン・プロセッサ11により行われるこの
ような「検査」の一つは、所与の画素の場所に対応する
場所におけるメイン・メモリ12のZバッファを検査す
ることである。この検査は、元の画素を覆い見えなくす
る別の画像に関連する別の画素がその同じ場所に実際に
存在するか否かを判断するものである。この補助バッフ
ァ検査については、後に詳述する。
【0023】図2に示すように、本発明は、図1に示す
グラフィックス・アダプタ20と連係して好適に実施さ
れる。図2は、グラフィックス・アダプタ20の一部の
詳細な構成図である。グラフィックス・アダプタ20の
これらの部分は、グラフィックス・プロセッサ22、フ
レーム・バッファ・メモリ24、及びRAMDAC25
Aを含む。フレーム・バッファ24は、典型例では、バ
ンク0〜3のような複数のメモリ・バンクをさらに含む
(参照符号41〜44。以降、それぞれメモリ・バンク
0〜3と称する)。フレーム・バッファは、ウィンドウ
識別子メモリ(WID)45を含むことが好ましい。グ
ラフィックス・プロセッサ22は、適宜のインタフェー
ス・バス46及び画素アドレス・バス46Aによりフレ
ーム・バッファ24のメモリ・バンク0〜3及びWID
45へ接続される。メモリ・バンクは、グラフィックス
出力装置15の画面上に表示される画素データを記憶す
るために用いられる。画素データは、画素アドレス・バ
ス46Aを介して与えられるアドレスに基づき、バス・
インタフェース46を介してグラフィックス・プロセッ
サにより更新される。
【0024】マスク・スパン・フォーマットの詳細は、
図3〜図5を参照して後述する。しかしながら、本発明
の動作を容易に理解するため、図3〜図5のアドレス及
びフォーマットの実施例の詳細に触れる前に図7を参照
する。図7は、本発明がいかに機能するかを示した概念
図である。
【0025】代表的なシステム・メモリ・マップ62
は、コンピュータ化されたグラフィックス・ステーショ
ンにおける様々なメモリ要素を反映している。このよう
に、例えば、初期プログラム・ロード又はブート・コー
ドを含む読取り専用メモリ(ROM)があり、実メモリ
12は、図1のホスト・コンピュータのメイン・メモリ
に対応するように表され、そしてメモリ・マップの一区
域は、図1に示したフレーム・バッファ24として用意
されている。システム・メモリ・マップ62の右側に
は、システム・メモリ・マップ62のフレーム・バッフ
ァ24部分を拡大して概念的に示した図を描いている。
所与の時点においてフレーム・バッファは、バッファの
複数の区域を含み、各々の区域が、図7に示す画面68
等のグラフィックス表示上の固有のライン番号に関連付
けられている。通常の表示は、例えば、768本のこの
ような画素のラインを有し、そして各ラインが、例え
ば、1024個の画素から構成される。説明のために、
ラインA(符号66)がフレーム・バッファ拡大図64
の中央部分に描かれており、そして表示画面68内にそ
の一部がスパンAとして概念的に示されている。
【0026】さらに、説明のために、ボックス72の下
にある画素に関する画像情報を見えなくするオブジェク
ト70が、前面に存在すると想定する。これは、図1の
メイン・メモリ12に記憶されたZバッファに格納され
た「奥行き」情報に対応すると認識される。スパンA
は、画面68の中央部分の複数の四角からなる水平ライ
ンにより概念的に描かれた複数の水平画素に対応するも
のとする。
【0027】前述のように、メイン・プロセッサ11
は、メイン・メモリ12内のこれらの奥行きバッファす
なわちZバッファ等の補助バッファを検査し、そして、
ボックス72より下の画像に関する画素はレンダリング
可能であるにも拘わらず、(ボックス72において前面
にオブジェクト70が存在するために)レンダリングに
関する実際の画素は見えなくされるので、グラフィック
ス出力装置15上には表示されないことを判断する。し
かしながら、本発明の重要な特徴は、ボックス72の下
に位置するこの画素の表示回避を実現するために、ボッ
クス72の各可視部分に関連する固有のスパンを、バス
16を通してメイン・プロセッサ11からグラフィック
ス・アダプタ20へ転送する必要がない点である。この
ように、例えば、スパンA(符号66)の各可視部分に
関連する固有のスパンの伝送を避けることにより、限ら
れた帯域幅のバス16を通してのグラフィックス情報の
転送効率が格段に向上する。これについては、次の説明
によりさらに明らかとなる。
【0028】さらに図7を参照する。メイン・プロセッ
サ11は、メイン・メモリ12に格納された補助バッフ
ァに関してホスト上で補助バッファ検査を行う際、マス
ク126を発生する。このマスクは、基本的概念として
は、マスクの各位置に関連する画素が表示されるか否か
を示す一連の「1」及び「0」である。よって、図7の
非常に単純な例では、画素ボックス72に関する位置に
おいてマスク126内では「0」が存在する。このこと
は、ボックス72の下に位置するこの特定の画素が、ボ
ックス72で囲まれた領域に重なるオブジェクト70の
存在により見えなくなるために、表示されないことを意
味する。仮に、オブジェクト70が存在しなければ、ボ
ックス72の下の元の画素は表示されるであろう。
【0029】従って本発明によれば、補助バッファ検査
の結果、メイン・プロセッサ11によりこのマスク12
6が発生され、そしてバス16を通してグラフィックス
・アダプタ20へ伝送される。後にさらに詳述するよう
に、このマスクにより、バス・バースト構造内で伝送さ
れる更なるスパン・コマンドを省くことができる。
【0030】さらに本発明によれば、メイン・プロセッ
サ11が、図7の表示画面68の領域82を構成する複
数のラインを表示するために必要な少数の他の重要なパ
ラメータを、バス16を通してグラフィックス・アダプ
タ20へ伝送する。先ず、スパンA(符号66)の第1
の画素の先頭X,Y座標に対応する開始アドレスが伝送
される。次に、表示するべきスパンに関連する画素の数
に関数的に関係するスパン幅56が伝送される。
【0031】さらに前述のように、マスク126はメイ
ン・プロセッサ11からグラフィックス・サブシステム
へ伝送されるが、その場合、表示されるべき各画素に関
連するビットが設けられる。
【0032】図4及び図5に示す、先頭X,Y座標12
0、幅124、マスク126、並びにカラー・データ1
16及び118等の伝送されるべきパラメータの選択に
関して非常に重要な点を注記する。この画像データに関
連して唯1つのスパンのみがバス16を通して伝送され
ていることが重要である。それは、具体的には、そのス
パンAの先頭アドレスX,Yを含んでいる。
【0033】マスク・スパンを利用することにより、グ
ラフィックス・コントローラは、そのスパンについての
カラー画素データを発生する。その一方で、ホスト・シ
ステム内のCPU又は専用ハードウェアにより補助バッ
ファ検査が行われる。
【0034】図7のスパンAを参照すると、本発明のポ
リ・マスク・スパンを用いる場合、一実施例において
は、隣り合う画素の互いのカラーの間に規則的に変化す
る増分が存在すると見なされるので、ホストからグラフ
ィックス・サブシステムへ初期カラー・ベースとカラー
増分データとを伝送する必要がない。しかしながら、図
7のスパン66における連続する画素に関してカラーの
規則的変化量が存在する場合には、本発明によるカラー
補間機構が設けられる。この例では、スパン66により
表されるスパンに関して、このスパンの最初の画素71
から最後の画素73まで進むにつれて所与のカラーが規
則的変化量で増加し若しくは減少することになる。この
ような場合、このスパンを構成する画素の各々について
全カラー・データを伝送するよりは、図3に示すコマン
ド形式の後半の2種に示すようなカラー補間機構を用い
る一種のポリ・スパン・コマンドが利用される。この例
では、各画素について全カラー情報を伝送することを避
けるために、カラー・ベース及びカラー増分に関するカ
ラー・データのみが伝送される。具体的には、各カラー
について初期の整数部及び小数部が、基本データ構造1
06(図5)により伝送される。基本データ構造106
は、そのスパンの第1の画素71の初期カラーすなわち
カラー・ベースを表す。同様に、初期データ構造104
(図4)により、各カラーについてのカラー増分のみが
伝送される。その形式は、各カラーについてのデルタ整
数部及びデルタ小数部からなる。グラフィックス・サブ
システムがこのカラー・ベース及びカラー増分の情報を
受信すると、スパンAのスパン内の所与の画素の特定の
カラーを計算することができる。なぜなら、グラフィッ
クス・サブシステムは、第1の画素71についての初期
RGBカラーを(基本データ構造内のカラー・ベースの
データにより)認知しているので、グラフィックス・プ
ロセッサは、スパン66内の所与の画素の位置に従って
カラー・ベースにカラー増分を加えることによりその特
定の画素の特定のカラーを計算することができるのであ
る。
【0035】以上により、本発明の動作の全体的な理解
が得られたので、特定の実施例について、具体的には、
実際的な例におけるポリ・マスク・スパンのフォーマッ
トについてより詳細な説明を行う。
【0036】インスタンスは、「スパン」が存在する場
所での画像化により生じる。スパンは、一定の若しくは
補間される(すなわち規則的に変化する)カラーを有
し、同じYアドレスと順次増加するXアドレスとを有す
る画素のグループとして技術的に知られている。このよ
うなインスタンスにおいて、本発明による「マスクされ
たスパン(マスク・スパン)」が用いられる。この場合、
グラフィックス・サブシステム20がスパンをレンダリ
ングするために用いられる一方、システム・プロセッサ
11又は特殊なハードウェアが補助バッファ検査を実行
する。従って本発明によるマスク・スパンは、同じカラ
ーのスパンをレンダリングしたい場合、又は、カラー補
間によりスパン内でカラーがどの様に変換するかが既知
である場合に有効に適用される。
【0037】この機能の実行においてメモリ・コントロ
ーラ30は、プロセッサ11により発生されるスパン
を、本発明によるマスク・スパンへ変更するために用い
られる。このマスク・スパンが、バス16を通してグラ
フィックス・アダプタ22へ伝送されることになる。本
発明では、このマスク・スパン・オペレーションが、図
3及び図4を参照して後述するコマンドに応答して実行
される。このコマンドに応答して、メモリ・コントロー
ラ30は、Zバッファ及び他の補助バッファの検査を実
行し、そしてバスを介してグラフィックス・サブシステ
ム20へ伝送されるマスクを発生する。このマスクは、
少なくとも第1の画素の先頭X,Yアドレス、そのスパ
ンの幅、及び伝送されるデータ構造のカウントと共に伝
送され、そして必要に応じてカラー情報と共に伝送され
る。
【0038】グラフィックス・アダプタ・エンジンは、
フレーム・バッファ24へのスパンをレンダリングす
る。バス16を通して伝送される増減のあるカラーが用
いられるが、さらにグラフィックス・プロセッサ22
は、メモリ・コントローラ30により行われた補助バッ
ファ検査に基づいてマスク構成に反映された所与の画素
をレンダリングしないためにマスクを利用する。本発明
により、マスクされたDFAの場合と同様に、マスク・
スパンについても、バス16の限られた帯域幅に起因す
る深刻なボトルネックの問題が解決されることが容易に
理解されるであろう。このようにしてワークロードが分
散されており、メモリ・コントローラ30がスパンを受
け取って奥行きやアルファ等を補間する。すなわちマス
クされたDFAにおけると同様の方法によりメイン・メ
モリ12内にZバッファ及び他のバッファが維持されて
いるので、それらの次元でスパンを延在させる。従って
メモリ・コントローラ30は、例えば次元Zの場合、ス
パン全体に沿って増分を進め、補助バッファに対して個
々の検査を実行する。しかしながらここでは、メイン・
プロセッサ22がZ値を発生する替わりに、メモリ・コ
ントローラ30が、専用ハードウェアで必要なZ値を発
生することが好適である。この検査の結果がマスクであ
る。
【0039】メモリ・コントローラは、スパン幅及びカ
ラー増分を発生する。これらはグラフィックス・サブシ
ステム内でカラーを補間する際に用いられることにな
る。さらに実施例においては、これらのカラー増分がス
パン毎に伝送されるのではなく、初期カラーがスパン毎
に伝送されることによりバスを通るデータ転送が軽減さ
れる。この方法においては、プロセッサ又はサブシステ
ムのいずれかにワークロード全体を集中させる替わり
に、画素を発生するワークロードがホスト・コンピュー
タ10Aとグラフィックス・サブシステムとの間で分散
される。
【0040】従って、図3及び図4に示すスパン・コマ
ンド及びその詳細を説明する前に、概略すると、マスク
DFAオペレーションと同様に、マスク・スパン・オペ
レーションが発生されるとスパンに対してマスクが適用
される。マスク・ビットの「1」は、フレーム・バッフ
ァに対して画素を更新させる一方、マスク・ビットの
「0」は、フレーム・バッファに対して画素の更新を禁
止する。本発明の好適例では、1つのマスク・ワード
が、32ビット若しくはそれより少ないビットのスパン
幅として設けられる。マスク・スパン・コマンドは、一
般的に次の形式である。 コマンド(命令コード、カウント) X,Yアドレス 幅 マスク
【0041】具体例として、スパン・コマンドを用いて
フレーム・バッファに対し画素(0,0)、(4,
0)、及び(8,0)を更新させるためには、一般的
に、第1の画素(0,0)のアドレス、幅「9」、及び
マスク「B100010001」のみをバスを通して伝
送すればよい。
【0042】図3は、スパン・コマンドの実施例を詳細
に示す図である。先ず、コマンド構造の実施例において
は、特定の命令コードに従って4種の異なるスパン・コ
マンドのうちのいずれか1つを表すポリ・スパン・コマ
ンドとして実現される。スパン・コマンドの各々の特定
の形式に関係するのは、単にいずれのパラメータが必要
とされるかという問題にすぎない。マスクを利用すると
いう教示に従って、ポリ・スパン・コマンドの2つの重
要な形式であるポリ・マスク・スパン及びカラー補間ポ
リ・マスク・スパンが設けられる。後者は一般的な形式
であり、データ構造の全ての要素を用いる。スパン・コ
マンドを詳細に説明する前に、本発明は、1グループの
スパンを1つのコマンドを用いて実行するように考慮し
ていることを注記する。すなわち、図4の初期データ構
造により、スパン・コマンド毎にカラー増分を1回伝送
するのみである。図5は、初期の赤、緑、青の各カラ
ー、第1の画素のX,Y座標、幅、及びマスクをリスト
しており、後述するようにスパン毎に送られる。
【0043】図3には、実施例におけるコマンドに関連
する特定の命令コードにより決定されるポリ・スパン・
コマンドの4種の形式が示されている。図4及び図5を
参照して後に詳述するが、カラー補間ポリ・マスク・ス
パンは、そのスパン内のカラー変化を考慮した最も一般
的な形式である。従って、「初期パラメータ」及び「基
本データ構造」の欄に示すように、この最も一般的な形
式は、これに比べて一般的でない他のコマンド形式の全
てのパラメータ及びデータ構造を包含している。
【0044】図4中、コマンド・ワード102は、図3
の各種コマンド形式のいずれを所望するかを特定の命令
コード108により指定する。このコマンド・ワード1
02はさらにカウント110を含んでおり、これは後続
するデータ構造の数を示す。
【0045】図4には、図3の初期パラメータを含む初
期データ構造104も示されている。この初期データ構
造104は、赤、緑及び青についてのカラー増分(デル
タ)を含み、その各カラーは、デルタ整数部112及び
デルタ小数部114に関連付けられる。
【0046】図5は、図3に示した基本データ構造を表
現した図である。このデータ構造は、赤、緑及び青の各
カラーについてのカラー・ベースを含み、それぞれ初期
カラー整数部及び初期カラー小数部118に関連付けら
れる。基本データ構造106は、さらに、スパンの最左
画素のX,Y座標120、スパン124の幅の表現、及
び重要なスパン・マスク126を含む。
【0047】非カラー補間スパン・オペレーション(図
3中、前半の2種のスパン・コマンド)は、指定された
幅124の前景カラーにおける水平線を描くことにな
り、指定されたアドレス120から開始する。カラー補
間スパン(図3中、後半の2種のスパン・コマンド)
は、基本データ構造106のカラー・ベースにより指定
された初期カラー値(すなわち、初期整数部116及び
初期小数部118)で開始され、描かれる各画素につき
初期データ構造104のカラー増分値により増分され
る。カラー増分値は、1つのポリ・スパン・コマンド内
の全てのスパンについて用いられる。さらに、スパンは
X軸正方向(すなわち、画面上の左から右)へ発生され
るが、所望により、セットされたときに負のマスク・ス
パン若しくは負のカラー補間スパンを実現するコントロ
ーラ・レジスタ・ビットを設けてもよい。
【0048】X軸の正又は負のいずれの方向にしても、
カラー補間マスク・スパン及びカラー補間スパンを実施
することが望ましい。マスク・スパン・コマンドが発生
されると、スパンに対してマスクを適用する。マスク・
ビット「1」は、発生された画素をフレーム・バッファ
24に対して更新させる。同様にマスク・ビット「0」
は、フレーム・バッファに対しその発生された画素につ
いての更新を禁止する。1つのマスク・ワードは、32
ビット若しくはそれより少ないビットの各スパン幅とし
て設けられる。すなわち、スパンを包含するために十分
なマスク・ワードが設けられなければならない。具体例
として、好適にはX及びYの座標値は、2個の16ビッ
トの整数である。サブ画素アドレス指定がイネーブルの
ときは、X及びYの座標値が12ビットの整数部と4ビ
ットの小数部とを有する。同様に、カラー増分も、9ビ
ットの整数部と16ビットの小数部とからなる2つの補
足し合う値である。8ビット・インデックス又は24ビ
ット真カラーのカラー解釈は、記載の実施例でサポート
される。24ビットの真カラー・モードは、3つのカラ
ー・スパンの全てを補間する。その結果、所望に応じて
8ビット若しくは16ビットの真カラー画素へカラー圧
縮することができる。毎画素8ビットのカラー・モード
のみが、8ビット画素を直接生成するために青の初期パ
ラメータ及び増分パラメータを用いることになる。
【0049】図6は、本発明のオペレーションのハイレ
ベルの流れ図である。ブロック84は最初のステップを
示しており、ホスト・コンピュータのメイン・プロセッ
サ11が、メイン・メモリ12内に含まれる補助バッフ
ァに対して「Z」検査すなわち奥行き検査及び他の検査
を実行する。バッファ検査及びレンダリングの結果、プ
ロセッサ11は、画素セットの中のいずれの画素がレン
ダリングされるかを決定する。ブロック86において、
バスを通して情報を転送するために、画素セットの第1
の画素のアドレス80(図7)が発生される。次に、ブ
ロック88においてプロセッサ11が、転送される画素
情報のカウント56を発生する。さらにプロセッサは、
カラー増分及びカラー・ベースからなる初期データ構造
及び基本データ構造の構成を必要に応じて発生する。こ
のとき、所望により、スパンのカラーが解釈される。そ
の後、ブロック90においてメイン・システム・プロセ
ッサ11は、再びブロック84の補助バッファ検査に応
答して、適切なマスク126を発生する。プロセッサ1
1は、ブロック92において、画素をレンダリングする
ように画素データ54(図7)を発生する。
【0050】最後に、本発明によりデータ構造の必要な
構成要素が発生されると、これらは、ブロック94にお
いてバスを通してバースト・モードでホストからグラフ
ィックス・アダプタへ伝送される。具体的には、図4お
よび図5に示すように、先に発生された第1の画素の
X,Y座標、画素のカウント、マスク、カラー・ベース
及びカラー増分、並びに画素データである。すなわち、
図4および図5の初期データ構造及び基本データ構造
が、バスを通してグラフィックス・アダプタ20等のグ
ラフィックス・サブシステム内のグラフィックス・アダ
プタ・プロセッサ22へ伝送される。
【0051】その後、ブロック96においてグラフィッ
クス・アダプタ・プロセッサは、バスを通して伝送され
た情報に基づいて動作し、このデータの関数として特に
マスクの関数としてフレーム・バッファ24内の画素デ
ータを記憶させる。次にブロック98において、こうし
てフレーム・バッファ24に記憶された画素データが、
汎用的方法によりRAMDAC25A(図2)を用いて
ビデオ・データ・フォーマットへ変換される。その後、
ブロック100において、このビデオ・データが所望の
視覚表示を実現するために利用される。
【0052】以上、本発明の特定の実施例について説明
したが、本発明は、この実施例に限定されず様々な変形
が可能である。例えば、(より高性能のワークステーシ
ョン等とは区別される)通常のパーソナル・コンピュー
タにおいては、メモリ・コントローラ30の統合検査機
能は、必ずしも設けなくともよい。その場合であって
も、本明細書に開示されたデータ構造、バスを介するバ
ースト・モードと連係されたマスク、及び、可視のすな
わちレンダリングされる画素に関する個々のスパン転送
の回避に関する本発明の教示を利用することにより、専
用のメモリ・コントローラの検査機能が設けられないと
しても本発明の有益性は実現される。
【0053】大きさに無関係であるこのマスク情報構造
の重要な特徴は、本質的に、限られた帯域幅のバスを通
して全ての3D形式の補助バッファ検査の構成を提供す
ることである。例えば、メイン・プロセッサ11及びメ
モリ・コントローラ30が実行した奥行き検査すなわち
Z検査等である。
【0054】特定の実施例を参照して本発明を示しかつ
説明したが、当業者であれば、本発明の主旨及び範囲か
ら逸脱することなく、形態及び詳細において前述の及び
他の変更が可能であることは自明であろう。
【0055】まとめとして、本発明の構成に関して、以
下の事項を開示する。
【0056】(1)マスク・スパン・データ構造を発生
するホスト・コンピュータ・システム手段と、グラフィ
ックス・サブシステム手段と、前記ホスト・コンピュー
タ・システム手段と前記グラフィックス・サブシステム
手段とを相互に接続し、該ホスト・コンピュータ・シス
テム手段から該グラフィックス・サブシステム手段へ前
記データ構造を伝送するバス手段とを有するコンピュー
タ・グラフィックス・システム。 (2)前記データ構造が、3D画像の個々の画素に関連
するビットからなるスパン・マスクを含む上記(1)に
記載のコンピュータ・グラフィックス・システム。 (3)前記グラフィックス・サブシステム手段が、フレ
ーム・バッファ手段と、前記フレーム・バッファ手段へ
接続され、前記データ構造の関数として該フレーム・バ
ッファ手段内に画素の表現を記憶させるグラフィックス
・プロセッサ手段とを有する上記(2)に記載のコンピ
ュータ・グラフィックス・システム。 (4)前記グラフィックス・プロセッサ手段が、前記ス
パン・マスクの関数として前記グラフィックス・プロセ
ッサ手段により発生される画素データのセットのサブセ
ットを記憶させる上記(3)に記載のコンピュータ・グ
ラフィックス・システム。 (5)前記ホスト・コンピュータ・システム手段が、3
D画像に関係する情報を記憶する少なくとも1つの補助
バッファ手段と、前記補助バッファ手段と相互に接続さ
れ、該補助バッファ手段を検査しかつ該検査に応答して
前記スパン・マスクを発生するメモリ・コントローラ手
段とを有する上記(4)に記載のコンピュータ・グラフ
ィックス・システム。 (6)前記スパン・マスクの各ビットが、前記画素デー
タのセットからの対応する前記個々の画素が前記グラフ
ィックス・サブシステム手段の前記フレーム・バッファ
手段内に記憶されるべきか否かを示す上記(5)に記載
のコンピュータ・グラフィックス・システム。 (7)前記データ構造が、コマンド・ワードと、初期デ
ータ構造と、スパン・マスクを含む基本データ構造とを
有する上記(1)に記載のコンピュータ・グラフィック
ス・システム。 (8)前記コマンド・ワードが、ポリ・スパン・コマン
ド・ワードである上記(7)に記載のコンピュータ・グ
ラフィックス・システム。 (9)前記コマンド・ワードが、少なくともポリ・マス
ク・スパンとカラー補間ポリ・マスク・スパンとを含む
グループから一のスパンを規定する命令コードを有する
上記(8)に記載のコンピュータ・グラフィックス・シ
ステム。 (10)前記コマンド・ワードが、データ構造カウント
をさらに含む上記(9)に記載のコンピュータ・グラフ
ィックス・システム。 (11)前記初期データ構造が、前記スパンに関連する
カラー増分を規定し、前記基本データ構造が、前記スパ
ンに関連するカラー・ベースを規定する上記(10)に
記載のコンピュータ・グラフィックス・システム。 (12)前記ポリ・マスク・スパンが一般的な形式とし
て、前記初期データ構造が、[デルタ赤]、[デルタ緑]、
[デルタ青]の形式を含み、前記基本データ構造が、
{[初期赤]、[初期緑]、[初期青]、[Xn,Yn][-,W]、
[マスク]}の形式を含む上記(11)に記載のコンピュ
ータ・グラフィックス・システム。 (13)マスク・スパン・データ構造を記憶するグラフ
ィックス・アダプタ・メモリ手段と、フレーム・バッフ
ァ手段と、前記グラフィックス・アダプタ・メモリ手段
及び前記フレーム・バッファ手段と相互に接続されるグ
ラフィックス・プロセッサ手段とを有し、上記グラフィ
ックス・プロセッサ手段が、前記グラフィックス・アダ
プタ・メモリ手段から前記データ構造を取り出す手段
と、前記取り出されたデータ構造に応じて画素データの
セットのサブセットを発生するべく該画素データのセッ
トに対して操作する手段と、前記画素データのサブセッ
トを前記フレーム・バッファ手段内に記憶する手段とを
有するグラフィックス・サブシステム。 (14)前記データ構造が、前記画素データのサブセッ
トを一意的に規定するスパン・マスクを含む上記(1
3)に記載のグラフィックス・サブシステム。 (15)前記データ構造が、コマンド・ワードと、初期
データ構造と、前記スパン・マスクを含む基本データ構
造とを有する上記(14)に記載のグラフィックス・サ
ブシステム。 (16)グラフィックス・データの発生、伝送、及び処
理を行わせるプログラム・コード手段を有するプログラ
ム記憶媒体であって、マスク・スパン・データ構造を発
生するプログラム・コード手段と、前記データ構造を伝
送するプログラム・コード手段と、グラフィックス表示
を生成するべく前記データ構造を処理するプログラム・
コード手段とを含むプログラム記憶媒体。 (17)前記データ構造が、画素データのセットと、該
画素データのセットのサブセットを規定するスパン・マ
スクとを含む上記(16)に記載の媒体。 (18)前記データ構造を発生する前記プログラム・コ
ード手段が、3Dオブジェクトに対して関数的に関係す
る前記スパン・マスクを発生するプログラム・コード手
段を含む上記(17)に記載の媒体。 (19)前記データ構造を処理する前記プログラム・コ
ード手段が、前記スパン・マスクに応じて前記画素デー
タのセットの前記サブセットを該マスクの関数として記
憶させるプログラム・コード手段を含む上記(18)に
記載の媒体。 (20)スパン・マスクされたアドレス・データ構造を
有する、コンピュータ・グラフィックス・システムにお
いて用いる記録媒体に存在するデータ構造。 (21)前記スパン・マスクが複数のビットを有し、各
ビットが画素データの中の個々の画素に対応する上記
(20)に記載のデータ構造。 (22)前記スパン・マスクの各ビットが、前記画素デ
ータの対応する個々の画素が表示されるか否かを規定す
る上記(21)に記載のデータ構造。 (23)前記スパン・マスクの少なくとも1つのビット
の状態が、3D画像データのバッファにより決定される
上記(22)に記載のデータ構造。 (24)前記スパン・マスクの少なくとも1つのビット
の状態が、前記3D画像データに表された第1のオブジ
ェクトの対応する画素が該第1のオブジェクトとは異な
る奥行きの平面内にある第2のオブジェクトにより見え
なくされるか否かについて関数的に関係する上記(2
3)に記載のデータ構造。
【図面の簡単な説明】
【図1】本発明によるグラフィックス情報の効率的転送
のための機構を含むデジタル・コンピュータ・システム
の構成図である。
【図2】図1のグラフィックス・アダプタ部分の詳細な
構成図である。
【図3】ポリ・スパン・コマンドにおけるアドレス・フ
ォーマットを概略的に示す図である。
【図4】本発明の実施例によるポリ・スパン・コマンド
定義を詳細に示す図である。
【図5】本発明の実施例によるポリ・スパン・コマンド
定義を詳細に示す図である。
【図6】本発明による図1の構成要素の動作を示す流れ
図である。
【図7】本発明の構成要素の動作を概念的に示す図であ
る。
【符号の説明】
10 コンピュータ・グラフィックス・システム 10A ホスト・コンピュータ 11 メイン・プロセッサ 12 メイン・メモリ 15 グラフィックス出力装置 16 バス 20 グラフィックス・アダプタ 22 グラフィックス・アダプタ・プロセッサ 23 グラフィックス・アダプタ・メモリ 24 フレーム・バッファ 24A ルックアップ・テーブル(LUT) 25 デジタル・アナログ変換器(DAC) 30 メモリ・コントローラ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 チャールズ・レイ・ジョーンズ アメリカ合衆国78759、テキサス州、オー スチン、カシア・ドライブ 10703 (72)発明者 ジョン・トーマス・ロバーソン アメリカ合衆国78759、テキサス州、オー スチン、アロウポイント・コーブ 6809 (72)発明者 ジョン・フレッド・スパナウス アメリカ合衆国78753、テキサス州、オー スチン、シーニック・ブラフ・ドライブ 9402

Claims (24)

    【特許請求の範囲】
  1. 【請求項1】マスク・スパン・データ構造を発生するホ
    スト・コンピュータ・システム手段と、 グラフィックス・サブシステム手段と、 前記ホスト・コンピュータ・システム手段と前記グラフ
    ィックス・サブシステム手段とを相互に接続し、該ホス
    ト・コンピュータ・システム手段から該グラフィックス
    ・サブシステム手段へ前記データ構造を伝送するバス手
    段とを有するコンピュータ・グラフィックス・システ
    ム。
  2. 【請求項2】前記データ構造が、3D画像の個々の画素
    に関連するビットからなるスパン・マスクを含む請求項
    1に記載のコンピュータ・グラフィックス・システム。
  3. 【請求項3】前記グラフィックス・サブシステム手段
    が、 フレーム・バッファ手段と、 前記フレーム・バッファ手段へ接続され、前記データ構
    造の関数として該フレーム・バッファ手段内に画素の表
    現を記憶させるグラフィックス・プロセッサ手段とを有
    する請求項2に記載のコンピュータ・グラフィックス・
    システム。
  4. 【請求項4】前記グラフィックス・プロセッサ手段が、
    前記スパン・マスクの関数として前記グラフィックス・
    プロセッサ手段により発生される画素データのセットの
    サブセットを記憶させる請求項3に記載のコンピュータ
    ・グラフィックス・システム。
  5. 【請求項5】前記ホスト・コンピュータ・システム手段
    が、 3D画像に関係する情報を記憶する少なくとも1つの補
    助バッファ手段と、 前記補助バッファ手段と相互に接続され、該補助バッフ
    ァ手段を検査しかつ該検査に応答して前記スパン・マス
    クを発生するメモリ・コントローラ手段とを有する請求
    項4に記載のコンピュータ・グラフィックス・システ
    ム。
  6. 【請求項6】前記スパン・マスクの各ビットが、前記画
    素データのセットからの対応する前記個々の画素が前記
    グラフィックス・サブシステム手段の前記フレーム・バ
    ッファ手段内に記憶されるべきか否かを示す請求項5に
    記載のコンピュータ・グラフィックス・システム。
  7. 【請求項7】前記データ構造が、 コマンド・ワードと、 初期データ構造と、 スパン・マスクを含む基本データ構造とを有する請求項
    1に記載のコンピュータ・グラフィックス・システム。
  8. 【請求項8】前記コマンド・ワードが、ポリ・スパン・
    コマンド・ワードである請求項7に記載のコンピュータ
    ・グラフィックス・システム。
  9. 【請求項9】前記コマンド・ワードが、少なくともポリ
    ・マスク・スパンとカラー補間ポリ・マスク・スパンと
    を含むグループから一のスパンを規定する命令コードを
    有する請求項8に記載のコンピュータ・グラフィックス
    ・システム。
  10. 【請求項10】前記コマンド・ワードが、データ構造カ
    ウントをさらに含む請求項9に記載のコンピュータ・グ
    ラフィックス・システム。
  11. 【請求項11】前記初期データ構造が、前記スパンに関
    連するカラー増分を規定し、 前記基本データ構造が、前記スパンに関連するカラー・
    ベースを規定する請求項10に記載のコンピュータ・グ
    ラフィックス・システム。
  12. 【請求項12】前記ポリ・マスク・スパンが一般的な形
    式として、 前記初期データ構造が、[デルタ赤]、[デルタ緑]、[デ
    ルタ青]の形式を含み、前記基本データ構造が、{[初期
    赤]、[初期緑]、[初期青]、[Xn,Yn][-,W]、[マス
    ク]}の形式を含む請求項11に記載のコンピュータ・
    グラフィックス・システム。
  13. 【請求項13】マスク・スパン・データ構造を記憶する
    グラフィックス・アダプタ・メモリ手段と、 フレーム・バッファ手段と、 前記グラフィックス・アダプタ・メモリ手段及び前記フ
    レーム・バッファ手段と相互に接続されるグラフィック
    ス・プロセッサ手段とを有し、 上記グラフィックス・プロセッサ手段が、 前記グラフィックス・アダプタ・メモリ手段から前記デ
    ータ構造を取り出す手段と、 前記取り出されたデータ構造に応じて画素データのセッ
    トのサブセットを発生するべく該画素データのセットに
    対して操作する手段と、 前記画素データのサブセットを前記フレーム・バッファ
    手段内に記憶する手段とを有するグラフィックス・サブ
    システム。
  14. 【請求項14】前記データ構造が、前記画素データのサ
    ブセットを一意的に規定するスパン・マスクを含む請求
    項13に記載のグラフィックス・サブシステム。
  15. 【請求項15】前記データ構造が、 コマンド・ワードと、 初期データ構造と、 前記スパン・マスクを含む基本データ構造とを有する請
    求項14に記載のグラフィックス・サブシステム。
  16. 【請求項16】グラフィックス・データの発生、伝送、
    及び処理を行わせるプログラム・コード手段を有するプ
    ログラム記憶媒体であって、 マスク・スパン・データ構造を発生するプログラム・コ
    ード手段と、 前記データ構造を伝送するプログラム・コード手段と、 グラフィックス表示を生成するべく前記データ構造を処
    理するプログラム・コード手段とを含むプログラム記憶
    媒体。
  17. 【請求項17】前記データ構造が、画素データのセット
    と、該画素データのセットのサブセットを規定するスパ
    ン・マスクとを含む請求項16に記載の媒体。
  18. 【請求項18】前記データ構造を発生する前記プログラ
    ム・コード手段が、3Dオブジェクトに対して関数的に
    関係する前記スパン・マスクを発生するプログラム・コ
    ード手段を含む請求項17に記載の媒体。
  19. 【請求項19】前記データ構造を処理する前記プログラ
    ム・コード手段が、前記スパン・マスクに応じて前記画
    素データのセットの前記サブセットを該マスクの関数と
    して記憶させるプログラム・コード手段を含む請求項1
    8に記載の媒体。
  20. 【請求項20】スパン・マスクされたアドレス・データ
    構造を有する、コンピュータ・グラフィックス・システ
    ムにおいて用いる記録媒体に存在するデータ構造。
  21. 【請求項21】前記スパン・マスクが複数のビットを有
    し、各ビットが画素データの中の個々の画素に対応する
    請求項20に記載のデータ構造。
  22. 【請求項22】前記スパン・マスクの各ビットが、前記
    画素データの対応する個々の画素が表示されるか否かを
    規定する請求項21に記載のデータ構造。
  23. 【請求項23】前記スパン・マスクの少なくとも1つの
    ビットの状態が、3D画像データのバッファにより決定
    される請求項22に記載のデータ構造。
  24. 【請求項24】前記スパン・マスクの少なくとも1つの
    ビットの状態が、前記3D画像データに表された第1の
    オブジェクトの対応する画素が該第1のオブジェクトと
    は異なる奥行きの平面内にある第2のオブジェクトによ
    り見えなくされるか否かについて関数的に関係する請求
    項23に記載のデータ構造。
JP9086754A 1996-04-22 1997-04-04 コンピュータ・グラフィックス・システム Pending JPH1074263A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/636093 1996-04-22
US08/636,093 US5790125A (en) 1996-04-22 1996-04-22 System and method for use in a computerized imaging system to efficiently transfer graphics information to a graphics subsystem employing masked span

Publications (1)

Publication Number Publication Date
JPH1074263A true JPH1074263A (ja) 1998-03-17

Family

ID=24550400

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9086754A Pending JPH1074263A (ja) 1996-04-22 1997-04-04 コンピュータ・グラフィックス・システム

Country Status (4)

Country Link
US (1) US5790125A (ja)
EP (1) EP0803797A1 (ja)
JP (1) JPH1074263A (ja)
KR (1) KR970071365A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100801317B1 (ko) 2006-08-16 2008-02-05 엠텍비젼 주식회사 3차원 그래픽 처리를 위한 가변 버퍼 시스템 및 그 방법

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6061069A (en) * 1996-07-26 2000-05-09 International Business Machines Corporation Apparatus and method of performing screen to screen blits in a color sliced frame buffer architecture
US6952215B1 (en) * 1999-03-31 2005-10-04 International Business Machines Corporation Method and system for graphics rendering using captured graphics hardware instructions
US6664955B1 (en) * 2000-03-15 2003-12-16 Sun Microsystems, Inc. Graphics system configured to interpolate pixel values
KR100767033B1 (ko) * 2001-09-11 2007-10-15 주식회사 도담시스템스 Pc 기반의 실시간 영상 운용 시스템
US6992707B2 (en) * 2002-03-06 2006-01-31 Hewlett-Packard Development Company, L.P. Delayed encoding based joint video and still image pipeline with still burst mode
US7202872B2 (en) * 2003-10-29 2007-04-10 Via Technologies, Inc. Apparatus for compressing data in a bit stream or bit pattern
US20090262125A1 (en) * 2008-04-18 2009-10-22 Vasanth Swaminathan Rendering A Multiple Viewpoint Image Into A Single Frame Buffer Using Off-Screen Rendering Surfaces
US8780122B2 (en) * 2009-09-16 2014-07-15 Nvidia Corporation Techniques for transferring graphics data from system memory to a discrete GPU
US20110169844A1 (en) * 2009-09-16 2011-07-14 Nvidia Corporation Content Protection Techniques on Heterogeneous Graphics Processing Units
US20110063306A1 (en) * 2009-09-16 2011-03-17 Nvidia Corporation CO-PROCESSING TECHNIQUES ON HETEROGENEOUS GPUs INCLUDING IDENTIFYING ONE GPU AS A NON-GRAPHICS DEVICE
US8615742B2 (en) 2010-11-16 2013-12-24 International Business Machines Corporation Autonomic hotspot profiling using paired performance sampling
US9280956B2 (en) * 2012-11-29 2016-03-08 Qualcomm Incorporated Graphics memory load mask for graphics processing

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4475104A (en) * 1983-01-17 1984-10-02 Lexidata Corporation Three-dimensional display system
US4862388A (en) * 1986-12-15 1989-08-29 General Electric Company Dynamic comprehensive distortion correction in a real time imaging system
US5265214A (en) * 1987-08-28 1993-11-23 Daikin Industries, Ltd. Filling processing apparatus and method
US5266941A (en) * 1991-02-15 1993-11-30 Silicon Graphics, Inc. Apparatus and method for controlling storage of display information in a computer system
US5230039A (en) * 1991-02-19 1993-07-20 Silicon Graphics, Inc. Texture range controls for improved texture mapping
US5293467A (en) * 1991-04-03 1994-03-08 Buchner Gregory C Method for resolving priority between a calligraphically-displayed point feature and both raster-displayed faces and other calligraphically-displayed point features in a CIG system
US5299309A (en) * 1992-01-02 1994-03-29 Industrial Technology Research Institute Fast graphics control system capable of simultaneously storing and executing graphics commands
US5369739A (en) * 1993-07-09 1994-11-29 Silicon Graphics, Inc. Apparatus and method for generating point sample masks in a graphics display system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100801317B1 (ko) 2006-08-16 2008-02-05 엠텍비젼 주식회사 3차원 그래픽 처리를 위한 가변 버퍼 시스템 및 그 방법

Also Published As

Publication number Publication date
KR970071365A (ko) 1997-11-07
EP0803797A1 (en) 1997-10-29
US5790125A (en) 1998-08-04

Similar Documents

Publication Publication Date Title
US5757375A (en) Computer graphics system and method employing frame buffer having subpixel field, display fields and a control field for relating display fields to the subpixel field
US6999087B2 (en) Dynamically adjusting sample density in a graphics system
US4967392A (en) Drawing processor for computer graphic system using a plurality of parallel processors which each handle a group of display screen scanlines
US5734806A (en) Method and apparatus for determining graphical object visibility
US6975322B2 (en) Dynamically adjusting a number of rendering passes in a graphics system
US7492376B2 (en) Graphics resampling system and method for use thereof
JPH09245179A (ja) コンピュータグラフィックス装置
US6166743A (en) Method and system for improved z-test during image rendering
JPH1091142A (ja) サイズ変更ビットブロック転送処理の一部として透過イネーブルビットの埋込みを行うシステム、装置および方法
JPH10124023A (ja) 圧縮フレーム・バッファによりグラフィックス画像データを二重バッファするためのシステムおよび方法
JPH08179743A (ja) ウインドウ表示処理装置
JPH1074263A (ja) コンピュータ・グラフィックス・システム
JP2000000018U (ja) 三次元オブジェクトを描出する装置
US5794037A (en) Direct access to slave processing by unprotected application using context saving and restoration
JPH0660173A (ja) 画像を縮小する方法および装置
US5579461A (en) Method and apparatus for filling polygons
US6867778B2 (en) End point value correction when traversing an edge using a quantized slope value
US6614443B1 (en) Method and system for addressing graphics data for efficient data access
JPH1069548A (ja) コンピュータ・グラフィックス・システム
JPH0714029A (ja) 線描画装置及び方法
US6529196B1 (en) Efficient stroking of vectors with arbitrary endpoints
JPH0652051A (ja) 階層メモリ制御
US6919898B2 (en) Method and apparatus for ascertaining and selectively requesting displayed data in a computer graphics system
JP2003132347A (ja) 画像処理装置
EP1345168A2 (en) Dynamically adjusting sample density and/or number of rendering passes in a graphics system