JPH02289097A - 画像表示データ処理装置 - Google Patents
画像表示データ処理装置Info
- Publication number
- JPH02289097A JPH02289097A JP2031652A JP3165290A JPH02289097A JP H02289097 A JPH02289097 A JP H02289097A JP 2031652 A JP2031652 A JP 2031652A JP 3165290 A JP3165290 A JP 3165290A JP H02289097 A JPH02289097 A JP H02289097A
- Authority
- JP
- Japan
- Prior art keywords
- values
- data
- pixel
- bit
- new
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B9/00—Simulators for teaching or training purposes
- G09B9/02—Simulators for teaching or training purposes for teaching control of vehicles or other craft
- G09B9/08—Simulators for teaching or training purposes for teaching control of vehicles or other craft for teaching control of aircraft, e.g. Link trainer
- G09B9/30—Simulation of view from aircraft
- G09B9/301—Simulation of view from aircraft by computer-processed or -generated image
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—Three-dimensional [3D] image rendering
- G06T15/10—Geometric effects
- G06T15/40—Hidden part removal
- G06T15/405—Hidden part removal using Z-buffer
-
- 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/80—Shading
- G06T15/87—Gouraud shading
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- Aviation & Aerospace Engineering (AREA)
- Business, Economics & Management (AREA)
- Educational Administration (AREA)
- Educational Technology (AREA)
- Geometry (AREA)
- Image Generation (AREA)
Abstract
め要約のデータは記録されません。
Description
動パイプライン化図形処理装置においてシェージングを
伴なう三次元図形画像を描出するための画素データの計
算をスピードアンプする方法及び装置に関する。
元(3D)図形画像を実時間表示することが実際に可能
になった。そのような表示能力を発揮するシステムは、
ごくわずかな例を挙げただけテモ、エンジニアリング・
ワークステージ;Jン、実時間シミュレータ及びアニメ
ーション映画などの分野に広く応用されている。
れるが、そのためには、演算のスループットをさらに向
上させなければならなかった。初期のコンピューターグ
ラフィック・システムは、隠線を除去した単純な幾何学
的立体をシェージングを伴なう着色画像として描出する
ことしかできない場合が多かったが、現在では、たとえ
ば、人間の姿などの非常に複雑な物体をコンピュータで
生成した表示を高解偉度画偉として描出することが可能
である。
出現で演算が高速化されたことと、より効率の良い図形
処理アルゴリズムが開発されたことの2つによって可能
になったのである。図形処理システム技術がこのように
進歩したにもかかわらず、従来のグラフインク・システ
ムの能力は、依然として、高品質実時間画像生成の実行
に束縛されている。汎用プロセッサは、一般に、実時間
演算を実行するために画質を落とす。めるいは、非常に
高品質の画像を生成できるとしても、それは実時間アニ
メーションを伴なわないものである。そこで、ベクトル
操作、隠面消去、シェージングなどの様々な30図形演
算を実行するために最適化された専用ハードウェアを具
備する専用図形処理装置が開発された。そのような専用
図形処理装置は高レベルの性能を示すが、高価であり、
汎用プロセンサのもつ融通性に欠けている。
が、3D図形表示は主にソフトウェアで実現されるよう
な高性能図形指向プロセッサが必要である。
現3D図形パイプラインを構成する方法及び装置を1指
している。シングルチッププロセッサの一部を、物理的
に、図形指向処理専用の部分とし、図形パイプラインの
スループントを実質的((加速する一連の図形指向命令
が提供される。
するための命令が提供されている。Zバッファ検査命令
は、新たに計算された距離(Z)値と、2パンフアの内
容との符号なし整数(頴序数)比較を複数回同時に実行
する。描出すべき点の距離をZバッファの対応する値と
比較し、そこで、描出すべき点がZバッファ値より近接
している(小さい)画素を指定するために、画素マスク
の適切なビットをセントする。連続するZバッファ検査
命令がその結果と画素マスクレジスタに累積させるよう
に、画素マスクの先に計算されたビットはシフトされる
。16ビントの2値の場合、1回の命令サイクルの中で
、4回の比較と画素マスク更新が同時に実行される。画
素記憶命令は、画素マスクラ利用して、フレームバッフ
ァの、現在画素値により表示され九表面より近接してい
る新たに描出される表面上の1点に対応する画素記憶場
所のみを更新する。
る値のような距離値の線形補間を実現するための命令が
提供される。2つの32ビット固定小数点実数加算は並
行して実行される。実数の和は、MERGEレジスタに
ロードされる時点で16ビントに切捨てされ、その後、
MERGEレジスタの内容は右へ16ビントシフトされ
る。2つのそのよりなZバッファ加算命令を連続して実
行することにより、合わせて4つの16ビント補間2値
がMERGEレジスタに累積される。
間を実現するための命令が提供される。
して実行されるという点で、Zバッファ加算命令と同じ
ように作用する。画素加算命令は8ビット、16ビツト
及び32ビットの画素フォーマットで作用する。
ットの場合、4つの16ビツト実数加算が並行して実行
される。それぞれの16ビント実数は8ビツトの整数部
を有する。実数の和は、MERGEレジスクへのロード
の時点で8ビツトに切捨てされ、MERGEレジスタの
内容は、命令のたびに1右へ8ビットシフトされる。2
つのそのような画素加算命令を連続して実行することに
より、MERGEレジスタには8つの8ビツト補間画素
が累積される。
は、それぞれ、6ビツト、6ビント、4ビツトで表わさ
れる。8ビツト画素フォーマントの場合と同様に、4つ
の16ビツト実数加算が並行して実行されるが、整数部
は8ビツトではなく、6ビツトから成る。実数の和は、
MERGEレジスタへのロードの時点で6ビツトに切捨
てされ、MERGEレジスタの内容は、命令のたびに、
右へ6ビツトシフトされる。色ごとに1つずつ、3つの
そのような画素加算命令を連続して実行することによf
i、MERGEレジスタには4つの16ビツト補関画素
が累積される。
は2つの32ビット実数加算を並行して実行する。それ
ぞれの実数は8ビットの整数部を有する。結果は8ビッ
トに切捨てされ、MERGEレジスタは命令のたびに右
へ8ビツトシフトされる。色ごとに1つずつ、3つのそ
のような命令は2つの32ビツト補間画素を累積させる
。
るデータビットに関する演算のアルゴリズム及び記号表
示によって主に提示される。このアルゴリズムによる説
明と表示は、データ処理技術における当業者がその作業
の内容を他の当業者に有効に伝達するために使用する手
段でるる。
結果に至る自ら矛盾しない一連のステップであると考え
られる。それらのステップは、物理量の物理的な操作を
必要とするものである。通常、そのような量は、記憶、
転送1組合せ、比較及びその他の方法による操作が可能
な電気的信号又は磁気信号の形態をとるが、必ずしもそ
れには限定されない。場合に応じて、主に一般に共通す
る慣例の便宜を考慮して、それらの信号をビット値。
ことがわかって^る。喪だし、このような用語及びそれ
に類する用語は、全て、適切な物理量と関連しておシ、
単に、それらの量に便宜上付されたラベルであるにすぎ
ないということに留意すべきである。さらに、実行され
る操作も、一般に人間のオペレータが行う知的作業と関
連する加算又は比較などの用語で呼ばれる。本発明の一
部を形成するここで説明する演算のいずれにおいても、
そのような人間のオペレータの能力は不要であり、多く
の場合に望ましくない。演算は機械演算である。本発明
はマイクロプロセッサで適用されるのが最も有利である
が、本発明の演算を実行するのく有用な他の機械として
は、汎用デジタルコンピュータ及びそれに類する装置が
考えられる。いずれの場合にも、方法の動作及びコンピ
ュータを動作させる方法と、計算方法それ自体との明確
な区別に注意すべきである。本発明は、その一部で、プ
ロセッサを動作させ、それにより、電気的信号を処理し
て、別の所望の電気的信号を発生する方法ステップに関
する。
デ一タ表示形態、ビット割当て、動作のシーケンスなど
を特定して挙げているが、それらの事項は、説明の便宜
上、記載されるのであって、本発明を限定するものでは
ない。そのような特定の詳細な事項を含まずとも本発明
を実施しうることは当業者には明白で6ろう。また、場
合によっては、本発明を無用にわかシにくくするのを避
けるため、良く返られている図形処理用のノ・−ドウエ
ア、方式及びアルゴリズムの詳細な説明を省いたところ
もある。
3Dシエージングを実行する上での補助となる特殊な演
算を実行することによυ、高性能3D図形アプリケーシ
ョンを支援する。ζこに挙げた機能は、通例、当咳技術
分野で良く知られている通シ、図形処理装置で実行され
る。これらの機能を実行するための基本的な方法とアル
ゴリズムは良く知られているので、ここでは詳細には説
明しない。
の互いに接続する多角形により近似されるような図形ア
プリケーションを支援する。それぞれの多角形の頂点の
距離と、色の強さは既にわかっているものと仮定される
が、各多角形の内側にある他の点の距離と強さを、既知
の値の間の補間によって計算しなければならない。
実行される命令として説明し且つ実現するのが好都合で
bる。好ましい実施例では、プロセッサは64ビットデ
一タ語について動作する。
ら得られる2つまでのデータ語に対して作用できる。ソ
ースオベラ/ドは、一般[、sr+el及びgre2と
して示される。命令は、同様に、その演算の結果を、一
般にrdestとして示されるアドレス可能レジスタ宛
先へ戻す。
フォーマントで動作する。8ビット画素の場合、画素の
強さを表示するために8つまでのビットを使用できる。
素の別の属性を表示するために使用可能である。強さビ
ットは画素の下位ビットでなければならない。
がある。これらのフィールドは、通常、表示すべき三原
色、すなわち、鬼緑1青と関連している。しかしながら
、特定のアプリケーションの都合を考慮して、フィール
ドは色に割当てられても良いし、また、他の何らかの画
素属性に割当てられても良い。
る4つの8ビツトフイールドが設けられる。たとえば、
3つの高位フィールドを三原色を表わすのに使用し、最
下位フィールドを、質感などの付加的属性を表わすのに
使用しても良い。
す値をその画素と関連づけることにより隠面消去を容易
にする2パン7アを使用するのが普通である。特定の画
素位置において点をペイントするとき、三次元描出アル
ゴリズムは、その点と観察者との離間距離を計算する。
から離れている場合、画素は更新されない。本発明は、
1回のクロックサイクルの中で、複数の2値を比較し、
よ)近接した(小さい)値を選択し、新たなZ値のセッ
トを計算し、画素マスクを更新するZバッファ検査命令
を実行する。既に描出されている画素より近接している
画素のみが更新されるように、画素データをフレームバ
ンファに記憶するとき罠は、画素マスクレジスタを使用
する。
実行する。命令に対する入力は、通常は1つの点と観察
者との離間距離をそれぞれが表わしている値から成る2
つの値プレイから取出されるのが普通である。一方の7
レイは描出ナベき点に対応する距離を含み、他方のアレ
イは既に描出式れた点に対応する距離を含む(すなわち
、Zバッファ)。命令は描出すべき点の距離とZバッフ
ァの値とを比較し、どの距離が現在2パン7アに6る距
離より小さいかを示すために画素マスクのビットをセッ
トする。画素マスクの先に計算されたビットは、連続す
る命令がその結果を画素マスク中に累積してゆくように
、右ヘシフトされる。
を更新すべきかを判定するために画素記憶命令により使
用されることになる。
ビツト幅のいずれかである距離(Z)値を支援するe、
zバッファ値のサイズは、強さ情報及び/又は色情報を
蓄積している画素サイズとは無関係である。本発明は6
4ビットデ一タ語について動作するように実現される。
ファ検査命令によって4つの値を同時に検査することが
できる。32ビットの2値を使用するときには、同時に
2つの比較が実行される。
ケンスにより待機づけると好都合で6ろう。この場合、
画素マスクはPM((g)・・拳PM(7)として示さ
れる8つのビットから成るプレイにょ夛構成され、PM
((g)は最下位ビットである。
トフイールド、すなわち、5rcl((g)1・口rc
l(3)と; s r c 2 ((g) 番・働m
r c 2 (3)と; rd@5t(Q)**・r
d @ l t (3)とから成るプレイとして考え
る。尚、切は最下位フィールドを示す。
) t=0から3とするとき、 (2a)PM(1+4)<−−IrO2(1)≦5rc
l(1)(2b)rdest (1) (−−5rc2
(1)及び5rcl(1)のうち小さいほう (3) MERGE (−−0 32ビットの2バンクア値については、5rel。
から成るプレイとして考える他は、上述の場合と同じで
ある。この場合、2パン7ア検査命令は次のような演算
シーケンスを含む。
i=0から1とするとき、 (5a)PM(1+6)<−−ira2(1)< 5r
al (1)(5b)rdest(1)(−−IrO2
(1)及び5ral(1)のうち小さいほう (6)MERGE<−−0 第4図は、16ビツトのZバッファ値に関するZバッフ
ァ検査命令の演算を概念的に示す流れ図で6る。ただし
、第1図と、以下に説明するZバッファ検査命令とは実
質的に概念に基づいて示されておシ、演算ステップが記
載される通シに順次実行されることを示唆するものでは
ない。説明は、単に、関連する論理演算及び算術演算を
十分に理解するのく都合がJjZようになされるだけで
ある。
に並行して実行され、それにより、zバッファ検査命令
の全体を、それが実現されるプロセッサの1回のクロッ
クサイクルの中で実行するようにしているのでめる。
、画素マスクの内容を右へ4ビット77トさせる。その
結果、先の2パン7ア検査の結果、はシフトダウンされ
、画素マスクレジスタは現在の命令の結果を受取るよう
に準備される。ステップ12では、ループカウンタ(1
)を0に初期設定する。次に、ステップ14で、5re
2(1)から検索し&Z値を5rcl(りから検索した
z値と比較する。
値ttみ、5rclはZバッファからの「旧」z値を含
む。すなわち、画素(りに関して、m r e 2 (
1)は描出すべき表面の2値を含むのに対し、s r
c 1 (1)は先に描出されている表面の中で最も近
接するものくついての同じ画素の2値を含む。IrO2
(1)がarel(1)より小さいか又はそれ七等しい
場合、すなわち、新2値が旧2値より小さい(スクリー
ンに近接している)場合には、演算はステップ16へ進
み、そこで、画素マスクのビン)(i+4)に論理値1
をロードする。これは、新九に描出される表面を表示す
るために、関連する画素を更新すべきでるることを示す
。次に、ステップ18へ進み、IrO2(1)の値、す
なわち、新2値k rdes t (1)K ry−ド
する。そこで、記憶場所rdest(1)は新九に計x
されたZバッファを指定する。
がわかった場合には、画素の更新は不要であるので、演
算はステップ20へ進み、そこで、画素マスクのビット
(i+4)に論理値Oがロードされる。次に、ステップ
22で、5rcl(1)の値、すなわち、旧2値をrd
*5t(1)にロードすることにより、その画素に関し
ては旧2値をZバッファに維持する。
され終わつ九か否かを判定するためにループカウンタl
を試験する。検査が完了していなければ、ステップ26
でループカウンタを増分し、次の1の値についてループ
を繰返す。先に説明し九ように、4つの2値は頭次検査
されるより、全て並行して検査されるのが好ましい。4
つの償金てが検査されていたならば、ステップ28でV
ERGEレジスタに全てゼロをロードする。MERGE
レジスタの目的と機能に関しては、以下にさらに詳細に
説明する。次に、ステップ30で、Zバッファ検査命令
を終了する。
する2パンフア検査命令の演算にもほぼ適用できる。し
かしながら、前記の演算(4)〜(6)と矛盾しないよ
うに、ステップ10では画素マスクが右へ2ビツトシフ
トされると共に、ステップ14〜22は4つの2値では
なく、2つの2値について実行されることは了承される
であろう。
ことにより、演算効率を向上させることができる。パイ
プライン化されたZバッファ検査はほぼ上述の通シに実
行されるのであるが、新2値と、旧2値のうち小さいほ
うを記憶場所rd@at(1)に記憶する動作は、後続
する命令によって実行される。従って、それぞれのZバ
ッファ検査命令は、先の命令で実行された比較の結果を
記憶すると同時に、現在比較されている2つの2値のう
ち小さいほうを、後続する命令で記憶するのに備えて選
択する。
実現するシステムの簡略化した機能ブロック線図が示さ
れている。オペランドは、一連のアドレス可能64ビッ
トレジスタから構成されるレジスタファイル(図示せず
)から取出される。
lと、are2 ) は、64ビツト加算器50と、マ
ルチプレクサ52とに与えられる。加算器50とマルチ
プレクサ52は、前述のように4つの16ビットz値又
は2つの32ビットz値に関する並行演算を容易にする
ために、共に、並列に配置された4つの16ビット装置
として構成されている。
減算することにより、比較器として機能する。加算器5
0からの実行信号は、2つのオペランドのうち小さいほ
うを選択するために、マルチプレクサ52に印加される
。マルチプレクサ52の出力はマルチプレクサ580入
力端子人に印加される。このマルチプレクサ58は宛先
レジスタへ送信されるべき値を決定するもので、実行中
の命令のオペレーションコードにより制御される。
の印加の丸めに選択される。この結果は、その後、レジ
スタファイルの中の指定ファイルに書込まれる。加算器
50で実行される減算の結果は、上記の論理演算(2a
)及び(5a)に従って、8ビット画素マスク62の最
上位ビットをさらに決定する。
図であるが、第4図に示す装置を特定のハードウェアで
どのようにして実現するかは、設計上の選択の問題で6
って、概して本発明とは無関係な数多くの要因によって
決定されることは当業者には明白であろう。従って、実
際に利用するプロセッサには通常含まれているでめろう
と思われるが、本発明の機能とは無関係である回路素子
については、図面を明瞭にする目的で、ここでは図示し
なかった。ばらの電気的構成要素及び/又は市販の集積
回路デバイスを使用して本発明を実現することは可能で
あるが、マイクロプロセッサチップとの関連で本発明を
適用するのが最も有利である。詳細にいえば、本発明は
、高いスループットを得るために最適化された縮小命令
セット演算(RISC)プロセッサ又はコプロセツサに
おいて特に有用である。
充填された後、画素マスクの内容は、フレームバッファ
の、対応する画素マスクビットが論理値1にセットされ
るような画素記憶場所、すなわち、新たに描出される表
面が既に記憶されている表面よりスクリーンに近接して
いるような画素を選択的に更新するために使用される。
4ビット浮動小数点レジスタに記憶される。すなわち、
画素フォーマントに応じて、レジスタに記憶される各デ
ータ語は2つ14つ又は8つのWJ素値を含むことKな
る。画素記憶命令の演算中、指定された64ビットレジ
スタのビットフィールドは画素マスクのビットにより選
択的にマスクされる。それぞれの画素記憶命令と関連し
て、画素マスクは、レジスタに記憶された画素値の数に
対応するビット数だけ、右ヘシフトされる。従って、8
ビツトの画素サイズの場合は、画素マスクは8ビツトシ
フトされ、16ビツトの画素サイズの場合は、画素マス
クは4ビットシフトされ、32ビットの画素サイズの場
合には、画素マスクは2ビットシフトされる。
含む複数の画素群として編成すると好都合であることが
わかるであろう。すなわち、まず、画素マスクを充填す
るために、(z値のサイズに応じて)2つ又は4つの2
パンフア検査命令を実行する。次に、画素サイズに応じ
て、1つ、2つ又は4つの画素記憶命令を実行し、画素
マスクの内容に従ってフレームバッファを更新する。
算命令を実行する。Zバッファ加算命令については、第
2図に示すように、16ビントZバッファは32ビツト
距離補関を使用することができる。このように、1つの
命令で2つの2値を同時に処理できる。Zバッファ加算
命令は、32ビツト値を、16ビツト整数部と、16ビ
ツト小数部とを有する固定小数点実数としてそれぞれの
値を扱うような方式で加算するように設計されている。
には、16ビントの整数にそれぞれ切捨てされる。Zバ
ッファ加算命令ごとに、MERGEレジスタは右へ16
ビツトシフトされる。通常は、4つの補間2値がMER
GEレジスタに累積されるように、2つのZバッファ加
算命令は連続して実行される。
組の互いに接続する多角形から構成されるものとして扱
っている。隠面消去を実行するためKは、その表面上の
各画素位置ごとに距離値を計算しなければならない。そ
れぞれの多角形は平面状でbるので、多角形上のそれぞ
れの点に関する距離値は、次のような線形関係により与
えられることがわかる。
2値でめシ、kl l k、及びに3は定数でらる。
設定すると好都合である。この初期設定値を20とする
と、同じ走f線上の隣接する点、すなわち、Yは一定に
保持され且つXは1だけ増分され圧点の2値は、 (8) z s = k、 十z 。
るのではなく、多角形ごとに1つの初期設定z値を計算
し、次に、その2値以外の点の1つずつKついて1回の
加算のみを必要とする線形補間を実行するだけで良い。
命令が概略的に示されている。記憶場所arcl及びa
rc2は、共に、2つの32ビット固定小数点数を含む
。arcl又はmra2のいずれかは16ビツト値を滲
なう2パンフアに対応し、他方は適切な補間定数の記憶
場所に対応する。2値は整数値さして記憶されるため、
2パンフアソ一ス語の小数部は空であることが認められ
るであろう。これに対し、補間定数は、過剰な細分性が
補間2値に導入されないように、32ビット固定小数点
寮数として表わされる。
固定小数点実数から構成されており、それらは記憶場所
rd@atへ送られる。MERGE レジスタの内容は
、第2図に矢印40で示すように、それぞれ16ピツト
から成るビット群の中で、右へ16ビツトシフトされる
。すなわち、ビット48〜63はビット32〜41ヘシ
フトされ、ビット16〜31はビット0〜15ヘシフト
される。2つの32ビットの結果のうち16ビントの整
数部がMERGEレジスタの、先のシフトによって空い
たビットにロードされるように、加算演算の結果は切捨
てされる。すなわち、2つの新たに計算された2値の最
上位16ビントがビット16〜31と、ビット48〜6
3とそれぞれロードされることになる。2つの2パンフ
ア加算命令は、通常、連続して実行されるので、MER
GEレジスタは最終的には4つの2値を含む状態になる
。
には、通常の加算命令で2回の32ビツト加算を並行し
て有効に実行できるので、特別のZバッファ加算命令は
不要である。補間中にデータが下位32ビツトから上位
32ビットへ桁上げされることによって引起こされるひ
ずみは、一般に、ささいなものである。
64ビツト加算器50において実行される。その結果は
、先に述べたように実行中の命令のオペレーションコー
ドにより制御されるマルチプレクサ58の入力端子Bに
印加される。入力Bは2パン7ア加算命令のために選択
されることにより、補間2値を結果ランチ6oに供給さ
せ、そこから、レジスタファイルの中の指定レジスタに
書込ませる。
印加される。このマルチプレクサ54は画素サイズと、
実行中の命令のオペレーションコードとにより制御され
る。マルチプレクサ54は、加算器50からの結果をロ
ードされるMERGEレジスタのフィールドと、シフト
後のMERGEレジスタでロードされるフィールドとを
選択する。
クサ58の入力端子Cをイネーブルすることによ、9、
MERGEレジスタ56の出力を結果ランチ60へ送る
MERGE命令とのORによって、レジスタファイルの
中の1つのレジスタに書込まれても良い。
シェージング)t−1上述の2値補間と同様の方法で、
画素加算命令によって実現する。先に述べた通シ、本発
明は8ビツト、16ビツト及び32ビットの画素フォー
マントをそれぞれ支援する。
ントは16ビツト強さ補間を使用する。64ビツト命令
の場合、画素加算は一度に4回の16ビツト補関を実行
する。32ビット画素フォーマットは32ビット強さ補
間を使用する。従って、画素加算命令は一度に2回、そ
のような32ビット強さ補間を実行する。
場合の画素加算命令を示す。この場合、命令は16ビツ
ト値を加算するので、それぞれの値を、8ビットの整数
部と−8ビツトの小数部とを含む固定小数点実数として
扱うことができる。実数は、MERGEレジスタにロー
ドされるときには、8ビツトに切捨てされる。このよう
な命令のたびに、MERGEレジスタは右へ8ビツトシ
フトされる。
素について補間を実行するための命令と、奇数番号の画
素について補間を実行するための次の命令とが連続して
実行されるべきである。■1lRGEレジスタのシフト
は、2つの8ビット画素加算命令の結果を組合せる効果
を有する。
る場合の画素加算命令を示す。この場合、画素加算命令
は16ビント値を加算するので、それぞれの値を、6ビ
ツトの整数部と、10ビツトの小数部とを含む固定小数
点実数として扱うことができる。VERGEレジスタに
四−ドされるときには、6ビントに切捨てされる。16
ビツト画素加算命令のたびに、MERGEレジスタは右
へ6ビツトシフトされる。通常、1つの画素に表示され
る色ごとに1回ずつ、合わせて3つのそのような命令が
連続して実行される。MERGEレジスタのシフトは、
連続する命令の結果をMERGEレジスタに累積させる
。尚、VERGEレジスタにロードされた第1組の6ビ
ント値は、それぞれ、16ビツト画素の右側末端ヘシフ
トされるときに、さらに4ビツトに切捨てされる。
を示す。この場合、画素加算命令は32ビツト値を加、
算するが、それぞれの値は、8ビットの整数部と、24
ビットの小数部とを含む固定小数点実数として扱われる
。実数は、MERGEレジスタにロードされるときには
、8ビットに切捨てされる。32ビツト画素加算命令の
たびに、MERGEレジスタは右へ8ビツトシフトされ
る。通常、1つの画素に表示される色ごとに1回ずつ、
合わせて3つのそのような命令が連続して実行されるが
、4つの画素属性の全てを組合せるために、4つの連続
する命令を実行しても良い。MERGEレジスタのシフ
トは、連続して実行された命令の結果をVERGEレジ
スタに累!R醤せる。
バッファ加算命令に関連して説明したのと同様に進行す
る。すなわち、加算器50で実数の加算を実行し、その
結果を2つのマルチプレクサ54及び58に印加する。
ファイルへ送るために、マルチプレクサ58の人力Bが
選択される。切捨てされ九画素強さをMERGEレジス
タ56に累積するために、マルチプレクサ54により、
補間画素値の適切なビットフィールドが選択される。
逸脱せずに他の特定の形態で具現化されるであろう。す
なわち、本発明は上述の例に示される詳細な事項により
限定されるのではなく、特許請求の範囲によって規定さ
れるものとする。
と概念的に示す機能ブロンク腋図、第2図は、本発明に
よるZバッファ加算命令の演算を示す概略図、第3図(
1)は、本発明による8ビツト画素加算命令の演算を示
す概略図、第3図(b)は、本発明による16ビツト画
素加算命令の演算を示す概略図、第3図(C)は、本発
明による32ビツト画素加算命令の演算を示す概略図、
第4図は、本発明による図形処理装置の機能ブロック線
図である。 50−・・・64ビツト加算器、52.54・・・・・
マルチプレクサ、56・−・@MERGEレジスタ、5
8・・瞭・マルチプレクサ、60・拳・・結果ランチ、
62・Ill・画素マスク。
Claims (4)
- (1)複数個の画素から構成される表示スクリーンに三
次元物体の図形表示を描出するために表示データを発生
し、クロック信号と同期して演算を順次実行するデジタ
ルプロセッサにおいて、(a)それぞれの値が前記画素
の中の1つに対応し且つ前記表示スクリーンから、それ
に描出される第1の物体の対応する1点までの距離を表
わしているような複数のZ値を記憶するZバッファを設
ける過程と; (b)それぞれが前記画素の中の1つに対応しているよ
うな複数のビットから構成される画素マスクを設ける過
程と; (c)前記表示スクリーンに描出されるべき第2の物体
上の1点に対応する各画素に関して、対応する新たなZ
値を計算し且つ記憶する過程と;(d)前記画素マスク
を所定のビット数Nだけシフトする過程と; (e)前記新たなZ値の中からN個を選択する過程と; (f)前記N個の新たなZ値を、前記Zバッファから検
索されたN個の対応するZ値と比較する過程と; (g)前記N個の新たなZ値のうちi番目のものが前記
Zバッファから検索された前記対応するZ値より大きく
ない場合に、前記画素マスクの対応するi番目のビット
をセットする過程と;(h)前記1番目の新たなZ値と
、前記Zバッファから検索された前記対応するZ値のう
ち小さいほうを記憶する過程とから成り、過程(d)、
(e)、(f)、(g)及び(h)は前記クロック信号
の1サイクルの間にほぼ同時に実行される、更新すべき
画素を選択的に指定する方法。 - (2)複数個の画素から構成される表示スクリーンに三
次元物体の図形表示を描出するために表示データを発生
するデジタルプロセッサにおいて、(a)それぞれの値
が前記画素の中の1つに対応し且つ前記表示スクリーン
から、それに描出される第1の物体の対応する1点まで
の距離を表わしているような複数の旧Z値を記憶する第
1のレジスタ手段と; (b)それぞれの値が前記画素の中の1つに対応し且つ
前記表示スクリーンから、それに描出されるべき第2の
物体の対応する1点までの距離を表わしているような複
数の新Z値を記憶する第2のレジスタ手段と; (c)前記旧Z値のうちN個をN個の対応する新z値と
比較する比較器手段と; (d)少なくともN個のビットを有し、それぞれのビッ
トが前記旧Z値と前記新Z値との前記比較のうち対応す
る1つの結果を記憶する画素マスク手段と; (e)前記第1の物体を表わす複数の旧画素値を記憶す
るフレームバッファ手段と; (f)前記第2の物体を表わす複数の新画素値を記憶す
る第3のレジスタ手段と; (g)前記新画素値のうち対応するものを前記画素マス
ク手段の対応する1つのビットの関数として前記フレー
ムバッファ手段に選択的に記憶するデータ経路手段とを
具備し、前記フレームバッファ手段の、前記第2の物体
のほうが前記第1の物体より前記表示スクリーンに近接
している記憶場所のみが更新される、前記画素を選択的
に更新する装置。 - (3)複数のデータ語についてクロック信号と同期して
演算を順次実行するデジタルプロセッサにおいて、 (a)第1のデータ値を表わす複数の第1のデータ語を
記憶する第1のメモリ手段を設ける過程と; (b)それぞれが前記第1のデータ語の中の1つに対応
しているような複数のビットから構成されるマスクレジ
スタを設ける過程と; (c)前記第1のデータ語の指定されたサブセットごと
に、対応する新たな第1のデータ値を計算し且つ記憶す
る過程と; (d)前記マスクレジスタを所定のビット数Nだけシフ
トする過程と; (e)前記新たな第1のデータ値の中からN個を選択す
る過程と; (f)前記N個の新たな第1のデータ値を、前記第1の
メモリ手段から検索されたN個の対応する第1のデータ
語と比較する過程と; (g)前記N個の新たな第1のデータ値のうちi番目の
ものが前記第1のメモリ手段から検索された前記対応す
る第1のデータ語に対して所定の数学的関係を有する場
合に、前記マスクレジスタの対応するi番目のビットを
セツトする過程とから成り、過程(d)、(e)、(f
)及び(g)は、前記クロック信号の1サイクルの間に
ほぼ同時に実行される、更新すべきデータ語を選択的に
指定する方法。 - (4)複数のデータ語について演算を実行するデジタル
プロセッサにおいて、 (a)第1のデータ値を表わす複数の第1のデータ語を
記憶する第1のメモリ手段と; (b)複数の新たな第1のデータ値を記憶する第1のレ
ジスタ手段と; (c)前記第1のデータ語の中のN個をN個の対応する
新たな第1のデータ値と比較する比較器手段と; (d)少なくともN個のビットを有し、それぞれのビッ
トが前記第1のデータ語と、前記新たな第1のデータ値
との前記比較のうち対応する1つの結果を記憶するマス
ク手段と; (e)前記第1のデータ語と論理的に関連し、第2のデ
ータ値を表わす複数の第2のデータ語を記憶する第2の
メモリ手段と; (f)複数の新たな第2のデータ値を記憶する第2のレ
ジスタ手段と; (g)前記新たな第2のデータ値のうち対応するものを
前記マスク手段の対応する1つのビットの関数として前
記第2のメモリ手段に選択的に記憶するデータ経路手段
とを具備し、前記第2のメモリ手段の、対応する第1の
データ語が前記対応する新たな第1のデータ値に対して
所定の数学的関係を有する記憶場所のみが更新される、
前記データ語を選択的に更新する装置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US311.293 | 1989-02-14 | ||
| US07/311,293 US5081698A (en) | 1989-02-14 | 1989-02-14 | Method and apparatus for graphics display data manipulation |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH02289097A true JPH02289097A (ja) | 1990-11-29 |
| JP3023685B2 JP3023685B2 (ja) | 2000-03-21 |
Family
ID=23206258
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2031652A Expired - Lifetime JP3023685B2 (ja) | 1989-02-14 | 1990-02-14 | 画像表示データ処理装置 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US5081698A (ja) |
| JP (1) | JP3023685B2 (ja) |
| GB (1) | GB2228652B (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2011052117A1 (ja) * | 2009-10-26 | 2011-05-05 | 株式会社ソニー・コンピュータエンタテインメント | 画像ファイル生成装置、画像処理装置、画像ファイル生成方法、画像処理方法、および画像ファイルのデータ構造 |
| JP2011091769A (ja) * | 2009-10-26 | 2011-05-06 | Sony Computer Entertainment Inc | 画像ファイル生成装置、画像処理装置、画像ファイル生成方法、画像処理方法、および画像ファイルのデータ構造 |
| JP2011090648A (ja) * | 2009-10-26 | 2011-05-06 | Sony Computer Entertainment Inc | 画像処理装置および画像処理方法 |
Families Citing this family (52)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5268995A (en) * | 1990-11-21 | 1993-12-07 | Motorola, Inc. | Method for executing graphics Z-compare and pixel merge instructions in a data processor |
| ATE208071T1 (de) * | 1990-11-30 | 2001-11-15 | Sun Microsystems Inc | Verfahren und gerät zur darstellung von grafischen bildern |
| JPH07501162A (ja) * | 1991-06-28 | 1995-02-02 | リム ホン リップ | 3dコンピュータグラフィック用可視性計算の改善 |
| TW241196B (ja) * | 1993-01-15 | 1995-02-21 | Du Pont | |
| US5583974A (en) * | 1993-05-10 | 1996-12-10 | Apple Computer, Inc. | Computer graphics system having high performance multiple layer Z-buffer |
| WO1994027240A1 (en) * | 1993-05-10 | 1994-11-24 | Apple Computer, Inc. | Computer graphics system having high performance multiple layer z-buffer |
| US5590350A (en) * | 1993-11-30 | 1996-12-31 | Texas Instruments Incorporated | Three input arithmetic logic unit with mask generator |
| US5493524A (en) * | 1993-11-30 | 1996-02-20 | Texas Instruments Incorporated | Three input arithmetic logic unit employing carry propagate logic |
| US6098163A (en) * | 1993-11-30 | 2000-08-01 | Texas Instruments Incorporated | Three input arithmetic logic unit with shifter |
| US5596763A (en) * | 1993-11-30 | 1997-01-21 | Texas Instruments Incorporated | Three input arithmetic logic unit forming mixed arithmetic and boolean combinations |
| US6026484A (en) * | 1993-11-30 | 2000-02-15 | Texas Instruments Incorporated | Data processing apparatus, system and method for if, then, else operation using write priority |
| US6116768A (en) * | 1993-11-30 | 2000-09-12 | Texas Instruments Incorporated | Three input arithmetic logic unit with barrel rotator |
| US5974539A (en) * | 1993-11-30 | 1999-10-26 | Texas Instruments Incorporated | Three input arithmetic logic unit with shifter and mask generator |
| US5961635A (en) * | 1993-11-30 | 1999-10-05 | Texas Instruments Incorporated | Three input arithmetic logic unit with barrel rotator and mask generator |
| US5485411A (en) * | 1993-11-30 | 1996-01-16 | Texas Instruments Incorporated | Three input arithmetic logic unit forming the sum of a first input anded with a first boolean combination of a second input and a third input plus a second boolean combination of the second and third inputs |
| US5640578A (en) * | 1993-11-30 | 1997-06-17 | Texas Instruments Incorporated | Arithmetic logic unit having plural independent sections and register storing resultant indicator bit from every section |
| US5673407A (en) * | 1994-03-08 | 1997-09-30 | Texas Instruments Incorporated | Data processor having capability to perform both floating point operations and memory access in response to a single instruction |
| GB9406511D0 (en) * | 1994-03-31 | 1994-05-25 | Argonaut Software Limited | Z-buffering in 3-d computer graphics |
| JP3240821B2 (ja) * | 1994-04-22 | 2001-12-25 | 株式会社日立製作所 | 高機能画像メモリlsi及びそれを用いた表示装置 |
| US5734874A (en) * | 1994-04-29 | 1998-03-31 | Sun Microsystems, Inc. | Central processing unit with integrated graphics functions |
| US5568410A (en) * | 1994-09-29 | 1996-10-22 | International Business Machines Corporation | Method and apparatus for determining the amount of leading zeros or ones in a binary data field |
| US6275834B1 (en) | 1994-12-01 | 2001-08-14 | Intel Corporation | Apparatus for performing packed shift operations |
| US6738793B2 (en) | 1994-12-01 | 2004-05-18 | Intel Corporation | Processor capable of executing packed shift operations |
| KR100329338B1 (ko) * | 1994-12-02 | 2002-07-18 | 피터 엔. 데트킨 | 복합피연산자의팩연산을수행하는마이크로프로세서 |
| US7483935B2 (en) * | 1995-08-16 | 2009-01-27 | Microunity Systems Engineering, Inc. | System and method to implement a matrix multiply unit of a broadband processor |
| US5953241A (en) | 1995-08-16 | 1999-09-14 | Microunity Engeering Systems, Inc. | Multiplier array processing system with enhanced utilization at lower precision for group multiply and sum instruction |
| US7301541B2 (en) | 1995-08-16 | 2007-11-27 | Microunity Systems Engineering, Inc. | Programmable processor and method with wide operations |
| US6643765B1 (en) * | 1995-08-16 | 2003-11-04 | Microunity Systems Engineering, Inc. | Programmable processor with group floating point operations |
| US5742840A (en) * | 1995-08-16 | 1998-04-21 | Microunity Systems Engineering, Inc. | General purpose, multiple precision parallel operation, programmable media processor |
| US6295599B1 (en) * | 1995-08-16 | 2001-09-25 | Microunity Systems Engineering | System and method for providing a wide operand architecture |
| US6385634B1 (en) * | 1995-08-31 | 2002-05-07 | Intel Corporation | Method for performing multiply-add operations on packed data |
| US7395298B2 (en) * | 1995-08-31 | 2008-07-01 | Intel Corporation | Method and apparatus for performing multiply-add operations on packed data |
| FI107196B (fi) * | 1997-07-09 | 2001-06-15 | Vlsi Solution Oy | Menetelmä ja laite kuvaelementtien käsittelemiseksi |
| US5933156A (en) * | 1997-12-03 | 1999-08-03 | Margolin; Jed | Z-Buffer for row addressable graphics memory with flash fill |
| US6230253B1 (en) * | 1998-03-31 | 2001-05-08 | Intel Corporation | Executing partial-width packed data instructions |
| US6041404A (en) | 1998-03-31 | 2000-03-21 | Intel Corporation | Dual function system and method for shuffling packed data elements |
| US6230257B1 (en) | 1998-03-31 | 2001-05-08 | Intel Corporation | Method and apparatus for staggering execution of a single packed data instruction using the same circuit |
| FR2818145B1 (fr) * | 2000-12-18 | 2003-11-28 | Oreal | Compositions cosmetiques antisolaires a base d'un melange synergetique de filtres et utilisations |
| US7155601B2 (en) * | 2001-02-14 | 2006-12-26 | Intel Corporation | Multi-element operand sub-portion shuffle instruction execution |
| AU2002339867A1 (en) * | 2001-09-04 | 2003-03-18 | Microunity Systems Engineering, Inc. | System and method for performing multiplication |
| US7430578B2 (en) * | 2001-10-29 | 2008-09-30 | Intel Corporation | Method and apparatus for performing multiply-add operations on packed byte data |
| US7624138B2 (en) | 2001-10-29 | 2009-11-24 | Intel Corporation | Method and apparatus for efficient integer transform |
| US7631025B2 (en) * | 2001-10-29 | 2009-12-08 | Intel Corporation | Method and apparatus for rearranging data between multiple registers |
| US7739319B2 (en) * | 2001-10-29 | 2010-06-15 | Intel Corporation | Method and apparatus for parallel table lookup using SIMD instructions |
| US7685212B2 (en) * | 2001-10-29 | 2010-03-23 | Intel Corporation | Fast full search motion estimation with SIMD merge instruction |
| US7818356B2 (en) | 2001-10-29 | 2010-10-19 | Intel Corporation | Bitstream buffer manipulation with a SIMD merge instruction |
| US20040054877A1 (en) | 2001-10-29 | 2004-03-18 | Macy William W. | Method and apparatus for shuffling data |
| US7725521B2 (en) * | 2001-10-29 | 2010-05-25 | Intel Corporation | Method and apparatus for computing matrix transformations |
| US7047383B2 (en) * | 2002-07-11 | 2006-05-16 | Intel Corporation | Byte swap operation for a 64 bit operand |
| US8078836B2 (en) | 2007-12-30 | 2011-12-13 | Intel Corporation | Vector shuffle instructions operating on multiple lanes each having a plurality of data elements using a common set of per-lane control bits |
| US20090322747A1 (en) * | 2008-06-30 | 2009-12-31 | Robert Farrell | Graphics processing with hidden surface removal |
| JP6026587B1 (ja) * | 2015-04-15 | 2016-11-16 | 株式会社ドクターフィット | 靴の補正方法 |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4685070A (en) * | 1984-08-03 | 1987-08-04 | Texas Instruments Incorporated | System and method for displaying, and interactively excavating and examining a three dimensional volume |
| IL79822A (en) * | 1985-12-19 | 1990-03-19 | Gen Electric | Method of comprehensive distortion correction for a computer image generation system |
| US4811245A (en) * | 1985-12-19 | 1989-03-07 | General Electric Company | Method of edge smoothing for a computer image generation system |
-
1989
- 1989-02-14 US US07/311,293 patent/US5081698A/en not_active Expired - Lifetime
- 1989-12-13 GB GB8928135A patent/GB2228652B/en not_active Expired - Lifetime
-
1990
- 1990-02-14 JP JP2031652A patent/JP3023685B2/ja not_active Expired - Lifetime
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2011052117A1 (ja) * | 2009-10-26 | 2011-05-05 | 株式会社ソニー・コンピュータエンタテインメント | 画像ファイル生成装置、画像処理装置、画像ファイル生成方法、画像処理方法、および画像ファイルのデータ構造 |
| JP2011091769A (ja) * | 2009-10-26 | 2011-05-06 | Sony Computer Entertainment Inc | 画像ファイル生成装置、画像処理装置、画像ファイル生成方法、画像処理方法、および画像ファイルのデータ構造 |
| JP2011090648A (ja) * | 2009-10-26 | 2011-05-06 | Sony Computer Entertainment Inc | 画像処理装置および画像処理方法 |
| AU2010313045B2 (en) * | 2009-10-26 | 2013-08-29 | Sony Interactive Entertainment Inc. | Image file generation device, image processing device, image file generation method, image processing method, and data structure for image files |
| US8724914B2 (en) | 2009-10-26 | 2014-05-13 | Sony Corporation | Image file generation device, image processing device, image file generation method, image processing method, and data structure for image files |
Also Published As
| Publication number | Publication date |
|---|---|
| GB2228652A (en) | 1990-08-29 |
| US5081698A (en) | 1992-01-14 |
| GB8928135D0 (en) | 1990-02-14 |
| JP3023685B2 (ja) | 2000-03-21 |
| GB2228652B (en) | 1993-10-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH02289097A (ja) | 画像表示データ処理装置 | |
| US5157388A (en) | Method and apparatus for graphics data interpolation | |
| US6333744B1 (en) | Graphics pipeline including combiner stages | |
| US5268995A (en) | Method for executing graphics Z-compare and pixel merge instructions in a data processor | |
| US6628290B1 (en) | Graphics pipeline selectively providing multiple pixels or multiple textures | |
| US7659909B1 (en) | Arithmetic logic unit temporary registers | |
| US6624819B1 (en) | Method and system for providing a flexible and efficient processor for use in a graphics processing system | |
| US5774133A (en) | Computer system with improved pixel processing capabilities | |
| US6954204B2 (en) | Programmable graphics system and method using flexible, high-precision data formats | |
| US7298375B1 (en) | Arithmetic logic units in series in a graphics pipeline | |
| US7710427B1 (en) | Arithmetic logic unit and method for processing data in a graphics pipeline | |
| EP0817003B1 (en) | Format conversion of graphical image data words | |
| US5862066A (en) | Methods and apparatus for fast check of floating point zero or negative zero | |
| KR101973924B1 (ko) | 그래픽스 프로세싱을 위한 퍼-쉐이더 프리앰블 | |
| US10430912B2 (en) | Dynamic shader instruction nullification for graphics processing | |
| US6377265B1 (en) | Digital differential analyzer | |
| US5896307A (en) | Method for handling an underflow condition in a processor | |
| US5956047A (en) | ROM-based control units in a geometry accelerator for a computer graphics system | |
| EP0790581B1 (en) | Method for alpha blending images utilizing a visual instruction set | |
| US6778188B2 (en) | Reconfigurable hardware filter for texture mapping and image processing | |
| US5717845A (en) | Method and apparatus for transferring a brush pattern to a destination bitmap | |
| US5128872A (en) | Method and apparatus for determining line positions for display and manipulation by a computer system | |
| JP2006318404A (ja) | 図形描画装置 | |
| US5801719A (en) | Microprocessor with graphics capability for masking, aligning and expanding pixel bands | |
| JPH086789A (ja) | 複数命令を同時に進行させる方法及びそのためのプロセッサ |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090121 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100121 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100121 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110121 Year of fee payment: 11 |
|
| EXPY | Cancellation because of completion of term | ||
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110121 Year of fee payment: 11 |