JPS63251870A - 図形処理装置 - Google Patents

図形処理装置

Info

Publication number
JPS63251870A
JPS63251870A JP8633787A JP8633787A JPS63251870A JP S63251870 A JPS63251870 A JP S63251870A JP 8633787 A JP8633787 A JP 8633787A JP 8633787 A JP8633787 A JP 8633787A JP S63251870 A JPS63251870 A JP S63251870A
Authority
JP
Japan
Prior art keywords
buffer
sectioning
value
buffers
comparators
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
JP8633787A
Other languages
English (en)
Inventor
Takushi Totsuka
戸塚 卓志
Koichi Shibata
孝一 柴田
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.)
Seiko Instruments Inc
Original Assignee
Seiko Instruments Inc
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 Seiko Instruments Inc filed Critical Seiko Instruments Inc
Priority to JP8633787A priority Critical patent/JPS63251870A/ja
Publication of JPS63251870A publication Critical patent/JPS63251870A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、3次元の図形をグラフインクディスプレイ
に表示する時に必要となる面処理に関し更に詳しくは、
手前の面にかくれて見えなくなった部分を除去して表示
する処理(以下陰面除去と呼ぶ)と、図形を任意の面で
切断して内部を表示する処理(以下セクシヨニングと呼
ぶ)を行う為の装置に関する。
〔発明の概要〕
この発明は、3次元グラフィックディスプレイにおいて
、複数の奥行き値バッファと、それと同数の比較器を設
け、それぞれの比較器の出力信号の論理演算を行うこと
によって、陰面除去と任意曲面によるセクシヨニングと
を同時に高速に実行できるようにしたものである。
〔従来の技術〕
グラフィックディスプレイに3次元の図形を表示するに
あたって、手前の面にかくれて見えない部分を除去する
、いわゆる陰面除去は必須な処理である。第2図(a)
は円筒形の物体を陰面除去を施して表示したものである
。グラフィックディスプレイにおいては、通常、2バツ
フア法と呼ばれる陰面除去アルゴリズムが使用される。
これは、以下のようなアルゴリズムである。
(i)画面上の各ピクセルと1対1に対応する要素をも
つZバッファを用意し、 (ii)Zバッファの各要素には、対応するピクセルに
描画された図形のうち、最も手前の図形の奥行き値(以
下「Z値」と表記する)を格納しておき、 (iii )新しく描画する図形については、各ピクセ
ルにおいて、その図形がとるZ値とZバッファ内のZ値
とを比較して、 (iv )もし図形のZ値の方が手前の値であれば、そ
のピクセルの描画を行い、かつZバッファ内の2値をこ
の図形のZ値に更新し、 (V)そうでないならば、描画も2バツフアの更新も行
わない。
2バツフアの初期値として、図形がとり得ないような奥
のZ値を設定しておけば、最初に描画する図形から正し
く陰面除去が行われる。このようなZバッファ法の詳細
については、例えば、J、D、Folay  他著、今
宮淳美 訳「コンピュータ・グラフィックス」 (日本コンピュータ協会) に記載されている。
一方、図形の構造を理解しやすいように表示する方法と
して、図形を適当な面で切断し、その内部を見せる、セ
クショニングという処理がある。
第2図(blはセクショニングを施して第2図falと
同じ物体を表示したものである。従来、セクショニング
を行うにあたっては、物体を構成するすべての図形につ
いて、 (1)切断面の方程式と図形の各頂点の座標をもとに、
図形と切断面が交差するかどうかを判定し、(ii )
交差がある場合は、交点の座標を求めて図形の片側を切
断する。
という処理を行っていた。第3図は、従来のセ  。
クシッニング方法を説明したものである。多角形31と
切断面30との交差の判定は、切断面30の平面方程式 %式%) を用いて行う、多角形31の各頂点の座標を平面方程式
rに代入すると、切断面3oの両側でfの符号が変化す
る。
多角形31の場合、頂点P4とPs、およびP、とPl
の間でfの符号が変化するので、これら2辺で切断面3
0と交差していることがわかる。その交点をそれぞれP
LP9とすれば、P +、 P t、 P s、 P 
a。
P+、P+、P+を結ぶ多角形が切断後の多角形となる
。同様な処理をすべての図形に対して繰り返すことによ
り、セクショニングを行うことができる。
〔発明が解決しようとする問題点〕
以上に述べた従来技術には、以下に列挙する問題点があ
る。
(i)第2図(C1に示すような、2平面を組み合わせ
た切断面でセクショニングを行う場合、交差の判定や切
断によって生じる辺の形状の計算が複雑になり、処理速
度が低下する。さらにスプーンですくったかのような曲
面による切断を行う場合には、著しく処理速度が低下し
実用的ではない。
(ii )図形の高速処理のため、セクショニングや陰
面除去をハードウェア化する場合、それぞれ全く異なる
アルゴリズムを使用しているため、別々のハードウェア
とせざるを得す、回路の複雑さを増大させる。
〔問題点を解決するための手段〕
上記問題点を解決するため、この発明においては、図形
処理装置を3次元図形が画面上の各ピクセルにおいてと
る奥行き値を算出する奥行き値演算器と、各ピクセルの
奥行き値を保持している複数の奥行き値バッファと、前
記複数の奥行き値バッファがそれぞれ出力する奥行き値
と前記奥行き値演算器の出力する奥行き値とを比較する
複数の比較器と、前記複数の比較器の出力信号間の論理
演算を行い外部に出力する論理演算器とから構成した。
従って、この発明は上述の問題点を解決し、陰面除去と
任意の曲面によるセクショニングとを高速に行う装置を
提供するものである。
〔作用〕
n個の奥行き値バッファく以下Zバッファと表記)は、
それぞれが画面上の各ピクセルと1対1に対応したZ値
を格納している。
これらのZバッファのうち一つは陰面消去に用いられ、
残りはセクシヨニングに用いられる。
Z値演算器は、描画しようとする図形が各ピクセルにお
いてとるZ値を算出して出力する。各Zバッファに格納
されているZ値はn個の比較器のそれぞれに入力され、
ここでZ値演算器の出力と比較される。この結果、陰面
除去用のZバッファのZ値を入力とした比較器からは、
すでに描画されている図形との前後関係が、又セクシヨ
ニング用のZバッファのZ値を入力とした比較器からは
、切断面と図形との前後関係が、それぞれ出力される。
比較器の出力は論理演算器によって演算される。この演
算として、新たに描画する図形が、(i)すでに描画さ
れている図形よりも手前で、(ii)かつ、切断面より
も奥である時に1となる演算を行い、結果が1となった
ピクセルのみに描画を行うことにより、陰面除去とセク
シヨニングとを同時に行うことができる。
〔実施例〕
以下、この発明の実施例を図面に従って説明する。第1
図は、この発明の実施例を示すブロック図である。ここ
では、最も簡単な2個のZバッファを利用した実施例を
示すが、この実施例においても任意曲面による切断が可
能である。
第1のZバッファ1aは、陰面除去に使用し、各ピクセ
ルについて、これまでに描画された図形で最も手前に存
在した図形のZ値が格納されている。第2のZバッファ
lbは、セクシヨニングに使用し、切断に使用する曲面
のZ値が格納されている。
描画する図形に関する情報は、制御CPU6から制御線
13を通じてX/Yアドレス発生器5へ伝えられ、また
制御線14を通じてZ値演算器3へ伝えられる0例えば
、直線を描画する場合には、前記X/Yアドレス発生器
5には始点のX、Y座標と直線の傾きが、また前記Z値
演算器3には始点のZ値(Z座標)とZ値の変化量が、
それぞれ与えられる。
又、このほかにも前記制御9cPU6から制御線15(
以下CTLと略記)が前記第1のZバフファla、前記
第2の2バッファlb、論理演算器4、及びフレームバ
ッファ7に接続されており、前記第1. 第2のZパン
フッと前記フレームバッファ7の書き込み禁止や論理演
算の種類を設定する際に用いられる。
図形の描画に必要な情報が与えられると、前記X/Yア
ドレス発生器5は、図形として描画すべきピクセルのX
、Yアドレス(X、Y座標)を出力し、バス8を通じて
前記フレームバッファ7と前記第1.第2のZバッファ
に人力される。
例えば、直線の場合は線分上の各ピクセルのX。
Yアドレスが順次、前記バス8に出力され、また多角形
の場合には、多角形内部の各ピクセルのX。
Yアドレスが順次、前記バス8に出力される。このX、
Yアドレスの発生に使用するアルゴリズムについては、
この発明と直接関係ないので省略するが、例えば前記の
文献に詳しく記載されている。
前記Z値演算器3は、前記X/Yアドレス発生器5と同
期して動作し、前記バス8に出力されているX、Yアド
レスで指定されるピクセルにおいて、図形がとるZ値(
以下Zpと記す、)がバス10に出力され、該バス10
を通じて前記第1.第2のZバッファ、第1の比較器2
as及び第2の比較器2bの入力となる。
前記第1のZバッファlaは、前記バス8を通じて与え
られたアドレスで指定されるピクセルに関する2値(以
下Zaと記す)を読み出してバス11aに出力する。同
様に前記第2の2バツフア1bは、同じピクセルに関し
て、保持しているZ値(以下zbと記す)をバスllb
に出力する。これらのZ値は前記第1.第2の比較器に
おいて、前記2値演算器3の出力、Zpとそれぞれ比較
される。咳、第1の比較器2aは、Zp  Zaを、ま
た該第2の比較器2bはZp−Zbを、それぞれ計算す
る。該第1の比較器2aは比較結果としてゼロ・フラグ
ZFaと符号Naをバス12aに出力する。同様に該第
2の比較器2bはZFbとNbをバス12bに出力する
。尚、Z値は手前に向がって増加するものとする。
前記論理演算器4に演算、Na−Nbが前記CTLを通
じて設定してあれば、該論理演算器4の出力は、図形の
Z値であるZpが以下の条件を満たす時に1となる。
(i)Zp≧Za、つまり、それまでに描画された図形
と同じか、それより手前のZ値である。
(ii)Zp<Zb、つまり、切断面よりも奥のZ値で
ある。
従って、前記論理演算器4の出力が1である時のみその
ピクセルの描画を行えば、陰面除去とセクシヨニングを
同時に行うことができる。
前記論理演算器4の出力は、制御線9を通じてフレーム
バッファ7に与えられ、その値が1の時に、前記バス8
を通じて与えられたX、Yアドレスによって指定される
。ピクセルに対する描画が行われる。すなわち、陰面除
去°とセクシヨニングを施した描画が行われる。この時
、フレームバッファ7は前記CTLを通じて書き込みが
許可されている。
又、前記第1のZバッファlaも書き込みが許可されて
いるため、前記論理演算器4の出力が1の時に、前記バ
ス10を通じて入力されているZ値演算器3の出力Zp
が読み出し時と同じピクセルに書き込まれる。前述のよ
うに、このピクセルのアドレスは前記バス8を通じて与
えられている。
これによって、Zバッファ法による陰面除去で必要とな
る、Zバッファの更新が行われる。
一方、前記第2のZバッファ1bは、書き込みが禁止さ
れているため、内容が変化しない。従って、切断面の情
報は保存される。
次に、以下の動作について詳しく説明する。
(i)図形の描画 (ii)Zバッファの初期化 まず、図形の描画について説明する。
例として、始点0 (0,O,O)から終点P(3,3
,30)まで直線を描画する場合の陰面除去とセクシヨ
ニングの動作を説明する。簡単のため、ここでは画面は
4×4ピクセルであるとする。
この時、描画すべきピクセルは第4図上で円で示した4
ピクセルである。前記第1のZバッファ1aには、すで
に描画した、Z−10の平面の2値が格納されていると
する(第5図(al)、又、前記第2のZバッファlb
には切断面のZ値が格納されている(第5図(bl)、
第6図は、この時の位置関係をわかりやすく表したもの
である。陰面除去とセクシヨニングを行う結果、直線5
2のうちすでに描画されている図形51よりも手前で、
切断面5oよりも奥の部分が描画される。
第4図のピクセルそれぞれについて、各ブロックが出力
するデータを示したのが第7図である。
第7図に示すように、1番目のピクセルではZ値がすで
に描画されている図形よりも奥になるために、また4番
目のピクセルではZ値が切断面よりも手前になるために
、それぞれ描画を行わない。
従って、2番目と3番目のピクセルだけがフレームバッ
ファ7に描画される。又、前記第1のZバッファ1aの
内容もこの2個のピクセルに関してのみ、更新される(
第5図(C1上にて円を付したピクセル)。
これまでの説明では、前記論理演算器4の演算は、Na
−Nbとしてきた。このため、第7図の2番目のピクセ
ルのように、すでに描画された図形と等しいZ値(Zp
=Za)の場合も描画を行う(第5図(C1)。
前記論理演算器4に設定する演算を、Na−ZFa−N
bとすれば、ZP−Zaの時の描画を禁止でき、Z値が
等しい場合には最初に描画した図形が優先する、という
動作を行わせることができる。
次に初期化について説明する。まず、前記第1のZバッ
ファ1aの初期化は、前記フレームバッファ7と前記第
2のZバッファ1bの書き込みを禁止し、該第1のZバ
ッファ1aの書き込みのみ許可した状態で行う、前記論
理演算器4の演算は1、つまり全ビクセルに対して描画
を行う設定とする。この状態で、図形がとり得ないよう
な奥の2値を持つ平面を描画すれば、該第1の2バツフ
ア1aは、その値に初期化される。すべての図形が正の
Z値をとるならば、画面と同じ大きさの、Z−0の平面
を描画すれば、該第1のZパフファla内はすべてZ=
0に初期化される。
前記第2のZバッファ1bの初期化は、切断面のZ値を
格納する必要があるため、やや複雑である。まず、前記
第1のZバッファ1aと同様に、前記第2のZバッファ
lb内を最も奥のZ値に初期化する。この時、該第2の
Zバッファ1bのみ書き込みを許可しておく0次に前記
論理演算器4の演算をNbに設定する。これは図形が該
第2のZバッファlb内のZ値よりも手前にある時に1
になることを意味しており、該第2のZバッファ1bは
、前記第1のZバッファ1aの出力に関係なく、陰面除
去の動作を行う、この状態で、切断面を構成する平面を
次々に描画すればよい。
例えば、第2図(C1の切断面は2枚の平面の組み合わ
せであるが、各平面を描画すれば前記第2のZバッファ
lb内で陰面除去が行われ、結果としてV字形の面が該
第2のZバッファlb内に格納される。前記第1.第2
のZバッファ、の初期化が完了したら、前記フレームバ
ッファ7と前記第1のZバ、ファ1aを書き込み許可、
前記第2のZバッファlbを書き込み禁止、前記論理演
算器4の演算をNa−Nbに設定して通常の図形描画を
開始すればよい。
以上の実施例ではZバッファと比較器はそれぞれ2個設
けたが、物理的にはただ1個のZバッファと比較器を用
いて、2フエーズの時分割動作によって、機能的に2個
のZバッファ及び比較器として動作させることも可能で
あり、ハードウェアの量奇削減できる。
又、以上の実施例では前記第1のZバッファ1aを陰面
除去、前記第2のZバッファ1bをセクショニングに割
当てたが、前記論理演算器4の演算と、該第1.第2の
Zバッファに対する書き込み許可の設定を変更すること
により、前記第1のZバッファ1aにセクショニング、
前記第2のZバッファlbに陰面除去を割り当てること
も可能である。
さらにまた、実施例に新たにZバッファと比較器を追加
し、この比較器の出力を前記論理演算器4に人力するこ
とにより、別のセクショニング条件を追加することも可
能である。
〔発明の効果〕
以上に説明したように、この発明では複数の2バツフア
と比較器を設け、その1組で陰面除去を行い、残りでセ
クショニングを行うようにした。
この結果、下記のような効果が得られた。
(i)切断面の形状はあらかじめセクショニング用のZ
バッファに格納されるので、切断面の形状の複雑さにか
かわらず一定の速度でセクショニングが可能である。
(ii )セクショニングの方法が簡潔であり、容易に
ハードウェアにより実現できる。従ってハードウェアに
よる高速化が容易である。
(iii )同一回路の繰り返しによって陰面除去とセ
クショニングが実現できるので、ハードウェアが簡単な
構造になる。
【図面の簡単な説明】
第1図は本発明の実施例を示すブロック図、第2図は面
処理が施された図形の表示例を示す図、第3図は従来の
セクショニングの説明図、第4図は実施例による直線の
描画例を示す図、第5図は2バツフアの内容を示す説明
図、第6図はこの描画例の図形の斜視図、第7図は描画
時の各ブロックの出力を示す図である。 1a・・・第1のZバッファ 1b・・・第2の2バツフア 2a・・・第1の比較器 2b・・・第2の比較器 3・・・・Z値演算器 4・・・・論理演算器 5・・・・X/Yアドレス発生器 7・・・・フレームバッファ 以上 出願人 セイコー電子工業株式会社 代理人 弁理士 最 上  務(他1名)(本発明ら9
1I!売?]Lホ1ブロ一!7図@ l 図 (α)       (し)       (すh)ミ
トテ4【カ<f、キモに!瞳(了−;[シ]プ」ン11
表示イタJメrL1 口第 6 図

Claims (1)

  1. 【特許請求の範囲】 3次元図形が画面上の各ピクセルにおいてとる奥行き値
    を算出する奥行き値演算器と、 各ピクセルの奥行き値を保持している複数の奥行き値バ
    ッファと、 前記複数の奥行き値バッファがそれぞれ出力する奥行き
    値と、前記奥行き値演算器の出力する奥行き値とを比較
    する複数の比較器と、 前記複数の比較器の出力信号間の論理演算を行い外部に
    出力する論理演算器とから成ることを特徴とする図形処
    理装置。
JP8633787A 1987-04-08 1987-04-08 図形処理装置 Pending JPS63251870A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8633787A JPS63251870A (ja) 1987-04-08 1987-04-08 図形処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8633787A JPS63251870A (ja) 1987-04-08 1987-04-08 図形処理装置

Publications (1)

Publication Number Publication Date
JPS63251870A true JPS63251870A (ja) 1988-10-19

Family

ID=13884033

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8633787A Pending JPS63251870A (ja) 1987-04-08 1987-04-08 図形処理装置

Country Status (1)

Country Link
JP (1) JPS63251870A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01233388A (ja) * 1988-01-19 1989-09-19 Hewlett Packard Co <Hp> 液滴検出器
JPH02132572A (ja) * 1988-11-14 1990-05-22 Nippon I B M Kk 画像表示装置
JPH03269687A (ja) * 1990-03-19 1991-12-02 Nec Corp マルチzバッファによるセクショニング方式
JPH05258077A (ja) * 1991-12-26 1993-10-08 Internatl Business Mach Corp <Ibm> 画素処理方法及び装置並びにグラフィックバッファ

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01233388A (ja) * 1988-01-19 1989-09-19 Hewlett Packard Co <Hp> 液滴検出器
JPH02132572A (ja) * 1988-11-14 1990-05-22 Nippon I B M Kk 画像表示装置
JPH03269687A (ja) * 1990-03-19 1991-12-02 Nec Corp マルチzバッファによるセクショニング方式
JPH05258077A (ja) * 1991-12-26 1993-10-08 Internatl Business Mach Corp <Ibm> 画素処理方法及び装置並びにグラフィックバッファ

Similar Documents

Publication Publication Date Title
JP3646969B2 (ja) 3次元画像表示装置
EP0329101B1 (en) Three-dimensional graphic processing apparatus
JPH0785290A (ja) グラフィック多角形をクリップ領域にクリップする方法および装置
JPS63198174A (ja) 図形処理装置
JPH0687267B2 (ja) ワイヤ・フレーム・グラフィック表示生成方法及び装置ならびに隠線除去システム
EP1410337A2 (en) Method, apparatus and article of manufacture for determining visible parts of surfaces of three-dimensional objects and their parameters of shading while accounting for light and shadow volumes
US20090225098A1 (en) Guard Band Clipping Systems and Methods
JP3037865B2 (ja) 3次元スプライト描画装置
JPS63251870A (ja) 図形処理装置
KR0165464B1 (ko) 그래픽을 위한 스팬렌더링방법 및 장치
US6518969B2 (en) Three dimensional graphics drawing apparatus for drawing polygons by adding an offset value to vertex data and method thereof
JP4691494B2 (ja) 画像描画装置、頂点選出方法、頂点選出プログラム及び集積回路
US6628281B1 (en) Method and system for computing the intersection of a bounding volume and screen-aligned plane
US6320596B1 (en) Processing polygon strips
JP3759365B2 (ja) 三次元クリップ判定処理装置
JP3222206B2 (ja) ポリゴンデータ処理装置
JPH02132572A (ja) 画像表示装置
JPH11203486A (ja) 半透明オブジェクトの表示方法及び、これを用いる画像表示装置
JP2011086235A (ja) 画像処理装置、画像処理方法および画像処理プログラム
JPH03252885A (ja) 切断面表示方式
JPWO2008032603A1 (ja) 画像処理装置、画像処理用集積回路、画像処理システム、インプットアセンブラ装置、インプットアセンブル用集積回路
JP3718888B2 (ja) 三次元ポリゴン描画方法および装置
JP2007087329A (ja) 3次元図形描画装置、3次元図形描画方法、3次元図形描画プログラム、該プログラムを記録した記録媒体
JPS6381584A (ja) 断面図描画装置
TWI478094B (zh) 保護帶剪切系統和方法