JP3759365B2 - 三次元クリップ判定処理装置 - Google Patents
三次元クリップ判定処理装置 Download PDFInfo
- Publication number
- JP3759365B2 JP3759365B2 JP2000049878A JP2000049878A JP3759365B2 JP 3759365 B2 JP3759365 B2 JP 3759365B2 JP 2000049878 A JP2000049878 A JP 2000049878A JP 2000049878 A JP2000049878 A JP 2000049878A JP 3759365 B2 JP3759365 B2 JP 3759365B2
- Authority
- JP
- Japan
- Prior art keywords
- clip
- code
- area
- coordinate system
- plane
- 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
Links
Images
Description
【発明の属する技術分野】
この発明は、三次元コンピュータグラフィックス表示装置において、三次元グラフィックスでの2つのクリップ領域と複数の多角形の形状に対応する三次元クリップ判定処理を高速に行うための三次元クリップ判定処理装置に関するものである。
【0002】
【従来の技術】
図18は、例えば特開平2−270082号公報に開示された従来のクリップ判定処理装置の構成を示すブロック図である。図において、801は頂点のX座標値、Y座標値を保持するためのX/Y座標レジスタ、802はクリップ枠の座標を保持するためのクリップ座標レジスタである。803はオフセット値からテストウィンドウを算出するためのテストウィンドウ制御器、804は頂点座標値とクリップ枠の座標を比較するための比較論理および、その比較論理で比較した比較結果を記憶する比較論理および結果記憶装置、805は前記比較結果を入力として制御信号を発生する状態発生器である。また、806はクリップ枠、テストウィンドウと各頂点座標値との比較が行われる際の比較方法を制御する比較制御状態マシン、807はローディング制御状態マシン、808は指標論理を表す。
【0003】
次に動作の概略について説明する。
クリップ判定を行う四辺形を構成する4頂点の各X座標値,Y座標値がX/Y座標レジスタ801に与えられ、クリップ座標レジスタ802にはクリップ座標値が、テストウィンドウ制御器803にはクリップ座標値とテストウィンドウの差分であるXオフセット、Yオフセットが与えられる。前記与えられたクリップ座標値と、XオフセットおよびYオフセットを用いて、テストウィンドウ制御器803はテストウィンドウの算出を行う。算出されたテストウィンドウ枠と、クリップ枠、頂点座標の各値は指標論理808およびローディング制御状態マシン807によって必要な値の選択が行われ、比較論理および結果記憶装置804へロードされる。
【0004】
比較論理および結果記憶装置804では、クリップ枠、テストウィンドウと各頂点座標値との比較を行うが、その際の比較方法は比較制御状態マシン806によって制御される。状態発生器805は、比較論理および結果記憶装置804へ格納された比較結果を用いて、ソフトウェアによるクリップ処理を行うか、ハードウェアによるクリップ処理を行うかの判定を行い、該判定結果に応じた制御信号を発生するようになっている。
【0005】
【発明が解決しようとする課題】
従来のクリップ判定処理装置は以上のように構成されているので、テストウィンドウと呼ばれる第2のクリップ領域を用いたクリップ判定処理を行なっており、前記テストウィンドウとしてクリップ枠に対するオフセット値を用いた領域しか扱えないために、前記テストウィンドウを計算するための計算手段を備えなければならないという課題があった。
【0006】
また、X軸,Y軸による二次元座標系にしか対応していないため、三次元座標系における2つのクリップ領域を用いたクリップ判定処理には用いることが出来ないという課題があった。
【0007】
また、マルチプレクサ手段を用いてX座標系、Y座標系に関する処理の切り替えを行い、各座標系に対する処理を逐次的に行うため、処理速度が十分とはいえず装置が複雑になるという課題もあった。
【0008】
この発明は上記のような課題を解決するためになされたものであり、三次元グラフィックスでの2つのクリップ領域を用いた、複数の多角形の形状に対応した三次元クリップ判定処理を高速に行うことの可能な三次元クリップ判定処理装置を得ることを目的とする。
【0009】
【課題を解決するための手段】
この発明に係る三次元クリップ判定処理装置は、三次元グラフィックスでの多角形の頂点の座標を第1のクリップ領域および第2のクリップ領域と比較し、クリップコードを生成するクリップ比較器と、該クリップ比較器が生成したクリップコードを前記多角形の頂点の数に応じて保持するクリップコード保持器と、該クリップコード保持器に保持された前記クリップコードをもとに、前記第1のクリップ領域および前記第2のクリップ領域に対する前記多角形の状態を示すクリップ状態コードを生成するクリップ状態コード生成器と、該クリップ状態コード生成器が生成した前記クリップ状態コードをもとに、前記多角形について描画の必要性の有無、および前記第1のクリップ領域内に存在する部分のみの描画の必要性の有無を識別する領域間クリップ状態コードを生成する領域間クリップ状態コード生成器と、前記クリップコード保持器と前記クリップ状態コード生成器とを前記多角形の形状に応じて制御するプリミティブコントローラと、前記クリップ状態コード生成器が生成したクリップ状態コードと、前記領域間クリップ状態コード生成器が生成した領域間クリップ状態コードを保持するクリップ状態コードレジスタとを備えるようにしたものである。
【0010】
この発明に係る三次元クリップ判定処理装置は、第1のクリップ領域とは独立してハードウェア的に、第2のクリップ領域について所望の大きさに設定可能な構成を備えるようにしたものである。
【0011】
この発明に係る三次元クリップ判定処理装置は、多角形の頂点の座標と第1のクリップ領域および第2のクリップ領域とにおけるX座標系について比較を行うX座標比較ユニットと、前記多角形の頂点の座標と前記第1のクリップ領域および第2のクリップ領域とにおけるY座標系について、前記X座標比較ユニットと並列的に動作して比較を行うY座標比較ユニットと、前記多角形の頂点の座標と前記第1のクリップ領域および第2のクリップ領域とにおけるZ座標系について、前記X座標比較ユニットおよび前記Y座標比較ユニットと並列的に動作して比較を行うZ座標比較ユニットとをクリップ比較器が備えるようにしたものである。
【0012】
この発明に係る三次元クリップ判定処理装置は、第1のクリップ領域または第2のクリップ領域に対し並列的に多角形の各頂点についてのクリップコードを生成する、前記第1のクリップ領域および前記第2のクリップ領域に対応したクリップ領域比較ユニットをクリップ比較器が備えるようにしたものである。
【0013】
この発明に係る三次元クリップ判定処理装置は、第1のクリップ領域および第2のクリップ領域を構成するX座標系、Y座標系およびZ座標系の各平面に対応し、前記第1のクリップ領域または前記第2のクリップ領域について並列的に多角形の各頂点のクリップコードを生成する平面比較ユニットをクリップ領域比較ユニットが備えるようにしたものである。
【0014】
この発明に係る三次元クリップ判定処理装置は、第1のクリップ領域および第2のクリップ領域を構成するX座標系、Y座標系およびZ座標系の各平面について、X座標系、Y座標系およびZ座標系ごとに、一方の平面を規定する座標から他方の平面を規定する座標を生成する平面生成ユニットをクリップ領域比較ユニットが備えるようにしたものである。
【0015】
この発明に係る三次元クリップ判定処理装置は、第1のクリップ領域および第2のクリップ領域を構成するX座標系、Y座標系およびZ座標系の各平面について、X座標系、Y座標系およびZ座標系ごとに、一方の平面を規定する座標の正負の符号を反転させた座標を、他方の平面を規定する座標として生成する平面生成ユニットをクリップ領域比較ユニットが備えるようにしたものである。
【0016】
この発明に係る三次元クリップ判定処理装置は、第1のクリップ領域および第2のクリップ領域を構成するX座標系、Y座標系およびZ座標系の各平面を規定する座標を格納する、前記各平面に対応した複数のレジスタをクリップ領域比較ユニットが備えるようにしたものである。
【0017】
この発明に係る三次元クリップ判定処理装置は、クリップ比較器で生成したクリップコードを保持する第1のクリップコード保持レジスタと、該第1のクリップコード保持レジスタに保持された前記クリップコードが転送されて保持される第2のクリップコード保持レジスタと、該第2のクリップコード保持レジスタに保持された前記クリップコードが転送されて保持される第3のクリップコード保持レジスタとをクリップコード保持器が備え、前記第1のクリップコード保持レジスタに保持された前記クリップコードの前記第2のクリップコード保持レジスタへの転送、および前記第2のクリップコード保持レジスタに保持された前記クリップコードの前記第3のクリップコード保持レジスタへの転送についてプリミティブコントローラが多角形の形状に応じて制御する構成を備えるようにしたものである。
【0018】
【発明の実施の形態】
以下、この発明の実施の一形態について説明する。
実施の形態1.
三次元グラフィックスにおけるクリップ領域とは、図2で示すような6面で構成された直方体である。図2では符号1301および符号1302で示された直方体の領域がそれぞれクリップ領域である。そして、多角形を構成する全ての頂点がすべてクリップ領域内に存在する場合は多角形の描画を行い、全ての頂点がクリップ領域外の多角形は描画を行わない。また、多角形を構成する頂点がクリップ領域内とクリップ領域外に存在する場合には、クリップ領域内に存在する部分のみ描画を行い、これを実クリップ処理と呼ぶ。
【0019】
このようなクリップ領域に対する多角形の位置から描画を行うか否か、および実クリップを行う必要があるかどうかを判定するのが三次元クリップ判定処理である。
【0020】
この三次元クリップ判定処理では、図3に示すようにクリップ領域を構成する領域を6平面で27分割し、各部分領域に6ビットの符号を割り当てる。この6ビットの符号を「クリップコード」と呼び、図3(c)に示すように0ビット目はX軸方向の最大値(XMAX)を持つ面、1ビット目はX軸方向の最小値(XMIN)を持つ面、2ビット目はY軸方向の最大値(YMAX)を持つ面、3ビット目はY軸方向の最小値(YMIN)を持つ面、4ビット目はZ軸方向の最大値(ZMAX)を持つ面、5ビット目はZ軸方向の最小値(ZMIN)を持つ面にそれぞれ対応しており、各座標がクリップ領域内部に存在すれば“0”、クリップ領域外部に存在すれば“1”を各ビットに与える。図3は、X軸とY軸とで構成される二次元平面上に前記クリップ領域を投影したものであり、各分割された領域に割り当てられたクリップコードを示す。
【0021】
多角形がクリップ領域内部に存在するか否かは、多角形を構成する頂点のクリップコードを論理演算することで判定する。例えば、多角形を構成する頂点が全てクリップ領域内部に存在すればクリップコードの論理和は“0”となる。またクリップコードの論理積が“0”でない場合は、全ての頂点がクリップ領域を構成する特定の面に対して外側に存在するため、描画処理からは完全に排除することが可能である。
【0022】
多角形を構成する全ての頂点のクリップコードを用いて、多角形が完全にクリップ領域内部である(Clip In)か、完全にクリップ領域外部である(Clip Out)か、クリップ領域内とクリップ領域外にまたがって存在する(Clip)かの3つの状態の何れにあるかを判定することが可能である。この多角形の状態を示すコードを『クリップ状態コード』と呼ぶ。図4はこのクリップ状態コードを示す。
【0023】
次に、2つのクリップ領域の具体的な使用例である二領域クリップについて説明する。この二領域クリップでは、図6に示すような2つのクリップ領域を用いて多角形のクリップ判定処理を行う。図6において、符号1302で示される内側のクリップ領域は実際に多角形の描画を行う描画領域(第1のクリップ領域)であり、符号1301で示される外側のクリップ領域は三次元グラフィックス描画装置が処理可能な処理可能領域(第2のクリップ領域)を示している。これらクリップ領域1301とクリップ領域1302は図2にも示した。クリップ領域内とクリップ領域外にまたがって存在する多角形において、クリップ領域内部に存在する部分のみを切り出す実クリップ処理は、三次元グラフィックスにおいて計算量の多い処理である。
【0024】
ここで実クリップ処理とは、例えば図6における頂点1,頂点2,頂点3,頂点4の4つの頂点から構成される四辺形において、太線で示した描画領域1302内部の部分を切り出す処理を示す。
【0025】
しかし、描画領域1302外の部分を画素単位で描画しないためのハードウェアを備えた画像表示装置を用いた場合、処理可能範囲内であれば実クリップ処理を行わずに画素単位の判定によるクリップ処理が可能である。こうした実クリップ処理を行わない画素単位のクリップ処理は高速な場合が多いため、多角形が処理可能領域1301内部に存在する場合には実クリップ処理を行わず、図6に示すように描画領域1302と処理可能領域1301にまたがって存在する多角形のみ実クリップ処理を行うのが二領域クリップである。
【0026】
この二領域クリップでは、クリップ判定処理によって以下に示す3つの場合の何れに該当するかを判定しなければならない。これを図7を用いて説明する。
【0027】
まず、第1の場合は、符号1401で示すように多角形が描画領域1302内に存在する場合、もしくは符号1402で示すように描画領域1302内外にまたがってはいるが全ての頂点が処理可能領域1301内である場合(WClip
In)であり、これらは実クリップ処理を行うことなく描画可能である。
【0028】
第2の場合は、符号1403で示すように多角形が描画領域1302外に存在する場合(WClip Out)であり、これは描画を行う必要がない。
【0029】
第3の場合は、符号1404で示すように多角形が描画領域1302内と処理可能領域1301外にまたがって存在する場合(WClip)であり、これは実クリップ処理を行わなくてはならない。
【0030】
多角形が二領域クリップにおいて3つの状態の何れにあるかを示すのが3ビットで構成される『領域間クリップ状態コード』であり、この実施の形態1の三次元クリップ判定処理装置ではクリップ状態コードの生成に加え、領域間クリップ状態コードの生成も行う。図5に領域間クリップ状態コードを示す。
【0031】
次に、この実施の形態1の三次元クリップ判定処理装置の構成について説明する。図1は、この実施の形態1の三次元クリップ判定処理装置の構成を示すブロック図である。図において、符号101は頂点のX,Y,Z座標値についての入力を示し、符号102はクリップ領域1301またはクリップ領域1302を構成するクリップ平面の値についての入力を示す。
【0032】
これらクリップ領域を構成するクリップ平面の値である入力102については、オフセット値を用いた計算処理などによらずハードウェア的に数値データとして与えることが出来る。
【0033】
103は頂点の座標値が前記各クリップ領域内部に存在するか否かを座標値の比較によって判定するクリップ比較器であり、2つのクリップ領域1301,1302に対するクリップコードの生成を行う。104は、クリップ比較器103の出力結果であるクリップコードを複数回分保持するクリップコード保持器である。105は、クリップコード保持器104に保持されているクリップコードを用いて、図6に示した描画領域1302と処理可能領域1301の2つのクリップ領域に対応するクリップ状態コードを生成するクリップ状態コード生成器である。
【0034】
106は、前記2つの描画領域1302と処理可能領域1301のクリップ状態コードから領域間クリップ状態コードを生成する領域間クリップ状態コード生成器である。107はクリップ状態コードと領域間クリップ状態コードを保持するクリップ状態コードレジスタである。108は、多角形の形状に応じてクリップコード保持器104とクリップ状態コード生成器105の制御を行うプリミティブコントローラである。
【0035】
次に動作の概略について説明する。
クリップ判定を行う多角形を構成する各頂点の座標値は、頂点単位で入力101としてクリップ比較器103へと送られる。クリップ比較器103には前記2つの描画領域1302と処理可能領域1301であるクリップ領域について各軸(X軸,Y軸,Z軸)方向の最大値、最小値が入力102として与えられ、前記頂点の各座標値と前記各軸方向の最大値、最小値とを比較することでクリップコードの生成を行う。
【0036】
クリップ比較器103により生成されたクリップコードは、クリップコード保持器104に保持される。クリップコード保持器104におけるクリップコードの保持方法は、多角形の形状に応じてプリミティブコントローラ108により制御される。例えば、図8に示すような連続三角形においては、V1,V2,V3,V4,V5,V6の順に頂点の処理が行われ、処理を行う三角形は(V1,V2,V3)、(V2,V3,V4)、(V3,V4,V5)、(V4,V5,V6)の4つとなる。そのためプリミティブコントローラ108は、処理対象となっている三角形を構成する各頂点のクリップコードを保持するために、最新の3頂点分のクリップコードを保持するように制御を行う。これは現在の頂点がV5の場合は、V3,V4,V5のクリップコードを保持することを意味している。
【0037】
また多角形が図9に示すような扇形多角形である場合にも、頂点処理はV1,V2,V3,V4,V5,V6の順に行われる。しかし、処理を行う三角形は(V1,V2,V3)、(V1,V3,V4)、(V1,V4,V5)、(V1,V5,V6)の4つであり、図8に示す連続三角形とは異なる。この際プリミティブコントローラ108は、最初の頂点のクリップコードと最新の2頂点分のクリップコードを保持するように制御を行う。これは、現在、処理を行なっている頂点がV5の場合には、V1のクリップコードとV4,V5のクリップコードを保持することを示す。
【0038】
図1に戻り、クリップ状態コード生成器105は、2つのクリップ領域、すなわち描画領域1302と処理可能領域1301に対してそれぞれのクリップ状態コードの生成を行う。クリップ状態コードの生成は、クリップコード保持器104内に保持されたクリップコードを論理演算することによって獲得され、その論理演算方法は多角形の形状に応じてプリミティブコントローラ108により制御が行われる。例えば、多角形の形状が独立三角形、連続三角形等の3頂点から構成される場合には3頂点のクリップコードを用いて論理演算を行い、独立線分、連続直線等の2頂点から構成される場合には2頂点分のクリップコードを用いて論理演算を行うようにプリミティブコントローラ108により制御される。また、点のように1頂点から構成される場合には、1つのクリップコードを用いてクリップ状態コードを生成するように制御される。
【0039】
クリップ状態コード生成器105によって生成された前記2領域分のクリップ状態コードは、クリップ状態コードレジスタ107に保持されると共に、領域間クリップ状態コード生成器106へと送られる。
【0040】
領域間クリップ状態コード生成器106は、前記2領域分のクリップ状態コードを入力として領域間クリップ状態コードを生成する。生成された領域間クリップ状態コードはクリップ状態コードレジスタ107に保持される。
【0041】
次に具体的な動作例について説明する。
この場合、図6に示す描画領域1302と処理可能領域1301の2つをクリップ領域として用い、頂点1,頂点2,頂点3、頂点4の4頂点から構成される四辺形の二領域クリップ判定処理を行うものとする。ここでは、二領域クリップ判定処理を三角形単位で行い、四辺形に関しては頂点1,頂点2,頂点3から構成される三角形1と、頂点1,頂点3,頂点4から構成される三角形2の2つに三角形分割して処理を進める場合の例を示す。また説明が複雑になるのを避けるため、4つの頂点は前記2つのクリップ領域のそれぞれにおいてZ座標値が領域内部に存在しているものとする。
【0042】
クリップ判定処理は、図6に示す頂点1,頂点2,頂点3,頂点4の順で四辺形を構成する各頂点の座標値をクリップ比較器103へ入力することで進められる。まず、図1に示す入力101として頂点1の座標値(X1,Y1,Z1)、入力102として描画領域1302を構成する平面の座標値(XMAX1,XMIN1,YMAX1,YMIN1,ZMAX1,ZMIN1)と処理可能領域1301を構成する平面の座標値(XMAX2,XMIN2,YMAX2,YMIN2,ZMAX2,ZMIN2)を与える。頂点1が前記2つのクリップ領域の内部に存在することから、クリップ比較器103は描画領域1302に対するクリップコード11“000000”と処理可能領域に対するクリップコード12“000000”を生成する。
【0043】
頂点1の前記クリップコードはクリップコード保持器104へ出力される。クリップコード保持器104は入力された前記クリップコードの保持を行う。
【0044】
次に、頂点2についてクリップコードの生成を行う。頂点2も2つのクリップ領域に対してそれぞれ領域内部に存在しているため、描画領域1302に対するクリップコード21は“000000”に、処理可能領域1301に対するクリップコード22は“000000”となる。
【0045】
頂点2の前記クリップコードはクリップコード保持器104へ出力される。クリップコード保持器104は入力された前記クリップコードの保持を行う。
【0046】
次に、頂点3についてクリップコードの生成を行う。頂点3はX座標値>XMAX1の関係にあり、描画領域1302に対して領域外である。これよりクリップ比較器103は、描画領域1302に対するクリップコード31“000001”を生成する。また処理可能領域1301に対しては領域内部に存在するため、処理可能領域1301に対するクリップコード32は“000000”となる。
【0047】
頂点3の前記クリップコードはクリップコード保持器104へ出力される。クリップコード保持器104は入力された前記クリップコードの保持を行う。この時点でクリップコード保持器104に保持されているのは三角形1を構成する3頂点分のクリップコードである。
【0048】
図10に、これら頂点1,頂点2、頂点3の前記クリップコード11,12,21,22,31,32と、クリップ状態コード生成器105で生成されたクリップ状態コード1,2、および領域間クリップ状態コード生成器106で生成された領域間クリップ状態コード1を示す。
【0049】
プリミティブコントローラ108によって指定されたクリップコード保持器104内の3頂点分のクリップコード11,12、クリップコード21,22、クリップコード31,32を用いて、クリップ状態コード生成器105はクリップ状態コードの生成を行う。
【0050】
まず、描画領域1302に対しては、クリップコード11,クリップコード21,クリップコード31を論理演算することによりクリップ状態コード1の生成を行う。この生成されたクリップ状態コード1は図10に示されている。
【0051】
また処理可能領域1301に対するクリップ状態コード2は、クリップコード12,クリップコード22,クリップコード32を論理演算することで生成される。このクリップ状態コード2は図10に示されている。
【0052】
クリップ状態コード生成器105により生成された2つのクリップ状態コード1およびクリップ状態コード2は、クリップ状態コードレジスタ107にロードされると同時に領域間クリップ状態コード生成器106へと送られる。
【0053】
領域間クリップ状態コード生成器106では、2つのクリップ状態コード1,2を論理演算することにより領域間クリップ状態コード1を生成し、これをクリップ状態コードレジスタ107へとロードする。
【0054】
この段階で、頂点1,頂点2,頂点3から構成される三角形1のクリップ判定処理は終了する。この場合、領域間クリップ状態コード1が“001”すなわちWClip Inを示していることから、この三角形1は実クリップ処理を行うことなく描画可能である。図10には、三角形1の領域間クリップ状態コード1が示されている。
【0055】
次に、頂点4の座標値がクリップ比較器103へ入力される。頂点4については描画領域1302のクリップ領域に対してはY座標値>YMAX1,処理可能領域1301のクリップ領域に対してはY座標値>YMAX2の関係があるため、図6における描画領域1302に対するクリップコード41は図11に示すように“001000”、図6における処理可能領域1301に対するクリップコード42は図11に示すように“001000”となる。
【0056】
生成されたクリップコード41,42は、クリップコード保持器104へ出力される。図6における三角形2は頂点1,頂点3,頂点4から構成されるため、頂点2のクリップコードを破棄し頂点4のクリップコードを保持するように、プリミティブコントローラ108はクリップコード保持器104を制御する。
【0057】
次にクリップ状態コード生成器105は、頂点1,頂点3,頂点4のクリップコードを用いてクリップ状態コードの生成を行う。描画領域1302に対してはクリップコード11,クリップコード31,クリップコード41を用いて論理演算を行いクリップ状態コード3“100”を生成し、処理可能領域1301に対してはクリップコード12,クリップコード32,クリップコード42の論理演算からクリップ状態コード4“100”を生成する。
【0058】
生成されたクリップ状態コード3,クリップ状態コード4はクリップ状態コードレジスタ107へロードされると同時に、領域間クリップ状態コード生成器106へと出力される。
【0059】
領域間クリップ状態コード生成器106では、クリップ状態コード3,4を用いて領域間クリップ状態コード2“100”を生成する。領域間クリップ状態コード2がWClipの状態を示すことから、頂点1,頂点3,頂点4から構成される三角形2は実クリップを行わなければならない。
図11には、頂点1,頂点3,頂点4からなる三角形2のクリップコード11,31,41と、クリップコード12,32,42と、生成されたクリップ状態コード3,4と、領域間クリップ状態コード2とが示されている。
【0060】
以上のように、この実施の形態1によれば、X軸,Y軸,Z軸による三次元座標系における2つのクリップ領域1301,1302を用いた、複数の多角形の形状に対応できるクリップ判定処理の可能な三次元クリップ判定処理装置が得られる効果がある。
【0061】
また、描画領域1302や処理可能領域1301などのクリップ領域を構成するクリップ平面の値である入力102については、オフセット値を用いた計算処理などによらずハードウェア的に数値データとして与えることが出来るため、前記クリップ領域を構成するクリップ平面の値を求めるための面倒な計算処理などを行う必要がなく、三次元クリップ判定処理を高速に行うことの可能な三次元クリップ判定処理装置が得られる効果がある。
【0062】
実施の形態2.
図12は、この実施の形態2のクリップ比較器113の構成を示すブロック図であり、他の構成については図1に示した構成が適用できる。
このクリップ比較器113は、前記実施の形態1におけるクリップ比較器103に対し、X軸、Y軸、Z軸の3つの座標系に関し、頂点の座標値と各クリップ領域を規定する座標値との比較処理を並列処理するようにしたものであり、頂点のX座標値を入力201として、前記頂点のY座標値を入力202として、前記頂点のZ座標値を入力203として、頂点の各座標値を同時に入力する。
【0063】
そして、前記各クリップ領域を構成する平面のX軸方向の最大値XMAXおよび最小値XMINは入力204として入力され、前記入力201と比較され、X軸に関してクリップコードの生成が行われ、Y軸方向の最大値YMAXおよび最小値YMINは入力205として入力され、前記入力202と比較され、Y軸に関してクリップコードの生成が行われ、Z軸方向の最大値ZMAXおよび最小値ZMINは入力206として入力され、前記入力203と比較され、Z軸に関してのクリップコードの生成が行われる。
【0064】
図中、207は前記各クリップ領域についてX座標系のクリップコード生成を行うX座標比較ユニット、208はY座標系のクリップコード生成を行うY座標比較ユニット、209はZ座標系のクリップコード生成を行うZ座標比較ユニットを表している。
【0065】
この実施の形態2によれば、クリップ比較器113の3つのX座標比較ユニット207,Y座標比較ユニット208,Z座標比較ユニット209が前記各クリップ領域のX座標系、Y座標系、Z座標系に関して同時にクリップコードの生成を行うため、クリップコードの生成を高速化できる三次元クリップ判定処理装置が得られる効果がある。
【0066】
実施の形態3.
図13は、この実施の形態3の三次元クリップ判定処理装置におけるクリップ比較器114の構成を示すブロック図であり、前記実施の形態1におけるクリップ比較器103に対しこのクリップ比較器114は、2つのクリップ領域に関して並列に処理するように構成したものであり、高速なクリップコード生成を行うことが可能である。また、他の構成については図1に示した構成が適用できる。
【0067】
図において、305および306はクリップ領域比較ユニットであり、クリップ領域比較ユニット305,306がそれぞれ一つのクリップ領域に対応してクリップコード生成を行い、並列に処理を進める形態である。
【0068】
入力301および入力302により頂点の座標値を入力し、入力303によりクリップ領域比較ユニット305に対し2つのクリップ領域のうちの一方のクリップ領域、例えば描画領域1302を構成する平面の座標の最大値、最小値を入力し、また入力304によりクリップ領域比較ユニット306に対し他方のクリップ領域、例えば処理可能領域1301を構成する平面の座標の最大値、最小値の入力を行う。
【0069】
以上のように、この実施の形態3によれば、描画領域1302と処理可能領域1301の2つのクリップ領域に関して並列に処理してクリップコードを生成するため、クリップコードの生成をより高速に行える三次元クリップ判定処理装置が得られる効果がある。
【0070】
実施の形態4.
図14は、この実施の形態4の三次元クリップ判定処理装置におけるクリップ比較器のクリップ領域比較ユニット311の構成を示すブロック図であり、他の構成については図1に示した構成が適用できる。このクリップ領域比較ユニット311は、前記実施の形態3におけるクリップ領域比較ユニット305またはクリップ領域比較ユニット306に対応し、X軸,Y軸,Z軸について各クリップ領域を構成する平面に対応したクリップコードの生成を並行して行うことを可能にする平面比較ユニットを設けたものである。
【0071】
図において、401は頂点のX座標値の入力、402は前記頂点のY座標値の入力、403は前記頂点のZ座標値の入力を示す。また、404は描画領域1302または処理可能領域1301のクリップ領域の平面のX座標の最大値の入力、405は前記描画領域1302または処理可能領域1301のクリップ領域の平面のX座標の最小値の入力、406は前記描画領域1302または処理可能領域1301のクリップ領域の平面のY座標の最大値の入力、407は前記描画領域1302または処理可能領域1301のクリップ領域の平面のY座標の最小値の入力、409は前記描画領域1302または処理可能領域1301のクリップ領域の平面のZ座標の最大値の入力、410は前記描画領域1302または処理可能領域1301のクリップ領域の平面のZ座標の最小値の入力を示す。
【0072】
411は頂点のX座標値である入力401と描画領域1302または処理可能領域1301のクリップ領域の平面のX座標の最大値の入力404とを比較するXMAX平面比較ユニット、412は前記頂点のX座標値である入力401と描画領域1302または処理可能領域1301のクリップ領域の平面のX座標の最小値の入力405とを比較するXMIN平面比較ユニット、413は前記頂点のY座標値である入力402と描画領域1302または処理可能領域1301のクリップ領域の平面のY座標の最大値の入力406とを比較するYMAX平面比較ユニット、414は前記頂点のY座標値である入力402と描画領域1302または処理可能領域1301のクリップ領域の平面のY座標の最小値の入力407とを比較するYMIN平面比較ユニット、415は前記頂点のZ座標値である入力403と描画領域1302または処理可能領域1301のクリップ領域の平面のZ座標の最大値の入力409とを比較するZMAX平面比較ユニット、416は前記頂点のZ座標値である入力403と描画領域1302または処理可能領域1301のクリップ領域の平面のZ座標の最小値の入力410とを比較するZMIN平面比較ユニットである。
【0073】
次に動作について説明する。
入力401より頂点のX座標値を、入力402より前記頂点のY座標値を、入力403より前記頂点のZ座標値を同時に入力する。
【0074】
また、描画領域1302または処理可能領域1301のクリップ領域の平面について、X座標の最大値を入力404により、X座標の最小値を入力405により入力し、また、前記クリップ領域の平面について、Y座標の最大値を入力406により、Y座標の最小値を入力407により入力し、また、前記クリップ領域の平面について、Z座標の最大値を入力409により、Z座標の最小値を入力410により同時に入力する。
【0075】
XMAX平面比較ユニット411では前記入力401と前記入力404との比較を行い、XMIX平面比較ユニット412では前記入力401と前記入力405との比較を行い、描画領域1302または処理可能領域1301のクリップ領域を構成する平面に対応したX座標系のクリップコードの生成を行う。また、YMAX平面比較ユニット413では前記入力402と前記入力406との比較を行い、YMIX平面比較ユニット414では前記入力402と前記入力407との比較を行い、描画領域1302または処理可能領域1301のクリップ領域を構成する平面に対応したY座標系のクリップコードの生成を行う。また、ZMAX平面比較ユニット415では前記入力403と前記入力409との比較を行い、ZMIX平面比較ユニット416では前記入力403と前記入力410との比較を行い、描画領域1302または処理可能領域1301のクリップ領域を構成する平面に対応したZ座標系のクリップコードの生成を行う。
【0076】
以上のように、この実施の形態4によれば、描画領域1302または処理可能領域1301のクリップ領域を構成する6つの平面に対して同時にクリップコードの生成を進めることが出来るため、クリップコードの生成を、さらにより高速化できる三次元クリップ判定処理装置が得られる効果がある。
【0077】
実施の形態5.
図15は、この実施の形態5の三次元クリップ判定処理装置のクリップ比較器におけるクリップ領域比較ユニットの構成を示すブロック図であり、他の構成については図1に示した構成が適用できる。
【0078】
このクリップ領域比較ユニット321は、前記実施の形態4におけるクリップ領域比較ユニット311にXMIN平面生成ユニット、YMIN平面生成ユニット、ZMIN平面生成ユニットを設けたものである。
【0079】
図15において図14と同一の部分については同一の符号を付し説明を省略する。図において、451は、描画領域1302または処理可能領域1301のクリップ領域の平面のX座標の最大値である入力404に対し符号を反転させた値を、前記クリップ領域の平面のX座標の最小値として出力するXMIN平面生成ユニット、452は、描画領域1302または処理可能領域1301のクリップ領域の平面のY座標の最大値である入力406に対し符号を反転させた値を、前記クリップ領域の平面のY座標の最小値として出力するYMIN平面生成ユニット、453は、描画領域1302または処理可能領域1301のクリップ領域の平面のZ座標の最大値である入力409に対し符号を反転させた値を、前記クリップ領域の平面のZ座標の最小値として出力するZMIN平面生成ユニットである。
【0080】
入力404として描画領域1302または処理可能領域1301のクリップ領域の平面のX座標の最大値であるXMAXが入力されると、前記クリップ領域の平面のX座標の最小値XMINはXMIN平面生成ユニット451によって−XMAXとして生成される。同様に、入力406として描画領域1302または処理可能領域1301のクリップ領域の平面のY座標の最大値であるYMAXが入力されると、前記クリップ領域の平面のY座標の最小値YMINはYMIN平面生成ユニット452によって−YMAXとして生成される。同様に、入力409として描画領域1302または処理可能領域1301のクリップ領域の平面のZ座標の最大値であるZMAXが入力されると、ZMIN平面生成ユニット453によって前記クリップ領域の平面のZ座標の最小値ZMINは−ZMAXとして生成される。
【0081】
各クリップ平面の値が生成された後は、前記実施の形態4と同様に平面比較ユニット411〜416によってクリップコードの生成が行われる。
【0082】
従って、前記実施の形態4のように入力405,入力407,入力410として入力するクリップ領域の平面の座標の最小値についてのデータが不要になり、クリップコード生成のために入力するデータ数を減らすことが可能になる。
【0083】
なお、以上の説明では、XMIN平面生成ユニット451、YMIN平面生成ユニット452、ZMIN平面生成ユニット453により、描画領域1302または処理可能領域1301のクリップ領域の平面の座標の最大値の入力があると、その最大値の符号を反転させた値を同じ座標系の最小値として出力する構成として説明したが、描画領域1302または処理可能領域1301のクリップ領域の平面の座標の最小値の入力があると、その最小値の符号を反転させた値を同じ座標系の最大値として生成し出力する構成とし、前記実施の形態4の入力404,入力406,入力409として入力するクリップ領域の平面の座標の最大値についてのデータを不要にするようにしてもよい。
【0084】
以上のように、この実施の形態5によれば、クリップ領域の平面の座標を規定するため入力するデータ数を減らすことが可能になり、クリップコードの生成を高速化できる三次元クリップ判定処理装置が得られる効果がある。
【0085】
実施の形態6.
図16は、この実施の形態6の三次元クリップ判定処理装置におけるクリップ比較器のクリップ領域比較ユニットの構成を示すブロック図であり、他の構成については図1に示した構成が適用できる。
【0086】
この実施の形態6の三次元クリップ判定処理装置では、前記実施の形態4に示したクリップ領域比較ユニット311に、クリップ領域を構成する平面についての座標値を格納するためのレジスタを設けるようにしたものである。
【0087】
図16において図14と同一の部分については同一の符号を付し説明を省略する。図において、461は描画領域1302または処理可能領域1301であるクリップ領域を構成する平面のX座標における最大値XMAXを格納するXMAXレジスタ、462は前記クリップ領域を構成する平面のX座標における最小値XMINを格納するXMINレジスタ、463は前記クリップ領域を構成する平面のY座標における最大値YMAXを格納するYMAXレジスタ、464は前記クリップ領域を構成する平面のY座標における最小値YMINを格納するYMINレジスタ、465は前記クリップ領域を構成する平面のZ座標における最大値ZMAXを格納するZMAXレジスタ、466は前記クリップ領域を構成する平面のZ座標における最小値ZMINを格納するZMINレジスタである。また、符号604は、描画領域1302または処理可能領域1301のクリップ領域を構成する平面についてのX座標,Y座標,Z座標における最大値および最小値の入力を示す。
【0088】
この実施の形態6のクリップ領域比較ユニット331では、入力604をもとに前記クリップ領域を構成する平面のX座標における最大値XMAXをXMAXレジスタ461に格納しておき、X座標における最小値XMINをXMINレジスタ462に格納しておく。また、Y座標における最大値YMAXをYMAXレジスタ463に格納しておき、Y座標における最小値YMINをYMINレジスタ464に格納しておく。また、Z座標における最大値ZMAXをZMAXレジスタ465に格納しておき、Z座標における最小値ZMINをZMINレジスタ466に格納しておく。
【0089】
そして、頂点のX座標値を入力401として、Y座標値を入力402として、Z座標値を入力403として入力したとき、XMAX平面比較ユニット411により前記入力401とXMAXレジスタ461に格納してある値とを比較し、X軸方向の最大値(XMAX)を持つ面に対応したクリップコードを生成し、さらにXMIN平面比較ユニット412により前記入力401とXMINレジスタ462に格納してある値とを比較し、X軸方向の最小値(XMIN)を持つ面に対応したクリップコードを生成する。
【0090】
また、YMAX平面比較ユニット413により前記入力402とYMAXレジスタ463に格納してある値とを比較し、Y軸方向の最大値(YMAX)を持つ面に対応したクリップコードを生成し、さらにYMIN平面比較ユニット414により前記入力402とYMINレジスタ464に格納してある値とを比較し、Y軸方向の最小値(YMIN)を持つ面に対応したクリップコードを生成する。
【0091】
また、ZMAX平面比較ユニット415により前記入力403とZMAXレジスタ465に格納してある値とを比較し、Z軸方向の最大値(ZMAX)を持つ面に対応したクリップコードを生成し、さらにZMIN平面比較ユニット416により前記入力403とZMINレジスタ466に格納してある値とを比較し、Z軸方向の最小値(ZMIN)を持つ面に対応したクリップコードを生成する。
【0092】
このように符号461〜符号466で示した各レジスタに保持された値と、入力された頂点の座標値との比較を、符号411〜符号416で示した各平面比較ユニットによって行い、前記各クリップ領域についてクリップコードの生成を行う。
【0093】
以上のように、この実施の形態6によれば、前記入力401,入力402,入力403が与えられると同時にクリップコードの生成が開始されるため、前記各クリップ領域についてクリップコードの生成を高速化できる三次元クリップ判定処理装置が得られる効果がある。
【0094】
実施の形態7.
図17は、この実施の形態7の三次元クリップ判定処理装置におけるクリップコード保持器の構成を示すブロック図であり、他の構成については前記実施の形態1から前記実施の形態6で説明した構成が適用できる。図において、351はクリップコード保持器、701はクリップコードの入力を示し、702,703,704はクリップコード保持レジスタである。705,706は前記実施の形態1で示したプリミティブコントローラ108からの制御信号線を示している。
【0095】
このクリップ保持器351では、クリップ比較器から入力701によりクリップコードが入力されると、そのクリップコードはクリップコード保持レジスタ(第1のクリップコード保持レジスタ)704へとロードが行われる。一方、制御信号線705から与えられたプリミティブ制御信号がアクティブになることによって、クリップコード保持レジスタ704に保持されたクリップコードをクリップコード保持レジスタ(第2のクリップコード保持レジスタ)703へロードする機能を有している。また、制御信号線706から与えられたプリミティブ制御信号がアクティブになることによって、クリップコード保持レジスタ703に保持されたクリップコードをクリップコード保持レジスタ(第3のクリップコード保持レジスタ)702へロードする機能を有している。
【0096】
次に動作について説明する。
このクリップコード保持器351では、各クリップコード保持レジスタ702,703,704に格納されているクリップコードの他のクリップコード保持レジスタへの転送がプリミティブコントローラ108から出力されるプリミティブ制御信号により制御可能であるため、例えば図9に示すような扇形多角形等の複雑な頂点制御を必要とする多角形のクリップ判定処理の場合、最初に頂点V1のクリップコードが入力701として与えられると、この頂点V1のクリップコードをクリップコード保持レジスタ704へロードする。その後、頂点V2のクリップコードが入力701として与えられると、前記クリップコード保持レジスタ704へロードした頂点V1のクリップコードをクリップコード保持レジスタ703へ転送しロードするとともに前記頂点V2のクリップコードをクリップコード保持レジスタ704へロードする。
【0097】
続いて、頂点V3のクリップコードが入力701として与えられると、前記クリップコード保持レジスタ703へロードした頂点V1のクリップコードをクリップコード保持レジスタ702へ転送するとともに前記クリップコード保持レジスタ704へロードした頂点V2のクリップコードをクリップコード保持レジスタ703へ転送しロードし、さらに前記入力701として与えられた頂点V3のクリップコードをクリップコード保持レジスタ704へロードする。
【0098】
この状態では、クリップコード保持レジスタ702には頂点V1のクリップコード、クリップコード保持レジスタ703には頂点V2のクリップコード、クリップコード保持レジスタ704には頂点V3のクリップコードがロードされており、この結果、図9に示す頂点V1,V2,V3による三角形についての三次元クリップ判定処理が行われる。
【0099】
次に、プリミティブコントローラ108は、プリミティブ制御信号によりクリップコード保持レジスタ702にロードされている頂点V1のクリップコードを固定する。そして、この状態で、入力701として頂点V4のクリップコードが与えられると、クリップコード保持レジスタ703にロードされている頂点V2のクリップコードを捨て、クリップコード保持レジスタ704にロードされている頂点V3のクリップコードをクリップコード保持レジスタ703へ転送しロードするとともに、前記入力701として与えられた頂点V4のクリップコードをクリップコード保持レジスタ704へロードする。
【0100】
この状態では、クリップコード保持レジスタ702には頂点V1のクリップコード、クリップコード保持レジスタ703には頂点V3のクリップコード、クリップコード保持レジスタ704には頂点V4のクリップコードがロードされており、この結果、図9に示す頂点V1,V3,V4による三角形についての三次元クリップ判定処理が行われる。
【0101】
次に、この状態で、入力701として頂点V5のクリップコードが与えられると、クリップコード保持レジスタ703にロードされている頂点V3のクリップコードを捨て、クリップコード保持レジスタ704にロードされている頂点V4のクリップコードをクリップコード保持レジスタ703へ転送しロードするとともに、前記入力701として与えられた頂点V5のクリップコードをクリップコード保持レジスタ704へロードする。
【0102】
この状態では、クリップコード保持レジスタ702には頂点V1のクリップコード、クリップコード保持レジスタ703には頂点V4のクリップコード、クリップコード保持レジスタ704には頂点V5のクリップコードがロードされており、この結果、図9に示す頂点V1,V4,V5による三角形についての三次元クリップ判定処理が行われる。
【0103】
次に、この状態で、入力701として頂点V6のクリップコードが与えられると、クリップコード保持レジスタ703にロードされている頂点V4のクリップコードを捨て、クリップコード保持レジスタ704にロードされている頂点V5のクリップコードをクリップコード保持レジスタ703へ転送しロードするとともに、前記入力701として与えられた頂点V6のクリップコードをクリップコード保持レジスタ704へロードする。
【0104】
この状態では、クリップコード保持レジスタ702には頂点V1のクリップコード、クリップコード保持レジスタ703には頂点V5のクリップコード、クリップコード保持レジスタ704には頂点V6のクリップコードがロードされており、この結果、図9に示す頂点V1,V5,V6による三角形についての三次元クリップ判定処理が行われる。
【0105】
以上のように、この実施の形態7によれば、保持されるクリップコードをプリミティブコントローラ108によって制御することが可能であるため、図9に示すような扇形多角形等の共通の頂点を有する多角形などについて、複雑な頂点制御を必要とするクリップ判定処理を高速に、かつ効率よく行える三次元クリップ判定処理装置が得られる効果がある。
【0106】
【発明の効果】
以上のように、この発明によれば、三次元グラフィックスでの多角形の頂点の座標を第1のクリップ領域および第2のクリップ領域と比較し、クリップコードを生成するクリップ比較器と、該クリップ比較器が生成したクリップコードを前記多角形の頂点の数に応じて保持するクリップコード保持器と、該クリップコード保持器に保持された前記クリップコードをもとに、前記第1のクリップ領域および前記第2のクリップ領域に対する前記多角形の状態を示すクリップ状態コードを生成するクリップ状態コード生成器と、該クリップ状態コード生成器が生成した前記クリップ状態コードをもとに、前記多角形について描画の必要性の有無、および前記第1のクリップ領域内に存在する部分のみの描画の必要性の有無を識別する領域間クリップ状態コードを生成する領域間クリップ状態コード生成器と、前記クリップコード保持器と前記クリップ状態コード生成器とを前記多角形の形状に応じて制御するプリミティブコントローラと、前記クリップ状態コード生成器が生成したクリップ状態コードと、前記領域間クリップ状態コード生成器が生成した領域間クリップ状態コードを保持するクリップ状態コードレジスタとを備えるように構成したので、三次元グラフィックスでの2つのクリップ領域を用いた、複数の多角形の形状に対応した三次元クリップ判定処理を高速に行える効果がある。
【0107】
この発明によれば、第1のクリップ領域とは独立してハードウェア的に、第2のクリップ領域について所望の大きさに設定可能な構成を備えるようにしたので、前記第2のクリップ領域を設定するための計算手段による演算処理が不要になり、三次元グラフィックスでの2つのクリップ領域を用いた、複数の多角形の形状に対応した三次元クリップ判定処理を高速に行える効果がある。
【0108】
この発明によれば、多角形の頂点の座標と第1のクリップ領域および第2のクリップ領域とにおけるX座標系について比較を行うX座標比較ユニットと、前記多角形の頂点の座標と前記第1のクリップ領域および第2のクリップ領域とにおけるY座標系について、前記X座標比較ユニットと並列的に動作して比較を行うY座標比較ユニットと、前記多角形の頂点の座標と前記第1のクリップ領域および第2のクリップ領域とにおけるZ座標系について、前記X座標比較ユニットおよび前記Y座標比較ユニットと並列的に動作して比較を行うZ座標比較ユニットとをクリップ比較器が備えるように構成したので、前記多角形の頂点の座標と前記第1のクリップ領域および前記第2のクリップ領域とにおけるX座標系、Y座標系、Z座標系についての比較処理を並行して同時的に行うことが可能になり、三次元グラフィックスでの2つのクリップ領域を用いた、複数の多角形の形状に対応した三次元クリップ判定処理を高速に行える効果がある。
【0109】
この発明によれば、第1のクリップ領域または第2のクリップ領域に対し並列的に多角形の各頂点についてのクリップコードを生成する、前記第1のクリップ領域および前記第2のクリップ領域に対応したクリップ領域比較ユニットをクリップ比較器が備えるように構成したので、前記多角形の各頂点について前記第1のクリップ領域および前記第2のクリップ領域に対応したクリップ領域比較処理を並行して同時的に行うことが出来、三次元グラフィックスでの2つのクリップ領域を用いた、複数の多角形の形状に対応した三次元クリップ判定処理を高速に行える効果がある。
【0110】
この発明によれば、第1のクリップ領域および第2のクリップ領域を構成するX座標系、Y座標系およびZ座標系の各平面に対応し、前記第1のクリップ領域または前記第2のクリップ領域について並列的に多角形の各頂点のクリップコードを生成する平面比較ユニットをクリップ領域比較ユニットが備えるように構成したので、前記多角形の各頂点について、前記第1のクリップ領域および前記第2のクリップ領域のX座標系、Y座標系、Z座標系の各平面に対応するクリップコードの生成を、X座標系、Y座標系およびZ座標系ごとに並行して行うことが可能であるため、三次元グラフィックスでの2つのクリップ領域を用いた、複数の多角形の形状に対応した三次元クリップ判定処理を高速に行える効果がある。
【0111】
この発明によれば、第1のクリップ領域および第2のクリップ領域を構成するX座標系、Y座標系およびZ座標系の各平面について、X座標系、Y座標系およびZ座標系ごとに、一方の平面を規定する座標から他方の平面を規定する座標を生成する平面生成ユニットをクリップ領域比較ユニットが備えるように構成したので、前記クリップ領域の平面の座標を規定するため入力するデータ数を減らすことが可能になり、クリップコードの生成を高速化でき、三次元グラフィックスでの2つのクリップ領域を用いた、複数の多角形の形状に対応した三次元クリップ判定処理を高速に行える効果がある。
【0112】
この発明によれば、第1のクリップ領域および第2のクリップ領域を構成するX座標系、Y座標系およびZ座標系の各平面について、X座標系、Y座標系およびZ座標系ごとに、一方の平面を規定する座標の正負の符号を反転させた座標を、他方の平面を規定する座標として生成する平面生成ユニットをクリップ領域比較ユニットが備えるように構成したので、前記他方のクリップ領域の平面の座標を規定するため入力する座標頂点を、前記一方のクリップ領域の平面の座標を規定する座標から即座に得られるため、前記クリップ領域の平面の座標を規定するため入力するデータ数を減らすことが可能になり、クリップコードの生成を高速化でき、三次元グラフィックスでの2つのクリップ領域を用いた、複数の多角形の形状に対応した三次元クリップ判定処理を高速に行える効果がある。
【0113】
この発明によれば、第1のクリップ領域および第2のクリップ領域を構成するX座標系、Y座標系およびZ座標系の各平面を規定する座標を格納する、前記各平面に対応した複数のレジスタをクリップ領域比較ユニットが備えるように構成したので、前記レジスタへあらかじめ前記第1のクリップ領域および前記第2のクリップ領域を構成するX座標系、Y座標系およびZ座標系の各平面を規定する座標を格納しておくことで、X座標系、Y座標系およびZ座標系の多角形の頂点についての座標頂点が与えられると同時にクリップコードの生成が開始されるため、クリップコードの生成を高速化でき、三次元グラフィックスでの2つのクリップ領域を用いた、複数の多角形の形状に対応した三次元クリップ判定処理を高速に行える効果がある。
【0114】
この発明によれば、クリップ比較器で生成したクリップコードを保持する第1のクリップコード保持レジスタと、該第1のクリップコード保持レジスタに保持された前記クリップコードが転送されて保持される第2のクリップコード保持レジスタと、該第2のクリップコード保持レジスタに保持された前記クリップコードが転送されて保持される第3のクリップコード保持レジスタとをクリップコード保持器が備え、前記第1のクリップコード保持レジスタに保持された前記クリップコードの前記第2のクリップコード保持レジスタへの転送、および前記第2のクリップコード保持レジスタに保持された前記クリップコードの前記第3のクリップコード保持レジスタへの転送についてプリミティブコントローラが多角形の形状に応じて制御する構成を備えるようにしたので、例えば扇形多角形等の共通した頂点を有する多角形などのように複雑な頂点制御を必要とする多角形のクリップ判定処理を高速に、かつ効率よく行える効果がある。
【図面の簡単な説明】
【図1】 この発明の実施の形態1による三次元クリップ判定処理装置の構成を示すブロック図である。
【図2】 この発明の三次元クリップ判定処理装置におけるクリップ領域を示す説明図である。
【図3】 この発明の三次元クリップ判定処理装置においてX軸とY軸とで構成される二次元平面上にクリップ領域を投影した場合の、各分割された領域に割り当てられたクリップコードを示す説明図である。
【図4】 この発明の三次元クリップ判定処理装置におけるクリップ状態コードの一例を示す説明図である。
【図5】 この発明の三次元クリップ判定処理装置における領域間クリップ状態コードの一例を示す説明図である。
【図6】 この発明の三次元クリップ判定処理装置における二領域クリップ判定処理を示す説明図である。
【図7】 この発明の三次元クリップ判定処理装置において実クリップ処理を行う必要がある場合を示す説明図である。
【図8】 この発明の三次元クリップ判定処理装置において
頂点処理を行う多角形の一例を示す説明図である。
【図9】 この発明の三次元クリップ判定処理装置において
頂点処理を行う多角形の一例を示す説明図である。
【図10】 この発明の三次元クリップ判定処理装置における図6に示す三角形の各頂点のクリップコード、クリップ状態コード、領域間クリップ状態コードを示す説明図である。
【図11】 この発明の三次元クリップ判定処理装置における図6に示す三角形の各頂点のクリップコード、クリップ状態コード、領域間クリップ状態コードを示す説明図である。
【図12】 この発明の実施の形態2の三次元クリップ判定処理装置におけるクリップ比較器の構成を示すブロック図である。
【図13】 この発明の実施の形態3の三次元クリップ判定処理装置におけるクリップ比較器の構成を示すブロック図である。
【図14】 この発明の実施の形態4の三次元クリップ判定処理装置におけるクリップ比較器のクリップ領域比較ユニットの構成を示すブロック図である。
【図15】 この発明の実施の形態5の三次元クリップ判定処理装置におけるクリップ比較器のクリップ領域比較ユニットの構成を示すブロック図である。
【図16】 この発明の実施の形態6の三次元クリップ判定処理装置におけるクリップ比較器のクリップ領域比較ユニットの構成を示すブロック図である。
【図17】 この発明の実施の形態7の三次元クリップ判定処理装置におけるクリップコード保持器の構成を示すブロック図である。
【図18】 従来のクリップ判定処理装置の構成を示すブロック図である。
【符号の説明】
103,113,114 クリップ比較器、104 クリップコード保持器、105 クリップ状態コード生成器、106 領域間クリップ状態コード生成器、107 クリップ状態コードレジスタ、108 プリミティブコントローラ、207 X座標比較ユニット、208 Y座標比較ユニット、209 Z座標比較ユニット、305,306,311,321,331 クリップ領域比較ユニット、351 クリップコード保持器、411 XMAX平面比較ユニット、412 XMIN平面比較ユニット、413 YMAX平面比較ユニット、414YMIN平面比較ユニット、415 ZMAX平面比較ユニット、416 ZMIN平面比較ユニット、451 XMIN平面生成ユニット、452 YMIN平面生成ユニット、453 ZMIN平面生成ユニット、461 XMAXレジスタ、462 XMINレジスタ、463 YMAXレジスタ、464 YMINレジスタ、465 ZMAXレジスタ、466 ZMINレジスタ、702クリップコード保持レジスタ(第3のクリップコード保持レジスタ)、703 クリップコード保持レジスタ(第2のクリップコード保持レジスタ)、704 クリップコード保持レジスタ(第1のクリップコード保持レジスタ)。
Claims (9)
- 三次元グラフィックスでの多角形の頂点の座標を第1のクリップ領域および第2のクリップ領域と比較し、クリップコードを生成するクリップ比較器と、
該クリップ比較器が生成したクリップコードを前記多角形の頂点の数に応じて保持するクリップコード保持器と、
該クリップコード保持器に保持された前記クリップコードをもとに、前記第1のクリップ領域および前記第2のクリップ領域に対する前記多角形の状態を示すクリップ状態コードを生成するクリップ状態コード生成器と、
該クリップ状態コード生成器が生成した前記クリップ状態コードをもとに、前記多角形について描画の必要性の有無、および前記第1のクリップ領域内に存在する部分のみの描画の必要性の有無を識別する領域間クリップ状態コードを生成する領域間クリップ状態コード生成器と、
前記クリップコード保持器と前記クリップ状態コード生成器とを前記多角形の形状に応じて制御するプリミティブコントローラと、
前記クリップ状態コード生成器が生成したクリップ状態コードと、前記領域間クリップ状態コード生成器が生成した領域間クリップ状態コードを保持するクリップ状態コードレジスタと、
を備えていることを特徴とする三次元クリップ判定処理装置。 - 第2のクリップ領域は、
第1のクリップ領域とは独立に、ハードウェア的に所望の大きさに設定可能であることを特徴とする請求項1記載の三次元クリップ判定処理装置。 - クリップ比較器は、
多角形の頂点の座標と第1のクリップ領域および第2のクリップ領域とにおけるX座標系について比較を行うX座標比較ユニットと、
前記多角形の頂点の座標と前記第1のクリップ領域および第2のクリップ領域とにおけるY座標系について、前記X座標比較ユニットと並列的に動作して比較を行うY座標比較ユニットと、
前記多角形の頂点の座標と前記第1のクリップ領域および第2のクリップ領域とにおけるZ座標系について、前記X座標比較ユニットおよび前記Y座標比較ユニットと並列的に動作して比較を行うZ座標比較ユニットとを備えていることを特徴とする請求項1または請求項2記載の三次元クリップ判定処理装置。 - クリップ比較器は、
第1のクリップ領域または第2のクリップ領域に対し並列的に多角形の各頂点についてのクリップコードを生成する、前記第1のクリップ領域および前記第2のクリップ領域に対応したクリップ領域比較ユニットを備えていることを特徴とする請求項1または請求項2記載の三次元クリップ判定処理装置。 - クリップ領域比較ユニットは、
第1のクリップ領域および第2のクリップ領域を構成するX座標系、Y座標系およびZ座標系の各平面に対応し、前記第1のクリップ領域または前記第2のクリップ領域について並列的に多角形の各頂点のクリップコードを生成する平面比較ユニットを備えていることを特徴とする請求項4記載の三次元クリップ判定処理装置。 - クリップ領域比較ユニットは、
第1のクリップ領域および第2のクリップ領域を構成するX座標系、Y座標系およびZ座標系の各平面について、X座標系、Y座標系およびZ座標系ごとに、一方の平面を規定する座標から他方の平面を規定する座標を生成する平面生成ユニットを備えていることを特徴とする請求項5記載の三次元クリップ判定処理装置。 - クリップ領域比較ユニットは、
第1のクリップ領域および第2のクリップ領域を構成するX座標系、Y座標系およびZ座標系の各平面について、X座標系、Y座標系およびZ座標系ごとに、一方の平面を規定する座標の正負の符号を反転させた座標を、他方の平面を規定する座標として生成する平面生成ユニットを備えていることを特徴とする請求項6記載の三次元クリップ判定処理装置。 - クリップ領域比較ユニットは、
第1のクリップ領域および第2のクリップ領域を構成するX座標系、Y座標系およびZ座標系の各平面を規定する座標を格納する、前記各平面に対応した複数のレジスタを備えていることを特徴とする請求項5記載の三次元クリップ判定処理装置。 - クリップコード保持器は、
クリップ比較器で生成したクリップコードを保持する第1のクリップコード保持レジスタと、
該第1のクリップコード保持レジスタに保持された前記クリップコードが転送されて保持される第2のクリップコード保持レジスタと、
該第2のクリップコード保持レジスタに保持された前記クリップコードが転送されて保持される第3のクリップコード保持レジスタとを備え、
プリミティブコントローラは、
前記第1のクリップコード保持レジスタに保持された前記クリップコードの前記第2のクリップコード保持レジスタへの転送、および前記第2のクリップコード保持レジスタに保持された前記クリップコードの前記第3のクリップコード保持レジスタへの転送について多角形の形状に応じて制御することを特徴とする請求項1または請求項2記載の三次元クリップ判定処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000049878A JP3759365B2 (ja) | 2000-02-25 | 2000-02-25 | 三次元クリップ判定処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000049878A JP3759365B2 (ja) | 2000-02-25 | 2000-02-25 | 三次元クリップ判定処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001243494A JP2001243494A (ja) | 2001-09-07 |
JP3759365B2 true JP3759365B2 (ja) | 2006-03-22 |
Family
ID=18571744
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000049878A Expired - Fee Related JP3759365B2 (ja) | 2000-02-25 | 2000-02-25 | 三次元クリップ判定処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3759365B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8212840B2 (en) * | 2006-10-23 | 2012-07-03 | Qualcomm Incorporated | 3-D clipping in a graphics processing unit |
JP5310078B2 (ja) * | 2009-02-23 | 2013-10-09 | 富士通セミコンダクター株式会社 | 画像描画装置 |
-
2000
- 2000-02-25 JP JP2000049878A patent/JP3759365B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001243494A (ja) | 2001-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101349171B1 (ko) | 3차원 그래픽 가속기 및 그것의 픽셀 분배 방법 | |
JP4148560B2 (ja) | 浮動小数点除算演算装置 | |
JP2618951B2 (ja) | 三次元図形処理装置 | |
JPH0855239A (ja) | グラフィカル・オブジェクトの可視性を判定するための方法および装置 | |
GB2488196A (en) | A tile-based graphics system | |
JPS63198174A (ja) | 図形処理装置 | |
WO2002001500A2 (en) | Method, apparatus and article for determining visible parts of surfaces of three-dimensional objects and their parameters of shading accounting for light and shadow volumes | |
JP5657099B2 (ja) | テクスチャマッピング装置 | |
US6822658B1 (en) | Rendering a silhouette edge | |
JPH11161819A (ja) | 画像処理装置、画像処理方法、及び画像処理プログラムを記録した記録媒体 | |
JP3759365B2 (ja) | 三次元クリップ判定処理装置 | |
KR100382108B1 (ko) | 3차원 그래픽 가속기 및 그의 그래픽 가속처리 방법 | |
JP4664169B2 (ja) | 図形描画装置及び図形描画プログラム | |
JP4060375B2 (ja) | スポットライト特性形成方法及びこれを用いた画像処理装置 | |
US6518969B2 (en) | Three dimensional graphics drawing apparatus for drawing polygons by adding an offset value to vertex data and method thereof | |
JPH09180000A (ja) | 3次元グラフィックス制御装置 | |
KR100269100B1 (ko) | 삼각형탐색방법및이를채용한래스터라이저 | |
JP3029553B2 (ja) | 3次元図形処理装置 | |
JPH1131236A (ja) | ポリゴンデータのソート方法及びこれを用いた画像処理装置 | |
JPH0589251A (ja) | 画像の描画装置 | |
JPS63251870A (ja) | 図形処理装置 | |
KR100277546B1 (ko) | 서피스 모델 랜더링을 위한 기하 연산에서의 룩업 테이블을 이용한 연산량 절약 방법 | |
US6320596B1 (en) | Processing polygon strips | |
JP3718888B2 (ja) | 三次元ポリゴン描画方法および装置 | |
JP2000207576A (ja) | 画像処理方法,画像処理装置,および画像処理プログラムを記録した記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051104 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20051129 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051228 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100113 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100113 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110113 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120113 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |