(57)【要約】【課題】回路規模を小さくすることができる三次元グラフィック描画装置を得ること。【解決手段】表示画面をＸＹ座標の最下位ビットのみが異なり上位ビットが同じである２×２の４ピクセル領域毎に区分し、ポリゴンに含まれるピクセルが存在する各４ピクセル領域（１）〜（７）において、左上ピクセルのＸＹ座標と当該４ピクセルの有効性を示すフラグとから、ポリゴンに含まれないがＬＯＤの計算に用いるダミーのピクセルを含む場合がある２以上のピクセルを取り出し、当該４ピクセル領域に対する１つのＬＯＤを算出するようにしたので、簡単な構成でＬＯＤを算出することができ、回路規模の小さい三次元グラフィック描画装置が得られる。【選択図】        図１
2008198105.tif 000002
【特許請求の範囲】
【請求項１】
ポリゴンにテクスチャイメージを貼り付けるテクスチャマッピング処理機能を備える三次元グラフィック描画装置において、
ＸＹ座標が最下位ビットのみが異なり上位ビットでは同じである２×２の４ピクセル領域単位に区分した表示画面において、ポリゴンに含まれるピクセルが存在する前記４ピクセル領域毎に、左上ピクセルのＸＹ座標と当該２×２の４ピクセルの有効性を示すフラグとを生成するＸＹ座標生成手段と、
前記ＸＹ座標生成手段から入力する１つの前記４ピクセル領域における前記左上ピクセルのＸＹ座標と前記フラグとに基づき、後段に出力しようとするピクセルが前記ポリゴンに含まれるか否かを判断し前記ポリゴンには含まれないがＬＯＤの計算に用いる場合はダミーのピクセルとして、このダミーピクセルが含まれる場合のある２以上のピクセルのＸＹ座標を１ピクセルずつ出力するダミーピクセル生成手段と、
前記ダミーピクセル生成手段から入力する各ピクセルのＸＹ座標に基づき、各ピクセルの透視補正を施したテクスチャ座標を算出するテクスチャ座標計算手段と、
前記テクスチャ座標計算手段から入力する前記テクスチャ座標を蓄積し、隣り合うピクセルの前記テクスチャ座標からＬＯＤの値を１つの前記４ピクセル領域において共有する形で算出するＬＯＤ計算手段と
を備えていることを特徴とする三次元グラフィック描画装置。
【請求項２】
前記ダミーピクセル生成手段は、１つの前記４ピクセル領域における左上、右上、左下の各ピクセルは、前記ポリゴンに含まれない場合でも前記ダミーのピクセルとして出力することを特徴とする請求項１に記載の三次元グラフィック描画装置。
【請求項３】
前記ＬＯＤ計算手段は、
前記テクスチャ座標計算手段から入力する前記テクスチャ座標を順に蓄積する２ピクセル分のバッファと、
前記２ピクセル分のバッファへの入力ピクセルと前記２ピクセル分のバッファの保持出力ピクセルとを用いて、１つの前記４ピクセル領域における左上、右上、左下の各ピクセル間のテクスチャ座標の差分からＬＯＤの値を算出する演算手段と、
前記演算手段が算出したＬＯＤの値の中での最大値を当該４ピクセル領域におけるＬＯＤの値として保持する最大値選択保持手段と
を備えていることを特徴とする請求項１に記載の三次元グラフィック描画装置。
【請求項４】
ポリゴンにテクスチャイメージを貼り付けるテクスチャマッピング処理機能を備える三次元グラフィック描画装置において、
ＸＹ座標が最下位ビットのみが異なり上位ビットでは同じである２×２の４ピクセル領域毎に区分した表示画面において、ポリゴンに含まれるピクセルが存在する前記４ピクセル領域のそれぞれ毎に、左上ピクセルのＸＹ座標と当該２×２の４ピクセルの有効性を示すフラグとを生成するＸＹ座標生成手段と、
前記ＸＹ座標生成手段から入力する１つの前記４ピクセル領域における前記左上ピクセルのＸＹ座標と前記フラグとに基づき、後段に出力しようとするピクセルが前記ポリゴンに含まれるか否かを判断し前記ポリゴンには含まれないがＬＯＤの計算に用いる場合はダミーのピクセルとして、このダミーピクセルが含まれる場合のある２以上のピクセルのＸＹ座標を前記ダミーピクセルであるか否かを示すフラグと共に１ピクセルずつ出力するダミーピクセル生成手段と、
前記ダミーピクセル生成手段から入力するピクセルのＸＹ座標に基づき、各ピクセルの透視補正を施したテクスチャ座標を算出し、その算出したテクスチャ座標を前記ピクセルのＸＹ座標と前記ダミーピクセル生成手段から入力する前記フラグと共に出力するテクスチャ座標計算手段と、
前記テクスチャ座標計算手段から入力する前記テクスチャ座標を蓄積し、隣り合うピクセルの前記テクスチャ座標からＬＯＤの値を１つの前記４ピクセル領域において共有する形で算出し、前記テクスチャ座標計算手段から入力する前記フラグが前記ダミーピクセルであることを示してない場合に、算出した前記ＬＯＤの値を、蓄積した前記テクスチャ座標と前記テクスチャ座標計算手段から入力する前記ピクセルのＸＹ座標と共に後段へ出力するＬＯＤ計算手段と
を備えていることを特徴とする三次元グラフィック描画装置。
【請求項５】
前記ダミーピクセル生成手段は、１つの前記４ピクセル領域における左上、右上、左下の各ピクセルは、前記ポリゴンに含まれない場合でも前記ダミーのピクセルとし、それを示す前記フラグと共に出力することを特徴とする請求項４に記載の三次元グラフィック描画装置。
【請求項６】
前記ＬＯＤ計算手段は、
前記テクスチャ座標計算手段から入力する前記テクスチャ座標を順に蓄積する２ピクセル分のバッファと、
前記２ピクセル分のバッファへの入力ピクセルと前記２ピクセル分のバッファの保持出力ピクセルとを用いて、１つの前記４ピクセル領域における左上、右上、左下の各ピクセル間のテクスチャ座標の差分からＬＯＤの値を算出する演算手段と、
前記演算手段が算出したＬＯＤの値の中での最大値を当該４ピクセル領域におけるＬＯＤの値として保持する最大値選択保持手段と、
前記テクスチャ座標計算手段から入力する前記フラグが前記ダミーピクセルであることを示してない場合に、前記最大値選択保持手段が保持している前記ＬＯＤの値を、前記バッファに蓄積した前記テクスチャ座標と前記テクスチャ座標計算手段から入力する前記ピクセルのＸＹ座標と共に後段へ出力する出力制御手段と
を備えていることを特徴とする請求項４に記載の三次元グラフィック描画装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ポリゴンにテクスチャイメージを貼り付けるテクスチャマッピング処理機能を備える三次元グラフィック描画装置に関するものである。
【背景技術】
【０００２】
三次元グラフィックスの描画処理において、ポリゴンにテクスチャイメージを貼り付けるテクスチャマッピング処理を行う際に、ポリゴンがテクスチャイメージよりも小さい場合、サンプリング不足によってエイリアシングが発生し、画質が低下する場合がある。
【０００３】
このエイリアシングによる画質の低下を防ぐための方法としてミップマップ処理がよく知られている（例えば、非特許文献１，２）。ミップマップ処理では、予めフィルタリングを施して段階的に縮小した複数のテクスチャイメージを用意し、ポリゴンを描画する際に、適切な大きさのテクスチャイメージを選択して貼り付けることにより、エイリアシングの発生を低減する。
【０００４】
この場合に、「どの大きさのテクスチャイメージを選択するか」を示す値を、ＬＯＤ（Ｌｅｖｅｌ  Ｏｆ  Ｄｅｔａｉｌ）といい、このＬＯＤは、以下の式（１）（２）によって求めることができる。
【０００５】
【数１】
2008198105.tif 000003
【０００６】
上記の式（１）（２）において、Ｄは、スクリーン上におけるテクスチャイメージの縮小率を表しており、次の式（３）で近似することができる。
【０００７】
【数２】
2008198105.tif 000004
【０００８】
この式（３）では、スクリーン上で座標（ｘ，ｙ）がｘ方向およびｙ方向にそれぞれある一定量変化したときのテクスチャ座標（ｕ，ｖ）の変化量の最も大きい値を縮小率Ｄとしている。
【０００９】
ところで、従来から、ＬＯＤ算出のための回路規模を削減する各種の方法が提案されている（例えば、特許文献１，２等）。すなわち、特許文献１では、式を展開し、乗算や除算の回数を減らす方法が提案されている。
【００１０】
また、特許文献２では、複数のピクセルを並列に処理する装置において、代表点において求めた縮小率を同時に処理する全てのピクセルについて共有することで、ＬＯＤ算出のための回路規模を削減する方法が提案されている。
【００１１】
【特許文献１】特開２００３−１５７４４５号公報
【特許文献２】特開２００１−１１８０５６号公報
【非特許文献１】Alan Watt著「3D Computer Graphics Third Edition」Addison Wesley,2000年,P256〜260
【非特許文献２】Tomas Moller, Eric Haines共著「Real-Time Rendering」A K Peters,Ltd.,1999年,P111〜114
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、特許文献１に記載のＬＯＤ算出方法では、１ピクセル毎に多数の演算が必要であり、回路規模が大きいという問題がある。また、特許文献２に記載のＬＯＤ算出方法では、ピクセルの並列処理を前提としているので、例えば、回路規模や消費電力を重視して１ピクセルずつ処理を行う装置には適用できないという問題がある。
【００１３】
この発明は、上記に鑑みてなされたものであり、回路規模を小さくすることができる三次元グラフィック描画装置を得ることを目的とする。
【課題を解決するための手段】
【００１４】
上述した目的を達成するために、この発明は、ポリゴンにテクスチャイメージを貼り付けるテクスチャマッピング処理機能を備える三次元グラフィック描画装置において、ＸＹ座標が最下位ビットのみが異なり上位ビットでは同じである２×２の４ピクセル領域単位に区分した表示画面において、ポリゴンに含まれるピクセルが存在する前記４ピクセル領域毎に、左上ピクセルのＸＹ座標と当該２×２の４ピクセルの有効性を示すフラグとを生成するＸＹ座標生成手段と、前記ＸＹ座標生成手段から入力する１つの前記４ピクセル領域における前記左上ピクセルのＸＹ座標と前記フラグとに基づき、後段に出力しようとするピクセルが前記ポリゴンに含まれるか否かを判断し前記ポリゴンには含まれないがＬＯＤの計算に用いる場合はダミーのピクセルとして、このダミーピクセルが含まれる場合のある２以上のピクセルのＸＹ座標を１ピクセルずつ出力するダミーピクセル生成手段と、前記ダミーピクセル生成手段から入力する各ピクセルのＸＹ座標に基づき、各ピクセルの透視補正を施したテクスチャ座標を算出するテクスチャ座標計算手段と、前記テクスチャ座標計算手段から入力する前記テクスチャ座標を蓄積し、隣り合うピクセルの前記テクスチャ座標からＬＯＤの値を１つの前記４ピクセル領域において共有する形で算出するＬＯＤ計算手段とを備えていることを特徴とする。
【００１５】
この発明によれば、表示画面をＸＹ座標の最下位ビットのみが異なり上位ビットが同じである２×２の４ピクセル領域毎に区分し、ポリゴンに含まれるピクセルが存在する各４ピクセル領域において、左上ピクセルのＸＹ座標と当該４ピクセルの有効性を示すフラグとから、ポリゴンに含まれないがＬＯＤの計算に用いるダミーのピクセルを含む場合がある２以上のピクセルを取り出し、当該４ピクセル領域に対する１つのＬＯＤを算出するようにしたので、簡単な構成でＬＯＤを算出することができ、回路規模の小さい三次元グラフィック描画装置を実現することができる。
【発明の効果】
【００１６】
この発明によれば、回路規模の小さい三次元グラフィック描画装置が得られるという効果を奏する。
【発明を実施するための最良の形態】
【００１７】
以下に図面を参照して、この発明にかかる三次元グラフィック描画装置の好適な実施の形態を詳細に説明する。
【００１８】
図１は、この発明の一実施の形態による三次元グラフィック描画装置の構成を示すブロック図である。図１に示す三次元グラフィック描画装置１は、セットアップ処理部２と、ＸＹ座標生成部（ＸＹ座標生成手段）３と、ダミーピクセル生成部（ダミーピクセル生成手段）４と、テクスチャ座標計算部（テクスチャ座標計算手段）５と、ＬＯＤ計算部（ＬＯＤ計算手段）６と、テクスチャ処理部７とを備えている。なお、外部装置として、テクスチャイメージを保持するテクスチャメモリ８と、処理結果のイメージを保持するフレームバッファ９とが示されている。
【００１９】
セットアップ処理部２は、入力されるポリゴンデータから各種パラメータの算出等の前処理を行う。
【００２０】
ＸＹ座標生成部３は、セットアップ処理部２で求めたパラメータを基にポリゴンに含まれるピクセルのＸＹ座標を１ピクセルずつ求め、２×２の４ピクセル毎に、ＸＹ座標と有効なピクセルを示すフラグとを出力する。
【００２１】
ダミーピクセル生成部４は、ＸＹ座標生成部３から入力するＸＹ座標とフラグとに基づき、ポリゴンに含まれるピクセルのＸＹ座標を１ピクセルずつ出力する。その際に、ＬＯＤの計算に必要となるピクセルは、ポリゴンに含まれていない場合でもダミーのピクセルとしてそのＸＹ座標を出力する。
【００２２】
テクスチャ座標計算部５は、ダミーピクセル生成部４から入力するピクセルのＸＹ座標とセットアップ処理部２で求めたパラメータとから、そのピクセルの透視補正を施したテクスチャ座標を計算する。
【００２３】
ＬＯＤ計算部６は、テクスチャ座標計算部５から入力するテクスチャ座標を蓄積し、隣り合うピクセルのテクスチャ座標からＬＯＤの値を計算し、テクスチャ座標とＬＯＤの値とを関連付けて出力する。
【００２４】
テクスチャ処理部７は、ＬＯＤ計算部６から入力するテクスチャ座標およびＬＯＤの値を基に、テクスチャメモリ８上のアドレスを計算し、そのアドレスを用いてテクスチャメモリ８からテクスチャデータを読み出して所定の処理を行い、処理結果のイメージをフレームバッファ９に書き込む。
【００２５】
次に、図１〜９を参照して、以上のように構成される三次元グラフィック描画装置１の動作について説明する。なお、図２は、ＸＹ座標生成部３の動作を説明する図である。図３と図４は、ダミーピクセル生成部４の動作を説明する図である。図５は、ＬＯＤ計算部６の構成例を示すブロック図である。図６〜図９は、ＬＯＤ計算部６の動作を説明する図である。
【００２６】
外部から当該三次元グラフィック描画装置１にポリゴンデータが入力され、起動指示が入力されると、セットアップ処理部２が前処理を開始する。セットアップ処理部２が行う前処理は、一般的なものであるので、詳細説明は割愛するが、次の２つの処理を行う。
【００２７】
すなわち、セットアップ処理部２は、外部から入力されるポリゴンデータが示す三角形の各頂点のＸＹ座標から、ピクセルがポリゴンの内部であるか外部であるかの判定に用いる内部／外部判定用パラメータを算出し、それをＸＹ座標生成部３に出力する。また、セットアップ処理部２は、ポリゴンの各頂点のテクスチャ座標（ｓ、ｔ、ｑ）を線形補完するための係数を算出し、それをテクスチャ座標計算部５に出力する。
【００２８】
次に、図２を参照して、ＸＹ座標生成部３の動作について説明する。図２では、ＸＹ座標の最下位ビットのみが異なり上位ビットが同じである２×２の４ピクセル領域毎に区切られたＸＹ座標面（表示画面）とテクスチャイメージを貼り付けるポリゴン１０との関係が示されている。図２では、２×２の４ピクセル領域（以降、「単位４ピクセル領域」という）の（１）〜（７）の７つにポリゴン１０が跨っている場合が示されている。
【００２９】
ＸＹ座標生成部３は、セットアップ処理部２から受け取った内部／外部判定用パラメータを用いて、このＸＹ座標面上の各ピクセルの内部／外部の判定を１ピクセルずつ行い、そのピクセルの中心がポリゴン１０に含まれていて描画する必要のある有効ピクセルであるか否かを判断するが、各ピクセルを１スキャンラインに沿って一定方向へ１つずつ移動して判定するのではなく、図２に示すように、隣接する２スキャンラインの領域をジグザグに移動して判定を行う。具体的には、図２に示すように、単位４ピクセル領域を左上、左下、右下、右上の順序で移動し、内部／外部を判定する。
【００３０】
そして、ＸＹ座標生成部３は、単位４ピクセル領域毎に１回、データを出力する。ＸＹ座標生成部３が出力するデータは、単位４ピクセル領域の左上ピクセルのＸＹ座標と、２×２の４ピクセルのうちどのピクセルが有効ピクセルであるかを示す４ビットのフラグとで構成される。ここで、有効ピクセルとは、ポリゴン１０に含まれて描画対象となるピクセルである。
【００３１】
ＸＹ座標生成部３が有する４ビットのフラグは、初期値は“００００”であるが、次の（イ）〜（ニ）のような手順で、あるピクセルにおいてそのピクセルの中心がポリゴン１０の内部に含まれているか否かの判断を行い、含まれていると判断した場合に、４ビットのフラグの対応するビットを“１”に設定し、有効ピクセルであることを明示する。なお、横一列に配置した４ビットのそれぞれは、最右端のビットから最左端のビットに向かって、第１番目、第２番目、第３番目、第４番目のビットと称している。
【００３２】
（イ）ＸＹ座標の最下位ビットがそれぞれ（０，０）の場合は、そのピクセルは単位４ピクセル領域の左上に位置しているので、フラグの第４番目のビット（最上位ビット）を操作する。すなわち、フラグの第４番目のビット（最上位ビット）を、ポリゴン１０に含まれている場合は“１”に設定し、含まれている場合は“０”に設定する。
【００３３】
（ロ）ＸＹ座標の最下位ビットがそれぞれ（１，０）の場合は、そのピクセルは単位４ピクセル領域の右上に位置しているので、フラグの第３番目のビットを操作する。すなわち、フラグの第３番目のビットを、ポリゴン１０に含まれている場合は“１”に設定し、含まれている場合は“０”に設定する。
【００３４】
（ハ）ＸＹ座標の最下位ビットがそれぞれ（０，１）の場合は、そのピクセルは単位４ピクセル領域の左下に位置しているので、フラグの第２番目のビットを操作する。すなわち、フラグの第２番目のビットを、ポリゴン１０に含まれている場合は“１”に設定し、含まれている場合は“０”に設定する。
【００３５】
（ニ）ＸＹ座標の最下位ビットがそれぞれ（１，１）の場合は、そのピクセルは単位４ピクセル領域の右下に位置しているので、フラグの第１番目のビット（最下位ビット）を操作する“１”にする。すなわち、フラグの第１番目のビット（最下位ビット）を、ポリゴン１０に含まれている場合は“１”に設定し、含まれている場合は“０”に設定する。
【００３６】
ＸＹ座標生成部３は、単位４ピクセル領域のそれぞれにおいて、各ピクセルをジグザグに移動しながら同様の処理を繰り返す。そして、ピクセルを移動する際に、Ｘ座標の最下位ビットよりも上位のビットが変化するとき（つまり、隣の単位４ピクセル領域に移動するとき）および２スキャンラインの処理が終了したときに、フラグの値が“００００”でなければ、現在の単位４ピクセル領域での左上ピクセルのＸＹ座標とフラグの値とを出力し、フラグの値を“００００”にクリアする。このようにして、ＸＹ座標生成部３は、ポリゴン１０に含まれる全てのピクセルについて、単位４ピクセル領域毎に、ピクセルデータ（左上ピクセルのＸＹ座標と４ビットのフラグ値）をダミーピクセル生成部４に出力する。
【００３７】
図２に示す例で言えば、単位４ピクセル領域の（１）〜（７）の７つに描画対象のピクセルが含まれていると判断されたので、単位４ピクセル領域（１）の左上ピクセルのＸＹ座標とその単位４ピクセル領域（１）に対するフラグ値“１１０１”とからなる出力データ、単位４ピクセル領域（２）の左上ピクセルのＸＹ座標とその単位４ピクセル領域（２）に対するフラグ値“１１１１”とからなる出力データ、単位４ピクセル領域ピクセル（３）のＸＹ座標とその単位４ピクセル領域（３）に対するフラグ値“１１１１”とからなる出力データ、単位４ピクセル領域（４）の左上ピクセルのＸＹ座標とその単位４ピクセル領域（４）に対するフラグ値“０１０１”とからなる出力データ、単位４ピクセル領域（５）の左上ピクセルのＸＹ座標とその単位４ピクセル領域（５）に対するフラグ値“１１１１”とからなる出力データ、単位４ピクセル領域（６）の左上ピクセルのＸＹ座標とその単位４ピクセル領域（６）に対するフラグ値“１０００”とからなる出力データ、単位４ピクセル領域（７）の左上ピクセルのＸＹ座標とその単位４ピクセル領域（７）に対するフラグ値“１０１０”とからなる出力データが、この順にダミーピクセル生成部４へ出力される。
【００３８】
次に、図３と図４を参照して、ダミーピクセル生成部４の動作について説明する。ダミーピクセル生成部４は、ＸＹ座標生成部３から入力される単位４ピクセル領域のピクセルデータを受け取ると、左上ピクセルのＸＹ座標に基づき、右上ピクセル、左下ピクセル、右下ピクセルの各ＸＹ座標を生成し、単位４ピクセル領域の各ピクセルのＸＹ座標を、左上、右上、左下、右下の順で、１ピクセルずつ出力する。
【００３９】
その際に、単位４ピクセル領域の左上、右上、左下の各ピクセルは、ＬＯＤ算出に使用するので、４ビットのフラグ値からポリゴンに含まれていないと判断した場合でも出力する。この場合のピクセルが、この実施の形態で言う「ダミーピクセル」である。一方、単位４ピクセル領域の右下のピクセルは、ＬＯＤ算出に使用しないので、４ビットのフラグ値からポリゴンに含まれていないと判断した場合は出力しない。
【００４０】
そのために、ダミーピクセル生成部４は、各ピクセルのＸＹ座標を出力するとき、同時にそのピクセルが描画対象であるか否かを示す、つまり、ダミーピクセルであるか否かを示す１ビットのフラグを出力する。ＸＹ座標および１ビットフラグを出力する順序は、上記のように、単位４ピクセル領域において、左上、右上、左下、右下の順である。
【００４１】
図３（ａ）は、入力データが、図２に示す単位４ピクセル領域（１）でのＸＹ座標とフラグ値“１１０１”とからなる場合の動作を示している。図２に示す単位４ピクセル領域（１）での左上ピクセルのＸＹ座標は、（ｘ１，ｙ１）であるとしている。フラグ値“１１０１”は、４ピクセルのうち、左上、右上、右下の３ピクセルが有効ピクセルであることを示している。
【００４２】
ダミーピクセル生成部４は、ＸＹ座標生成部３から図２に示す単位４ピクセル領域（１）でのデータを受け取ると、まず、左上ピクセルのＸＹ座標（ｘ１，ｙ１）をテクスチャ座標計算部５に出力する。その際に、フラグの第４番目のビット（最上位ビット）が“１”であるので、上記した１ビットのフラグを“１”にしてテクスチャ座標計算部５に出力する。
【００４３】
次いで、ダミーピクセル生成部４は、右上ピクセルのＸＹ座標（ｘ１＋１，ｙ１）をテクスチャ座標計算部５に出力する。その際に、フラグの第３番目のビットが“１”であるので、上記した１ビットフラグを“１”にしてテクスチャ座標計算部５に出力する。
【００４４】
次いで、ダミーピクセル生成部４は、左下ピクセルのＸＹ座標（ｘ１，ｙ１＋１）をテクスチャ座標計算部５に出力する。その際に、フラグの第２番目のビットが“０”であるので、上記した１ビットフラグを“０”にしてテクスチャ座標計算部５に出力する。
【００４５】
最後に、ダミーピクセル生成部４は、フラグの第１番目のビット（最下位ビット）が“１”であるので、右下ピクセルのＸＹ座標（ｘ１＋１，ｙ１＋１）をテクスチャ座標計算部５に出力する。その際に、上記した１ビットフラグを“１”にしてテクスチャ座標計算部５に出力する。
【００４６】
また、図３（ｂ）は、入力データが、図２に示す単位４ピクセル領域（６）でのＸＹ座標とフラグ値“１０００”とからなる場合の動作を示している。図２に示す単位４ピクセル領域（６）での左上ピクセルのＸＹ座標は、（ｘ６，ｙ６）であるとしている。フラグ値“１０００”は、４ピクセルのうち、左上の１ピクセルのみが有効であることを示している。この場合も、図３（ａ）にて説明したのと同様の動作が行われる。
【００４７】
ダミーピクセル生成部４は、ＸＹ座標生成部３から図２に示す単位４ピクセル領域（６）でのデータを受け取ると、まず、左上ピクセルのＸＹ座標（ｘ６，ｙ６）をテクスチャ座標計算部５に出力する。その際に、フラグの第４番目のビット（最上位ビット）が“１”であるので、上記した１ビットフラグを“１”にしてテクスチャ座標計算部５に出力する。
【００４８】
次いで、ダミーピクセル生成部４は、右上ピクセルのＸＹ座標（ｘ６＋１，ｙ１）をテクスチャ座標計算部５に出力する。その際に、フラグの第３番目のビットが“０”であるので、上記した１ビットフラグを“０”にしてテクスチャ座標計算部５に出力する。
【００４９】
次いで、ダミーピクセル生成部４は、左下ピクセルのＸＹ座標（ｘ６，ｙ６＋１）をテクスチャ座標計算部５に出力する。その際に、フラグの第２番目のビットが“０”であるので、上記した１ビットフラグを“０”にしてテクスチャ座標計算部５に出力する。
【００５０】
最後に、ダミーピクセル生成部４は、フラグの第１番目のビット（最下位ビット）が“０”であるので、右下ピクセルのＸＹ座標（ｘ６＋１，ｙ６＋１）も上記した１ビットフラグもテクスチャ座標計算部５には出力しない。
【００５１】
図４は、ダミーピクセル生成部４の図２に示す単位４ピクセル領域（１）〜（７）の全てについての動作結果を説明する図である。ダミーピクセル生成部４は、図３（ａ）（ｂ）にて説明した方法で、単位４ピクセル領域における左上、右上、左下、右下の各ピクセルについてこの順に、ポリゴン１０に含まれるピクセルＡについてはそのピクセルのＸＹ座標および“１”を設定した１ビットフラグをテクスチャ座標計算部５に出力し、描画には用いないがＬＯＤ算出で必要となるダミーピクセルＢについてはそのピクセルのＸＹ座標および“０”を設定した１ビットフラグをテクスチャ座標計算部５に出力することを、ポリゴン１０に関わる単位４ピクセル領域（１）〜（７）の全てについて行う。
【００５２】
図４では、図２に示す単位４ピクセル領域（１）〜（７）の符号は付してないが、単位４ピクセル領域（１）では、左上、右上、右下の３ピクセルがポリゴン１０に含まれるピクセルＡであり、左下ピクセルがダミーピクセルＢである。単位４ピクセル領域（２）（３）（５）では、各４ピクセルが全てポリゴン１０に含まれるピクセルＡである。単位４ピクセル領域（４）では、右上、右下の２ピクセルがポリゴン１０に含まれるピクセルＡであり、左上と左下の２ピクセルがダミーピクセルＢである。単位４ピクセル領域（６）では、左上の１ピクセルがポリゴン１０に含まれるピクセルＡであり、右上、左下の２ピクセルがダミーピクセルＢである。単位４ピクセル領域（７）では、左上、左下の２ピクセルがポリゴン１０に含まれるピクセルＡであり、右上の１ピクセルがダミーピクセルＢである。
【００５３】
次に、テクスチャ座標計算部５の動作について説明する。テクスチャ座標計算部５は、まず、次の式（４）に、ダミーピクセル生成部４から入力されるピクセルのＸＹ座標（ｘ，ｙ）と、セットアップ処理部２から入力されるポリゴンの各頂点のテクスチャ座標（ｓ、ｔ、ｑ）を線形補完するための係数ａs，ｂs，ｃs，ａt，ｂt，ｃt，ａq，ｂq，ｃqとを適用して、そのピクセルにおけるテクスチャ座標（ｓ、ｔ、ｑ）の値を求める。
【００５４】
ｓ＝ａs×ｘ＋ｂs×ｙ＋ｃs
ｔ＝ａt×ｘ＋ｂt×ｙ＋ｃt          …（４）
ｑ＝ａq×ｘ＋ｂq×ｙ＋ｃq
【００５５】
そして、テクスチャ座標計算部５は、次の式（５）による演算を行い、透視補正を施したテクスチャ座標（ｕ，ｖ）の値を求める。なお、式（５）において、ＵＳＩＺＥ，ＶＳＩＺＥは、それぞれテクスチャイメージの横方向、縦方向の大きさである。
ｕ＝ＵＳＩＺＥ×ｓ／ｑ、ｖ＝ＶＳＩＺＥ×ｔ／ｑ              …（５）
【００５６】
テクスチャ座標計算部５は、このようにして求めた各入力ピクセルのテクスチャ座標（ｕ，ｖ）を、ダミーピクセル生成部４から受け取った対応するピクセルのＸＹ座標（ｘ，ｙ）および１ビットフラグの値と共にＬＯＤ計算部６に出力する。
【００５７】
次に、ＬＯＤ計算部６の構成と動作について説明する。図５は、ＬＯＤ計算部６の構成例を示すブロック図である。図５に示すＬＯＤ計算部６は、バッファ１１，１２と、セレクタ１３，１４と、減算演算器１５と、絶対値演算器（ＡＢＳ）１６と、対数演算器（ｌｏｇ２）１７と、最大値セレクタ１８と、バッファ１９とを備えている。
【００５８】
バッファ１１は、テクスチャ座標計算部５から入力する単位４ピクセル領域の各ピクセルのデータ（テクスチャ座標（ｕ，ｖ）、ＸＹ座標（ｘ，ｙ）および１ビットのフラグ値）を一時保持する。
【００５９】
バッファ１２は、バッファ１１が出力する各ピクセルのデータ（テクスチャ座標（ｕ，ｖ）、ＸＹ座標（ｘ，ｙ）および１ビットのフラグ値）を一時保持し、１ビットのフラグ値が“１”である場合に、テクスチャ座標（ｕ，ｖ）、およびＸＹ座標（ｘ，ｙ）を外部（テクスチャ処理部７）に送出するように制御される。
【００６０】
セレクタ１３は、バッファ１１に入力するｕ座標とｖ座標のいずれか一方を選択して減算演算器１５に与える。セレクタ１４は、バッファ１１が保持するｕ座標とｖ座標のいずれか一方、あるいは、バッファ１２が保持するｕ座標とｖ座標のいずれか一方を選択減算演算器１５に与える。
【００６１】
減算演算器１５は、セレクタ１３，１４の各選択データの差分を求める。絶対値演算器１６は、減算演算器１５が求めた差分の絶対値を求める。対数演算器１７は、絶対値演算器１６が求めた絶対値について２を底とする前記の式（１）の対数演算を行ってＬＯＤの値を算出する。最大値セレクタ１８およびバッファ１９は、対数演算器１７が求めたＬＯＤ値のうち大きい方のＬＯＤ値を選択して保持する処理を行う。
【００６２】
要するに、ＬＯＤ計算部６では、テクスチャ座標計算部５から入力する単位４ピクセル領域の各ピクセルデータ（各ピクセルのテクスチャ座標（ｕ，ｖ）、ＸＹ座標（ｘ，ｙ）および１ビットのフラグ値）をバッファ１１，１２に順に蓄積し、セレクタ１３，１４および減算演算器１５にて、隣り合う２ピクセルのテクスチャ座標（ｕ，ｖ）間の差分を求め、その差分を絶対値演算器１６にて、前記の式（３）における｜ｄｕ／ｄｘ｜、｜ｄｕ／ｄｙ｜、｜ｄｖ／ｄｘ｜、｜ｄｖ／ｄｙ｜とし、対数演算器１７にて、前記前記の式（１）の対数演算を行ってＬＯＤの値を算出し、最大値セレクタ１８およびバッファ１９にて、最大のＬＯＤ値を選択して保持し、処理を終了した単位４ピクセル領域に対する１ビットのフラグ値が“１”である場合に、バッファ１２が保持するピクセルデータ（左上ピクセルのテクスチャ座標（ｕ，ｖ）、およびＸＹ座標（ｘ，ｙ））とバッファ１９が保持するＬＯＤの値とを関連付けてテクスチャ処理部７に出力するように構成されている。
【００６３】
ＬＯＤ計算部６では、図６〜図９に示した手順で、単位４ピクセル領域における左上、右上、左下の各ピクセルデータからＬＯＤ値を算出する。なお、ＬＯＤ計算部６では、テクスチャ座標計算部５から入力されるピクセルが単位４ピクセル領域のどの位置のピクセルかは、ＸＹ座標の最下位ビットによって判断するようにしている。図６と図７は、単位４ピクセル領域における左上ピクセルのデータがバッファ１１に保持された後に右上ピクセルのデータが入力するタイミングでの動作を説明する図である。図８と図９は、単位４ピクセル領域における左上ピクセルのデータがバッファ１１からバッファ１２に引き渡され、バッファ１１に右上ピクセルのデータが保持された後に左下ピクセルのデータが入力するタイミングでの動作を説明する図である。
【００６４】
図６において、テクスチャ座標計算部５から単位４ピクセル領域の左上ピクセルのデータが入力されると、バッファ１１に格納する。その後、テクスチャ座標計算部５から単位４ピクセル領域の右上ピクセルのデータが入力される。その際に、バッファ１１に保持されている左上ピクセルのｕ座標と、テクスチャ座標計算部５から入力される右上ピクセルのｕ座標とをセレクタ１３，１４にてそれぞれ選択し、減算演算器１５、絶対値演算器１６、および対数演算器１７にてＬＯＤを計算し、計算結果を最大値セレクタ１８経由でバッファ１９に格納する。
【００６５】
図７において、次のサイクルにおいて、バッファ１１に保持されている左上ピクセルのｖ座標と、テクスチャ座標計算部５から入力される右上ピクセルのｖ座標とをセレクタ１３，１４にてそれぞれ選択し、減算演算器１５、絶対値演算器１６、および対数演算器１７にてＬＯＤを計算し、最大値セレクタ１８が、バッファ１９に保持されている値と比較して大きい方を選択し、それをバッファ１９に格納する。この時点でバッファ１９に保持されるＬＯＤの値は次の式（６）で表される。
【００６６】
【数３】
2008198105.tif 000005
【００６７】
図８において、以上の処理を終了すると、バッファ１１に保持されている左上ピクセルのデータをバッファ１２に移し、テクスチャ座標計算部５から入力されている右上ピクセルのデータをバッファ１１に保持する。その後、テクスチャ座標計算部５から単位４ピクセル領域の左下ピクセルのデータが入力される。その際に、バッファ１２に保持されている左上ピクセルのｕ座標と、テクスチャ座標計算部５から入力される左下ピクセルのｕ座標とをセレクタ１３，１４にてそれぞれ選択し、減算演算器１５、絶対値演算器１６、および対数演算器１７にてＬＯＤを計算し、最大値セレクタ１８が、バッファ１９に保持されている値と比較して大きい方を選択し、それをバッファ１９に格納する。
【００６８】
図９において、次のサイクルにおいて、バッファ１２に保持されている左上ピクセルのｖ座標と、テクスチャ座標計算部５から入力される右上ピクセルのｖ座標とをセレクタ１３，１４にてそれぞれ選択し、減算演算器１５、絶対値演算器１６、および対数演算器１７にてＬＯＤを計算し、最大値セレクタ１８が、バッファ１９に保持されている値と比較して大きい方を選択し、それをバッファ１９に格納する。この時点でバッファ１９に保持されるＬＯＤの値は次の式（７）で表される。
【００６９】
【数４】
2008198105.tif 000006
【００７０】
以上の手順によって単位４ピクセル領域における左上、右上、左下の各ピクセルデータを用いてのＬＯＤ計算が終了すると、最終的にバッファ１９に保持されたＬＯＤ値をバッファ１２に保持されている左上のピクセルデータと共にテクスチャ処理部７に出力する。但し、ピクセルを描画するか否かを示す１ビットのフラグが“０”である場合は、当該ピクセルはダミーピクセルであるので、出力せずに破棄する。
【００７１】
そして、バッファ１１に保持されている右上ピクセルのデータをバッファ１２に移してテクスチャ処理部７へ出力する。このとき、バッファ１９のＬＯＤ値は同様に変更せず、前のピクセルと同じＬＯＤ値を出力する。但し、ピクセルを描画するか否かを示す１ビットのフラグが“０”である場合は、同様に当該ピクセルはダミーピクセルであるので、出力せずに破棄する。
【００７２】
テクスチャ座標計算部５から引き続いて入力される左下および右下のピクセルデータも同様に、バッファ１１，１２を介してテクスチャ処理部７に出力する。このとき、バッファ１９のＬＯＤ値は、同様に変更せず、前のピクセルと同じＬＯＤ値を出力する。但し、ピクセルを描画するか否かを示す１ビットのフラグが“０”である場合は、同様に当該ピクセルはダミーピクセルであるので、出力せずに破棄する。
【００７３】
ＬＯＤ計算部６は、以上のように、単位４ピクセル領域における左上ピクセルが入力するたびに、単位４ピクセル領域毎にＬＯＤを算出し、その算出結果をその単位４ピクセル領域で共有することを繰り返す。そして、ピクセルを描画するか否かを示す１ビットのフラグが“１”である場合に、単位４ピクセル領域で共有するＬＯＤ値を当該ピクセルのＸＹ座標とテクスチャ座標と共にテクスチャ処理部７に出力する。
【００７４】
次に、テクスチャ処理部７は、前記したが、ＬＯＤ計算部６から入力するテクスチャ座標およびＬＯＤの値を基に、テクスチャメモリ８上のアドレスを計算し、そのアドレスを用いてテクスチャメモリ８からテクスチャデータを読み出して所定の処理を行い、処理結果のイメージをフレームバッファ９に書き込む。このテクスチャ処理部７における処理方法は、一般的なものであるので、ここでは詳細説明は割愛するが、上記のように生成したＬＯＤの計算に用いるダミーのピクセルは、テクスチャ処理部７には入力されないので、テクスチャ処理部７は、支障なく従前通りに所定の処理を行うことができる。
【００７５】
以上のように、この実施の形態によれば、表示画面をＸＹ座標の最下位ビットのみが異なり上位ビットが同じである２×２の４ピクセル領域毎に区分し、ポリゴンに含まれるピクセルが存在する各４ピクセル領域において、左上ピクセルのＸＹ座標と当該４ピクセルの有効性を示すフラグとから、ポリゴンに含まれないがＬＯＤの計算に用いるダミーのピクセルを含む場合がある２以上のピクセルを取り出し、当該４ピクセル領域に対する１つのＬＯＤを算出するようにしたので、簡単な構成でＬＯＤを算出することができ、回路規模の小さい三次元グラフィック描画装置を実現することができる。
【００７６】
また、ダミーピクセルの生成時に、当該ピクセルがダミーピクセルであるか否かを示すフラグを生成してＬＯＤ計算部に渡しておき、ＬＯＤ計算部は、そのフラグがダミーピクセルでないことを示す場合に、当該ピクセルのデータとＬＯＤの値とをテクスチャ処理部に出力するので、テクスチャ処理部は、支障なく所定の処理を実行することができる。
【産業上の利用可能性】
【００７７】
以上のように、この発明にかかる三次元グラフィック描画装置は、回路規模を小さくするのに有用である。
【図面の簡単な説明】
【００７８】
【図１】この発明の一実施の形態１による三次元グラフィック描画装置の構成を示すブロック図である。
【図２】図１に示すＸＹ座標生成部の動作を説明する図である。
【図３】図１に示すダミーピクセル生成部の動作を説明する図である。
【図４】図１に示すダミーピクセル生成部の図２に示す単位４ピクセル領域（１）〜（７）の全てについての動作結果を説明する図である。
【図５】図１に示すＬＯＤ計算部の構成例を示すブロック図である。
【図６】図５に示すＬＯＤ計算部が左上と右上の各ｕ座標からＬＯＤ値を算出する動作を説明する図である。
【図７】図５に示すＬＯＤ計算部が左上と右上の各ｖ座標からＬＯＤ値を算出する動作を説明する図である。
【図８】図５に示すＬＯＤ計算部が左下と左上の各ｕ座標からＬＯＤ値を算出する動作を説明する図である。
【図９】図５に示すＬＯＤ計算部が左下と左上の各ｖ座標からＬＯＤ値を算出する動作を説明する図である。
【符号の説明】
【００７９】
１  三次元グラフィック描画装置
２  セットアップ処理部
３  ＸＹ座標生成部（ＸＹ座標生成手段）
４  ダミーピクセル生成部（ダミーピクセル生成手段）
５  テクスチャ座標計算部（テクスチャ座標計算手段）
６  ＬＯＤ計算部（ＬＯＤ計算手段）
７  テクスチャ処理部
８  テクスチャメモリ
９  フレームバッファ
１０  ポリゴン
１１，１２，１９  バッファ
１３，１４  セレクタ
１５  減算演算器
１６  絶対値演算器（ＡＢＳ）
１７  対数演算器
１８  最大値セレクタ
（１）〜（７）  単位４ピクセル領域
Ａ  ポリゴンに含まれるピクセル
Ｂ  ダミーピクセル
【図１】
2008198105.tif 000007
【図２】
2008198105.tif 000008
【図３】
2008198105.tif 000009
【図４】
2008198105.tif 000010
【図５】
2008198105.tif 000011
【図６】
2008198105.tif 000012
【図７】
2008198105.tif 000013
【図８】
2008198105.tif 000014
【図９】
2008198105.tif 000015