(57)【特許請求の範囲】
【請求項１】
三次元グラフィックスでの多角形の頂点の座標を第１のクリップ領域および第２のクリップ領域と比較し、クリップコードを生成するクリップ比較器と、
該クリップ比較器が生成したクリップコードを前記多角形の頂点の数に応じて保持するクリップコード保持器と、
該クリップコード保持器に保持された前記クリップコードをもとに、前記第１のクリップ領域および前記第２のクリップ領域に対する前記多角形の状態を示すクリップ状態コードを生成するクリップ状態コード生成器と、
該クリップ状態コード生成器が生成した前記クリップ状態コードをもとに、前記多角形について描画の必要性の有無、および前記第１のクリップ領域内に存在する部分のみの描画の必要性の有無を識別する領域間クリップ状態コードを生成する領域間クリップ状態コード生成器と、
前記クリップコード保持器と前記クリップ状態コード生成器とを前記多角形の形状に応じて制御するプリミティブコントローラと、
前記クリップ状態コード生成器が生成したクリップ状態コードと、前記領域間クリップ状態コード生成器が生成した領域間クリップ状態コードを保持するクリップ状態コードレジスタと、
を備えていることを特徴とする三次元クリップ判定処理装置。
【請求項２】
第２のクリップ領域は、
第１のクリップ領域とは独立に、ハードウェア的に所望の大きさに設定可能であることを特徴とする請求項１記載の三次元クリップ判定処理装置。
【請求項３】
クリップ比較器は、
多角形の頂点の座標と第１のクリップ領域および第２のクリップ領域とにおけるＸ座標系について比較を行うＸ座標比較ユニットと、
前記多角形の頂点の座標と前記第１のクリップ領域および第２のクリップ領域とにおけるＹ座標系について、前記Ｘ座標比較ユニットと並列的に動作して比較を行うＹ座標比較ユニットと、
前記多角形の頂点の座標と前記第１のクリップ領域および第２のクリップ領域とにおけるＺ座標系について、前記Ｘ座標比較ユニットおよび前記Ｙ座標比較ユニットと並列的に動作して比較を行うＺ座標比較ユニットとを備えていることを特徴とする請求項１または請求項２記載の三次元クリップ判定処理装置。
【請求項４】
クリップ比較器は、
第１のクリップ領域または第２のクリップ領域に対し並列的に多角形の各頂点についてのクリップコードを生成する、前記第１のクリップ領域および前記第２のクリップ領域に対応したクリップ領域比較ユニットを備えていることを特徴とする請求項１または請求項２記載の三次元クリップ判定処理装置。
【請求項５】
クリップ領域比較ユニットは、
第１のクリップ領域および第２のクリップ領域を構成するＸ座標系、Ｙ座標系およびＺ座標系の各平面に対応し、前記第１のクリップ領域または前記第２のクリップ領域について並列的に多角形の各頂点のクリップコードを生成する平面比較ユニットを備えていることを特徴とする請求項４記載の三次元クリップ判定処理装置。
【請求項６】
クリップ領域比較ユニットは、
第１のクリップ領域および第２のクリップ領域を構成するＸ座標系、Ｙ座標系およびＺ座標系の各平面について、Ｘ座標系、Ｙ座標系およびＺ座標系ごとに、一方の平面を規定する座標から他方の平面を規定する座標を生成する平面生成ユニットを備えていることを特徴とする請求項５記載の三次元クリップ判定処理装置。
【請求項７】
クリップ領域比較ユニットは、
第１のクリップ領域および第２のクリップ領域を構成するＸ座標系、Ｙ座標系およびＺ座標系の各平面について、Ｘ座標系、Ｙ座標系およびＺ座標系ごとに、一方の平面を規定する座標の正負の符号を反転させた座標を、他方の平面を規定する座標として生成する平面生成ユニットを備えていることを特徴とする請求項６記載の三次元クリップ判定処理装置。
【請求項８】
クリップ領域比較ユニットは、
第１のクリップ領域および第２のクリップ領域を構成するＸ座標系、Ｙ座標系およびＺ座標系の各平面を規定する座標を格納する、前記各平面に対応した複数のレジスタを備えていることを特徴とする請求項５記載の三次元クリップ判定処理装置。
【請求項９】
クリップコード保持器は、
クリップ比較器で生成したクリップコードを保持する第１のクリップコード保持レジスタと、
該第１のクリップコード保持レジスタに保持された前記クリップコードが転送されて保持される第２のクリップコード保持レジスタと、
該第２のクリップコード保持レジスタに保持された前記クリップコードが転送されて保持される第３のクリップコード保持レジスタとを備え、
プリミティブコントローラは、
前記第１のクリップコード保持レジスタに保持された前記クリップコードの前記第２のクリップコード保持レジスタへの転送、および前記第２のクリップコード保持レジスタに保持された前記クリップコードの前記第３のクリップコード保持レジスタへの転送について多角形の形状に応じて制御することを特徴とする請求項１または請求項２記載の三次元クリップ判定処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、三次元コンピュータグラフィックス表示装置において、三次元グラフィックスでの２つのクリップ領域と複数の多角形の形状に対応する三次元クリップ判定処理を高速に行うための三次元クリップ判定処理装置に関するものである。
【０００２】
【従来の技術】
図１８は、例えば特開平２−２７００８２号公報に開示された従来のクリップ判定処理装置の構成を示すブロック図である。図において、８０１は頂点のＸ座標値、Ｙ座標値を保持するためのＸ／Ｙ座標レジスタ、８０２はクリップ枠の座標を保持するためのクリップ座標レジスタである。８０３はオフセット値からテストウィンドウを算出するためのテストウィンドウ制御器、８０４は頂点座標値とクリップ枠の座標を比較するための比較論理および、その比較論理で比較した比較結果を記憶する比較論理および結果記憶装置、８０５は前記比較結果を入力として制御信号を発生する状態発生器である。また、８０６はクリップ枠、テストウィンドウと各頂点座標値との比較が行われる際の比較方法を制御する比較制御状態マシン、８０７はローディング制御状態マシン、８０８は指標論理を表す。
【０００３】
次に動作の概略について説明する。
クリップ判定を行う四辺形を構成する４頂点の各Ｘ座標値，Ｙ座標値がＸ／Ｙ座標レジスタ８０１に与えられ、クリップ座標レジスタ８０２にはクリップ座標値が、テストウィンドウ制御器８０３にはクリップ座標値とテストウィンドウの差分であるＸオフセット、Ｙオフセットが与えられる。前記与えられたクリップ座標値と、ＸオフセットおよびＹオフセットを用いて、テストウィンドウ制御器８０３はテストウィンドウの算出を行う。算出されたテストウィンドウ枠と、クリップ枠、頂点座標の各値は指標論理８０８およびローディング制御状態マシン８０７によって必要な値の選択が行われ、比較論理および結果記憶装置８０４へロードされる。
【０００４】
比較論理および結果記憶装置８０４では、クリップ枠、テストウィンドウと各頂点座標値との比較を行うが、その際の比較方法は比較制御状態マシン８０６によって制御される。状態発生器８０５は、比較論理および結果記憶装置８０４へ格納された比較結果を用いて、ソフトウェアによるクリップ処理を行うか、ハードウェアによるクリップ処理を行うかの判定を行い、該判定結果に応じた制御信号を発生するようになっている。
【０００５】
【発明が解決しようとする課題】
従来のクリップ判定処理装置は以上のように構成されているので、テストウィンドウと呼ばれる第２のクリップ領域を用いたクリップ判定処理を行なっており、前記テストウィンドウとしてクリップ枠に対するオフセット値を用いた領域しか扱えないために、前記テストウィンドウを計算するための計算手段を備えなければならないという課題があった。
【０００６】
また、Ｘ軸，Ｙ軸による二次元座標系にしか対応していないため、三次元座標系における２つのクリップ領域を用いたクリップ判定処理には用いることが出来ないという課題があった。
【０００７】
また、マルチプレクサ手段を用いてＸ座標系、Ｙ座標系に関する処理の切り替えを行い、各座標系に対する処理を逐次的に行うため、処理速度が十分とはいえず装置が複雑になるという課題もあった。
【０００８】
この発明は上記のような課題を解決するためになされたものであり、三次元グラフィックスでの２つのクリップ領域を用いた、複数の多角形の形状に対応した三次元クリップ判定処理を高速に行うことの可能な三次元クリップ判定処理装置を得ることを目的とする。
【０００９】
【課題を解決するための手段】
この発明に係る三次元クリップ判定処理装置は、三次元グラフィックスでの多角形の頂点の座標を第１のクリップ領域および第２のクリップ領域と比較し、クリップコードを生成するクリップ比較器と、該クリップ比較器が生成したクリップコードを前記多角形の頂点の数に応じて保持するクリップコード保持器と、該クリップコード保持器に保持された前記クリップコードをもとに、前記第１のクリップ領域および前記第２のクリップ領域に対する前記多角形の状態を示すクリップ状態コードを生成するクリップ状態コード生成器と、該クリップ状態コード生成器が生成した前記クリップ状態コードをもとに、前記多角形について描画の必要性の有無、および前記第１のクリップ領域内に存在する部分のみの描画の必要性の有無を識別する領域間クリップ状態コードを生成する領域間クリップ状態コード生成器と、前記クリップコード保持器と前記クリップ状態コード生成器とを前記多角形の形状に応じて制御するプリミティブコントローラと、前記クリップ状態コード生成器が生成したクリップ状態コードと、前記領域間クリップ状態コード生成器が生成した領域間クリップ状態コードを保持するクリップ状態コードレジスタとを備えるようにしたものである。
【００１０】
この発明に係る三次元クリップ判定処理装置は、第１のクリップ領域とは独立してハードウェア的に、第２のクリップ領域について所望の大きさに設定可能な構成を備えるようにしたものである。
【００１１】
この発明に係る三次元クリップ判定処理装置は、多角形の頂点の座標と第１のクリップ領域および第２のクリップ領域とにおけるＸ座標系について比較を行うＸ座標比較ユニットと、前記多角形の頂点の座標と前記第１のクリップ領域および第２のクリップ領域とにおけるＹ座標系について、前記Ｘ座標比較ユニットと並列的に動作して比較を行うＹ座標比較ユニットと、前記多角形の頂点の座標と前記第１のクリップ領域および第２のクリップ領域とにおけるＺ座標系について、前記Ｘ座標比較ユニットおよび前記Ｙ座標比較ユニットと並列的に動作して比較を行うＺ座標比較ユニットとをクリップ比較器が備えるようにしたものである。
【００１２】
この発明に係る三次元クリップ判定処理装置は、第１のクリップ領域または第２のクリップ領域に対し並列的に多角形の各頂点についてのクリップコードを生成する、前記第１のクリップ領域および前記第２のクリップ領域に対応したクリップ領域比較ユニットをクリップ比較器が備えるようにしたものである。
【００１３】
この発明に係る三次元クリップ判定処理装置は、第１のクリップ領域および第２のクリップ領域を構成するＸ座標系、Ｙ座標系およびＺ座標系の各平面に対応し、前記第１のクリップ領域または前記第２のクリップ領域について並列的に多角形の各頂点のクリップコードを生成する平面比較ユニットをクリップ領域比較ユニットが備えるようにしたものである。
【００１４】
この発明に係る三次元クリップ判定処理装置は、第１のクリップ領域および第２のクリップ領域を構成するＸ座標系、Ｙ座標系およびＺ座標系の各平面について、Ｘ座標系、Ｙ座標系およびＺ座標系ごとに、一方の平面を規定する座標から他方の平面を規定する座標を生成する平面生成ユニットをクリップ領域比較ユニットが備えるようにしたものである。
【００１５】
この発明に係る三次元クリップ判定処理装置は、第１のクリップ領域および第２のクリップ領域を構成するＸ座標系、Ｙ座標系およびＺ座標系の各平面について、Ｘ座標系、Ｙ座標系およびＺ座標系ごとに、一方の平面を規定する座標の正負の符号を反転させた座標を、他方の平面を規定する座標として生成する平面生成ユニットをクリップ領域比較ユニットが備えるようにしたものである。
【００１６】
この発明に係る三次元クリップ判定処理装置は、第１のクリップ領域および第２のクリップ領域を構成するＸ座標系、Ｙ座標系およびＺ座標系の各平面を規定する座標を格納する、前記各平面に対応した複数のレジスタをクリップ領域比較ユニットが備えるようにしたものである。
【００１７】
この発明に係る三次元クリップ判定処理装置は、クリップ比較器で生成したクリップコードを保持する第１のクリップコード保持レジスタと、該第１のクリップコード保持レジスタに保持された前記クリップコードが転送されて保持される第２のクリップコード保持レジスタと、該第２のクリップコード保持レジスタに保持された前記クリップコードが転送されて保持される第３のクリップコード保持レジスタとをクリップコード保持器が備え、前記第１のクリップコード保持レジスタに保持された前記クリップコードの前記第２のクリップコード保持レジスタへの転送、および前記第２のクリップコード保持レジスタに保持された前記クリップコードの前記第３のクリップコード保持レジスタへの転送についてプリミティブコントローラが多角形の形状に応じて制御する構成を備えるようにしたものである。
【００１８】
【発明の実施の形態】
以下、この発明の実施の一形態について説明する。
実施の形態１．
三次元グラフィックスにおけるクリップ領域とは、図２で示すような６面で構成された直方体である。図２では符号１３０１および符号１３０２で示された直方体の領域がそれぞれクリップ領域である。そして、多角形を構成する全ての頂点がすべてクリップ領域内に存在する場合は多角形の描画を行い、全ての頂点がクリップ領域外の多角形は描画を行わない。また、多角形を構成する頂点がクリップ領域内とクリップ領域外に存在する場合には、クリップ領域内に存在する部分のみ描画を行い、これを実クリップ処理と呼ぶ。
【００１９】
このようなクリップ領域に対する多角形の位置から描画を行うか否か、および実クリップを行う必要があるかどうかを判定するのが三次元クリップ判定処理である。
【００２０】
この三次元クリップ判定処理では、図３に示すようにクリップ領域を構成する領域を６平面で２７分割し、各部分領域に６ビットの符号を割り当てる。この６ビットの符号を「クリップコード」と呼び、図３（ｃ）に示すように０ビット目はＸ軸方向の最大値（ＸＭＡＸ）を持つ面、１ビット目はＸ軸方向の最小値（ＸＭＩＮ）を持つ面、２ビット目はＹ軸方向の最大値（ＹＭＡＸ）を持つ面、３ビット目はＹ軸方向の最小値（ＹＭＩＮ）を持つ面、４ビット目はＺ軸方向の最大値（ＺＭＡＸ）を持つ面、５ビット目はＺ軸方向の最小値（ＺＭＩＮ）を持つ面にそれぞれ対応しており、各座標がクリップ領域内部に存在すれば“０”、クリップ領域外部に存在すれば“１”を各ビットに与える。図３は、Ｘ軸とＹ軸とで構成される二次元平面上に前記クリップ領域を投影したものであり、各分割された領域に割り当てられたクリップコードを示す。
【００２１】
多角形がクリップ領域内部に存在するか否かは、多角形を構成する頂点のクリップコードを論理演算することで判定する。例えば、多角形を構成する頂点が全てクリップ領域内部に存在すればクリップコードの論理和は“０”となる。またクリップコードの論理積が“０”でない場合は、全ての頂点がクリップ領域を構成する特定の面に対して外側に存在するため、描画処理からは完全に排除することが可能である。
【００２２】
多角形を構成する全ての頂点のクリップコードを用いて、多角形が完全にクリップ領域内部である（Ｃｌｉｐ  Ｉｎ）か、完全にクリップ領域外部である（Ｃｌｉｐ  Ｏｕｔ）か、クリップ領域内とクリップ領域外にまたがって存在する（Ｃｌｉｐ）かの３つの状態の何れにあるかを判定することが可能である。この多角形の状態を示すコードを『クリップ状態コード』と呼ぶ。図４はこのクリップ状態コードを示す。
【００２３】
次に、２つのクリップ領域の具体的な使用例である二領域クリップについて説明する。この二領域クリップでは、図６に示すような２つのクリップ領域を用いて多角形のクリップ判定処理を行う。図６において、符号１３０２で示される内側のクリップ領域は実際に多角形の描画を行う描画領域（第1のクリップ領域）であり、符号１３０１で示される外側のクリップ領域は三次元グラフィックス描画装置が処理可能な処理可能領域（第２のクリップ領域）を示している。これらクリップ領域１３０１とクリップ領域１３０２は図２にも示した。クリップ領域内とクリップ領域外にまたがって存在する多角形において、クリップ領域内部に存在する部分のみを切り出す実クリップ処理は、三次元グラフィックスにおいて計算量の多い処理である。
【００２４】
ここで実クリップ処理とは、例えば図６における頂点１，頂点２，頂点３，頂点４の４つの頂点から構成される四辺形において、太線で示した描画領域１３０２内部の部分を切り出す処理を示す。
【００２５】
しかし、描画領域１３０２外の部分を画素単位で描画しないためのハードウェアを備えた画像表示装置を用いた場合、処理可能範囲内であれば実クリップ処理を行わずに画素単位の判定によるクリップ処理が可能である。こうした実クリップ処理を行わない画素単位のクリップ処理は高速な場合が多いため、多角形が処理可能領域１３０１内部に存在する場合には実クリップ処理を行わず、図６に示すように描画領域１３０２と処理可能領域１３０１にまたがって存在する多角形のみ実クリップ処理を行うのが二領域クリップである。
【００２６】
この二領域クリップでは、クリップ判定処理によって以下に示す３つの場合の何れに該当するかを判定しなければならない。これを図７を用いて説明する。
【００２７】
まず、第１の場合は、符号１４０１で示すように多角形が描画領域１３０２内に存在する場合、もしくは符号１４０２で示すように描画領域１３０２内外にまたがってはいるが全ての頂点が処理可能領域１３０１内である場合（ＷＣｌｉｐ
Ｉｎ）であり、これらは実クリップ処理を行うことなく描画可能である。
【００２８】
第２の場合は、符号１４０３で示すように多角形が描画領域１３０２外に存在する場合（ＷＣｌｉｐ  Ｏｕｔ）であり、これは描画を行う必要がない。
【００２９】
第３の場合は、符号１４０４で示すように多角形が描画領域１３０２内と処理可能領域１３０１外にまたがって存在する場合（ＷＣｌｉｐ）であり、これは実クリップ処理を行わなくてはならない。
【００３０】
多角形が二領域クリップにおいて３つの状態の何れにあるかを示すのが３ビットで構成される『領域間クリップ状態コード』であり、この実施の形態１の三次元クリップ判定処理装置ではクリップ状態コードの生成に加え、領域間クリップ状態コードの生成も行う。図５に領域間クリップ状態コードを示す。
【００３１】
次に、この実施の形態１の三次元クリップ判定処理装置の構成について説明する。図１は、この実施の形態１の三次元クリップ判定処理装置の構成を示すブロック図である。図において、符号１０１は頂点のＸ，Ｙ，Ｚ座標値についての入力を示し、符号１０２はクリップ領域１３０１またはクリップ領域１３０２を構成するクリップ平面の値についての入力を示す。
【００３２】
これらクリップ領域を構成するクリップ平面の値である入力１０２については、オフセット値を用いた計算処理などによらずハードウェア的に数値データとして与えることが出来る。
【００３３】
１０３は頂点の座標値が前記各クリップ領域内部に存在するか否かを座標値の比較によって判定するクリップ比較器であり、２つのクリップ領域１３０１，１３０２に対するクリップコードの生成を行う。１０４は、クリップ比較器１０３の出力結果であるクリップコードを複数回分保持するクリップコード保持器である。１０５は、クリップコード保持器１０４に保持されているクリップコードを用いて、図６に示した描画領域１３０２と処理可能領域１３０１の２つのクリップ領域に対応するクリップ状態コードを生成するクリップ状態コード生成器である。
【００３４】
１０６は、前記２つの描画領域１３０２と処理可能領域１３０１のクリップ状態コードから領域間クリップ状態コードを生成する領域間クリップ状態コード生成器である。１０７はクリップ状態コードと領域間クリップ状態コードを保持するクリップ状態コードレジスタである。１０８は、多角形の形状に応じてクリップコード保持器１０４とクリップ状態コード生成器１０５の制御を行うプリミティブコントローラである。
【００３５】
次に動作の概略について説明する。
クリップ判定を行う多角形を構成する各頂点の座標値は、頂点単位で入力１０１としてクリップ比較器１０３へと送られる。クリップ比較器１０３には前記２つの描画領域１３０２と処理可能領域１３０１であるクリップ領域について各軸(Ｘ軸，Ｙ軸，Ｚ軸)方向の最大値、最小値が入力１０２として与えられ、前記頂点の各座標値と前記各軸方向の最大値、最小値とを比較することでクリップコードの生成を行う。
【００３６】
クリップ比較器１０３により生成されたクリップコードは、クリップコード保持器１０４に保持される。クリップコード保持器１０４におけるクリップコードの保持方法は、多角形の形状に応じてプリミティブコントローラ１０８により制御される。例えば、図８に示すような連続三角形においては、Ｖ１，Ｖ２，Ｖ３，Ｖ４，Ｖ５，Ｖ６の順に頂点の処理が行われ、処理を行う三角形は（Ｖ１，Ｖ２，Ｖ３）、（Ｖ２，Ｖ３，Ｖ４）、（Ｖ３，Ｖ４，Ｖ５）、（Ｖ４，Ｖ５，Ｖ６）の４つとなる。そのためプリミティブコントローラ１０８は、処理対象となっている三角形を構成する各頂点のクリップコードを保持するために、最新の３頂点分のクリップコードを保持するように制御を行う。これは現在の頂点がＶ５の場合は、Ｖ３，Ｖ４，Ｖ５のクリップコードを保持することを意味している。
【００３７】
また多角形が図９に示すような扇形多角形である場合にも、頂点処理はＶ１，Ｖ２，Ｖ３，Ｖ４，Ｖ５，Ｖ６の順に行われる。しかし、処理を行う三角形は（Ｖ１，Ｖ２，Ｖ３）、（Ｖ１，Ｖ３，Ｖ４）、（Ｖ１，Ｖ４，Ｖ５）、（Ｖ１，Ｖ５，Ｖ６）の４つであり、図８に示す連続三角形とは異なる。この際プリミティブコントローラ１０８は、最初の頂点のクリップコードと最新の２頂点分のクリップコードを保持するように制御を行う。これは、現在、処理を行なっている頂点がＶ５の場合には、Ｖ１のクリップコードとＶ４，Ｖ５のクリップコードを保持することを示す。
【００３８】
図１に戻り、クリップ状態コード生成器１０５は、２つのクリップ領域、すなわち描画領域１３０２と処理可能領域１３０１に対してそれぞれのクリップ状態コードの生成を行う。クリップ状態コードの生成は、クリップコード保持器１０４内に保持されたクリップコードを論理演算することによって獲得され、その論理演算方法は多角形の形状に応じてプリミティブコントローラ１０８により制御が行われる。例えば、多角形の形状が独立三角形、連続三角形等の３頂点から構成される場合には３頂点のクリップコードを用いて論理演算を行い、独立線分、連続直線等の２頂点から構成される場合には２頂点分のクリップコードを用いて論理演算を行うようにプリミティブコントローラ１０８により制御される。また、点のように１頂点から構成される場合には、１つのクリップコードを用いてクリップ状態コードを生成するように制御される。
【００３９】
クリップ状態コード生成器１０５によって生成された前記２領域分のクリップ状態コードは、クリップ状態コードレジスタ１０７に保持されると共に、領域間クリップ状態コード生成器１０６へと送られる。
【００４０】
領域間クリップ状態コード生成器１０６は、前記２領域分のクリップ状態コードを入力として領域間クリップ状態コードを生成する。生成された領域間クリップ状態コードはクリップ状態コードレジスタ１０７に保持される。
【００４１】
次に具体的な動作例について説明する。
この場合、図６に示す描画領域１３０２と処理可能領域１３０１の２つをクリップ領域として用い、頂点１，頂点２，頂点３、頂点４の４頂点から構成される四辺形の二領域クリップ判定処理を行うものとする。ここでは、二領域クリップ判定処理を三角形単位で行い、四辺形に関しては頂点１，頂点２，頂点３から構成される三角形１と、頂点１，頂点３，頂点４から構成される三角形２の２つに三角形分割して処理を進める場合の例を示す。また説明が複雑になるのを避けるため、４つの頂点は前記２つのクリップ領域のそれぞれにおいてＺ座標値が領域内部に存在しているものとする。
【００４２】
クリップ判定処理は、図６に示す頂点１，頂点２，頂点３，頂点４の順で四辺形を構成する各頂点の座標値をクリップ比較器１０３へ入力することで進められる。まず、図１に示す入力１０１として頂点１の座標値（Ｘ１，Ｙ１，Ｚ１）、入力１０２として描画領域１３０２を構成する平面の座標値（ＸＭＡＸ１，ＸＭＩＮ１，ＹＭＡＸ１，ＹＭＩＮ１，ＺＭＡＸ１，ＺＭＩＮ１）と処理可能領域１３０１を構成する平面の座標値（ＸＭＡＸ２，ＸＭＩＮ２，ＹＭＡＸ２，ＹＭＩＮ２，ＺＭＡＸ２，ＺＭＩＮ２）を与える。頂点１が前記２つのクリップ領域の内部に存在することから、クリップ比較器１０３は描画領域１３０２に対するクリップコード１１“００００００”と処理可能領域に対するクリップコード１２“００００００”を生成する。
【００４３】
頂点１の前記クリップコードはクリップコード保持器１０４へ出力される。クリップコード保持器１０４は入力された前記クリップコードの保持を行う。
【００４４】
次に、頂点２についてクリップコードの生成を行う。頂点２も２つのクリップ領域に対してそれぞれ領域内部に存在しているため、描画領域１３０２に対するクリップコード２１は“００００００”に、処理可能領域１３０１に対するクリップコード２２は“００００００”となる。
【００４５】
頂点２の前記クリップコードはクリップコード保持器１０４へ出力される。クリップコード保持器１０４は入力された前記クリップコードの保持を行う。
【００４６】
次に、頂点３についてクリップコードの生成を行う。頂点３はＸ座標値＞ＸＭＡＸ１の関係にあり、描画領域１３０２に対して領域外である。これよりクリップ比較器１０３は、描画領域１３０２に対するクリップコード３１“０００００１”を生成する。また処理可能領域１３０１に対しては領域内部に存在するため、処理可能領域１３０１に対するクリップコード３２は“００００００”となる。
【００４７】
頂点３の前記クリップコードはクリップコード保持器１０４へ出力される。クリップコード保持器１０４は入力された前記クリップコードの保持を行う。この時点でクリップコード保持器１０４に保持されているのは三角形１を構成する３頂点分のクリップコードである。
【００４８】
図１０に、これら頂点１，頂点２、頂点３の前記クリップコード１１，１２，２１，２２，３１，３２と、クリップ状態コード生成器１０５で生成されたクリップ状態コード１，２、および領域間クリップ状態コード生成器１０６で生成された領域間クリップ状態コード１を示す。
【００４９】
プリミティブコントローラ１０８によって指定されたクリップコード保持器１０４内の３頂点分のクリップコード１１，１２、クリップコード２１，２２、クリップコード３１，３２を用いて、クリップ状態コード生成器１０５はクリップ状態コードの生成を行う。
【００５０】
まず、描画領域１３０２に対しては、クリップコード１１，クリップコード２１，クリップコード３１を論理演算することによりクリップ状態コード１の生成を行う。この生成されたクリップ状態コード１は図１０に示されている。
【００５１】
また処理可能領域１３０１に対するクリップ状態コード２は、クリップコード１２，クリップコード２２，クリップコード３２を論理演算することで生成される。このクリップ状態コード２は図１０に示されている。
【００５２】
クリップ状態コード生成器１０５により生成された２つのクリップ状態コード１およびクリップ状態コード２は、クリップ状態コードレジスタ１０７にロードされると同時に領域間クリップ状態コード生成器１０６へと送られる。
【００５３】
領域間クリップ状態コード生成器１０６では、２つのクリップ状態コード１，２を論理演算することにより領域間クリップ状態コード１を生成し、これをクリップ状態コードレジスタ１０７へとロードする。
【００５４】
この段階で、頂点１，頂点２，頂点３から構成される三角形１のクリップ判定処理は終了する。この場合、領域間クリップ状態コード１が“００１”すなわちＷＣｌｉｐ  Ｉｎを示していることから、この三角形１は実クリップ処理を行うことなく描画可能である。図１０には、三角形１の領域間クリップ状態コード１が示されている。
【００５５】
次に、頂点４の座標値がクリップ比較器１０３へ入力される。頂点４については描画領域１３０２のクリップ領域に対してはＹ座標値＞ＹＭＡＸ１，処理可能領域１３０１のクリップ領域に対してはＹ座標値＞ＹＭＡＸ２の関係があるため、図６における描画領域１３０２に対するクリップコード４１は図１１に示すように“００１０００”、図６における処理可能領域１３０１に対するクリップコード４２は図１１に示すように“００１０００”となる。
【００５６】
生成されたクリップコード４１，４２は、クリップコード保持器１０４へ出力される。図６における三角形２は頂点１，頂点３，頂点４から構成されるため、頂点２のクリップコードを破棄し頂点４のクリップコードを保持するように、プリミティブコントローラ１０８はクリップコード保持器１０４を制御する。
【００５７】
次にクリップ状態コード生成器１０５は、頂点１，頂点３，頂点４のクリップコードを用いてクリップ状態コードの生成を行う。描画領域１３０２に対してはクリップコード１１，クリップコード３１，クリップコード４１を用いて論理演算を行いクリップ状態コード３“１００”を生成し、処理可能領域１３０１に対してはクリップコード１２，クリップコード３２，クリップコード４２の論理演算からクリップ状態コード４“１００”を生成する。
【００５８】
生成されたクリップ状態コード３，クリップ状態コード４はクリップ状態コードレジスタ１０７へロードされると同時に、領域間クリップ状態コード生成器１０６へと出力される。
【００５９】
領域間クリップ状態コード生成器１０６では、クリップ状態コード３，４を用いて領域間クリップ状態コード２“１００”を生成する。領域間クリップ状態コード２がＷＣｌｉｐの状態を示すことから、頂点１，頂点３，頂点４から構成される三角形２は実クリップを行わなければならない。
図１１には、頂点１，頂点３，頂点４からなる三角形２のクリップコード１１，３１，４１と、クリップコード１２，３２，４２と、生成されたクリップ状態コード３，４と、領域間クリップ状態コード２とが示されている。
【００６０】
以上のように、この実施の形態１によれば、Ｘ軸，Ｙ軸，Ｚ軸による三次元座標系における２つのクリップ領域１３０１，１３０２を用いた、複数の多角形の形状に対応できるクリップ判定処理の可能な三次元クリップ判定処理装置が得られる効果がある。
【００６１】
また、描画領域１３０２や処理可能領域１３０１などのクリップ領域を構成するクリップ平面の値である入力１０２については、オフセット値を用いた計算処理などによらずハードウェア的に数値データとして与えることが出来るため、前記クリップ領域を構成するクリップ平面の値を求めるための面倒な計算処理などを行う必要がなく、三次元クリップ判定処理を高速に行うことの可能な三次元クリップ判定処理装置が得られる効果がある。
【００６２】
実施の形態２．
図１２は、この実施の形態２のクリップ比較器１１３の構成を示すブロック図であり、他の構成については図１に示した構成が適用できる。
このクリップ比較器１１３は、前記実施の形態１におけるクリップ比較器１０３に対し、Ｘ軸、Ｙ軸、Ｚ軸の３つの座標系に関し、頂点の座標値と各クリップ領域を規定する座標値との比較処理を並列処理するようにしたものであり、頂点のＸ座標値を入力２０１として、前記頂点のＹ座標値を入力２０２として、前記頂点のＺ座標値を入力２０３として、頂点の各座標値を同時に入力する。
【００６３】
そして、前記各クリップ領域を構成する平面のＸ軸方向の最大値ＸＭＡＸおよび最小値ＸＭＩＮは入力２０４として入力され、前記入力２０１と比較され、Ｘ軸に関してクリップコードの生成が行われ、Ｙ軸方向の最大値ＹＭＡＸおよび最小値ＹＭＩＮは入力２０５として入力され、前記入力２０２と比較され、Ｙ軸に関してクリップコードの生成が行われ、Ｚ軸方向の最大値ＺＭＡＸおよび最小値ＺＭＩＮは入力２０６として入力され、前記入力２０３と比較され、Ｚ軸に関してのクリップコードの生成が行われる。
【００６４】
図中、２０７は前記各クリップ領域についてＸ座標系のクリップコード生成を行うＸ座標比較ユニット、２０８はＹ座標系のクリップコード生成を行うＹ座標比較ユニット、２０９はＺ座標系のクリップコード生成を行うＺ座標比較ユニットを表している。
【００６５】
この実施の形態２によれば、クリップ比較器１１３の３つのＸ座標比較ユニット２０７，Ｙ座標比較ユニット２０８，Ｚ座標比較ユニット２０９が前記各クリップ領域のＸ座標系、Ｙ座標系、Ｚ座標系に関して同時にクリップコードの生成を行うため、クリップコードの生成を高速化できる三次元クリップ判定処理装置が得られる効果がある。
【００６６】
実施の形態３．
図１３は、この実施の形態３の三次元クリップ判定処理装置におけるクリップ比較器１１４の構成を示すブロック図であり、前記実施の形態１におけるクリップ比較器１０３に対しこのクリップ比較器１１４は、２つのクリップ領域に関して並列に処理するように構成したものであり、高速なクリップコード生成を行うことが可能である。また、他の構成については図１に示した構成が適用できる。
【００６７】
図において、３０５および３０６はクリップ領域比較ユニットであり、クリップ領域比較ユニット３０５，３０６がそれぞれ一つのクリップ領域に対応してクリップコード生成を行い、並列に処理を進める形態である。
【００６８】
入力３０１および入力３０２により頂点の座標値を入力し、入力３０３によりクリップ領域比較ユニット３０５に対し２つのクリップ領域のうちの一方のクリップ領域、例えば描画領域１３０２を構成する平面の座標の最大値、最小値を入力し、また入力３０４によりクリップ領域比較ユニット３０６に対し他方のクリップ領域、例えば処理可能領域１３０１を構成する平面の座標の最大値、最小値の入力を行う。
【００６９】
以上のように、この実施の形態３によれば、描画領域１３０２と処理可能領域１３０１の２つのクリップ領域に関して並列に処理してクリップコードを生成するため、クリップコードの生成をより高速に行える三次元クリップ判定処理装置が得られる効果がある。
【００７０】
実施の形態４．
図１４は、この実施の形態４の三次元クリップ判定処理装置におけるクリップ比較器のクリップ領域比較ユニット３１１の構成を示すブロック図であり、他の構成については図１に示した構成が適用できる。このクリップ領域比較ユニット３１１は、前記実施の形態３におけるクリップ領域比較ユニット３０５またはクリップ領域比較ユニット３０６に対応し、Ｘ軸，Ｙ軸，Ｚ軸について各クリップ領域を構成する平面に対応したクリップコードの生成を並行して行うことを可能にする平面比較ユニットを設けたものである。
【００７１】
図において、４０１は頂点のＸ座標値の入力、４０２は前記頂点のＹ座標値の入力、４０３は前記頂点のＺ座標値の入力を示す。また、４０４は描画領域１３０２または処理可能領域１３０１のクリップ領域の平面のＸ座標の最大値の入力、４０５は前記描画領域１３０２または処理可能領域１３０１のクリップ領域の平面のＸ座標の最小値の入力、４０６は前記描画領域１３０２または処理可能領域１３０１のクリップ領域の平面のＹ座標の最大値の入力、４０７は前記描画領域１３０２または処理可能領域１３０１のクリップ領域の平面のＹ座標の最小値の入力、４０９は前記描画領域１３０２または処理可能領域１３０１のクリップ領域の平面のＺ座標の最大値の入力、４１０は前記描画領域１３０２または処理可能領域１３０１のクリップ領域の平面のＺ座標の最小値の入力を示す。
【００７２】
４１１は頂点のＸ座標値である入力４０１と描画領域１３０２または処理可能領域１３０１のクリップ領域の平面のＸ座標の最大値の入力４０４とを比較するＸＭＡＸ平面比較ユニット、４１２は前記頂点のＸ座標値である入力４０１と描画領域１３０２または処理可能領域１３０１のクリップ領域の平面のＸ座標の最小値の入力４０５とを比較するＸＭＩＮ平面比較ユニット、４１３は前記頂点のＹ座標値である入力４０２と描画領域１３０２または処理可能領域１３０１のクリップ領域の平面のＹ座標の最大値の入力４０６とを比較するＹＭＡＸ平面比較ユニット、４１４は前記頂点のＹ座標値である入力４０２と描画領域１３０２または処理可能領域１３０１のクリップ領域の平面のＹ座標の最小値の入力４０７とを比較するＹＭＩＮ平面比較ユニット、４１５は前記頂点のＺ座標値である入力４０３と描画領域１３０２または処理可能領域１３０１のクリップ領域の平面のＺ座標の最大値の入力４０９とを比較するＺＭＡＸ平面比較ユニット、４１６は前記頂点のＺ座標値である入力４０３と描画領域１３０２または処理可能領域１３０１のクリップ領域の平面のＺ座標の最小値の入力４１０とを比較するＺＭＩＮ平面比較ユニットである。
【００７３】
次に動作について説明する。
入力４０１より頂点のＸ座標値を、入力４０２より前記頂点のＹ座標値を、入力４０３より前記頂点のＺ座標値を同時に入力する。
【００７４】
また、描画領域１３０２または処理可能領域１３０１のクリップ領域の平面について、Ｘ座標の最大値を入力４０４により、Ｘ座標の最小値を入力４０５により入力し、また、前記クリップ領域の平面について、Ｙ座標の最大値を入力４０６により、Ｙ座標の最小値を入力４０７により入力し、また、前記クリップ領域の平面について、Ｚ座標の最大値を入力４０９により、Ｚ座標の最小値を入力４１０により同時に入力する。
【００７５】
ＸＭＡＸ平面比較ユニット４１１では前記入力４０１と前記入力４０４との比較を行い、ＸＭＩＸ平面比較ユニット４１２では前記入力４０１と前記入力４０５との比較を行い、描画領域１３０２または処理可能領域１３０１のクリップ領域を構成する平面に対応したＸ座標系のクリップコードの生成を行う。また、ＹＭＡＸ平面比較ユニット４１３では前記入力４０２と前記入力４０６との比較を行い、ＹＭＩＸ平面比較ユニット４１４では前記入力４０２と前記入力４０７との比較を行い、描画領域１３０２または処理可能領域１３０１のクリップ領域を構成する平面に対応したＹ座標系のクリップコードの生成を行う。また、ＺＭＡＸ平面比較ユニット４１５では前記入力４０３と前記入力４０９との比較を行い、ＺＭＩＸ平面比較ユニット４１６では前記入力４０３と前記入力４１０との比較を行い、描画領域１３０２または処理可能領域１３０１のクリップ領域を構成する平面に対応したＺ座標系のクリップコードの生成を行う。
【００７６】
以上のように、この実施の形態４によれば、描画領域１３０２または処理可能領域１３０１のクリップ領域を構成する６つの平面に対して同時にクリップコードの生成を進めることが出来るため、クリップコードの生成を、さらにより高速化できる三次元クリップ判定処理装置が得られる効果がある。
【００７７】
実施の形態５．
図１５は、この実施の形態５の三次元クリップ判定処理装置のクリップ比較器におけるクリップ領域比較ユニットの構成を示すブロック図であり、他の構成については図１に示した構成が適用できる。
【００７８】
このクリップ領域比較ユニット３２１は、前記実施の形態４におけるクリップ領域比較ユニット３１１にＸＭＩＮ平面生成ユニット、ＹＭＩＮ平面生成ユニット、ＺＭＩＮ平面生成ユニットを設けたものである。
【００７９】
図１５において図１４と同一の部分については同一の符号を付し説明を省略する。図において、４５１は、描画領域１３０２または処理可能領域１３０１のクリップ領域の平面のＸ座標の最大値である入力４０４に対し符号を反転させた値を、前記クリップ領域の平面のＸ座標の最小値として出力するＸＭＩＮ平面生成ユニット、４５２は、描画領域１３０２または処理可能領域１３０１のクリップ領域の平面のＹ座標の最大値である入力４０６に対し符号を反転させた値を、前記クリップ領域の平面のＹ座標の最小値として出力するＹＭＩＮ平面生成ユニット、４５３は、描画領域１３０２または処理可能領域１３０１のクリップ領域の平面のＺ座標の最大値である入力４０９に対し符号を反転させた値を、前記クリップ領域の平面のＺ座標の最小値として出力するＺＭＩＮ平面生成ユニットである。
【００８０】
入力４０４として描画領域１３０２または処理可能領域１３０１のクリップ領域の平面のＸ座標の最大値であるＸＭＡＸが入力されると、前記クリップ領域の平面のＸ座標の最小値ＸＭＩＮはＸＭＩＮ平面生成ユニット４５１によって−ＸＭＡＸとして生成される。同様に、入力４０６として描画領域１３０２または処理可能領域１３０１のクリップ領域の平面のＹ座標の最大値であるＹＭＡＸが入力されると、前記クリップ領域の平面のＹ座標の最小値ＹＭＩＮはＹＭＩＮ平面生成ユニット４５２によって−ＹＭＡＸとして生成される。同様に、入力４０９として描画領域１３０２または処理可能領域１３０１のクリップ領域の平面のＺ座標の最大値であるＺＭＡＸが入力されると、ＺＭＩＮ平面生成ユニット４５３によって前記クリップ領域の平面のＺ座標の最小値ＺＭＩＮは−ＺＭＡＸとして生成される。
【００８１】
各クリップ平面の値が生成された後は、前記実施の形態４と同様に平面比較ユニット４１１〜４１６によってクリップコードの生成が行われる。
【００８２】
従って、前記実施の形態４のように入力４０５，入力４０７，入力４１０として入力するクリップ領域の平面の座標の最小値についてのデータが不要になり、クリップコード生成のために入力するデータ数を減らすことが可能になる。
【００８３】
なお、以上の説明では、ＸＭＩＮ平面生成ユニット４５１、ＹＭＩＮ平面生成ユニット４５２、ＺＭＩＮ平面生成ユニット４５３により、描画領域１３０２または処理可能領域１３０１のクリップ領域の平面の座標の最大値の入力があると、その最大値の符号を反転させた値を同じ座標系の最小値として出力する構成として説明したが、描画領域１３０２または処理可能領域１３０１のクリップ領域の平面の座標の最小値の入力があると、その最小値の符号を反転させた値を同じ座標系の最大値として生成し出力する構成とし、前記実施の形態４の入力４０４，入力４０６，入力４０９として入力するクリップ領域の平面の座標の最大値についてのデータを不要にするようにしてもよい。
【００８４】
以上のように、この実施の形態５によれば、クリップ領域の平面の座標を規定するため入力するデータ数を減らすことが可能になり、クリップコードの生成を高速化できる三次元クリップ判定処理装置が得られる効果がある。
【００８５】
実施の形態６．
図１６は、この実施の形態６の三次元クリップ判定処理装置におけるクリップ比較器のクリップ領域比較ユニットの構成を示すブロック図であり、他の構成については図１に示した構成が適用できる。
【００８６】
この実施の形態６の三次元クリップ判定処理装置では、前記実施の形態４に示したクリップ領域比較ユニット３１１に、クリップ領域を構成する平面についての座標値を格納するためのレジスタを設けるようにしたものである。
【００８７】
図１６において図１４と同一の部分については同一の符号を付し説明を省略する。図において、４６１は描画領域１３０２または処理可能領域１３０１であるクリップ領域を構成する平面のＸ座標における最大値ＸＭＡＸを格納するＸＭＡＸレジスタ、４６２は前記クリップ領域を構成する平面のＸ座標における最小値ＸＭＩＮを格納するＸＭＩＮレジスタ、４６３は前記クリップ領域を構成する平面のＹ座標における最大値ＹＭＡＸを格納するＹＭＡＸレジスタ、４６４は前記クリップ領域を構成する平面のＹ座標における最小値ＹＭＩＮを格納するＹＭＩＮレジスタ、４６５は前記クリップ領域を構成する平面のＺ座標における最大値ＺＭＡＸを格納するＺＭＡＸレジスタ、４６６は前記クリップ領域を構成する平面のＺ座標における最小値ＺＭＩＮを格納するＺＭＩＮレジスタである。また、符号６０４は、描画領域１３０２または処理可能領域１３０１のクリップ領域を構成する平面についてのＸ座標，Ｙ座標，Ｚ座標における最大値および最小値の入力を示す。
【００８８】
この実施の形態６のクリップ領域比較ユニット３３１では、入力６０４をもとに前記クリップ領域を構成する平面のＸ座標における最大値ＸＭＡＸをＸＭＡＸレジスタ４６１に格納しておき、Ｘ座標における最小値ＸＭＩＮをＸＭＩＮレジスタ４６２に格納しておく。また、Ｙ座標における最大値ＹＭＡＸをＹＭＡＸレジスタ４６３に格納しておき、Ｙ座標における最小値ＹＭＩＮをＹＭＩＮレジスタ４６４に格納しておく。また、Ｚ座標における最大値ＺＭＡＸをＺＭＡＸレジスタ４６５に格納しておき、Ｚ座標における最小値ＺＭＩＮをＺＭＩＮレジスタ４６６に格納しておく。
【００８９】
そして、頂点のＸ座標値を入力４０１として、Ｙ座標値を入力４０２として、Ｚ座標値を入力４０３として入力したとき、ＸＭＡＸ平面比較ユニット４１１により前記入力４０１とＸＭＡＸレジスタ４６１に格納してある値とを比較し、Ｘ軸方向の最大値（ＸＭＡＸ）を持つ面に対応したクリップコードを生成し、さらにＸＭＩＮ平面比較ユニット４１２により前記入力４０１とＸＭＩＮレジスタ４６２に格納してある値とを比較し、Ｘ軸方向の最小値（ＸＭＩＮ）を持つ面に対応したクリップコードを生成する。
【００９０】
また、ＹＭＡＸ平面比較ユニット４１３により前記入力４０２とＹＭＡＸレジスタ４６３に格納してある値とを比較し、Ｙ軸方向の最大値（ＹＭＡＸ）を持つ面に対応したクリップコードを生成し、さらにＹＭＩＮ平面比較ユニット４１４により前記入力４０２とＹＭＩＮレジスタ４６４に格納してある値とを比較し、Ｙ軸方向の最小値（ＹＭＩＮ）を持つ面に対応したクリップコードを生成する。
【００９１】
また、ＺＭＡＸ平面比較ユニット４１５により前記入力４０３とＺＭＡＸレジスタ４６５に格納してある値とを比較し、Ｚ軸方向の最大値（ＺＭＡＸ）を持つ面に対応したクリップコードを生成し、さらにＺＭＩＮ平面比較ユニット４１６により前記入力４０３とＺＭＩＮレジスタ４６６に格納してある値とを比較し、Ｚ軸方向の最小値（ＺＭＩＮ）を持つ面に対応したクリップコードを生成する。
【００９２】
このように符号４６１〜符号４６６で示した各レジスタに保持された値と、入力された頂点の座標値との比較を、符号４１１〜符号４１６で示した各平面比較ユニットによって行い、前記各クリップ領域についてクリップコードの生成を行う。
【００９３】
以上のように、この実施の形態６によれば、前記入力４０１，入力４０２，入力４０３が与えられると同時にクリップコードの生成が開始されるため、前記各クリップ領域についてクリップコードの生成を高速化できる三次元クリップ判定処理装置が得られる効果がある。
【００９４】
実施の形態７．
図１７は、この実施の形態７の三次元クリップ判定処理装置におけるクリップコード保持器の構成を示すブロック図であり、他の構成については前記実施の形態１から前記実施の形態６で説明した構成が適用できる。図において、３５１はクリップコード保持器、７０１はクリップコードの入力を示し、７０２，７０３，７０４はクリップコード保持レジスタである。７０５，７０６は前記実施の形態１で示したプリミティブコントローラ１０８からの制御信号線を示している。
【００９５】
このクリップ保持器３５１では、クリップ比較器から入力７０１によりクリップコードが入力されると、そのクリップコードはクリップコード保持レジスタ(第１のクリップコード保持レジスタ)７０４へとロードが行われる。一方、制御信号線７０５から与えられたプリミティブ制御信号がアクティブになることによって、クリップコード保持レジスタ７０４に保持されたクリップコードをクリップコード保持レジスタ（第２のクリップコード保持レジスタ）７０３へロードする機能を有している。また、制御信号線７０６から与えられたプリミティブ制御信号がアクティブになることによって、クリップコード保持レジスタ７０３に保持されたクリップコードをクリップコード保持レジスタ(第３のクリップコード保持レジスタ)７０２へロードする機能を有している。
【００９６】
次に動作について説明する。
このクリップコード保持器３５１では、各クリップコード保持レジスタ７０２，７０３，７０４に格納されているクリップコードの他のクリップコード保持レジスタへの転送がプリミティブコントローラ１０８から出力されるプリミティブ制御信号により制御可能であるため、例えば図９に示すような扇形多角形等の複雑な頂点制御を必要とする多角形のクリップ判定処理の場合、最初に頂点Ｖ１のクリップコードが入力７０１として与えられると、この頂点Ｖ１のクリップコードをクリップコード保持レジスタ７０４へロードする。その後、頂点Ｖ２のクリップコードが入力７０１として与えられると、前記クリップコード保持レジスタ７０４へロードした頂点Ｖ１のクリップコードをクリップコード保持レジスタ７０３へ転送しロードするとともに前記頂点Ｖ２のクリップコードをクリップコード保持レジスタ７０４へロードする。
【００９７】
続いて、頂点Ｖ３のクリップコードが入力７０１として与えられると、前記クリップコード保持レジスタ７０３へロードした頂点Ｖ１のクリップコードをクリップコード保持レジスタ７０２へ転送するとともに前記クリップコード保持レジスタ７０４へロードした頂点Ｖ２のクリップコードをクリップコード保持レジスタ７０３へ転送しロードし、さらに前記入力７０１として与えられた頂点Ｖ３のクリップコードをクリップコード保持レジスタ７０４へロードする。
【００９８】
この状態では、クリップコード保持レジスタ７０２には頂点Ｖ１のクリップコード、クリップコード保持レジスタ７０３には頂点Ｖ２のクリップコード、クリップコード保持レジスタ７０４には頂点Ｖ３のクリップコードがロードされており、この結果、図９に示す頂点Ｖ１，Ｖ２，Ｖ３による三角形についての三次元クリップ判定処理が行われる。
【００９９】
次に、プリミティブコントローラ１０８は、プリミティブ制御信号によりクリップコード保持レジスタ７０２にロードされている頂点Ｖ１のクリップコードを固定する。そして、この状態で、入力７０１として頂点Ｖ４のクリップコードが与えられると、クリップコード保持レジスタ７０３にロードされている頂点Ｖ２のクリップコードを捨て、クリップコード保持レジスタ７０４にロードされている頂点Ｖ３のクリップコードをクリップコード保持レジスタ７０３へ転送しロードするとともに、前記入力７０１として与えられた頂点Ｖ４のクリップコードをクリップコード保持レジスタ７０４へロードする。
【０１００】
この状態では、クリップコード保持レジスタ７０２には頂点Ｖ１のクリップコード、クリップコード保持レジスタ７０３には頂点Ｖ３のクリップコード、クリップコード保持レジスタ７０４には頂点Ｖ４のクリップコードがロードされており、この結果、図９に示す頂点Ｖ１，Ｖ３，Ｖ４による三角形についての三次元クリップ判定処理が行われる。
【０１０１】
次に、この状態で、入力７０１として頂点Ｖ５のクリップコードが与えられると、クリップコード保持レジスタ７０３にロードされている頂点Ｖ３のクリップコードを捨て、クリップコード保持レジスタ７０４にロードされている頂点Ｖ４のクリップコードをクリップコード保持レジスタ７０３へ転送しロードするとともに、前記入力７０１として与えられた頂点Ｖ５のクリップコードをクリップコード保持レジスタ７０４へロードする。
【０１０２】
この状態では、クリップコード保持レジスタ７０２には頂点Ｖ１のクリップコード、クリップコード保持レジスタ７０３には頂点Ｖ４のクリップコード、クリップコード保持レジスタ７０４には頂点Ｖ５のクリップコードがロードされており、この結果、図９に示す頂点Ｖ１，Ｖ４，Ｖ５による三角形についての三次元クリップ判定処理が行われる。
【０１０３】
次に、この状態で、入力７０１として頂点Ｖ６のクリップコードが与えられると、クリップコード保持レジスタ７０３にロードされている頂点Ｖ４のクリップコードを捨て、クリップコード保持レジスタ７０４にロードされている頂点Ｖ５のクリップコードをクリップコード保持レジスタ７０３へ転送しロードするとともに、前記入力７０１として与えられた頂点Ｖ６のクリップコードをクリップコード保持レジスタ７０４へロードする。
【０１０４】
この状態では、クリップコード保持レジスタ７０２には頂点Ｖ１のクリップコード、クリップコード保持レジスタ７０３には頂点Ｖ５のクリップコード、クリップコード保持レジスタ７０４には頂点Ｖ６のクリップコードがロードされており、この結果、図９に示す頂点Ｖ１，Ｖ５，Ｖ６による三角形についての三次元クリップ判定処理が行われる。
【０１０５】
以上のように、この実施の形態７によれば、保持されるクリップコードをプリミティブコントローラ１０８によって制御することが可能であるため、図９に示すような扇形多角形等の共通の頂点を有する多角形などについて、複雑な頂点制御を必要とするクリップ判定処理を高速に、かつ効率よく行える三次元クリップ判定処理装置が得られる効果がある。
【０１０６】
【発明の効果】
以上のように、この発明によれば、三次元グラフィックスでの多角形の頂点の座標を第１のクリップ領域および第２のクリップ領域と比較し、クリップコードを生成するクリップ比較器と、該クリップ比較器が生成したクリップコードを前記多角形の頂点の数に応じて保持するクリップコード保持器と、該クリップコード保持器に保持された前記クリップコードをもとに、前記第１のクリップ領域および前記第２のクリップ領域に対する前記多角形の状態を示すクリップ状態コードを生成するクリップ状態コード生成器と、該クリップ状態コード生成器が生成した前記クリップ状態コードをもとに、前記多角形について描画の必要性の有無、および前記第１のクリップ領域内に存在する部分のみの描画の必要性の有無を識別する領域間クリップ状態コードを生成する領域間クリップ状態コード生成器と、前記クリップコード保持器と前記クリップ状態コード生成器とを前記多角形の形状に応じて制御するプリミティブコントローラと、前記クリップ状態コード生成器が生成したクリップ状態コードと、前記領域間クリップ状態コード生成器が生成した領域間クリップ状態コードを保持するクリップ状態コードレジスタとを備えるように構成したので、三次元グラフィックスでの２つのクリップ領域を用いた、複数の多角形の形状に対応した三次元クリップ判定処理を高速に行える効果がある。
【０１０７】
この発明によれば、第１のクリップ領域とは独立してハードウェア的に、第２のクリップ領域について所望の大きさに設定可能な構成を備えるようにしたので、前記第２のクリップ領域を設定するための計算手段による演算処理が不要になり、三次元グラフィックスでの２つのクリップ領域を用いた、複数の多角形の形状に対応した三次元クリップ判定処理を高速に行える効果がある。
【０１０８】
この発明によれば、多角形の頂点の座標と第１のクリップ領域および第２のクリップ領域とにおけるＸ座標系について比較を行うＸ座標比較ユニットと、前記多角形の頂点の座標と前記第１のクリップ領域および第２のクリップ領域とにおけるＹ座標系について、前記Ｘ座標比較ユニットと並列的に動作して比較を行うＹ座標比較ユニットと、前記多角形の頂点の座標と前記第１のクリップ領域および第２のクリップ領域とにおけるＺ座標系について、前記Ｘ座標比較ユニットおよび前記Ｙ座標比較ユニットと並列的に動作して比較を行うＺ座標比較ユニットとをクリップ比較器が備えるように構成したので、前記多角形の頂点の座標と前記第１のクリップ領域および前記第２のクリップ領域とにおけるＸ座標系、Ｙ座標系、Ｚ座標系についての比較処理を並行して同時的に行うことが可能になり、三次元グラフィックスでの２つのクリップ領域を用いた、複数の多角形の形状に対応した三次元クリップ判定処理を高速に行える効果がある。
【０１０９】
この発明によれば、第１のクリップ領域または第２のクリップ領域に対し並列的に多角形の各頂点についてのクリップコードを生成する、前記第１のクリップ領域および前記第２のクリップ領域に対応したクリップ領域比較ユニットをクリップ比較器が備えるように構成したので、前記多角形の各頂点について前記第１のクリップ領域および前記第２のクリップ領域に対応したクリップ領域比較処理を並行して同時的に行うことが出来、三次元グラフィックスでの２つのクリップ領域を用いた、複数の多角形の形状に対応した三次元クリップ判定処理を高速に行える効果がある。
【０１１０】
この発明によれば、第１のクリップ領域および第２のクリップ領域を構成するＸ座標系、Ｙ座標系およびＺ座標系の各平面に対応し、前記第１のクリップ領域または前記第２のクリップ領域について並列的に多角形の各頂点のクリップコードを生成する平面比較ユニットをクリップ領域比較ユニットが備えるように構成したので、前記多角形の各頂点について、前記第１のクリップ領域および前記第２のクリップ領域のＸ座標系、Ｙ座標系、Ｚ座標系の各平面に対応するクリップコードの生成を、Ｘ座標系、Ｙ座標系およびＺ座標系ごとに並行して行うことが可能であるため、三次元グラフィックスでの２つのクリップ領域を用いた、複数の多角形の形状に対応した三次元クリップ判定処理を高速に行える効果がある。
【０１１１】
この発明によれば、第１のクリップ領域および第２のクリップ領域を構成するＸ座標系、Ｙ座標系およびＺ座標系の各平面について、Ｘ座標系、Ｙ座標系およびＺ座標系ごとに、一方の平面を規定する座標から他方の平面を規定する座標を生成する平面生成ユニットをクリップ領域比較ユニットが備えるように構成したので、前記クリップ領域の平面の座標を規定するため入力するデータ数を減らすことが可能になり、クリップコードの生成を高速化でき、三次元グラフィックスでの２つのクリップ領域を用いた、複数の多角形の形状に対応した三次元クリップ判定処理を高速に行える効果がある。
【０１１２】
この発明によれば、第１のクリップ領域および第２のクリップ領域を構成するＸ座標系、Ｙ座標系およびＺ座標系の各平面について、Ｘ座標系、Ｙ座標系およびＺ座標系ごとに、一方の平面を規定する座標の正負の符号を反転させた座標を、他方の平面を規定する座標として生成する平面生成ユニットをクリップ領域比較ユニットが備えるように構成したので、前記他方のクリップ領域の平面の座標を規定するため入力する座標頂点を、前記一方のクリップ領域の平面の座標を規定する座標から即座に得られるため、前記クリップ領域の平面の座標を規定するため入力するデータ数を減らすことが可能になり、クリップコードの生成を高速化でき、三次元グラフィックスでの２つのクリップ領域を用いた、複数の多角形の形状に対応した三次元クリップ判定処理を高速に行える効果がある。
【０１１３】
この発明によれば、第１のクリップ領域および第２のクリップ領域を構成するＸ座標系、Ｙ座標系およびＺ座標系の各平面を規定する座標を格納する、前記各平面に対応した複数のレジスタをクリップ領域比較ユニットが備えるように構成したので、前記レジスタへあらかじめ前記第１のクリップ領域および前記第２のクリップ領域を構成するＸ座標系、Ｙ座標系およびＺ座標系の各平面を規定する座標を格納しておくことで、Ｘ座標系、Ｙ座標系およびＺ座標系の多角形の頂点についての座標頂点が与えられると同時にクリップコードの生成が開始されるため、クリップコードの生成を高速化でき、三次元グラフィックスでの２つのクリップ領域を用いた、複数の多角形の形状に対応した三次元クリップ判定処理を高速に行える効果がある。
【０１１４】
この発明によれば、クリップ比較器で生成したクリップコードを保持する第１のクリップコード保持レジスタと、該第１のクリップコード保持レジスタに保持された前記クリップコードが転送されて保持される第２のクリップコード保持レジスタと、該第２のクリップコード保持レジスタに保持された前記クリップコードが転送されて保持される第３のクリップコード保持レジスタとをクリップコード保持器が備え、前記第１のクリップコード保持レジスタに保持された前記クリップコードの前記第２のクリップコード保持レジスタへの転送、および前記第２のクリップコード保持レジスタに保持された前記クリップコードの前記第３のクリップコード保持レジスタへの転送についてプリミティブコントローラが多角形の形状に応じて制御する構成を備えるようにしたので、例えば扇形多角形等の共通した頂点を有する多角形などのように複雑な頂点制御を必要とする多角形のクリップ判定処理を高速に、かつ効率よく行える効果がある。
【図面の簡単な説明】
【図１】  この発明の実施の形態１による三次元クリップ判定処理装置の構成を示すブロック図である。
【図２】  この発明の三次元クリップ判定処理装置におけるクリップ領域を示す説明図である。
【図３】  この発明の三次元クリップ判定処理装置においてＸ軸とＹ軸とで構成される二次元平面上にクリップ領域を投影した場合の、各分割された領域に割り当てられたクリップコードを示す説明図である。
【図４】  この発明の三次元クリップ判定処理装置におけるクリップ状態コードの一例を示す説明図である。
【図５】  この発明の三次元クリップ判定処理装置における領域間クリップ状態コードの一例を示す説明図である。
【図６】  この発明の三次元クリップ判定処理装置における二領域クリップ判定処理を示す説明図である。
【図７】  この発明の三次元クリップ判定処理装置において実クリップ処理を行う必要がある場合を示す説明図である。
【図８】  この発明の三次元クリップ判定処理装置において
頂点処理を行う多角形の一例を示す説明図である。
【図９】  この発明の三次元クリップ判定処理装置において
頂点処理を行う多角形の一例を示す説明図である。
【図１０】  この発明の三次元クリップ判定処理装置における図６に示す三角形の各頂点のクリップコード、クリップ状態コード、領域間クリップ状態コードを示す説明図である。
【図１１】  この発明の三次元クリップ判定処理装置における図６に示す三角形の各頂点のクリップコード、クリップ状態コード、領域間クリップ状態コードを示す説明図である。
【図１２】  この発明の実施の形態２の三次元クリップ判定処理装置におけるクリップ比較器の構成を示すブロック図である。
【図１３】  この発明の実施の形態３の三次元クリップ判定処理装置におけるクリップ比較器の構成を示すブロック図である。
【図１４】  この発明の実施の形態４の三次元クリップ判定処理装置におけるクリップ比較器のクリップ領域比較ユニットの構成を示すブロック図である。
【図１５】  この発明の実施の形態５の三次元クリップ判定処理装置におけるクリップ比較器のクリップ領域比較ユニットの構成を示すブロック図である。
【図１６】  この発明の実施の形態６の三次元クリップ判定処理装置におけるクリップ比較器のクリップ領域比較ユニットの構成を示すブロック図である。
【図１７】  この発明の実施の形態７の三次元クリップ判定処理装置におけるクリップコード保持器の構成を示すブロック図である。
【図１８】  従来のクリップ判定処理装置の構成を示すブロック図である。
【符号の説明】
１０３，１１３，１１４  クリップ比較器、１０４  クリップコード保持器、１０５  クリップ状態コード生成器、１０６  領域間クリップ状態コード生成器、１０７  クリップ状態コードレジスタ、１０８  プリミティブコントローラ、２０７  Ｘ座標比較ユニット、２０８  Ｙ座標比較ユニット、２０９  Ｚ座標比較ユニット、３０５，３０６，３１１，３２１，３３１  クリップ領域比較ユニット、３５１  クリップコード保持器、４１１  ＸＭＡＸ平面比較ユニット、４１２  ＸＭＩＮ平面比較ユニット、４１３  ＹＭＡＸ平面比較ユニット、４１４ＹＭＩＮ平面比較ユニット、４１５  ＺＭＡＸ平面比較ユニット、４１６  ＺＭＩＮ平面比較ユニット、４５１  ＸＭＩＮ平面生成ユニット、４５２  ＹＭＩＮ平面生成ユニット、４５３  ＺＭＩＮ平面生成ユニット、４６１  ＸＭＡＸレジスタ、４６２  ＸＭＩＮレジスタ、４６３  ＹＭＡＸレジスタ、４６４  ＹＭＩＮレジスタ、４６５  ＺＭＡＸレジスタ、４６６  ＺＭＩＮレジスタ、７０２クリップコード保持レジスタ(第３のクリップコード保持レジスタ)、７０３  クリップコード保持レジスタ(第２のクリップコード保持レジスタ)、７０４  クリップコード保持レジスタ(第１のクリップコード保持レジスタ)。
【図１】
0003759365.tif 000002
【図２】
0003759365.tif 000003
【図３】
0003759365.tif 000004
【図４】
0003759365.tif 000005
【図５】
0003759365.tif 000006
【図６】
0003759365.tif 000007
【図７】
0003759365.tif 000008
【図８】
0003759365.tif 000009
【図９】
0003759365.tif 000010
【図１０】
0003759365.tif 000011
【図１１】
0003759365.tif 000012
【図１２】
0003759365.tif 000013
【図１３】
0003759365.tif 000014
【図１４】
0003759365.tif 000015
【図１５】
0003759365.tif 000016
【図１６】
0003759365.tif 000017
【図１７】
0003759365.tif 000018
【図１８】
0003759365.tif 000019