JP3058017B2 - グラフィックス画素データを変換するための装置および方法 - Google Patents

グラフィックス画素データを変換するための装置および方法

Info

Publication number
JP3058017B2
JP3058017B2 JP6187242A JP18724294A JP3058017B2 JP 3058017 B2 JP3058017 B2 JP 3058017B2 JP 6187242 A JP6187242 A JP 6187242A JP 18724294 A JP18724294 A JP 18724294A JP 3058017 B2 JP3058017 B2 JP 3058017B2
Authority
JP
Japan
Prior art keywords
pixel
test
buffer
processing
function
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP6187242A
Other languages
English (en)
Other versions
JPH07105385A (ja
Inventor
チャンドラセカール・ナラヤナスワミ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JPH07105385A publication Critical patent/JPH07105385A/ja
Application granted granted Critical
Publication of JP3058017B2 publication Critical patent/JP3058017B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はグラフィックス処理シス
テムに関し、具体的には、システム側の処理での画素処
理を効率的に実施するためのシステムに関する。
【0002】
【従来の技術】高機能グラフィックス処理システムは、
従来、専用ハードウェアに頼って複雑なグラフィックス
計算と画素処理を実行してきた。専用ハードウェアはこ
れらの処理ステップをすばやく効率的に実行するように
構成されている。
【0003】最近、汎用ワークステーション、特にRISC
アーキテクチャ・ワークステーションの処理能力が向上
したので、追加ハードウェアなしでこれらをグラフィッ
クス処理に使用できるようになった。複雑な画素処理の
計算実行に汎用プロセッサを使用すると多くの性能上の
問題が現れる。
【0004】画素処理手順には多数の分岐命令をもたら
す大量の条件付き論理が含まれる。この分岐には特定の
処理要件を満足するために多くの種類がある。多数の分
岐命令を含む手順では、分岐が命令パイプラインや命令
キャッシュの使用と干渉するので、命令スケジューリン
グの効率が極端に下がる。分岐に複数の種類が存在する
と、わずかな相違しかない大量の処理コードがもたらさ
れる。
【0005】非効率的な命令スケジューリングと大量の
実行可能コード・ライブラリのために、汎用ワークステ
ーションの複雑なグラフィックス処理を提供する能力が
低下し、専用ハードウェアを備えたシステムの性能に迫
る性能を提供できなくなる。
【0006】分岐命令の使用を制限し大量の実行可能コ
ードの必要をなくす画素処理動作を実施するためのシス
テムおよび処理が必要である。
【0007】異なる種類の分岐コードの問題に対する解
決策の1つが可変パラメータを用いて呼び出すことので
きる少数の分岐関数を定義することである。パラメータ
を使用することによって、条件ごとに別々のコード・セ
グメントを有する必要がなくなる。この解決策には、関
数呼出しに関連するオーバーヘッドに起因してプロセッ
サ・オーバーヘッドが増加せざるを得ないという短所が
ある。全体としての結果は従来技術の解決に対する性能
向上がほとんどなくなる可能性がある。
【0008】第2の解決策は汎用システムに新しい複雑
な画素処理命令を導入することである。実際には、新し
い命令が専用グラフィックス命令を有する専用グラフィ
ックス・ハードウェアの部分と入れ代わる。この手法に
は、しばしば多数の処理サイクルを必要とし、実行のス
ケジューリングが困難になる複雑な命令が作成されると
いう短所がある。この新命令は既存のコンパイラやツー
ルに簡単に組み込めない可能性があり、実際の使用が困
難になることもある。些細な機能変更のために、新しい
命令が無用になる可能性もある。また、新しい複雑な命
令の追加は縮小命令セット・コンピュータ(RISC)の設計
哲学に反する。最後に、この手法では、命令分岐は制限
されるが、全体的なコード・サイズの問題に対処してい
ない。
【0009】もう1つの手法では、アセンブリ言語コー
ドの断片(snippets)を作り、データ区域内にある現在関
連のある断片をシステムにアセンブルさせて実行させる
ことによってコード量を最少化するというのものであ
る。この手順は実際には関数呼出しオーバーヘッドとい
うペナルティなしで命令シーケンスの編集を提供する。
この手法によれば、実際にコード・サイズが最少になる
が、いくつかの欠点もある。アセンブリ言語コードを使
用するので、解決が非常に計算機固有になり、移植性が
非常に低くなる。コードの断片は現在のプロセッサ・レ
ジスタ使用情況を把握せず、その結果、レジスタ使用情
況に基づく最適化が不可能である。実行時に断片をアセ
ンブルするので、総合性能に影響するオーバーヘッドが
システムに導入される。この解決策は命令分岐の減少と
いう問題には対処せず、コード・サイズの最少化だけに
対処している。
【0010】
【発明が解決しようとする課題】したがって、プロセッ
サ・オーバーヘッドを大きく増加させずに分岐命令の数
を減らし、コードの基本サイズを小さくする解決が必要
である。
【0011】したがって、本発明の目的は多数の分岐命
令から生じる性能低下なしに複雑なグラフィック処理を
実行できるシステムを提供することである。
【0012】本発明のもう1つの目的は非常に冗長なコ
ードの多数のコピーを必要とせずに動作するグラフィッ
クス命令を処理するための方法を提供することである。
【0013】本発明のもう1つの目的は専用の命令シー
ケンスを使用するのではなく、記憶域常駐の修正可能パ
ラメータを使用して画素処理を制御することである。
【0014】
【課題を解決するための手段】本発明は汎用プロセッサ
上でより高い効率でグラフィックス・コマンドを処理す
るためのシステムおよび方法を提供する。本発明のシス
テムは命令シーケンスを変更するのではなく、コードの
操作のもとになるデータを変更することによって、異な
るパラメータに関する画素処理を実施する。データ区域
の修正に必要なオーバーヘッドは命令の修正に必要なオ
ーバーヘッドより少ない。記憶域常駐テーブルまたはロ
ード可能テーブルを使用することによって関数呼出しの
オーバーヘッドがなくなり、同様の柔軟性がもたらされ
る。専用アルゴリズムが汎用アルゴリズムで置換される
ので、性能ペナルティだけが生じる。しかし、全体とし
てはプロセッサ性能が向上する。
【0015】本発明の方法はテストのタイプとセレクタ
とを決定するステップと、関数およびセレクタに関連す
る係数を決定するためにルックアップ・テーブルをアク
セスするステップと、関数を解くステップと、結果を送
出するステップとによってグラフィック画素処理を実行
する。本発明の装置には、プロセッサと、セレクタの決
定、記憶域内のテーブルのアクセス、画素処理式内のテ
ーブル係数の置換および処理済み画素データのフレーム
・バッファへの供給のためにプロセッサ上で実施される
プログラム・コードとが含まれる。
【0016】前述およびその他の本発明の目的、特徴な
らびに長所は添付の図面に示される本発明の好ましい実
施例の下記の具体的な説明から明らかになる。添付図面
においては同一の符号が本発明の同一の部分を指す。
【0017】
【実施例】本発明は図1に示されたものなどのコンピュ
ータ・システムで実施される。このコンピュータ・シス
テムはIBM社のIBM RISC System/6000コンピュータであ
ることが好ましい(IBMとRISC System/6000はIBM社の登
録商標である)が、同様のワークステーション、パーソ
ナル・コンピュータまたはメインフレーム・コンピュー
タであればどれでも使用することができる。
【0018】コンピュータ・システム100 は処理装置10
2、ランダム・アクセス・メモリ104および永続記憶装置
122 を有する。さらに、任意指定の通信アダプタ106 を
用いて他のコンピュータ・システムと通信できる。入出
力制御機構112がビデオ表示装置114、キーボード116お
よびポインティング装置118との相互作用を制御する。
グラフィックス・メモリまたはフレーム・バッファ113
を入出力制御機構と表示装置の間に導入して、表示しよ
うとする表示イメージを記憶する。ディスク制御機構12
0は処理装置と永続記憶装置122の間の相互作用を制御す
る。この図に示されたオプション類は好ましい実施例に
使用される典型的な構成要素である。同様の機能を備え
た他の構成要素と図示の構成要素を置換することもで
き、たとえば永続記憶装置122 については磁気ディスク
の代わりに取外し可能のディスケットまたは光ドライブ
を使用でき、処理装置102 は多重プロセッサ・アーキテ
クチャまたは並列プロセッサ・アーキテクチャの多数の
処理エンジンから構成することもできる。
【0019】高機能グラフィックス処理を実行する処理
を全般的に図2に示す。高機能グラフィックス処理には
3次元(3D)処理が含まれるが、2次元(2D)処理も含まれ
る場合がある。グラフィックス・アプリケーション202
がシステム・ユーザと対話して一連のグラフィックス・
コマンドとして表現されるグラフィック・イメージを作
成する。このグラフィックス・コマンドは処理のためジ
オメトリ・パイプライン204 に渡される。ジオメトリ・
パイプラインはプリミティブを変換し、スケーリング
し、処理した後にラスタライザ206に渡す。ラスタライ
ザ206の機能はグラフィックス・コマンドを表示可能イ
メージに変換することである。この変換にはフレーム・
バッファ208に記憶される表示可能画素の生成が必要で
ある。フレーム・バッファ208内のデータは表示システ
ムによって読み取られ、ビデオ表示装置114に表示され
る。
【0020】ラスタライザ206はグラフィックス・コマ
ンドのそれぞれに対してかなりの処理を実行する。ラス
タライザ206の処理を図3に示す。ラスタライザは各コ
マンド(グラフィックス・プリミティブ)を解釈し、要
求されたオブジェクトを描くための画素生成を開始す
る。ラスタライザはまずステップ302で傾きを計算し、
次にステップ320で画素のテストと画素に対する演算と
を含む生成された画素に対する画素処理を実行する。こ
のテストと演算にはαバッファ・テスト304、ステンシル
・テスト306、zバッファ・テスト308、ブレンディング
310、ディザリング312および論理演算314が含まれる。
画素処理には現在フレーム・バッファ内にあるデータと
生成された画素の内容のなんらかの関数の処理と記憶が
含まれる。この処理の後にステップ316で画素データを
フレーム・バッファに書き込む。
【0021】上記の関数は分岐命令につながる条件付き
計算を必要とする複数変数の関数である。たとえば、グ
ループ<、>、=、≠、≦、≧からのテストが必要にな
る可能性がある。本発明は条件付き計算を必要とする変
数の数を減らす解決策を提供する。
【0022】本発明は最少の分岐命令で所望のテスト結
果をもたらすコンパクトな手順コードとデータ・テーブ
ルの組合せを提供する。
【0023】この手順コードは、符号関数σに基づく。
符号関数は、次式で表される。
【数1】 σ(x)=1 (x>0の場合) σ(x)=0 (x=0の場合) σ(x)=−1 (x<0の場合) (1)
【0024】この符号関数はこの手順変換技法の他のす
べての関数を表現するための基本関数として使用され
る。
【0025】本発明による手順変換は関数に使用される
パラメータのみの変更によって複数の異なるテストに対
して正しい結果を返すことのできる単一の関数を決定す
ることを必要とする。これらのパラメータはメモリに記
憶される。テスト・タイプに基づくパラメータの選択に
は分岐が不要であり、複数のテストに対して単一の関数
を使用することによってコードが最少化される。
【0026】1例として、下記のテストのそれぞれが真
の場合に必ず"1"を返すことが所望されると仮定する:
【数2】 y>z y<z y≧z y≦z y≠z y=z (2) 下記の関数をパラメータa、b、cおよびdに基づいて導出
できる:
【数3】 F(x,a,b,c,d)=((aσ(x)+b)(cσ(x)+d)>0) (3)
【0027】ただし、σは上で定義した符号関数であ
り、a、b、cおよびdは所望のテストに基づいて選択され
る係数である。係数は下記のテーブルから選択される:
【0028】
【表1】
【0029】関数F(x,a,b,c,d)の評価自体はテーブ
ル・ルックアップで置き換えることができる。 このコ
ードを実装する計算モデルで計算が記憶域より高価であ
る場合にはこれが望ましい。この評価はσ(x)によって
インデクシングされるテーブルを維持することによって
回避できる。σは−1、0および1の値をとり得るので、
導出された関数のそれぞれがテーブル内に3つの項目を
必要とする。上記の8つの関数を実施するためには24個
の論理項目が必要になる。この基礎テーブルは比較的小
さいので、ハードウェアまたはソフトウェアのいずれか
で実施できる。
【0030】
【表2】
【0031】動作 本発明はセレクタ値によって選択される係数を格納する
ルックアップ・テーブルを使用して高機能グラフィック
ス・システムの画素処理関数を実施する。このシステム
は全般的には図5に示されるように構成される。上の説
明と図3の要素320を含む画素処理は画素処理要素502内
で実施される。この画素処理要素はテスト要求を受け取
り、そのテスト要求に基づいて必要なセレクタを生成
し、そのセレクタを使用してルックアップ・テーブル50
4をアクセスする。関数の係数はルックアップ・テーブ
ル504によって画素処理要素502に供給される。
【0032】本発明の処理を図4に示す。この画素処理
はステップ402で始まり、即座にステップ404のテスト・
タイプとセレクタの判定に進む。ステップ406でセレク
タを使用してルックアップ・テーブルをアクセスする。
ステップ408で画素処理関数を解き、ステップ410で変換
された画素データをフレーム・バッファに送る。この処
理はステップ412で終了する。
【0033】この一般的なシステムと処理は図3に示さ
れた別々の画素処理テスト304ないし314のそれぞれにつ
いて使用される。このシステムは関数記述とルックアッ
プ・テーブル項目とを追加することによって他の関数に
拡張することもできる。図3に示された画素関数を以下
で詳細に説明する。
【0034】仮想スキャン・ライン・バッファ 本発明を用いると多くの種類のハードウェア構成でグラ
フィックス処理が可能になる。ハードウェアによっては
zバッファ・テストやαバッファ・テストなどの機能を
実装していないものがある。従来技術のシステムでは、
特定の機能が実装されているかどうかを判定するための
テストが必要である。このテストのために、全般的にグ
ラフィックス・システムの性能を低下させる分岐命令が
生成される。
【0035】本発明は特定のバッファの存在をテストせ
ずに画素処理を継続できるようにする仮想スキャン・ラ
イン・バッファを確立する。仮想スキャン・ライン・バ
ッファを用いると、画素プロセッサがエラーなしでバッ
ファにストアでき、エラーなしでバッファから読み取れ
るようになる。仮想スキャン・ライン・バッファからの
読取りによって、バッファが実際に存在するかのように
そのバッファの範囲内を表す値が返される。仮想バッフ
ァはスキャン・ライン・バッファを使用して実施され
る。バッファの線形アドレスはxアドレスおよびyアドレ
スならびにバッファの幅から計算される。すなわち、ア
ドレス=y×幅+xである。仮想バッファの幅は0として
扱われ、[0−Xmax]のアドレス範囲がもたらされる。
【0036】仮想バッファは複数のコンテキストまたは
ウィンドウの間で共用できるスクラッチ・スキャン・ラ
イン・バッファを割り振ることによって作成される。そ
の代わりに、仮想スキャン・ライン・バッファとして使
用するためにスクラッチ・アドレス空間を定義すること
も可能である。
【0037】下記の諸テストは、この手法を使用して実
施できる。これらのテストはグラフィック画像の画素に
対してなされるものであり、テスト自体はいずれも周知
であるが、本発明は、分岐を回避するために4つのパラ
メータa、b、c、dのテーブル・ルックアップの利用
してこれらのテストを行うことを特徴としている。
【0038】シザー・テスト シザー・テストは画像のどの部分が所定の矩形内あるか
をテストする。所定長方形外の部分はシザー(はさみ)
によって切り除かれる。すなわち、シザー・テストでは
左下頂点と右上頂点の座標すなわち(xbl,ybl)と(xtr,y
tr)によって指定される長方形区域内に画素を切り取
る。このテストでは、上の基礎テーブルを使用して下記
の式を実施する。
【数4】 Sflag(x,y)=(x≧xbl)AND(x<xtr)AND(y≧ybl)AND(y<ytr) (4)
【0039】αバッファ・テストαバッファ・テスト
は、画素のα成分(通常は不透明度を表す)とαバッフ
ァの値αbとを比較し、その結果に基づいてアルファ・
フラグαflagを設定する。αバッファ・テストは下記の
式とテーブルを用いて実施される。
【数5】 Δ=α−αb G(Δ,a,b,c,d)=(aσ(Δ)+b)(cσ(Δ)+d) (5) αflag(Δ,a,b,c,d)=(G(Δ,a,b,c,d)>0)
【0040】
【表3】
【0041】仮想スキャン・ライン・バッファは、実際
のαバッファが存在しない時に使用される。前述のよう
に、仮想バッファはあたかも実際のバッファが存在する
かのように読み取り及び書き込みを可能にするので、α
バッファ・テストでエラー状態が生成されないことが保
証される。
【0042】ステンシル・テスト ステンシリングは、ステンシル・バッファに記憶されて
いる値sbを基準値srefと比較し、その結果に応じてステ
ンシル・バッファの値を修正するプロセスである。ステ
ンシル・バッファの解像度は1画素あたりnビットにセ
ットされる。ステンシル・テストの論理結果Stflagは上
記のαバッファ・テストと類似したものになる。ステン
シル結果を示すステンシル・バッファの内容sbは下記の
式から決定される:
【数6】sb=sb+Stflag(a×sb+b×sref+c) (6)
【0043】Stflagの値は下記のテーブルから決定され
る:
【表4】
【0044】仮想バッファを使用すると、ステンシル・
バッファが存在しない時でも必ずこのテストを通過する
ようになる。
【0045】zバッファ(深さバッファ)・テスト、z
バッファ更新およびステンシル・バッファ更新 zバッファ・テストは画像内のどのオブジェクトが視点
により近いか(すなわち、z軸値がより小さいか)を判
定するために用いられる。深さテストと深さバッファの
更新には、下記の式を使用する:
【数7】 Δ=z−zb G(Δ,a,b,c,d)=(aσ(Δ)+b)(cσ(Δ)+d) Zflag(Δ,a,b,c,d)=(G(Δ,a,b,c,d)>0) zb=zb+ZflagΔ (7)
【0046】パラメータは下記のテーブルに従って決定
される。
【表5】
【0047】必ずこのテストを通過することを保証する
ために、zバッファが存在しない時には必ず仮想バッフ
ァを使用する。
【0048】ブレンディングブレンディングは源画素の
カラーCsと宛先画素のカラーCdとをそれぞれの係数S及
びDに応じてブレンドして、新たなカラーFを生成するも
ので、下記のテーブルと式によって達成される。ただ
し、nはα成分のビット数である:
【数8】F=CsS+CdD (8)
源ブレンディング係数Sは下の式9から決定される:
【数9】 K=bAs+cAd+d Sr=aCd r+K Sg=aCd g+K Sb=aCd b+K Sa=aCd a+K (9) 好ましい実施例では、これらの量がnビットのシフトに
よって正規化される。
【0049】源ブレンディング関数は下記のテーブルか
ら決定される:
【表6】 源ブレンディング関数 動作 a b c d Zero 0 0 0 0 One 0 0 0 2n−1 DST_COLOR 1 0 0 0 One_Minus_DST_COLOR −1 0 0 2n−1 SRC_ALPHA 0 1 0 0 One_Minus_SRC_ALPHA 0 −1 0 2n−1 DST_ALPHA 0 0 1 0 One_Minute_DST_ALPHA 0 0 −1 2n−1 SRC_ALPHA_Saturate * * * *
【0050】テーブル内の*によって示されるSRC_ALPH
A_Saturate状態は別の同等のクラスによって処理され
る。
【0051】宛先ブレンディング係数Dは下記に従って
決定される:
【数10】 K=bAs+cAd+d Dr=aCs r+K Dg=aCs g+K Db=aCs b+K Da=aCs a+K (10)
【0052】ディザリング ディザリングは空間的に個別の点にあり単一の連続線に
沿って存在しない複数の画素により線を描こうとする場
合に生じる線のギザギザを滑らかにするものである。本
発明による基本的なディザリングの式は次のとおり:
【数11】 Δ=G(CE,Cmask)−dith_matrx[x][y] Cout=CE+1(Δ>0) (11) 上式において、CEは入力画素のカラーを表し、Cmask
該カラーに対してアンド演算されるマスクを表し、dith
_matrx[x][y]はディザ・マトリックス値を表し、Cout
出力画素値を表す。Coutは、Δがゼロ以下のときは入力
画素値CEと同じになる。
【0053】論理演算 論理演算は単純関数の線形結合ほどコンパクトには表現
できない。しかし、同等のクラスを作成して関数を表現
できる。本発明の好ましい実施例では下記のようにグル
ープ化できる16個の論理演算をサポートする:
【数12】
【0054】上のクラス1に関して関数の式は次のとお
り:
【数13】
【0055】代替実施例では、係数のすべてが0または
1のいずれかであるから、上の式をマスク演算で置換で
きる。係数テーブルは次のとおり:
【表7】
【0056】第2のクラスのコンパクトな関数は次のと
おり:
【数14】
【0057】関連する係数テーブルは次のとおり:
【表8】
【0058】第3のクラスのコンパクトな関数は次のと
おり:
【数15】
【0059】第3のクラスの係数テーブルは次のとお
り:
【表9】
【0060】本発明の好ましい実施例では、選択された
少数のCPU命令を使用して画素処理を実施する。これら
の命令には下記が含まれる: ・変数の極性を判定するための極性関数(α) ・整数乗算用の乗算関数 ・変数が0より大きければ1、それ以外の場合に0を返
す0超検査関数。この命令が存在しない場合、この関数
は次式に従って極性関数から導出できる。
【数16】
【0061】前述の説明から本発明の趣旨から逸脱せず
に本発明の好ましい実施例にさまざまな修正と変更を行
えることが理解されよう。この説明は例示のみを目的と
しており、制限的な意味で解釈してはならない。本発明
の範囲は請求の範囲の文言によってのみ制限される。
【0062】本発明は係数テーブルから決定された係数
によって修正される限られた数の線形関数を使用して画
素処理を実施する。これによって、必要な範囲の関数を
最小限の数の分岐命令で実施する小さなコードがもたら
される。これらの関数によって使用される命令には、符
号、整数乗算および0超検査が含まれ、命令パイプライ
ンで分岐を引き起こし得る命令は含まれない。
【図面の簡単な説明】
【図1】本発明が実施されるコンピュータ・システムの
ブロック図である。
【図2】本発明によるグラフィックス・システムのブロ
ック図である。
【図3】本発明に従って実施されるグラフィックス・シ
ステムによって実行される関数を示す流れ図である。
【図4】本発明の方法のステップを示す流れ図である。
【図5】本発明によるシステムのブロック図である。
【符号の説明】 100 コンピュータ・システム 102 処理装置 104 ランダム・アクセス・メモリ 106 通信アダプタ 112 入出力制御機構 113 フレーム・バッファ 114 ビデオ表示装置 116 キーボード 118 ポインティング装置 120 ディスク制御機構 122 永続記憶装置 202 グラフィックス・アプリケーション 204 ジオメトリ・パイプライン 206 ラスタライザ 208 フレーム・バッファ 502 画素処理要素 504 ルックアップ・テーブル
───────────────────────────────────────────────────── フロントページの続き (72)発明者 チャンドラセカール・ナラヤナスワミ アメリカ合衆国78759 テキサス州 ナ ンバー350 オースチン ジョリビル・ ロード11028

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】プロセッサ及び記憶手段を有するグラフィ
    ックス処理システム内でグラフィックス画素データを変
    換する装置において、 画素処理要求を受け取る手段と、 前記画素データに対して実行されるべき前記画素処理要
    求に対して複数のテスト関数の内の1つ及びテスト・セ
    レクタを決定するためのセレクタ手段と、 前記テスト・セレクタに応答して前記選択されたテスト
    関数に対する係数データを前記プロセッサに送出するた
    めのテーブル・ルックアップ手段と、 前記係数データ及び前記テスト関数に基づいて前記画素
    データを変換するための画素変換手段とを含む装置。
  2. 【請求項2】プロセッサ及び記憶機構を有するグラフィ
    ックス処理システム内で画素変換関数に従って実行され
    る画素データ変換方法において、 画素データおよび画素処理要求を受け取るステップと、 前記画素処理要求からテスト関数及びテスト・セレクタ
    を決定するステップと、 前記選択されたテスト・セレクタに基づいてテーブル・
    ルックアップにより前記テスト関数に対する複数の係数
    を決定するステップと、 前記テスト関数及び前記複数の係数に従って前記画素デ
    ータを変換するステップとを含む方法。
JP6187242A 1993-09-20 1994-08-09 グラフィックス画素データを変換するための装置および方法 Expired - Fee Related JP3058017B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/124,115 US5568401A (en) 1993-09-20 1993-09-20 System and method for transforming program code for efficient pixel processing
US124115 1993-09-20

Publications (2)

Publication Number Publication Date
JPH07105385A JPH07105385A (ja) 1995-04-21
JP3058017B2 true JP3058017B2 (ja) 2000-07-04

Family

ID=22412853

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6187242A Expired - Fee Related JP3058017B2 (ja) 1993-09-20 1994-08-09 グラフィックス画素データを変換するための装置および方法

Country Status (2)

Country Link
US (1) US5568401A (ja)
JP (1) JP3058017B2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6025853A (en) * 1995-03-24 2000-02-15 3Dlabs Inc. Ltd. Integrated graphics subsystem with message-passing architecture
US5764243A (en) * 1995-03-24 1998-06-09 3Dlabs Inc. Ltd. Rendering architecture with selectable processing of multi-pixel spans
US6216218B1 (en) 1997-11-03 2001-04-10 Donald L. Sollars Processor having a datapath and control logic constituted with basis execution blocks
US5940626A (en) * 1997-11-03 1999-08-17 Teragen Corporation Processor having an instruction set architecture implemented with hierarchically organized primitive operations
US6178482B1 (en) 1997-11-03 2001-01-23 Brecis Communications Virtual register sets
US6016539A (en) * 1997-11-03 2000-01-18 Teragen Corporation Datapath control logic for processors having instruction set architectures implemented with hierarchically organized primitive operations
US6067601A (en) * 1997-11-03 2000-05-23 Brecis Communications Cache memory based instruction execution
US6438679B1 (en) 1997-11-03 2002-08-20 Brecis Communications Multiple ISA support by a processor using primitive operations
US5923894A (en) 1997-11-03 1999-07-13 Teragen Corporation Adaptable input/output pin control
GB9727240D0 (en) * 1997-12-23 1998-02-25 Sgs Thomson Microelectronics Controlling an output device
US6348918B1 (en) * 1998-03-20 2002-02-19 Microsoft Corporation Stereo reconstruction employing a layered approach
US6825844B2 (en) * 2001-01-16 2004-11-30 Microsoft Corp System and method for optimizing a graphics intensive software program for the user's graphics hardware
US7742050B2 (en) * 2004-10-04 2010-06-22 Microsoft Corp. System and method for optimizing a graphics intensive software program for the user's graphics hardware
US20090322747A1 (en) * 2008-06-30 2009-12-31 Robert Farrell Graphics processing with hidden surface removal

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01156824A (ja) * 1987-12-14 1989-06-20 Hitachi Ltd マイクロプロセッサ

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4322716A (en) * 1976-11-15 1982-03-30 Environmental Research Institute Of Michigan Method and apparatus for pattern recognition and detection
US4528636A (en) * 1981-10-19 1985-07-09 Intermark Industries, Inc. Display memory with write inhibit signal for transparent foreground pixel codes
US5274760A (en) * 1991-12-24 1993-12-28 International Business Machines Corporation Extendable multiple image-buffer for graphics systems

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01156824A (ja) * 1987-12-14 1989-06-20 Hitachi Ltd マイクロプロセッサ

Also Published As

Publication number Publication date
JPH07105385A (ja) 1995-04-21
US5568401A (en) 1996-10-22

Similar Documents

Publication Publication Date Title
US5973705A (en) Geometry pipeline implemented on a SIMD machine
JP3797666B2 (ja) グラフィックオブジェクトの塗りつぶしをアクティブ化する方法および装置
JP3058017B2 (ja) グラフィックス画素データを変換するための装置および方法
US5774133A (en) Computer system with improved pixel processing capabilities
US9202303B2 (en) System and method for compositing path color in path rendering
US5185856A (en) Arithmetic and logic processing unit for computer graphics system
US6961067B2 (en) Reducing the number of compositing operations performed in a pixel sequential rendering system
US6417858B1 (en) Processor for geometry transformations and lighting calculations
US7006101B1 (en) Graphics API with branching capabilities
US5734806A (en) Method and apparatus for determining graphical object visibility
EP0606685A1 (en) Method and apparatus for reducing illumination calculations through efficient visibility determination
US5949423A (en) Z buffer with degree of visibility test
EP0486239A2 (en) Rasterization processor for a computer graphics system
WO1996031844A1 (fr) Systeme graphique
JPH05307610A (ja) テクスチャマッピング方法およびその装置
JP4154336B2 (ja) ラスター画像のフレームを描画する方法及び装置
US5844571A (en) Z buffer bandwidth reductions via split transactions
US7852341B1 (en) Method and system for patching instructions in a shader for a 3-D graphics pipeline
US6952217B1 (en) Graphics processing unit self-programming
EP0314289B1 (en) Multiple pixel generator
US5321805A (en) Raster graphics engine for producing graphics on a display
US7719545B1 (en) System and method for converting a vertex program to a binary format capable of being executed by a hardware graphics pipeline
Shreiner et al. Performance opengl: Platform independent techniques
JP3209140B2 (ja) 画像処理装置
JPH10207694A (ja) ディジタルべき乗演算装置及びそれを用いたグラフィックスシステム

Legal Events

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