JPH03212773A - 二重バッファ及び奥行バッファの同時初期化方法 - Google Patents

二重バッファ及び奥行バッファの同時初期化方法

Info

Publication number
JPH03212773A
JPH03212773A JP2311221A JP31122190A JPH03212773A JP H03212773 A JPH03212773 A JP H03212773A JP 2311221 A JP2311221 A JP 2311221A JP 31122190 A JP31122190 A JP 31122190A JP H03212773 A JPH03212773 A JP H03212773A
Authority
JP
Japan
Prior art keywords
depth
buffer device
pixel
graphic
color
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
JP2311221A
Other languages
English (en)
Inventor
Brian M Kelleher
ブライアン マイケル ケラハー
Zahid Hussain
ザーヒド  ハッサイン
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.)
Digital Equipment Corp
Original Assignee
Digital Equipment 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 Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of JPH03212773A publication Critical patent/JPH03212773A/ja
Pending legal-status Critical Current

Links

Classifications

    • G—PHYSICS
    • G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39—Control of the bit-mapped memory
    • G09G5/399—Control of the bit-mapped memory using two or more bit-mapped memories, the operations of which are switched in time, e.g. ping-pong buffers
    • 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
    • G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00—Aspects of the architecture of display systems
    • G09G2360/12—Frame memory handling
    • G09G2360/122—Tiling
    • G—PHYSICS
    • G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00—Aspects of the architecture of display systems
    • G09G2360/12—Frame memory handling
    • G09G2360/126—The frame memory having additional data ports, not inclusive of standard details of the output serial port of a VRAM
    • G—PHYSICS
    • G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363—Graphics controllers

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Image Generation (AREA)
  • Image Processing (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は一般的には図形表示装置に関し、特定的には図
形表示装置内の二重バッファ及び奥行バッファの初期化
に関する。
[従来の技術] 典型的な図形処理装置においては、図形(もしくはグラ
フィック)プロセッサが幾何学的及び色情報を処理して
図形表示画面上の個々の画素の発光を制御するために使
用する画素情報を作成する。
枠(もしくはフレーム)バッファ内に記憶されている図
形色情報が画面上の画素の発光を制御する。枠バッファ
内の色情報は周期的に更新しなければならない。通常こ
の更新は、先ず二重バッファ及び奥行バッファを初期化
し、次に二重バッファ及び奥行バッファを更新し、そし
て二重バッファからの更新された情報を枠バッファへ複
写することによって遂行する。二重バッファ及び奥行バ
ッファの更新中に奥行バッファ内に記憶されている奥行
情報を用いて、二重バッファ内に記憶され且つ1つの像
に対応する色情報を、別の像に対応する色情報の上に書
き込むべきか否かを決定する。
従来の図形装置は、二重バッファ及び奥行バッファを初
期化するのに時間がかかることが問題であった。この初
期化には初期色値及び初期奥行値を二重バッファ及び奥
行バッファの各画素記憶素子にそれぞれ書き込むことが
含まれる。
それ故、二重バッファ及び奥行バッファをより速く初期
化する方法が待望されていた。本発明はこの要望に応え
るものである。
[発明の概要] 1つの面において本発明は、図形像表示装置の二重バッ
ファ及び奥行バッファの初期化方法を提供する。本方法
は、背景色値を二重バッファの各画素記憶素子内に書き
込み、同じ背景色値を奥行バッファの各画素記憶素子内
に書き込むことを含む。
別の面において本発明は、図形像を表示する方法を提供
する。この方法は背景色値を周期的に二重バッファの各
画素記憶素子内に書き込み、同じ背景色値を周期的に奥
行バッファの各画素記憶素子内に書き込むことを含む。
またこの方法は図形表示画面の各画素毎に、背景色を表
す二値に従って位取りされた奥行値に写像することによ
って奥行バッファの対応画素記憶素子に関する奥行値を
計算する段階をも含む。二重バッファの対応画素記憶素
子に関する色値を計算する。奥行バッファの対応画素記
憶素子から現在記憶されている奥行値を読み出す。計算
した奥行値と現在記憶されている奥行値とを比較する。
もし計算した奥行値の方が現在記憶されている奥行値よ
りも浅ければ、計算した奥行値を奥行バッファの対応画
素記憶素子内に書き込み、また計算した色値を二重バッ
ファの対応画素記憶素子内に書き込む。
本方法によれば、背景色値を用いて二重バッファ及び奥
行バッファを同時に初期化することが可能になる。この
ような同時初期化によって、図形装置は図形像を生成す
るために使用する情報をより迅速に処理できるようにな
る。
以下に添付図面に基づいて本発明の特定の実施例を説明
する。
[実施例] 本発明は図形表示画面の二重バッファ及び奥行バッファ
を初期化する新規な方法に関する。以下の説明は当分野
に精通した人に対して本発明の実現及び使用を可能なら
しめるためのものであり、また特定の応用及びその要求
に鑑みてなされるものである。当業者ならば本発明の思
想及び範囲から逸脱することなく以下に説明する実施例
への種々の変更は容易であろうし、またこれらの原理を
他の実施例又は応用に適用することも可能であろう。そ
れ故、本発明は図示実施例に限定されるものではないこ
とを理解されたい。
第1図は本発明の処理装置40の現在では好ましい実施
例のブロック線図である。処理装置40は主プロセツサ
41(破線内)及び図形装置42(別の破線内)を含む
。主プロセツサ41は回線56上に幾何学的及び色情報
を供給する。図形装置42はこの幾何学的及び色情報を
処理してディジタル画素色及び画素奥行情報を作る。ビ
デオディジタル・アナログ変換器(DAC)43は、図
形表示画面48上に線分P、P、の像のような像を描く
ために、ディジタル画素色情報を図形表示装置47が使
用できるアナログ情報に変換する。
本発明は、図形装置内の二重バッファ及び奥行バッファ
を初期化する新規な方法を提供する。好ましい実施例に
おける本方法は、二重バッファの各画素記憶素子内と、
奥行バッファの各画素記憶素子内とに同時に画素背景色
情報を書き込む。
主プロセツサ41は中央処理装置(CPU)44、浮動
小数点処理装置(FPU)46、キャッシュメモリ50
及び主記憶装置52を含み、これらは全て32ビツトの
バス54に結合されている。
主プロセツサ41は、図形装置42が処理できる幾何学
的及び色情報を発生する応用プログラムを走らせる。
図形装置42はインタフェース装置58、第1及び第2
の図形プロセッサ60.62及び第1及び第2の記憶装
置64.66を含む。インタフェース装置58は主プロ
セツサ41から受けた幾何学的及び色情報を用いて第1
及び第2の図形プロセッサ60.62が使用するパラメ
タを発生する。
図形プロセッサ60.62はこれらのパラメタから画素
の色及び奥行情報を発生して第1及び第2の記憶装置6
4.66内にそれぞれ記憶させる。
主プロセツサ41は応用プログラムを走らせることによ
って、例えば複数の異なる、そして多分型なり合った像
を表示画面48上に発生させるための幾何学的及び色情
報を得ることができる。図形装置42はこのような異な
る各像毎の情報を個々に処理し、得られた情報を記憶装
置64.66内に記憶させる。
異なる各像毎に、インタフェース装置58は異なる集合
のパラメタを発生する。第1及び第2の図形プロセッサ
60.62はインタフェース装置58が発生したパラメ
タを使用して、像を描くには画面48上のどの画素をど
の色で発光させるべきかを決定する。
詳述すれば、第1及び第2の記憶装置64.66内に記
憶させる画素色及び奥行情報を決定するためにインタフ
ェース装置58が発生したパラメタに応答して第1及び
第2の図形プロセッサ60.62は直線補間を遂行する
。さらに、像を描くにはどの画素が必要であるかを決定
するために、図形プロセッサ60.62は縁探索アルゴ
リズムを使用して画面48上に描かれる像の幾何学的“
縁”を識別する。各画素色記憶素子は24ビツトの赤、
緑、青(RGB)色情報を含む。これらのビットは8ビ
ツトが赤に、8ビツトが緑に、そして8ビツトが青に割
り当てられる。また各画素奥行記憶素子も24ビツトの
奥行情報を含む。第1及び第2の図形プロセッサ60.
62はそれぞれ1度に5画素ずつ画素情報(色又は奥行
)を処理する。
何れも1度に120ビツトの情報を処理するので2つの
図形プロセッサ60.62は1度に10画素(240ビ
ツト)ずつの色又は奥行情報を同時に処理できることに
なる。
第1及び第2の記憶装置64.66は複数のデュアルポ
ートランダムアクセス記憶装置(RAM)を備えている
。図形表示画面48上の各画素は第1及び第2の記憶装
置64.66の何れか一方の異なる24ピツト画素色記
憶素子に対応している。
また、画面上の各画素は異なる24ピツト画素奥行記憶
装置にも対応している。記憶した画素色情報に依存して
画面48上に視覚像を描くために、記憶された画素色情
報は記憶装置64.66から読み出されビデオDAC4
3へ供給される。DAC43は像を描くために図形表示
装置が使用するアナログ信号を発生する。各デュアルポ
ートRAMの一方のポートは図形プロセッサ60.62
の一方がアクセスするために使用し、他方のボートはビ
デオDAC43がアクセスするために使用する。
画面48上に描かれる像の動きが連続して、もしくは滑
らかに見えるようにするために、像を典型的には少なく
とも毎秒10回程度更新する。像の各更新中、画面48
上の全画素のための画素色記憶素子の内容が初期化され
る。各初期化中、第1及び第2の記憶装置64.66の
各画素色記憶素子及び各画素奥行記憶素子の内容が背景
色値に設定される。前述のように、図形装置42は主プ
ロセツサから供給される幾何学的及び色情報を使用して
画面48上のどの画素を背景色以外の色で発光させるの
かを決定し、またこれらの異なる色に対応する画素色情
報を記憶するために対応する各画素色記憶素子にアクセ
スする。
画素色記憶素子及び画素奥行記憶素子を初期化するプロ
セスを以下に説明する。第2図は第1の記憶装置64の
ブロック線図である。第1及び第2の記憶装置64.6
6は実質的に同一であり、以下の説明は第2の記憶装置
66にも適用されることを理解されたい。第1の記憶装
置64は奥行バッファ(Zバッファ)86、二重バッフ
ァ88、及び枠(もしくはフレーム)バッファ90を含
ミ、これらは全て共用の120ビツトデータバス92に
接続されている。第1の制御回線94が行/読み出し/
書き込み制御信号を奥行、二重及び枠の各バッファ86
.88.90へ供給する。第2の制御回線96がこれら
3つの各バッファへ個別のチップ使用可能信号を供給す
る。
表示画面48上の各画素は奥行バッファ86の24ピツ
ト画素奥行記憶素子と、二重バッファ88の24ピツト
画素色記憶素子と、枠バッファ90の別の24ピツト画
素色記憶素子とに対応する。
以下に説明するように、3つのバッファの画素奥行記憶
素子及び画素色記憶素子は、論理的に10画素(5x2
タイル素子)の中の5つに対応する5素子単位に編成さ
れている。他の5画素のタイル素子は第2の記憶装置6
6の画素奥行記憶素子及び画素色記憶素子に対応する。
第3a図は24ピツト画素色記憶素子の概念図である。
8ビツトが赤を表し、8ビツトが緑を表し、そして8ビ
ツトが青を表す。二重バッファ88の各画素色記憶素子
に1対1で対応する画素色記憶素子が枠バッファ90内
にも存在している。
第3b図は24ピツト画素奥行記憶素子の概念図である
。24ピツトの全てを奥行を表すために使用することが
できる。
表示画面上に像を発生させるために、記憶した画素色情
報を枠バッファ90から読み出してビデオDAC43に
供給する。DAC43はこれらのディジタル値を、画面
48上に像を描くために図形表示装置47が使用するア
ナログ信号値に変換する。
滑らかに動く像を創るためには、少なくとも毎秒10回
程度枠バッファ90内の画素色情報を更新してDAC4
3に供給すべきである。枠バッファ90の内容を更新す
るプロセスは、先ず二重バッファ88の内容を更新し、
次いで二重バッファ88の内容を枠バッファ90内に複
写することを含む。変形実施例(図示せず)においては
、例えば、二重バッファの内容を更新した後に二重バッ
ファの内容を枠バッファ内に複写する代わりに、二重バ
ッファ及び枠バッファからの出力をこれら2つのバッフ
ァの役割を逆転させるように多重化(又はスイッチ)す
ることができる。この場合、2つのバッファの中で最も
新しく更新されたバッファをDACに直接接続して画素
情報を供給する。
他方のバッファは二重バッファとして働かせ、新しい画
素色情報で更新する。
二重バッファ88の更新は、奥行バッファ86及び二重
バッファ88を同時に初期化することを含む。この初期
化は奥行バッファ86の全画素奥行記憶素子に単一の2
4ビット画素奥行値を書き込むことと、二重バッファ8
8の全画素色記憶素子に単一の24ビット画素色値を書
き込むこととを含む。本発明によれば、初期化中に奥行
バッファ86及び二重バッファ88の両方の全画素色記
憶素子に同じ24ビツト値を書き込む。即ちこの同じ2
4ビツト値は、主プロセツサ41上を走る応用プログラ
ムによって指定される背景色を表す24ビツト値である
。
第1の図形プロセッサ60は、奥行バッファ86及び二
重バッファ88に共用120ビツトバス92からの情報
を書き込むように命令する読み出し/書き込み制御信号
を第1の制御回線94へ供給することによってこの同時
初期化を制御する。
これらの書き込み信号を供給する途中で第1の図形プロ
セッサ60は、奥行バッファ86及び二重バッファ88
の両方に第1の図形プロセッサ60から共用バス92へ
供給されるディジタル情報を同時に書き込ませるチップ
使用可能信号を第2の制御回線96へ供給する。図形プ
ロセッサ60は、画素奥行記憶素子及び画素色記憶素子
の全部に同じ画素値をロードすることによってそれらを
全て初期化するまで、1度に5画素ずつ、24ビット画
素(背景)色値を120ビツト共用バスへ供給する。
好ましい実施例における枠バッファ90の更新プロセス
は、隠れ面消去技術の適用をも含む。これらの技術によ
れば、ある画面の中で複数の像が互いに重なり合ってい
る場合に、これらの像の中でより近い像だけを画面に表
示させることができる。より近い像を描かせるには、こ
れらの重なり合う像の中のより近い像の画素に関する画
素色情報を二重バッファ内に記憶させる必要がある。
隠れ面消去技術の実現には奥行バッファ86の使用が含
まれる。第1の図形プロセッサ60は、画面48上に像
を表示するために包含される画素のために補間された画
素奥行と補間された画素色情報とを計算する。各画素毎
に第1の図形プロセッサ60は、奥行バッファ86の対
応画素奥行素子から現在記憶されている奥行値を読み出
す。第1の図形プロセッサ60はその画素に関して現在
記憶されている奥行値とその画素のために計算された(
補間された)奥行値とを比較する。もし計算された奥行
値の方が現在記憶されている奥行値よりも近ければ、第
1の図形プロセロ0は新たに計算された奥行値を当該画
素に対応する奥行記憶素子内に書き込み、またその画素
のために新たに計算された色値を当該画素に対応する色
記憶素子内に書き込む。そうでない場合には、当該画素
に関して現在記憶されている奥行値及び色値を変化させ
ずにそのままとする。
隠れ面消去技術の適用の途中で、主プロセツサ41上を
走る応用プログラムから与えられる0≦Z≦1の範囲内
の浮動小数点奥行値が24ビット2値奥行値に変換され
る。この変換は、奥行バッファ86内に現在記憶されて
いる24ビツト値との比較のために、計算された(補間
された)奥行値を計算する際に上記与えられる奥行値を
容易に使用できるように遂行されるのである。さらに、
奥行バッファの各画素記憶素子は背景色に対応する24
ビット奥行値を用いて初期化されるので、応用プログラ
ムから与えられる変換された奥行値を位取りしてこの初
期化を補償する必要がある。
好ましい実施例では、この位取りは以下のようにして遂
行される。2値背景色値を浮動小数点値に変換する。2
23より小さい2値背景色値の場合には変換される奥行
値を 奥行=(背景色値1+((2”−11−背景色値)*Z
とし、223より大きい2値背景色値の場合には変換さ
れる2値奥行値を 奥行=背景色値*Z とする。
このような位取りをすると、隠れ面消去技術を適用する
時により広範に位取りされた奥行値を使用できる。
第1の図形プロセッサ60が、ある画面内の複数の像に
関する画素奥行及び画素色情報を表現できることが理解
されよう。像が重なり合う場合には、上に述べた隠れ面
消去技術を使用すればより遠い像(又は像のより遠い部
分)はより近い像の背後に隠されてしまう。
次に実施例に基づいて、画面48上に線分の像を発生さ
せる時のデータ処理装置40の動作を説明する。この例
は、第4図に示す線分P、P2の像を発生させるために
画素を発光させる段階を中心としている。
図形プロセッサ60.62は。
Q =−a/b x −b/c y +a/c x++
b/c y++ Q +なる形の二次元方程式を使用し
て直線補間を遂行することによって、記憶装置64.6
6が記憶する画素色値、画素奥行値、及び画素輝度値を
発生する。但し Q+ ”AX + +B y+ +c Q2 =Axz +Bya +(:。
Qs =Axs +Bya +C であり、Qは色補間に関しては赤、緑、又は前値を表し
、奥行補間に関してはZ値を表し、輝度補間に関しては
α値を表す。
この実施例では直線補間を用いているが、画素色及び奥
行情報を計算する上で二次補間法のような別の方法を用
いることもできる。
主プロセツサ41は、線分P、P2の端点に関する幾何
学的及び色情報P +(X+3’+R+GJ+2+)及
びP z(XiyaR2GJaZzlをインタフェース
装置58に供給する。座標対(x+、y+l及び(X2
13’2 )は、図形画面48の画素アレイ内の端点P
、及びP2を含む画素の位置を示す。色情報(R+G+
B+) 、及び(R2GJ2)はそれぞれ端点P、及び
P2の色を提供する。最後に、奥行情報Z1及びZ2は
端点の奥行(観察者からの距離)を与える。奥行情報は
、例えば、画面48上の若干の像が画面上の他の像にか
ぶさる場合には、隠れ面消去に使用される。
このように重なっている場合には、“より近い”奥行値
を有する面が表示され、“より遠い”奥行値を有する面
は隠される。
幾何学的及び色情報に応答して、インタフェース装置5
8は、平行四辺形の座標、輝度値(ff)位取り、直線
補間を遂行するのに使用される選択された開始値、及び
直線補間を遂行するのに使用される定数値のようなパラ
メタを発生する。第5a図の平行四辺形(P−P4Pa
P6)は線分P 1P 2によって三等分され、またそ
の平行対辺は線分の端点P1及びP2を含む画素を取り
囲んでいる。この平行四辺形が表示画面48の二次元領
域を表示していることは明白であろう。
インタフェース装置58は輝度位取り係数αを発生する
。係数αは、線分p、p、から離れて垂直に変位してい
る画素が低輝度で発光するように、線分を描くために使
用する画素の発光輝度を漸進的に位取りするのに用いら
れる。即ち、表1及び第5b図に示すように平行四辺形
の左辺の輝度値はP3におけるα=0.0から、P、に
おけるα=1.0を経てP、におけるα=2.0まで変
化している。同様に、平行四辺形の右辺の輝度値はP4
のa=0.0からP2のa=1.0を経てP6のa =
2.0まで変化している。後述するように1.0乃至2
.0の範囲のαの値は、線分からの垂直距離と共に徐々
に減少するα輝度値が得られるように補間計算の途中で
1.0乃至0.0の範囲に写図される。
次の表1は第5b図の平行四辺形の辺上の点に割り当て
られるα値を示す。
p、p、            o、。
PyPa             O,25POP、
、           0.50P、、   P、□
         0.75P、P2        
    1.00P+a   PI3        
 1.25Pus   Pus          1
.50PI?   Pus          1.7
5PsPs             2.00インタ
フエース装置58は平行四辺形によって囲まれる(及び
その辺上にある)3つの点も選択し、平行四辺形によっ
て囲まれる画素の色、奥行、及び輝度情報(RGBZα
)の補間に使用する。例えば装置58は点P、、P4.
及びP6を選択できる。次いでこれらの3つの選択した
点の(RGBZα)値を使用してインタフェース装置5
8は−a/c = dQ/dx 、  −b/c = 
dQ/dyを計算する。QはRGB、Z又はαを表すこ
とができる。従ってインタフェース装置58は、dR/
dx、 dR/dy、 dG/dx、 dG/dy、 
dB/dx、 dB/dy。
dZ/dx、 dZ/dy、  da /dx及びda
/dyを計算する。好ましい実施例においてはa = 
(y4−ysl (as−o4t−(ys−y41 (
Q4−Qslb = (Q4−Qsl (xs−x41
−(Qs−Q+l fx<−xs)c = (x4−x
il bs−y41− (X5−X4) (y4−ys
)である。但し1選択した点P、、P4及びP8の(x
、y )座標は、(xa、yxl、(x4.y4)及び
(X a + ’j s )である。
インタフェース装置58が平行四辺形の座標を発生し、
α値を割り当て、平行四辺形内に含まれる3つの点を選
択し、そして上記定数値を計算した後、第1及び第2の
図形プロセッサ60.62はこの情報を使用して、線分
P、P、の像を表示するためにはどの画素色記憶素子を
新画素色情報で更新するのかを決定し、また更新された
画素色及び奥行情報を補間する。
詳述すれば、第1及び第2の図形プロセッサ60.62
は縁探索アルゴリズムを使用して、どの画素を更新する
のかを決定する。好ましい実施例では“タイル”素子を
用いた縁探索アルゴリズムを使用している。“タイル”
素子は、5X2画素アl/イの画面上に配列された1組
10個の物理的に隣接する24ビツトの画素である。第
6図は、“1”乃至“10”の番号を付した10画素か
らなる5X2タイル素子を示す。
画面48は複数のタイル素子に分割される。対応して記
憶装置64.66は、各タイル素子毎に、色情報を記憶
するための論理的に隣接する10画素記憶素子が存在し
、また奥行情報を記憶するための論理的に隣接する10
画素記憶素子が存在するように編成されている。
要約すれば、縁探索アルゴリズムは以下のように動作す
る。開始タイル素子が選択される。第7図では、このタ
イル素子を“l”で示しである。
好ましい実施例においては、この開始タイル素子は当該
幾何学的図形(この例では三角形T、、T。
T、)の最上頂点を含むタイル素子である。アルゴリズ
ムは先ず開始タイル素子“1”の左側の何れかのタイル
素子を縁が走っているかどうかを探索する。この例では
そのようなタイル素子はない。
次に、アルゴリズムは開始タイル素子の右側の何れかの
タイル素子を縁が走っているかどうかを探索する。アル
ゴリズムは“2”番のタイル素子に縁が走っていること
を決定する。次いでアルゴリズムは“l”番の開始タイ
ル素子の直下の“2”番のタイル素子の座標へ移動する
。アルゴリズムは“3”番タイル素子の座標から左側を
、次いで右側を再び検索する。アルゴリズムは“3”番
から6”番までのタイル素子が全部又は一部を三角形T
、、T、、T、の縁によって囲まれていることを見出す
。アルゴリズムは三角形の底辺がタイル素子“3”を通
っていないことを決定する。
そこで“7”番タイル素子の座標に移ってその左側、次
いで右側を探索し、タイル素子゛°8““7”及び“9
”乃至“14”が全部又は一部を囲まれていることを識
別する。このようにしてアルゴリズムは、最後の2つの
タイル素子が全部又は一部を囲まれていることを識別す
るまで進行する。この例では、最後の2つのタイル素子
はそれぞれ“52”及び“53”である。上側では縁探
索アルゴリズムを三角形T、、T、、T、に適用してい
るが、第4図〜第5C図の平行四辺形にも全く容易に適
用できることは明白である。また好ましい実施例では縁
探索アルゴリズムを使用しているが、平行四辺形によっ
て囲まれている画素又はタイル素子を識別するためには
、より伝統的な他の方法も使用できることを理解された
い。
第1及び第2の図形プロセッサ60.62は、当該幾何
学的図形によって全部又は一部が囲まれていることを見
出されたタイル素子の画素に関する色、奥行、及び輝度
値を補間する。例えば第5C図に示す”1”乃至“10
”番の5×2画素アレイからなるタイル素子は、縁探索
アルゴリズムの適用によって平行四辺形P+ Pg P
s P4によつて(部分的に)囲まれていることが見出
される。
画素“1”乃至“4”及び“6”乃至“9”は平行四辺
形に囲まれている。画素“5”及び“10は平行四辺形
の外側に位置している。このタイル素子は(部分的に)
平行四辺形に囲まれているから、タイル素子内の各画素
毎に前記二次元方程式を使用してそれぞれの画素のため
の色(RGB)奥行(Z)及び輝度(α)値を補間する
。
タイル素子内の各画素毎の最終的な赤、縁、及び青の色
値は、それぞれの補間された赤、緑、及び青の色値から
以下のようにして計算される。
色(最終):色(補間済)*α(補間済)輝度値(α)
は線分からの垂直距離と共に減少するから、線分から垂
直に離れて位置する画素は徐々にフェードアウトし1階
段効果を減少させる。
前述したように、■、0〈α≦2.0の範囲内にあるα
(輝度)値は、色(最終)を計算するために前記方程式
を適用する前に1.0〉α≧0.0の範囲に回国しなけ
ればならない。本実施例では、第8図に概要を示す下位
けたあふれ/あふれ(U10訂正回路68を使用してこ
の回国を遂行する。
U10回路68は、9ビツト加算器7oの形状の計算装
置、9個の排他的ORゲート72の形状の反転回路、及
びANDゲート74の形状の制御装置を含む。9ビツト
加算器70は、9個の1ビット加算器70−0乃至70
−8からなり、これらはけた上げチェーンの形に結合さ
れている。9ビツト加算器70の各1ビット加算器70
−0乃至70−8の出力は、それぞれ排他的ORゲート
72−0乃至72−8の第1の入力に接続されている。
ANDゲート74の出カフ3は排他的ORゲート72−
0乃至72−8の第2の入力に接続されている。AND
ゲート74の第1の入力8oはけた上げチェーン内の最
高位にある9番目の1ビット加算器70−8の出力に接
続されている。ANDゲート74の第2の入力80は制
御信号を受ける。
U10回路68は、次の輝度値α。を補間することがで
き、また補間された輝度値を1.0 <α≦2.0の範
囲から1.0〉α≧0.0の範囲に回国することができ
る。詳述すれば、9ビツト加算器7゜の“A”入力は、
9ビツトの予め補間された輝度値α2.(α2o〜α、
、8)を受ける。9ビツト加算器70の“B″′′入力
例えば9ビツトのdat/dx(da o/dx〜da
 s/dX)からなる定数値da/dxを受ける。最低
位の予め補間された輝度値ビットα、。及び定数ビット
dα。/dxは1ビット加算器70−0に供給される。
最高位の予め補間された輝度値ビットα28及び定数ビ
ットdaa/dxは1ビット加算器70−8に供給され
る。以下の説明はdα/dyの計算にも適用できる。
U10回路68は9ビツトαn+((ZnO乃至ana
)からなる9ビツトの次の輝度値を補間する。次の輝度
値α。の実数値が0.0≦an≦1.0の範囲内にある
限り、次の最高位輝度ビットα。8の値は論理“0”で
ある。もし最高位輝度値α。の実数値が1.0〈α。≦
2.0の範囲内にあれば、次の最高位輝度ビットα、、
aの値は論理“1”である。
ANDゲート74の第2の入力82へ論理“I”を供給
することによってANDゲート74は、最高位輝度ビッ
トα。8が論理“1”である場合だけ論理“1”信号を
回線73上に出力する。回線73上の論理“1”信号に
よって排他的ORゲート72−0乃至72−7は、それ
ぞれ1ビット加算器70−0乃至70−7から供給され
るビットを反転する。この反転は、表2に示すように1
.o〈α。≦2.0の範囲内の輝度値を0.0≦α。≦
1.0の範囲に回国するために使用することができる。
u α割り当て済 α割り当て済 回国さおるα割り当−ヱ
皇土上羞 −」Ll1−−二1」L皇1−o、o   
       oxo。
O,250X40 0.50          0X801 、 O0X
FF 1.5          0X180       
  0X7F1.75        0XICO0X
3F2.0         0XIFF      
    OXO第5a図1表1及び表2から、U10回
路68を使用すれば次の輝度値を1.0〈α。≦2.0
の範囲から0.0≦α。≦1.0の範囲へ16進数の形
で回国できることが解る。さらにU10回路68は、次
に補間される画素の輝度値α。を線分からの画素の垂直
距離の増加と共に減少させるように、この回国を遂行す
ることも解る。またこのような減少は、線分P、P、の
下方に横たわる画素とほぼ同じ割合で、上方に横たわる
画素にも発生する。
第9図は、水平の対向辺に沿う点に輝度値(α)が割り
当てられている平行四辺形を示す。第9図の平行四辺形
のための輝度値位取りを表3に示す。
表−旦 占                  αPNPOP
P、PQ        O,OP、  Pff、PT
、Pu        O,5P、P、1      
        1.0第9図の平行四辺形の場合には
、図形装置42は、線分PLPMによって三等分されて
いる2つの平行四辺影領域PNPOPLPM及びPLP
MPPPQにおける色、奥行及び輝度の補間を遂行する
。輝度値(α)は既に適切に位取りされているから、輝
度値の回国のためにはU10回路68は使用されない。
以上、本発明の一実施例を説明したが、この好ましい実
施例には本発明の範囲から逸脱することな(種々の変更
を施し得ることは明白である。従って以上の説明は本発
明を限定するものではないことを理解されたい。
【図面の簡単な説明】
第1図は本発明の好ましい実施例による処理装置のブロ
ック線図であり、 第2図は第1図の装置の第1の記憶装置の詳細を示すブ
ロック線図であり、 第3a図は第2図の第1の記憶装置の枠バッファ(又は
二重バッファ)の画素色素子の概念図であり、 第3b図は第2図の第1の記憶装置の奥行バッファの画
素奥行素子の概念図であり、 第4図は第1図の好ましい実施例の図形画面上の線分の
例であり、 第5a図は第1図の装置のインタフェース装置よって発
生される平行四辺形を示し、 第5b図は第5a図の平行四辺形の対向する垂直縁に沿
って異なる輝度が割り当てられる個々の画素を示し、 第5c図は第5a図の平行四辺形及びタイル素子を示し
、 第6図は第1図の装置の表示画面のタイル素子を示し、 第7図は幾何学的図形によって取り囲まれている画素を
識別するための縁探索アルゴリズムの適用を説明する図
であり、 第8図は第1図の図形処理装置の下位けたあふれ/あふ
れ訂正回路の回路図であり、 第9図は輝度値が対向する水平縁に沿って割り当てられ
る変形平行四辺形を示す。 40・・図形処理装置、 41・・主プロセツサ、 42・・図形装置、 43・・ビデオディジタル・アナログ変換器、44・・
中央処理装置(CPU)、 46・・浮動小数点処理装置(FPU)。 47・・図形表示装置、 48・・図形表示画面、 50・・キャッシュメモリ、 52・・主記憶装置、 58・・インタフェース装置、 60.62・・図形プロセッサ、 64.66・・記憶装置、 68・・下位けたあふれ/あふれ訂正回路、70・・加
算器、 72・・排他的ORゲート、 74・・ANDゲート、 86・・奥行バッファ、 88・・二重バッファ、 90・・枠バッファ、 92・・共用データバス、 94.96・・制御回線。 平成 年 月 日

Claims (3)

    【特許請求の範囲】
  1. (1)図形プロセッサ、図形表示画面、画素色情報を記
    憶する二重バッファ装置、及び画素奥行情報を記憶する
    奥行バッファ装置を含む図形像表示装置の奥行バッファ
    装置及び二重バッファ装置を初期化する方法であって、 図形表示画面に現れる背景色を表す二値を二重バッファ
    装置の各画素記憶素子内に書き込み、図形表示画面に現
    れる背景色を表す二値を奥行バッファ装置の各画素記憶
    素子内に書き込む諸段階を具備する方法。
  2. (2)図形プロセッサ、図形表示画面、画素色情報を記
    憶する二重バッファ装置、及び画素奥行情報を記憶する
    奥行バッファ装置を含む図形像表示装置の奥行バッファ
    装置及び二重バッファ装置を初期化する方法であつて、 図形表示画面に現れる背景色を表す二値を二重バッファ
    装置の各画素記憶素子内に書き込み、図形表示画面に現
    れる背景色を表す二値を奥行バッファ装置の各画素記憶
    素子内に書き込む諸段階を具備し、 書き込み段階を並列に遂行し、 書き込み段階の途中において、二重バッファ装置の画素
    記憶素子が記憶している二値及び奥行バッファ装置の画
    素記憶素子が記憶している二値の両方を、図形プロセッ
    サと二重バッファ装置との間、及び図形プロセッサと奥
    行バッファ装置との間の共用データバス上へ転送する方
    法。
  3. (3)図形プロセッサ、図形表示画面、画素色情報を記
    憶する二重バッファ装置、及び画素奥行情報を記憶する
    奥行バッファ装置を含む図形像表示装置に図形像を表示
    させる方法であって、A、図形表示画面に現れる背景色
    を表す二値を周期的に二重バッファ装置の各画素記憶素
    子内に書き込み、 B、図形表示画面に現れる背景色を表す二値を周期的に
    奥行バッファ装置の各画素記憶素子内に書き込み、 C、図形表示画面の各画素毎に a、背景色を表す二値に従って位取りされた奥行値に写
    像することによって奥行バッフ ァ装置の対応画素記憶素子に関する奥行値 を計算し、 b、二重バッファ装置の対応画素記憶素子に関する色値
    を計算し、 c、奥行バッファ装置の対応画素記憶素子から現在記憶
    されている奥行値を読み出し、 d、計算した奥行値と、現在記憶されている奥行値とを
    比較し、 e、もし計算した奥行値の方が現在記憶されている奥行
    値よりも浅いことを示せば i、計算した奥行値を奥行バッファ装置の対応画素記憶
    素子内に書き込み、 ii、計算した色値を二重バッファ装置の対応画素記憶
    素子内に書き込む 諸段階を具備する方法。
JP2311221A 1989-11-17 1990-11-16 二重バッファ及び奥行バッファの同時初期化方法 Pending JPH03212773A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US438649 1989-11-17
US07/438,649 US5008838A (en) 1989-11-17 1989-11-17 Method for simultaneous initialization of a double buffer and a frame buffer

Publications (1)

Publication Number Publication Date
JPH03212773A true JPH03212773A (ja) 1991-09-18

Family

ID=23741458

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2311221A Pending JPH03212773A (ja) 1989-11-17 1990-11-16 二重バッファ及び奥行バッファの同時初期化方法

Country Status (5)

Country Link
US (1) US5008838A (ja)
EP (1) EP0430502B1 (ja)
JP (1) JPH03212773A (ja)
CA (1) CA2030208A1 (ja)
DE (1) DE69031942T2 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5321809A (en) * 1992-09-11 1994-06-14 International Business Machines Corporation Categorized pixel variable buffering and processing for a graphics system
US5712664A (en) * 1993-10-14 1998-01-27 Alliance Semiconductor Corporation Shared memory graphics accelerator system
US6288722B1 (en) * 1996-10-17 2001-09-11 International Business Machines Corporation Frame buffer reconfiguration during graphics processing based upon image attributes
US6094203A (en) * 1997-09-17 2000-07-25 Hewlett-Packard Company Architecture for a graphics processing unit using main memory
US6300964B1 (en) 1998-07-30 2001-10-09 Genesis Microship, Inc. Method and apparatus for storage retrieval of digital image data
GB2343598B (en) * 1998-11-06 2003-03-19 Videologic Ltd Image processing apparatus
US6924801B1 (en) * 1999-02-09 2005-08-02 Microsoft Corporation Method and apparatus for early culling of occluded objects
US6417861B1 (en) * 1999-02-17 2002-07-09 Sun Microsystems, Inc. Graphics system with programmable sample positions
US6473086B1 (en) * 1999-12-09 2002-10-29 Ati International Srl Method and apparatus for graphics processing using parallel graphics processors
US20020085013A1 (en) * 2000-12-29 2002-07-04 Lippincott Louis A. Scan synchronized dual frame buffer graphics subsystem
US8090028B2 (en) * 2004-05-21 2012-01-03 Broadcom Corporation Video deblocking memory utilization
US8102401B2 (en) * 2007-04-25 2012-01-24 Atmel Corporation Display controller operating mode using multiple data buffers
JP5744574B2 (ja) * 2011-03-07 2015-07-08 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
GB2494903B (en) 2011-09-22 2017-12-27 Advanced Risc Mach Ltd Graphics processing systems
US10037621B2 (en) 2015-06-18 2018-07-31 Intel Corporation Hierarchical quadrant based coverage testing for rasterization
KR102531741B1 (ko) 2016-01-12 2023-05-11 삼성전자 주식회사 멀티플 버퍼를 가지는 메모리 장치 및 멀티플 버퍼를 가지는 메모리를 구동하는 방법
US11551383B2 (en) * 2018-08-17 2023-01-10 Sony Interactive Entertainment Inc. Image generating apparatus, image generating method, and program for generating an image using pixel values stored in advance
CN115268721A (zh) * 2022-06-15 2022-11-01 中国科学院深圳先进技术研究院 一种虚拟相机的实现方法、装置、电子设备及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4688190A (en) * 1983-10-31 1987-08-18 Sun Microsystems, Inc. High speed frame buffer refresh apparatus and method
US4697178A (en) * 1984-06-29 1987-09-29 Megatek Corporation Computer graphics system for real-time calculation and display of the perspective view of three-dimensional scenes
US4766556A (en) * 1984-11-20 1988-08-23 Matsushita Electric Industrial Co., Ltd. Three-dimensional solid object manipulating apparatus and method therefor
US4701863A (en) * 1984-12-14 1987-10-20 Honeywell Information Systems Inc. Apparatus for distortion free clearing of a display during a single frame time
US4679041A (en) * 1985-06-13 1987-07-07 Sun Microsystems, Inc. High speed Z-buffer with dynamic random access memory
US4907174A (en) * 1988-06-02 1990-03-06 Sun Microsystems, Inc. Z-buffer allocated for window identification
EP0551251B1 (en) * 1988-09-13 1996-02-07 Silicon Graphics, Inc. Method and apparatus for clearing a region of a z-buffer

Also Published As

Publication number Publication date
DE69031942T2 (de) 1998-06-10
EP0430502A2 (en) 1991-06-05
EP0430502B1 (en) 1998-01-14
DE69031942D1 (de) 1998-02-19
EP0430502A3 (en) 1993-06-02
CA2030208A1 (en) 1991-05-18
US5008838A (en) 1991-04-16

Similar Documents

Publication Publication Date Title
US6906720B2 (en) Multipurpose memory system for use in a graphics system
US6947057B2 (en) Rendering lines with sample weighting
US5268995A (en) Method for executing graphics Z-compare and pixel merge instructions in a data processor
US6288722B1 (en) Frame buffer reconfiguration during graphics processing based upon image attributes
US6914610B2 (en) Graphics primitive size estimation and subdivision for use with a texture accumulation buffer
US5185856A (en) Arithmetic and logic processing unit for computer graphics system
US20020050979A1 (en) Interpolating sample values from known triangle vertex values
US5886701A (en) Graphics rendering device and method for operating same
US5949428A (en) Method and apparatus for resolving pixel data in a graphics rendering system
US5867166A (en) Method and system for generating images using Gsprites
US5880737A (en) Method and system for accessing texture data in environments with high latency in a graphics rendering system
US5864342A (en) Method and system for rendering graphical objects to image chunks
JP2582999B2 (ja) カラーパレット発生方法、装置及びデータ処理システム並びにルックアップテーブル入力発生方法
US6894698B2 (en) Recovering added precision from L-bit samples by dithering the samples prior to an averaging computation
US6819324B2 (en) Memory interleaving technique for texture mapping in a graphics system
US5008838A (en) Method for simultaneous initialization of a double buffer and a frame buffer
JP2002537614A (ja) 並列のサンプル・ピクセル計算を実行するように構成されたグラフィックス・システム
JPH0916806A (ja) 立体画像処理装置
US5206628A (en) Method and apparatus for drawing lines in a graphics system
US20020171672A1 (en) Graphics data accumulation for improved multi-layer texture performance
JPH096967A (ja) 三角形を表わす画素データを生成する装置
US5748863A (en) Method and system for fast interpolation of depth buffer values in a computer graphics display system
US6963342B2 (en) Arbitration scheme for efficient parallel processing
US7116333B1 (en) Data retrieval method and system
JPH03244023A (ja) 上位桁あふれ及び下位桁あふれを訂正する方法及び装置