(57)【要約】【課題】  大規模な機構を実装することなく、不要なパイプライン処理を省略することができるようにする。【解決手段】  オブジェクトを構成しているピクセルの深度Ｚ（Ｓｒｃ）とＺ値保持部１１に保持されている基準面Ｚ−ＷＡＬＬの深度Ｚrefを比較するＺ比較器１２と、そのオブジェクトを構成しているピクセルが基準面Ｚ−ＷＡＬＬより手前側に位置しているか否かを示す前後フラグＤｓｔを出力するフラグバッファ１３とを設け、Ｚ比較器１２の比較結果を示す前後フラグＳｒｃとフラグバッファ１３から出力された前後フラグＤｓｔに基づいてテクスチャ処理部３及びピクセル処理部４におけるパイプライン処理の必要性を判定する。【選択図】        図１
2006338542.tif 000002
【特許請求の範囲】
【請求項１】
視点から３次元間における基準面までの奥行を示す深度を保持する深度保持手段と、前段の処理部でパイプライン処理されたオブジェクトを構成しているピクセルの深度と上記深度保持手段に保持されている深度を比較する深度比較手段と、フレームを構成しているピクセル毎に、当該ピクセルが基準面より視点側に位置しているか否かを示すフラグを保持しており、上記オブジェクトを構成しているピクセルに対応するフラグを出力するフラグ保持手段と、上記深度比較手段の比較結果と上記フラグ保持手段より出力されたフラグから後段の処理部におけるパイプライン処理の必要性を判定する必要性判定手段とを備えたグラフィック装置。
【請求項２】
必要性判定手段は、後段の処理部におけるパイプライン処理が必要であると判定する場合、深度比較手段の比較結果とフラグ保持手段より出力されたフラグから後段の処理部でオブジェクトの正確な重なり判定を実施する必要があるか否かを判定することを特徴とする請求項１記載のグラフィック装置。
【請求項３】
深度保持手段は、アドレス毎に異なる基準面の深度を保持していることを特徴とする請求項１または請求項２記載のグラフィック装置。
【請求項４】
深度比較手段は、深度保持手段により複数の基準面の深度が保持されている場合、オブジェクトを構成しているピクセルの深度を複数の基準面の深度とそれぞれ比較することを特徴とする請求項１または請求項２記載のグラフィック装置。
【請求項５】
深度保持手段は、３次元空間において、基準面が視点から最遠方の位置に存在するものとして、その基準面の深度を保持していることを特徴とする請求項１または請求項２記載のグラフィック装置。
【請求項６】
深度保持手段は、３次元空間において、基準面が視点から最近傍の位置に存在するものとして、その基準面の深度を保持していることを特徴とする請求項１または請求項２記載のグラフィック装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、オブジェクトの大まかな重なり判定を実施して、後段の処理部におけるパイプライン処理の必要性を判定する機能を有するグラフィック装置に関するものである。
【背景技術】
【０００２】
３次元グラフィクスでは、複数のオブジェクトが重なり合う場合、視点から遠い側に位置するオブジェクトは、近い側に位置するオブジェクトにより覆い隠されるため、描画が行われない。
複数のオブジェクトの重なり判定は、視点からオブジェクトまでの奥行を示すＺ値（深度）を用いて、オブジェクトを構成するピクセルの重なり判定を行うＺバッファ法（Ｚテスト)が多く使われている。このＺバッファ法では、全てのピクセルのＺ値を保持するＺバッファが必要である。
【０００３】
従来のグラフィック装置では、通常、全てのピクセルのＺ値を保持するＺバッファを用いて、各ピクセルの重なり判定を行うが、この重なり判定は、３次元グラフィクスのパイプライン処理のうち、下流側のパイプライン処理で行われることが多い。
このため、表示の必要のないピクセルに対しても、全てのパイプライン処理が行われることになる。本来、手前のオブジェクトに覆い隠される部分は、表示の必要のないものであり、パイプライン処理を省略することができる。
【０００４】
そこで、出来る限り上流側のパイプライン処理で、手前のオブジェクトに覆い隠される部分を判別する大まかな重なり判定を実施するグラフィック装置が開発されている（例えば、特許文献１を参照）。
このグラフィック装置では、予め、フレームを構成しているピクセル毎に深度範囲（最大／最小値）を記憶し、オブジェクトを構成しているピクセルの深度を深度範囲と比較して、そのピクセルの深度が深度範囲内にあるか否かを判定することにより、オブジェクトの大まかな重なり判定を実施する。
【０００５】
【特許文献１】特開２００４−５３７１２９号公報（段落番号［０００８］から［００１２］、図３）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来のグラフィック装置は以上のように構成されているので、オブジェクトを構成しているピクセルの深度を深度範囲と比較すれば、オブジェクトの大まかな重なり判定を実施することができる。しかし、フレームを構成しているピクセル毎に深度範囲（最大／最小値）を記憶する必要があるため、比較的大規模な機構が必要になり、実装負荷が大きくなるなどの課題があった。
【０００７】
この発明は上記のような課題を解決するためになされたもので、大規模な機構を実装することなく、オブジェクトの大まかな重なり判定を実施して、不要なパイプライン処理を省略することができるグラフィック装置を得ることを目的とする。
【課題を解決するための手段】
【０００８】
この発明に係るグラフィック装置は、オブジェクトを構成しているピクセルの深度と基準面の深度を比較する深度比較手段と、そのオブジェクトを構成しているピクセルが基準面より視点側に位置しているか否かを示すフラグを出力するフラグ保持手段とを設け、その深度比較手段の比較結果とフラグ保持手段より出力されたフラグから後段の処理部におけるパイプライン処理の必要性を判定するようにしたものである。
【発明の効果】
【０００９】
この発明によれば、オブジェクトを構成しているピクセルの深度と基準面の深度を比較する深度比較手段と、そのオブジェクトを構成しているピクセルが基準面より視点側に位置しているか否かを示すフラグを出力するフラグ保持手段とを設け、その深度比較手段の比較結果とフラグ保持手段より出力されたフラグから後段の処理部におけるパイプライン処理の必要性を判定するように構成したので、大規模な機構を実装することなく、オブジェクトの大まかな重なり判定を実施して、不要なパイプライン処理を省略することができる効果がある。
【発明を実施するための最良の形態】
【００１０】
実施の形態１．
図１はこの発明の実施の形態１によるグラフィック装置を示す構成図であり、図１の例では、ラスタライザ１、早期Ｚテスト部２、テクスチャ処理部３、ピクセル処理部４及びフレームバッファ５がパイプライン処理を実施する構成をなしている。
図において、ラスタライザ１は前段の処理部であり、例えば３次元グラフィクス処理における座標変換や陰影処理などが実施されたオブジェクトのデータが入力されると、そのオブジェクトの塗りつぶし処理などのパイプライン処理を実施して、そのオブジェクトを構成するピクセルのカラー値、視点からピクセルまでの奥行を示す深度Ｚ（Ｓｒｃ）及びピクセルの位置を示すアドレスＡｄｄｒｅｓｓを早期Ｚテスト部２に出力する処理を実施する。
【００１１】
早期Ｚテスト部２はラスタライザ１からオブジェクトを構成するピクセルの深度Ｚ（Ｓｒｃ）とアドレスＡｄｄｒｅｓｓを受けると、そのピクセルの深度Ｚ（Ｓｒｃ）とアドレスＡｄｄｒｅｓｓから、オブジェクトの大まかな重なり判定を実施して、後段の処理部におけるパイプライン処理の必要性を判定する処理を実施する。
テクスチャ処理部３は後段の処理部であり、早期Ｚテスト部２によりパイプライン処理が必要であると判定された場合、例えば、模様をオブジェクトに貼り付けるなどのパイプライン処理を実施する。
【００１２】
ピクセル処理部４は後段の処理部であり、早期Ｚテスト部２によりパイプライン処理が必要であると判定され、かつ、オブジェクトの正確な重なり判定を実施する必要があると判定された場合、Ｚテスト部４ａを起動して、オブジェクトの正確な重なり判定を実施する処理や、カラーブレンディングなどの処理を実施する。
ピクセル処理部４のＺテスト部４ａは例えばＺバッファ法を実施する。即ち、フレームを構成する全ピクセルの深度Ｚをフレームバッファ５のＺバッファ５ｂに書き込む処理などを実施して、ピクセルの正確な重なり判定を実施する。
フレームバッファ５はピクセル単位のカラーバッファ５ａとＺバッファ５ｂから構成されている。
【００１３】
早期Ｚテスト部２のＺ値保持部１１は視点から３次元空間における基準面Ｚ−ＷＡＬＬまでの奥行を示す深度Ｚrefを保持しているメモリである。なお、Ｚ値保持部１１は深度保持手段を構成している。
早期Ｚテスト部２のＺ比較器１２はラスタライザ１から出力されたオブジェクトを構成しているピクセルの深度Ｚ（Ｓｒｃ）とＺ値保持部１１に保持されている基準面Ｚ−ＷＡＬＬの深度Ｚrefを比較し、その比較結果を示す前後フラグＳｒｃをフラグバッファ１３及びＺ−ＷＡＬＬ判定回路１４に出力する処理を実施する。なお、Ｚ比較器１２は深度比較手段を構成している。
【００１４】
早期Ｚテスト部２のフラグバッファ１３はフレームを構成しているピクセル毎に、当該ピクセルが基準面Ｚ−ＷＡＬＬより視点側（手前側）に位置しているか否かを示す前後フラグＤｓｔを保持しており、ラスタライザ１から出力されたアドレスＡｄｄｒｅｓｓに位置しているピクセルに対応する前後フラグＤｓｔをＺ−ＷＡＬＬ判定回路１４に出力する一方、Ｚ比較器１２から出力された前後フラグＳｒｃに応じて前後フラグＤｓｔを更新する処理を実施する。なお、フラグバッファ１３はフラグ保持手段を構成している。
早期Ｚテスト部２のＺ−ＷＡＬＬ判定回路１４はＺ比較器１２から出力された前後フラグＳｒｃとフラグバッファ１３から出力された前後フラグＤｓｔに基づいて後段のパイプライン処理の必要性を判定するとともに、ピクセル処理部４のＺテスト部４ａによる正確な重なり判定の必要性を判定する処理を実施する。なお、Ｚ−ＷＡＬＬ判定回路１４は必要性判定手段を構成している。
【００１５】
次に動作について説明する。
早期Ｚテスト部２は、視点から近い側に位置しているオブジェクトに覆い隠されている遠い側に位置しているオブジェクトに対する後段のパイプライン処理を省略するため、ラスタライザ１からオブジェクトを構成するピクセルの深度Ｚ（Ｓｒｃ）とアドレスＡｄｄｒｅｓｓを受けると、オブジェクトの大まかな重なり判定を実施して、後段のパイプライン処理の必要性を判定する処理を実施する。
具体的には、以下の通りである。
【００１６】
図２は３次元空間上に☆型のオブジェクトと、□型のオブジェクトと、△型のオブジェクトとを配置する例を示す斜視図である。
図３は☆型のオブジェクトと、□型のオブジェクトと、△型のオブジェクトとが表示されている例を示す画面図である。
早期Ｚテスト部２のＺ値保持部１１には、３次元空間における基準面Ｚ−ＷＡＬＬの深度Ｚrefが保持されるが、基準面Ｚ−ＷＡＬＬの深度Ｚrefは、図２に示すように、３次元空間における透明な一枚の壁の深度と考えることができる。
【００１７】
また、早期Ｚテスト部２のフラグバッファ１３には、フレームを構成しているピクセル毎に、当該ピクセルが基準面Ｚ−ＷＡＬＬより視点側（手前側）に位置しているか否かを示す前後フラグＤｓｔを保持される。例えば、当該ピクセルが基準面Ｚ−ＷＡＬＬより手前側に位置している場合は“１”、当該ピクセルが基準面Ｚ−ＷＡＬＬより奥側に位置している場合は“０”の前後フラグＤｓｔが保持される。
なお、何れのオブジェクトもフレームに描画されていない初期段階では、図４に示すように、フラグバッファ１３におけるピクセル単位の前後フラグＤｓｔは全て“０”で初期化される。
【００１８】
以下、オブジェクトの大まかな重なり判定を説明するが、説明の便宜上、□型のオブジェクト→☆型のオブジェクト→△型のオブジェクトの順に描画されるものとする。
３次元グラフィクスにおいて描画を始める前には、フレームバッファ５のＺバッファ５ｂが最遠方を表すＺ値で初期化される。
この場合、フレームを構成している全てのピクセルは、一枚の透明な壁である基準面Ｚ−ＷＡＬＬより奥側に存在することになる。
【００１９】
早期Ｚテスト部２のＺ比較器１２は、ラスタライザ１から□型のオブジェクトを構成しているピクセルの深度Ｚ（Ｓｒｃ）を受けると、そのピクセルの深度Ｚ（Ｓｒｃ）とＺ値保持部１１に保持されている基準面Ｚ−ＷＡＬＬの深度Ｚrefを比較し、その比較結果を示す前後フラグＳｒｃを出力する。
□型のオブジェクトを構成しているピクセルは、基準面Ｚ−ＷＡＬＬより手前側にあるので、そのピクセルに対応する前後フラグＳｒｃは手前側に存在していることを示す“１”に設定される。
【００２０】
早期Ｚテスト部２のフラグバッファ１３は、ラスタライザ１から□型のオブジェクトを構成しているピクセルのアドレスＡｄｄｒｅｓｓを受けると、そのアドレスＡｄｄｒｅｓｓに位置しているピクセルに対応する前後フラグＤｓｔを出力するが、上述したように、フラグバッファ１３における前後フラグＤｓｔは全て“０”で初期化されているので、□型のオブジェクトを構成しているピクセルに対応するピクセルが基準面Ｚ−ＷＡＬＬより奥側に位置していることを示す“０”の前後フラグＤｓｔを出力する。
【００２１】
早期Ｚテスト部２のＺ−ＷＡＬＬ判定回路１４は、Ｚ比較器１２から“１”の前後フラグＳｒｃを受けると、□型のオブジェクトを構成しているピクセルが、基準面Ｚ−ＷＡＬＬより手前側にあることが分かる。
また、Ｚ−ＷＡＬＬ判定回路１４は、フラグバッファ１３から“０”の前後フラグＤｓｔを受けると、□型のオブジェクトを構成しているピクセルに対応するフレームのピクセルが、現時点では基準面Ｚ−ＷＡＬＬより奥側に位置していることが分かる。
よって、この場合、□型のオブジェクトを構成しているピクセルは、他のオブジェクトの存在を考慮することなく、３次元空間上に描画することができるので、Ｚ−ＷＡＬＬ判定回路１４は、図５に示すように、ｃａｓｅ２に分類する。
即ち、Ｚ−ＷＡＬＬ判定回路１４は、後段のパイプライン処理は必要であるが、Ｚテスト部４ａによる正確な重なり判定は必要ないと判定する。また、フラグバッファ１３を更新する必要があると判定する。
【００２２】
早期Ｚテスト部２のフラグバッファ１３は、Ｚ−ＷＡＬＬ判定回路１４により更新する必要があると判定されると、後段のパイプライン処理で、基準面Ｚ−ＷＡＬＬより手前側に位置している□型のオブジェクトを構成しているピクセルが書き込まれるので、図６に示すように、□型のオブジェクトを構成しているピクセルに対応する前後フラグＤｓｔを“１”に更新する。
【００２３】
テクスチャ処理部３は、上記のようにして、早期Ｚテスト部２により後段のパイプライン処理が必要であると判定されると、例えば、模様をオブジェクトに貼り付けるなどのパイプライン処理を実施する。
ピクセル処理部４は、早期Ｚテスト部２により後段のパイプライン処理が必要であると判定されると、□型のオブジェクトを構成しているピクセルのカラー値をフレームバッファ５のカラーバッファ５ａに書き込むことにより、□型のオブジェクトを構成しているピクセルを３次元空間上に描画する処理を実施する。
ただし、ピクセル処理部４は、早期Ｚテスト部２により正確な重なり判定は必要ないと判定されているので、Ｚテスト部４ａを起動せず、オブジェクトの正確な重なり判定を行う処理を省略する。
【００２４】
次に、早期Ｚテスト部２のＺ比較器１２は、ラスタライザ１から☆型のオブジェクトを構成しているピクセルの深度Ｚ（Ｓｒｃ）を受けると、そのピクセルの深度Ｚ（Ｓｒｃ）とＺ値保持部１１に保持されている基準面Ｚ−ＷＡＬＬの深度Ｚrefを比較し、その比較結果を示す前後フラグＳｒｃを出力する。
☆型のオブジェクトを構成しているピクセルのうち、□型のオブジェクトを構成しているピクセルと重なりがない部分のピクセルの処理は、次のように行われる。
☆型のオブジェクトを構成しているピクセルは、基準面Ｚ−ＷＡＬＬより奥側にあるので、そのピクセルに対応する前後フラグＳｒｃは奥側に存在していることを示す“０”に設定される。
【００２５】
早期Ｚテスト部２のフラグバッファ１３は、ラスタライザ１から☆型のオブジェクトを構成しているピクセルのアドレスＡｄｄｒｅｓｓを受けると、そのアドレスＡｄｄｒｅｓｓに位置しているピクセルに対応する前後フラグＤｓｔを出力するが、図７に示すように、□型のオブジェクトを構成しているピクセルと重なりがない部分のピクセルに対応する前後フラグＤｓｔは“０”で初期化されたままであるため、その重なりがない部分のピクセルに対応するフレームのピクセルが基準面Ｚ−ＷＡＬＬより奥側に位置していることを示す“０”の前後フラグＤｓｔを出力する。
【００２６】
早期Ｚテスト部２のＺ−ＷＡＬＬ判定回路１４は、Ｚ比較器１２から“０”の前後フラグＳｒｃを受けると、□型のオブジェクトを構成しているピクセルと重なりがない部分の☆型のオブジェクトのピクセルが、基準面Ｚ−ＷＡＬＬより奥側にあることが分かる。
また、Ｚ−ＷＡＬＬ判定回路１４は、フラグバッファ１３から“０”の前後フラグＤｓｔを受けると、□型のオブジェクトを構成しているピクセルと重なりがない部分の☆型のオブジェクトのピクセルに対応するフレームのピクセルが、現時点では基準面Ｚ−ＷＡＬＬより奥側に位置していることが分かる。
よって、この場合、□型のオブジェクトを構成しているピクセルと重なりがない部分の☆型のオブジェクトのピクセルは、□型のオブジェクトの存在を考慮しながら、３次元空間上に描画する必要があるので、Ｚ−ＷＡＬＬ判定回路１４は、図５に示すように、ｃａｓｅ４に分類する。
即ち、Ｚ−ＷＡＬＬ判定回路１４は、後段のパイプライン処理が必要であるとともに、Ｚテスト部４ａによる正確な重なり判定が必要であると判定する。ただし、フラグバッファ１３を更新する必要はないと判定する。
【００２７】
テクスチャ処理部３は、上記のようにして、早期Ｚテスト部２により後段のパイプライン処理が必要であると判定されると、例えば、模様をオブジェクトに貼り付けるなどのパイプライン処理を実施する。
ピクセル処理部４は、早期Ｚテスト部２により後段のパイプライン処理が必要であると判定され、かつ、正確な重なり判定が必要であると判定されると、Ｚテスト部４ａを起動して、□型のオブジェクトと☆型のオブジェクトの正確な重なり判定を実施する。
そして、ピクセル処理部４は、その判定結果が、重なりがないことを示している部分のピクセル（□型のオブジェクトを構成しているピクセルと重なりがない部分の☆型のオブジェクトのピクセル）のカラー値をフレームバッファ５のカラーバッファ５ａに書き込むことにより、□型のオブジェクトを構成しているピクセルと重なりがない部分の☆型のオブジェクトのピクセルを３次元空間上に描画する処理を実施する。
【００２８】
一方、☆型のオブジェクトを構成しているピクセルのうち、□型のオブジェクトを構成しているピクセルと重なりがある部分のピクセルの処理は、次のように行われる。
☆型のオブジェクトを構成しているピクセルは、基準面Ｚ−ＷＡＬＬより奥側にあるので、そのピクセルに対応する前後フラグＳｒｃは奥側に存在していることを示す“０”に設定される。
【００２９】
早期Ｚテスト部２のフラグバッファ１３は、ラスタライザ１から☆型のオブジェクトを構成しているピクセルのアドレスＡｄｄｒｅｓｓを受けると、そのアドレスＡｄｄｒｅｓｓに位置しているピクセルに対応する前後フラグＤｓｔを出力するが、□型のオブジェクトを構成しているピクセルと重なりがある部分のピクセルに対応する前後フラグＤｓｔは、図７に示すように、□型のオブジェクトを描画する際に“１”に更新されているため、その重なりがある部分のピクセルに対応するフレームのピクセルは基準面Ｚ−ＷＡＬＬより手前側に位置していることを示す“１”の前後フラグＤｓｔを出力する。
【００３０】
早期Ｚテスト部２のＺ−ＷＡＬＬ判定回路１４は、Ｚ比較器１２から“０”の前後フラグＳｒｃを受けると、□型のオブジェクトを構成しているピクセルと重なりがある部分の☆型のオブジェクトのピクセルが、基準面Ｚ−ＷＡＬＬより奥側にあることが分かる。
また、Ｚ−ＷＡＬＬ判定回路１４は、フラグバッファ１３から“１”の前後フラグＤｓｔを受けると、□型のオブジェクトを構成しているピクセルと重なりがある部分の☆型のオブジェクトのピクセルに対応するフレームのピクセルが、基準面Ｚ−ＷＡＬＬより手前側に位置していることが分かる。
よって、この場合、□型のオブジェクトを構成しているピクセルと重なりがある部分の☆型のオブジェクトのピクセルは、３次元空間上に描画する必要がないので、Ｚ−ＷＡＬＬ判定回路１４は、図５に示すように、ｃａｓｅ３に分類する。
即ち、Ｚ−ＷＡＬＬ判定回路１４は、後段のパイプライン処理や、Ｚテスト部４ａによる正確な重なり判定が不要であると判定する。また、フラグバッファ１３を更新する必要がないと判定する。
【００３１】
テクスチャ処理部３は、上記のようにして、早期Ｚテスト部２により後段のパイプライン処理が不要であると判定されると、模様をオブジェクトに貼り付けるなどのパイプライン処理の実施を省略する。
ピクセル処理部４は、早期Ｚテスト部２により後段のパイプライン処理が不要であると判定され、かつ、正確な重なり判定が不要であると判定されると、Ｚテスト部４ａを起動せず、□型のオブジェクトと☆型のオブジェクトの正確な重なり判定を行う処理を省略する。また、□型のオブジェクトを構成しているピクセルと重なりがある部分の☆型のオブジェクトのピクセルを描画する処理を省略する。
【００３２】
次に、早期Ｚテスト部２のＺ比較器１２は、ラスタライザ１から△型のオブジェクトを構成しているピクセルの深度Ｚ（Ｓｒｃ）を受けると、そのピクセルの深度Ｚ（Ｓｒｃ）とＺ値保持部１１に保持されている基準面Ｚ−ＷＡＬＬの深度Ｚrefを比較し、その比較結果を示す前後フラグＳｒｃを出力する。
△型のオブジェクトを構成しているピクセルのうち、□型のオブジェクトを構成しているピクセルと重なりがない部分のピクセルの処理は、次のように行われる。
△型のオブジェクトを構成しているピクセルは、基準面Ｚ−ＷＡＬＬより手前側にあるので、そのピクセルに対応する前後フラグＳｒｃは手前側に存在していることを示す“１”に設定される。
【００３３】
早期Ｚテスト部２のフラグバッファ１３は、ラスタライザ１から△型のオブジェクトを構成しているピクセルのアドレスＡｄｄｒｅｓｓを受けると、そのアドレスＡｄｄｒｅｓｓに位置しているピクセルに対応する前後フラグＤｓｔを出力するが、□型のオブジェクトを構成しているピクセルと重なりがない部分のピクセルに対応する前後フラグＤｓｔは“０”で初期化されたままであるため、その重なりがない部分のピクセルに対応するフレームのピクセルが基準面Ｚ−ＷＡＬＬより奥側に位置していることを示す“０”の前後フラグＤｓｔを出力する。
【００３４】
早期Ｚテスト部２のＺ−ＷＡＬＬ判定回路１４は、Ｚ比較器１２から“１”の前後フラグＳｒｃを受けると、□型のオブジェクトを構成しているピクセルと重なりがない部分の△型のオブジェクトのピクセルが、基準面Ｚ−ＷＡＬＬより手前側にあることが分かる。
また、Ｚ−ＷＡＬＬ判定回路１４は、フラグバッファ１３から“０”の前後フラグＤｓｔを受けると、□型のオブジェクトを構成しているピクセルと重なりがない部分の△型のオブジェクトのピクセルが、現時点では基準面Ｚ−ＷＡＬＬより奥側に位置していることが分かる。
よって、この場合、□型のオブジェクトを構成しているピクセルと重なりがない部分の△型のオブジェクトのピクセルは、他のオブジェクトの存在を考慮することなく、３次元空間上に描画することができるので、Ｚ−ＷＡＬＬ判定回路１４は、図５に示すように、ｃａｓｅ２に分類する。
即ち、Ｚ−ＷＡＬＬ判定回路１４は、後段のパイプライン処理は必要であるが、Ｚテスト部４ａによる正確な重なり判定は必要ないと判定する。また、フラグバッファ１３を更新する必要があると判定する。
【００３５】
早期Ｚテスト部２のフラグバッファ１３は、Ｚ−ＷＡＬＬ判定回路１４により更新する必要があると判定されると、後段のパイプライン処理で、基準面Ｚ−ＷＡＬＬより手前側に位置している△型のオブジェクトのピクセルが書き込まれるので、図８に示すように、□型のオブジェクトを構成しているピクセルと重なりがある部分の△型のオブジェクトのピクセルに対応する前後フラグＤｓｔを“１”に更新する。
【００３６】
テクスチャ処理部３は、上記のようにして、早期Ｚテスト部２により後段のパイプライン処理が必要であると判定されると、例えば、模様をオブジェクトに貼り付けるなどのパイプライン処理を実施する。
ピクセル処理部４は、早期Ｚテスト部２により後段のパイプライン処理が必要であると判定されると、□型のオブジェクトを構成しているピクセルと重なりがない部分の△型のオブジェクトのピクセルのカラー値をフレームバッファ５のカラーバッファ５ａに書き込むことにより、重なりがない部分の△型のオブジェクトのピクセルを３次元空間上に描画する処理を実施する。
ただし、ピクセル処理部４は、早期Ｚテスト部２により正確な重なり判定は必要ないと判定されているので、Ｚテスト部４ａを起動せず、オブジェクトの正確な重なり判定を行う処理を省略する。
【００３７】
一方、△型のオブジェクトを構成しているピクセルのうち、□型のオブジェクトを構成しているピクセルと重なりがある部分のピクセルの処理は、次のように行われる。
△型のオブジェクトを構成しているピクセルは、基準面Ｚ−ＷＡＬＬより手前側にあるので、そのピクセルに対応する前後フラグＳｒｃは手前側に存在していることを示す“１”に設定される。
【００３８】
早期Ｚテスト部２のフラグバッファ１３は、ラスタライザ１から△型のオブジェクトを構成しているピクセルのアドレスＡｄｄｒｅｓｓを受けると、そのアドレスＡｄｄｒｅｓｓに位置しているピクセルに対応する前後フラグＤｓｔを出力するが、□型のオブジェクトを構成しているピクセルと重なりがある部分のピクセルに対応する前後フラグＤｓｔは、図８に示すように、□型のオブジェクトを描画する際に“１”に更新されているため、その重なりがある部分のピクセルに対応するフレームのピクセルは基準面Ｚ−ＷＡＬＬより手前側に位置していることを示す“１”の前後フラグＤｓｔを出力する。
【００３９】
早期Ｚテスト部２のＺ−ＷＡＬＬ判定回路１４は、Ｚ比較器１２から“１”の前後フラグＳｒｃを受けると、□型のオブジェクトを構成しているピクセルと重なりがある部分の△型のオブジェクトのピクセルが、基準面Ｚ−ＷＡＬＬより手前側にあることが分かる。
また、Ｚ−ＷＡＬＬ判定回路１４は、フラグバッファ１３から“１”の前後フラグＤｓｔを受けると、□型のオブジェクトを構成しているピクセルと重なりがある部分の△型のオブジェクトのピクセルに対応するフレームのピクセルが、基準面Ｚ−ＷＡＬＬより手前側に位置していることが分かる。
よって、この場合、□型のオブジェクトを構成しているピクセルと重なりがある部分の△型のオブジェクトのピクセルは、□型のオブジェクトの存在を考慮しながら、３次元空間上に描画する必要があるので、Ｚ−ＷＡＬＬ判定回路１４は、図５に示すように、ｃａｓｅ１に分類する。
即ち、Ｚ−ＷＡＬＬ判定回路１４は、後段のパイプライン処理が必要であるとともに、Ｚテスト部４ａによる正確な重なり判定が必要であると判定する。ただし、フラグバッファ１３を更新する必要はないと判定する。
【００４０】
テクスチャ処理部３は、上記のようにして、早期Ｚテスト部２により後段のパイプライン処理が必要であると判定されると、例えば、模様をオブジェクトに貼り付けるなどのパイプライン処理を実施する。
ピクセル処理部４は、早期Ｚテスト部２により後段のパイプライン処理が必要であると判定され、かつ、正確な重なり判定が必要であると判定されると、Ｚテスト部４ａを起動して、□型のオブジェクトと☆型のオブジェクトの正確な重なり判定を実施する。
そして、ピクセル処理部４は、その判定結果が、重なりがあることを示している部分のピクセル（□型のオブジェクトを構成しているピクセルと重なりがある部分の△型のオブジェクトのピクセル）のカラー値をフレームバッファ５のカラーバッファ５ａに書き込むことにより、□型のオブジェクトを構成しているピクセルと重なりがある部分の△型のオブジェクトのピクセルを３次元空間上に描画する処理を実施する。
【００４１】
以上で明らかなように、この実施の形態１によれば、ラスタライザ１から出力されたオブジェクトを構成しているピクセルの深度Ｚ（Ｓｒｃ）とＺ値保持部１１に保持されている基準面Ｚ−ＷＡＬＬの深度Ｚrefを比較し、その比較結果を示す前後フラグＳｒｃを出力するＺ比較器１２と、そのオブジェクトを構成しているピクセルが基準面Ｚ−ＷＡＬＬより手前側に位置しているか否かを示す前後フラグＤｓｔを出力するフラグバッファ１３とを設け、Ｚ比較器１２から出力された前後フラグＳｒｃとフラグバッファ１３から出力された前後フラグＤｓｔに基づいて後段のパイプライン処理の必要性を判定するとともに、ピクセル処理部４のＺテスト部４ａによる正確な重なり判定の必要性を判定するように構成したので、大規模な機構を実装することなく、オブジェクトの大まかな重なり判定を実施して、不要なパイプライン処理を省略することができる効果を奏する。
即ち、フラグバッファ１３が１ピクセル当り、１ビットの前後フラグＤｓｔを保存するだけで、不要なピクセルのパイプライン処理を省略することができる効果を奏する。
【００４２】
実施の形態２．
上記実施の形態１では、Ｚ値保持部１１が３次元空間における透明な一枚の壁の深度と考えることができる基準面Ｚ−ＷＡＬＬの深度Ｚrefを保持しているものについて示したが（図２を参照）、Ｚ値保持部１１がアドレス毎に異なる基準面Ｚ−ＷＡＬＬの深度Ｚrefを保持するようにしてもよい。
即ち、Ｚ値保持部１１が図９に示すように、３次元空間における透明な二枚の壁の深度と考えることができる基準面Ｚ−ＷＡＬＬの深度Ｚrefを保持するようにしてもよい。
【００４３】
この場合、透明の壁が凸凹になっていることに相当し、Ｚ比較器１２は、ラスタライザ１から出力されたオブジェクトを構成しているピクセルのアドレスＡｄｄｒｅｓｓに応じて、いずれかの基準面Ｚ−ＷＡＬＬを選択し、その基準面Ｚ−ＷＡＬＬの深度Ｚrefとオブジェクトを構成しているピクセルの深度Ｚ（Ｓｒｃ）を比較するようにする。
この実施の形態２によれば、例えば、３次元空間の背景などを考慮して、オブジェクトの描画処理を実施することができる効果を奏する。
【００４４】
実施の形態３．
上記実施の形態１では、Ｚ値保持部１１が３次元空間における透明な一枚の壁の深度と考えることができる基準面Ｚ−ＷＡＬＬの深度Ｚrefを保持しているものについて示したが（図２を参照）、図１０に示すように、Ｚ値保持部１１が複数の基準面Ｚ−ＷＡＬＬ（１）（２）の深度Ｚrefを保持するようにしてもよい。
図１０の例では、□型のオブジェクトと☆型のオブジェクトとの間に存在する基準面Ｚ−ＷＡＬＬ（１）の深度Ｚrefと、△型のオブジェクトと□型のオブジェクトとの間に存在する基準面Ｚ−ＷＡＬＬ（２）の深度Ｚrefとを保持している。
【００４５】
この場合、Ｚ比較器１２がラスタライザ１からオブジェクトを構成しているピクセルの深度Ｚ（Ｓｒｃ）を受けると、そのピクセルの深度Ｚ（Ｓｒｃ）と、□型のオブジェクトと☆型のオブジェクトとの間に存在する基準面Ｚ−ＷＡＬＬ（１）の深度Ｚrefとを比較するとともに、△型のオブジェクトと□型のオブジェクトとの間に存在する基準面Ｚ−ＷＡＬＬ（２）の深度Ｚrefとを比較するようにする。
【００４６】
例えば、Ｚ比較器１２がラスタライザ１から☆型のオブジェクトを構成しているピクセルの深度Ｚ（Ｓｒｃ）を受けると、☆型のオブジェクトが基準面Ｚ−ＷＡＬＬ（１）より奥側に位置しているので、基準面Ｚ−ＷＡＬＬ（１）より奥側に位置していることを示す“０”の前後フラグＳｒｃを出力する。
また、Ｚ比較器１２がラスタライザ１から□型のオブジェクトを構成しているピクセルの深度Ｚ（Ｓｒｃ）を受けると、□型のオブジェクトが基準面Ｚ−ＷＡＬＬ（１）と基準面Ｚ−ＷＡＬＬ（２）の間に位置しているので、基準面Ｚ−ＷＡＬＬ（１）と基準面Ｚ−ＷＡＬＬ（２）の間に位置していることを示す“１”の前後フラグＳｒｃを出力する。
また、Ｚ比較器１２がラスタライザ１から△型のオブジェクトを構成しているピクセルの深度Ｚ（Ｓｒｃ）を受けると、△型のオブジェクトが基準面Ｚ−ＷＡＬＬ（２）より手前に位置しているので、基準面Ｚ−ＷＡＬＬ（２）より手前側に位置していることを示す“２”の前後フラグＳｒｃを出力する。
【００４７】
この場合、フラグバッファ１３は、“０”又は“１”又は“２”の前後フラグＤｓｔを保持して、“０”又は“１”又は“２”の前後フラグＤｓｔを出力することになる。
したがって、Ｚ−ＷＡＬＬ判定回路１４は、Ｚ比較器１２から出力される“０”又は“１”又は“２”の前後フラグＳｒｃと、フラグバッファ１３から出力される“０”又は“１”又は“２”の前後フラグＤｓｔとに基づいてオブジェクトの大まかな重なり判定を実施することになるで（上記実施の形態１よりも、１つ多いパラメータ（３つのパラメータ）で重なり判定を実施することになる）ので、上記実施の形態１よりも、木目細かな判定を行うことができるようになる。
【００４８】
実施の形態４．
上記実施の形態１では、Ｚ値保持部１１が□型のオブジェクトと☆型のオブジェクトとの間に存在する基準面Ｚ−ＷＡＬＬの深度Ｚrefを保持しているものについて示したが（図２を参照）、図１１に示すように、３次元空間において、基準面Ｚ−ＷＡＬＬが視点から最遠方の位置に存在するものとして、Ｚ値保持部１１がその基準面Ｚ−ＷＡＬＬの深度Ｚrefを保持するようにしてもよい。
【００４９】
このように、３次元空間において、基準面Ｚ−ＷＡＬＬが視点から最遠方の位置に存在するものとして、Ｚ値保持部１１がその基準面Ｚ−ＷＡＬＬの深度Ｚrefを保持する場合、３次元グラフィクスにおいて描画を始める前に、フレームバッファ５のＺバッファ５ｂを最遠方を表すＺ値で初期化する処理が不要になる。
以降、書き込まれるピクセルは、必ず基準面Ｚ−ＷＡＬＬより手前に存在するため、Ｚ−ＷＡＬＬ判定回路１４によりｃａｓｅ２と判定される。
【００５０】
よって、ピクセル処理部４のＺテスト部４ａによる正確な重なり判定が不要になり、フレームバッファ５のＺバッファ５ｂに記録されているＺ値の読み出し処理が不要になる。このことから、Ｚバッファ５ｂを最遠方で初期化する必要がなくなることがわかる。
したがって、３次元グラフィクスにおいて描画を始める前に、フラグバッファ１３を“０”で初期化するだけで足り、比較的負荷の高いＺバッファ５ｂの初期化処理が省略されるため、処理の高速化を図ることができる効果を奏する。
【００５１】
ただし、この実施の形態４では、フラグバッファ１３を“０”で初期化した後、初めて書き込みを行うピクセルのみ、Ｚテスト部４ａによる正確な重なり判定が不要になる。
なお、一度ピクセルが書き込まれると、フラグバッファ１３は“１”（手前）に更新され、また、フレームバッファ５にピクセルが書き込まれて、Ｚバッファ５ｂも更新される。
【００５２】
実施の形態５．
上記実施の形態４では、３次元空間において、基準面Ｚ−ＷＡＬＬが視点から最遠方の位置に存在するものとして、Ｚ値保持部１１がその基準面Ｚ−ＷＡＬＬの深度Ｚrefを保持するものについて示したが、３次元空間において、基準面Ｚ−ＷＡＬＬが視点から最近傍の位置に存在するものとして、Ｚ値保持部１１がその基準面Ｚ−ＷＡＬＬの深度Ｚrefを保持するようにしてもよい。
【００５３】
このように、３次元空間において、基準面Ｚ−ＷＡＬＬが視点から最近傍の位置に存在するものとして、Ｚ値保持部１１がその基準面Ｚ−ＷＡＬＬの深度Ｚrefを保持する場合、３次元グラフィクスにおいて描画を始める前に、フレームバッファ５のＺバッファ５ｂを最近傍を表すＺ値で初期化する処理が不要になる。
したがって、この実施の形態５の場合も、上記実施の形態４と同様に、３次元グラフィクスにおいて描画を始める前に、フラグバッファ１３を初期化するだけで足り、比較的負荷の高いＺバッファ５ｂの初期化処理が省略されるため、処理の高速化を図ることができる効果を奏する。
【図面の簡単な説明】
【００５４】
【図１】この発明の実施の形態１によるグラフィック装置を示す構成図である。
【図２】３次元空間上に☆型のオブジェクトと、□型のオブジェクトと、△型のオブジェクトとを配置する例を示す斜視図である。
【図３】☆型のオブジェクトと、□型のオブジェクトと、△型のオブジェクトとが表示されている例を示す画面図である。
【図４】フラグバッファ１３におけるピクセル単位の前後フラグＤｓｔを示す説明図である。
【図５】Ｚ−ＷＡＬＬ判定回路１４の判定結果を示す説明図である。
【図６】フラグバッファ１３におけるピクセル単位の前後フラグＤｓｔを示す説明図である。
【図７】フラグバッファ１３におけるピクセル単位の前後フラグＤｓｔを示す説明図である。
【図８】フラグバッファ１３におけるピクセル単位の前後フラグＤｓｔを示す説明図である。
【図９】３次元空間上に☆型のオブジェクトと、□型のオブジェクトと、△型のオブジェクトとを配置する例を示す斜視図である。
【図１０】３次元空間上に☆型のオブジェクトと、□型のオブジェクトと、△型のオブジェクトとを配置する例を示す斜視図である。
【図１１】３次元空間上に☆型のオブジェクトと、□型のオブジェクトと、△型のオブジェクトとを配置する例を示す斜視図である。
【符号の説明】
【００５５】
１  ラスタライザ（前段の処理部）、２  早期Ｚテスト部、３  テクスチャ処理部（後段の処理部）、４  ピクセル処理部（後段の処理部）、４ａ  Ｚテスト部、５  フレームバッファ、５ａ  カラーバッファ、５ｂ  Ｚバッファ、１１  Ｚ値保持部（深度保持手段）、１２  Ｚ比較器（深度比較手段）、１３  フラグバッファ（フラグ保持手段）、１４  Ｚ−ＷＡＬＬ判定回路（必要性判定手段）。
【図１】
2006338542.tif 000003
【図２】
2006338542.tif 000004
【図３】
2006338542.tif 000005
【図４】
2006338542.tif 000006
【図５】
2006338542.tif 000007
【図６】
2006338542.tif 000008
【図７】
2006338542.tif 000009
【図８】
2006338542.tif 000010
【図９】
2006338542.tif 000011
【図１０】
2006338542.tif 000012
【図１１】
2006338542.tif 000013