JP2008198105A - 三次元グラフィック描画装置 - Google Patents
三次元グラフィック描画装置 Download PDFInfo
- Publication number
- JP2008198105A JP2008198105A JP2007035129A JP2007035129A JP2008198105A JP 2008198105 A JP2008198105 A JP 2008198105A JP 2007035129 A JP2007035129 A JP 2007035129A JP 2007035129 A JP2007035129 A JP 2007035129A JP 2008198105 A JP2008198105 A JP 2008198105A
- Authority
- JP
- Japan
- Prior art keywords
- pixel
- coordinates
- texture
- pixels
- lod
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000009877 rendering Methods 0.000 title abstract description 6
- 238000004364 calculation method Methods 0.000 claims abstract description 100
- 239000000872 buffer Substances 0.000 claims description 53
- 238000013507 mapping Methods 0.000 claims description 5
- 230000000717 retained effect Effects 0.000 claims 2
- 238000000034 method Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 5
- 238000007781 pre-processing Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- MFYFNUKUXIRYFV-JSGCOSHPSA-N Polygonone Natural products O=CC=1C(=O)C[C@H]2C(C)(C)CCC[C@@]2(C)C=1 MFYFNUKUXIRYFV-JSGCOSHPSA-N 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
Images
Landscapes
- Image Generation (AREA)
Abstract
【課題】回路規模を小さくすることができる三次元グラフィック描画装置を得ること。
【解決手段】表示画面をXY座標の最下位ビットのみが異なり上位ビットが同じである2×2の4ピクセル領域毎に区分し、ポリゴンに含まれるピクセルが存在する各4ピクセル領域(1)〜(7)において、左上ピクセルのXY座標と当該4ピクセルの有効性を示すフラグとから、ポリゴンに含まれないがLODの計算に用いるダミーのピクセルを含む場合がある2以上のピクセルを取り出し、当該4ピクセル領域に対する1つのLODを算出するようにしたので、簡単な構成でLODを算出することができ、回路規模の小さい三次元グラフィック描画装置が得られる。
【選択図】 図1
【解決手段】表示画面をXY座標の最下位ビットのみが異なり上位ビットが同じである2×2の4ピクセル領域毎に区分し、ポリゴンに含まれるピクセルが存在する各4ピクセル領域(1)〜(7)において、左上ピクセルのXY座標と当該4ピクセルの有効性を示すフラグとから、ポリゴンに含まれないがLODの計算に用いるダミーのピクセルを含む場合がある2以上のピクセルを取り出し、当該4ピクセル領域に対する1つのLODを算出するようにしたので、簡単な構成でLODを算出することができ、回路規模の小さい三次元グラフィック描画装置が得られる。
【選択図】 図1
Description
この発明は、ポリゴンにテクスチャイメージを貼り付けるテクスチャマッピング処理機能を備える三次元グラフィック描画装置に関するものである。
三次元グラフィックスの描画処理において、ポリゴンにテクスチャイメージを貼り付けるテクスチャマッピング処理を行う際に、ポリゴンがテクスチャイメージよりも小さい場合、サンプリング不足によってエイリアシングが発生し、画質が低下する場合がある。
このエイリアシングによる画質の低下を防ぐための方法としてミップマップ処理がよく知られている(例えば、非特許文献1,2)。ミップマップ処理では、予めフィルタリングを施して段階的に縮小した複数のテクスチャイメージを用意し、ポリゴンを描画する際に、適切な大きさのテクスチャイメージを選択して貼り付けることにより、エイリアシングの発生を低減する。
この場合に、「どの大きさのテクスチャイメージを選択するか」を示す値を、LOD(Level Of Detail)といい、このLODは、以下の式(1)(2)によって求めることができる。
上記の式(1)(2)において、Dは、スクリーン上におけるテクスチャイメージの縮小率を表しており、次の式(3)で近似することができる。
この式(3)では、スクリーン上で座標(x,y)がx方向およびy方向にそれぞれある一定量変化したときのテクスチャ座標(u,v)の変化量の最も大きい値を縮小率Dとしている。
ところで、従来から、LOD算出のための回路規模を削減する各種の方法が提案されている(例えば、特許文献1,2等)。すなわち、特許文献1では、式を展開し、乗算や除算の回数を減らす方法が提案されている。
また、特許文献2では、複数のピクセルを並列に処理する装置において、代表点において求めた縮小率を同時に処理する全てのピクセルについて共有することで、LOD算出のための回路規模を削減する方法が提案されている。
しかしながら、特許文献1に記載のLOD算出方法では、1ピクセル毎に多数の演算が必要であり、回路規模が大きいという問題がある。また、特許文献2に記載のLOD算出方法では、ピクセルの並列処理を前提としているので、例えば、回路規模や消費電力を重視して1ピクセルずつ処理を行う装置には適用できないという問題がある。
この発明は、上記に鑑みてなされたものであり、回路規模を小さくすることができる三次元グラフィック描画装置を得ることを目的とする。
上述した目的を達成するために、この発明は、ポリゴンにテクスチャイメージを貼り付けるテクスチャマッピング処理機能を備える三次元グラフィック描画装置において、XY座標が最下位ビットのみが異なり上位ビットでは同じである2×2の4ピクセル領域単位に区分した表示画面において、ポリゴンに含まれるピクセルが存在する前記4ピクセル領域毎に、左上ピクセルのXY座標と当該2×2の4ピクセルの有効性を示すフラグとを生成するXY座標生成手段と、前記XY座標生成手段から入力する1つの前記4ピクセル領域における前記左上ピクセルのXY座標と前記フラグとに基づき、後段に出力しようとするピクセルが前記ポリゴンに含まれるか否かを判断し前記ポリゴンには含まれないがLODの計算に用いる場合はダミーのピクセルとして、このダミーピクセルが含まれる場合のある2以上のピクセルのXY座標を1ピクセルずつ出力するダミーピクセル生成手段と、前記ダミーピクセル生成手段から入力する各ピクセルのXY座標に基づき、各ピクセルの透視補正を施したテクスチャ座標を算出するテクスチャ座標計算手段と、前記テクスチャ座標計算手段から入力する前記テクスチャ座標を蓄積し、隣り合うピクセルの前記テクスチャ座標からLODの値を1つの前記4ピクセル領域において共有する形で算出するLOD計算手段とを備えていることを特徴とする。
この発明によれば、表示画面をXY座標の最下位ビットのみが異なり上位ビットが同じである2×2の4ピクセル領域毎に区分し、ポリゴンに含まれるピクセルが存在する各4ピクセル領域において、左上ピクセルのXY座標と当該4ピクセルの有効性を示すフラグとから、ポリゴンに含まれないがLODの計算に用いるダミーのピクセルを含む場合がある2以上のピクセルを取り出し、当該4ピクセル領域に対する1つのLODを算出するようにしたので、簡単な構成でLODを算出することができ、回路規模の小さい三次元グラフィック描画装置を実現することができる。
この発明によれば、回路規模の小さい三次元グラフィック描画装置が得られるという効果を奏する。
以下に図面を参照して、この発明にかかる三次元グラフィック描画装置の好適な実施の形態を詳細に説明する。
図1は、この発明の一実施の形態による三次元グラフィック描画装置の構成を示すブロック図である。図1に示す三次元グラフィック描画装置1は、セットアップ処理部2と、XY座標生成部(XY座標生成手段)3と、ダミーピクセル生成部(ダミーピクセル生成手段)4と、テクスチャ座標計算部(テクスチャ座標計算手段)5と、LOD計算部(LOD計算手段)6と、テクスチャ処理部7とを備えている。なお、外部装置として、テクスチャイメージを保持するテクスチャメモリ8と、処理結果のイメージを保持するフレームバッファ9とが示されている。
セットアップ処理部2は、入力されるポリゴンデータから各種パラメータの算出等の前処理を行う。
XY座標生成部3は、セットアップ処理部2で求めたパラメータを基にポリゴンに含まれるピクセルのXY座標を1ピクセルずつ求め、2×2の4ピクセル毎に、XY座標と有効なピクセルを示すフラグとを出力する。
ダミーピクセル生成部4は、XY座標生成部3から入力するXY座標とフラグとに基づき、ポリゴンに含まれるピクセルのXY座標を1ピクセルずつ出力する。その際に、LODの計算に必要となるピクセルは、ポリゴンに含まれていない場合でもダミーのピクセルとしてそのXY座標を出力する。
テクスチャ座標計算部5は、ダミーピクセル生成部4から入力するピクセルのXY座標とセットアップ処理部2で求めたパラメータとから、そのピクセルの透視補正を施したテクスチャ座標を計算する。
LOD計算部6は、テクスチャ座標計算部5から入力するテクスチャ座標を蓄積し、隣り合うピクセルのテクスチャ座標からLODの値を計算し、テクスチャ座標とLODの値とを関連付けて出力する。
テクスチャ処理部7は、LOD計算部6から入力するテクスチャ座標およびLODの値を基に、テクスチャメモリ8上のアドレスを計算し、そのアドレスを用いてテクスチャメモリ8からテクスチャデータを読み出して所定の処理を行い、処理結果のイメージをフレームバッファ9に書き込む。
次に、図1〜9を参照して、以上のように構成される三次元グラフィック描画装置1の動作について説明する。なお、図2は、XY座標生成部3の動作を説明する図である。図3と図4は、ダミーピクセル生成部4の動作を説明する図である。図5は、LOD計算部6の構成例を示すブロック図である。図6〜図9は、LOD計算部6の動作を説明する図である。
外部から当該三次元グラフィック描画装置1にポリゴンデータが入力され、起動指示が入力されると、セットアップ処理部2が前処理を開始する。セットアップ処理部2が行う前処理は、一般的なものであるので、詳細説明は割愛するが、次の2つの処理を行う。
すなわち、セットアップ処理部2は、外部から入力されるポリゴンデータが示す三角形の各頂点のXY座標から、ピクセルがポリゴンの内部であるか外部であるかの判定に用いる内部/外部判定用パラメータを算出し、それをXY座標生成部3に出力する。また、セットアップ処理部2は、ポリゴンの各頂点のテクスチャ座標(s、t、q)を線形補完するための係数を算出し、それをテクスチャ座標計算部5に出力する。
次に、図2を参照して、XY座標生成部3の動作について説明する。図2では、XY座標の最下位ビットのみが異なり上位ビットが同じである2×2の4ピクセル領域毎に区切られたXY座標面(表示画面)とテクスチャイメージを貼り付けるポリゴン10との関係が示されている。図2では、2×2の4ピクセル領域(以降、「単位4ピクセル領域」という)の(1)〜(7)の7つにポリゴン10が跨っている場合が示されている。
XY座標生成部3は、セットアップ処理部2から受け取った内部/外部判定用パラメータを用いて、このXY座標面上の各ピクセルの内部/外部の判定を1ピクセルずつ行い、そのピクセルの中心がポリゴン10に含まれていて描画する必要のある有効ピクセルであるか否かを判断するが、各ピクセルを1スキャンラインに沿って一定方向へ1つずつ移動して判定するのではなく、図2に示すように、隣接する2スキャンラインの領域をジグザグに移動して判定を行う。具体的には、図2に示すように、単位4ピクセル領域を左上、左下、右下、右上の順序で移動し、内部/外部を判定する。
そして、XY座標生成部3は、単位4ピクセル領域毎に1回、データを出力する。XY座標生成部3が出力するデータは、単位4ピクセル領域の左上ピクセルのXY座標と、2×2の4ピクセルのうちどのピクセルが有効ピクセルであるかを示す4ビットのフラグとで構成される。ここで、有効ピクセルとは、ポリゴン10に含まれて描画対象となるピクセルである。
XY座標生成部3が有する4ビットのフラグは、初期値は“0000”であるが、次の(イ)〜(ニ)のような手順で、あるピクセルにおいてそのピクセルの中心がポリゴン10の内部に含まれているか否かの判断を行い、含まれていると判断した場合に、4ビットのフラグの対応するビットを“1”に設定し、有効ピクセルであることを明示する。なお、横一列に配置した4ビットのそれぞれは、最右端のビットから最左端のビットに向かって、第1番目、第2番目、第3番目、第4番目のビットと称している。
(イ)XY座標の最下位ビットがそれぞれ(0,0)の場合は、そのピクセルは単位4ピクセル領域の左上に位置しているので、フラグの第4番目のビット(最上位ビット)を操作する。すなわち、フラグの第4番目のビット(最上位ビット)を、ポリゴン10に含まれている場合は“1”に設定し、含まれている場合は“0”に設定する。
(ロ)XY座標の最下位ビットがそれぞれ(1,0)の場合は、そのピクセルは単位4ピクセル領域の右上に位置しているので、フラグの第3番目のビットを操作する。すなわち、フラグの第3番目のビットを、ポリゴン10に含まれている場合は“1”に設定し、含まれている場合は“0”に設定する。
(ハ)XY座標の最下位ビットがそれぞれ(0,1)の場合は、そのピクセルは単位4ピクセル領域の左下に位置しているので、フラグの第2番目のビットを操作する。すなわち、フラグの第2番目のビットを、ポリゴン10に含まれている場合は“1”に設定し、含まれている場合は“0”に設定する。
(ニ)XY座標の最下位ビットがそれぞれ(1,1)の場合は、そのピクセルは単位4ピクセル領域の右下に位置しているので、フラグの第1番目のビット(最下位ビット)を操作する“1”にする。すなわち、フラグの第1番目のビット(最下位ビット)を、ポリゴン10に含まれている場合は“1”に設定し、含まれている場合は“0”に設定する。
XY座標生成部3は、単位4ピクセル領域のそれぞれにおいて、各ピクセルをジグザグに移動しながら同様の処理を繰り返す。そして、ピクセルを移動する際に、X座標の最下位ビットよりも上位のビットが変化するとき(つまり、隣の単位4ピクセル領域に移動するとき)および2スキャンラインの処理が終了したときに、フラグの値が“0000”でなければ、現在の単位4ピクセル領域での左上ピクセルのXY座標とフラグの値とを出力し、フラグの値を“0000”にクリアする。このようにして、XY座標生成部3は、ポリゴン10に含まれる全てのピクセルについて、単位4ピクセル領域毎に、ピクセルデータ(左上ピクセルのXY座標と4ビットのフラグ値)をダミーピクセル生成部4に出力する。
図2に示す例で言えば、単位4ピクセル領域の(1)〜(7)の7つに描画対象のピクセルが含まれていると判断されたので、単位4ピクセル領域(1)の左上ピクセルのXY座標とその単位4ピクセル領域(1)に対するフラグ値“1101”とからなる出力データ、単位4ピクセル領域(2)の左上ピクセルのXY座標とその単位4ピクセル領域(2)に対するフラグ値“1111”とからなる出力データ、単位4ピクセル領域ピクセル(3)のXY座標とその単位4ピクセル領域(3)に対するフラグ値“1111”とからなる出力データ、単位4ピクセル領域(4)の左上ピクセルのXY座標とその単位4ピクセル領域(4)に対するフラグ値“0101”とからなる出力データ、単位4ピクセル領域(5)の左上ピクセルのXY座標とその単位4ピクセル領域(5)に対するフラグ値“1111”とからなる出力データ、単位4ピクセル領域(6)の左上ピクセルのXY座標とその単位4ピクセル領域(6)に対するフラグ値“1000”とからなる出力データ、単位4ピクセル領域(7)の左上ピクセルのXY座標とその単位4ピクセル領域(7)に対するフラグ値“1010”とからなる出力データが、この順にダミーピクセル生成部4へ出力される。
次に、図3と図4を参照して、ダミーピクセル生成部4の動作について説明する。ダミーピクセル生成部4は、XY座標生成部3から入力される単位4ピクセル領域のピクセルデータを受け取ると、左上ピクセルのXY座標に基づき、右上ピクセル、左下ピクセル、右下ピクセルの各XY座標を生成し、単位4ピクセル領域の各ピクセルのXY座標を、左上、右上、左下、右下の順で、1ピクセルずつ出力する。
その際に、単位4ピクセル領域の左上、右上、左下の各ピクセルは、LOD算出に使用するので、4ビットのフラグ値からポリゴンに含まれていないと判断した場合でも出力する。この場合のピクセルが、この実施の形態で言う「ダミーピクセル」である。一方、単位4ピクセル領域の右下のピクセルは、LOD算出に使用しないので、4ビットのフラグ値からポリゴンに含まれていないと判断した場合は出力しない。
そのために、ダミーピクセル生成部4は、各ピクセルのXY座標を出力するとき、同時にそのピクセルが描画対象であるか否かを示す、つまり、ダミーピクセルであるか否かを示す1ビットのフラグを出力する。XY座標および1ビットフラグを出力する順序は、上記のように、単位4ピクセル領域において、左上、右上、左下、右下の順である。
図3(a)は、入力データが、図2に示す単位4ピクセル領域(1)でのXY座標とフラグ値“1101”とからなる場合の動作を示している。図2に示す単位4ピクセル領域(1)での左上ピクセルのXY座標は、(x1,y1)であるとしている。フラグ値“1101”は、4ピクセルのうち、左上、右上、右下の3ピクセルが有効ピクセルであることを示している。
ダミーピクセル生成部4は、XY座標生成部3から図2に示す単位4ピクセル領域(1)でのデータを受け取ると、まず、左上ピクセルのXY座標(x1,y1)をテクスチャ座標計算部5に出力する。その際に、フラグの第4番目のビット(最上位ビット)が“1”であるので、上記した1ビットのフラグを“1”にしてテクスチャ座標計算部5に出力する。
次いで、ダミーピクセル生成部4は、右上ピクセルのXY座標(x1+1,y1)をテクスチャ座標計算部5に出力する。その際に、フラグの第3番目のビットが“1”であるので、上記した1ビットフラグを“1”にしてテクスチャ座標計算部5に出力する。
次いで、ダミーピクセル生成部4は、左下ピクセルのXY座標(x1,y1+1)をテクスチャ座標計算部5に出力する。その際に、フラグの第2番目のビットが“0”であるので、上記した1ビットフラグを“0”にしてテクスチャ座標計算部5に出力する。
最後に、ダミーピクセル生成部4は、フラグの第1番目のビット(最下位ビット)が“1”であるので、右下ピクセルのXY座標(x1+1,y1+1)をテクスチャ座標計算部5に出力する。その際に、上記した1ビットフラグを“1”にしてテクスチャ座標計算部5に出力する。
また、図3(b)は、入力データが、図2に示す単位4ピクセル領域(6)でのXY座標とフラグ値“1000”とからなる場合の動作を示している。図2に示す単位4ピクセル領域(6)での左上ピクセルのXY座標は、(x6,y6)であるとしている。フラグ値“1000”は、4ピクセルのうち、左上の1ピクセルのみが有効であることを示している。この場合も、図3(a)にて説明したのと同様の動作が行われる。
ダミーピクセル生成部4は、XY座標生成部3から図2に示す単位4ピクセル領域(6)でのデータを受け取ると、まず、左上ピクセルのXY座標(x6,y6)をテクスチャ座標計算部5に出力する。その際に、フラグの第4番目のビット(最上位ビット)が“1”であるので、上記した1ビットフラグを“1”にしてテクスチャ座標計算部5に出力する。
次いで、ダミーピクセル生成部4は、右上ピクセルのXY座標(x6+1,y1)をテクスチャ座標計算部5に出力する。その際に、フラグの第3番目のビットが“0”であるので、上記した1ビットフラグを“0”にしてテクスチャ座標計算部5に出力する。
次いで、ダミーピクセル生成部4は、左下ピクセルのXY座標(x6,y6+1)をテクスチャ座標計算部5に出力する。その際に、フラグの第2番目のビットが“0”であるので、上記した1ビットフラグを“0”にしてテクスチャ座標計算部5に出力する。
最後に、ダミーピクセル生成部4は、フラグの第1番目のビット(最下位ビット)が“0”であるので、右下ピクセルのXY座標(x6+1,y6+1)も上記した1ビットフラグもテクスチャ座標計算部5には出力しない。
図4は、ダミーピクセル生成部4の図2に示す単位4ピクセル領域(1)〜(7)の全てについての動作結果を説明する図である。ダミーピクセル生成部4は、図3(a)(b)にて説明した方法で、単位4ピクセル領域における左上、右上、左下、右下の各ピクセルについてこの順に、ポリゴン10に含まれるピクセルAについてはそのピクセルのXY座標および“1”を設定した1ビットフラグをテクスチャ座標計算部5に出力し、描画には用いないがLOD算出で必要となるダミーピクセルBについてはそのピクセルのXY座標および“0”を設定した1ビットフラグをテクスチャ座標計算部5に出力することを、ポリゴン10に関わる単位4ピクセル領域(1)〜(7)の全てについて行う。
図4では、図2に示す単位4ピクセル領域(1)〜(7)の符号は付してないが、単位4ピクセル領域(1)では、左上、右上、右下の3ピクセルがポリゴン10に含まれるピクセルAであり、左下ピクセルがダミーピクセルBである。単位4ピクセル領域(2)(3)(5)では、各4ピクセルが全てポリゴン10に含まれるピクセルAである。単位4ピクセル領域(4)では、右上、右下の2ピクセルがポリゴン10に含まれるピクセルAであり、左上と左下の2ピクセルがダミーピクセルBである。単位4ピクセル領域(6)では、左上の1ピクセルがポリゴン10に含まれるピクセルAであり、右上、左下の2ピクセルがダミーピクセルBである。単位4ピクセル領域(7)では、左上、左下の2ピクセルがポリゴン10に含まれるピクセルAであり、右上の1ピクセルがダミーピクセルBである。
次に、テクスチャ座標計算部5の動作について説明する。テクスチャ座標計算部5は、まず、次の式(4)に、ダミーピクセル生成部4から入力されるピクセルのXY座標(x,y)と、セットアップ処理部2から入力されるポリゴンの各頂点のテクスチャ座標(s、t、q)を線形補完するための係数as,bs,cs,at,bt,ct,aq,bq,cqとを適用して、そのピクセルにおけるテクスチャ座標(s、t、q)の値を求める。
s=as×x+bs×y+cs
t=at×x+bt×y+ct …(4)
q=aq×x+bq×y+cq
t=at×x+bt×y+ct …(4)
q=aq×x+bq×y+cq
そして、テクスチャ座標計算部5は、次の式(5)による演算を行い、透視補正を施したテクスチャ座標(u,v)の値を求める。なお、式(5)において、USIZE,VSIZEは、それぞれテクスチャイメージの横方向、縦方向の大きさである。
u=USIZE×s/q、v=VSIZE×t/q …(5)
u=USIZE×s/q、v=VSIZE×t/q …(5)
テクスチャ座標計算部5は、このようにして求めた各入力ピクセルのテクスチャ座標(u,v)を、ダミーピクセル生成部4から受け取った対応するピクセルのXY座標(x,y)および1ビットフラグの値と共にLOD計算部6に出力する。
次に、LOD計算部6の構成と動作について説明する。図5は、LOD計算部6の構成例を示すブロック図である。図5に示すLOD計算部6は、バッファ11,12と、セレクタ13,14と、減算演算器15と、絶対値演算器(ABS)16と、対数演算器(log2)17と、最大値セレクタ18と、バッファ19とを備えている。
バッファ11は、テクスチャ座標計算部5から入力する単位4ピクセル領域の各ピクセルのデータ(テクスチャ座標(u,v)、XY座標(x,y)および1ビットのフラグ値)を一時保持する。
バッファ12は、バッファ11が出力する各ピクセルのデータ(テクスチャ座標(u,v)、XY座標(x,y)および1ビットのフラグ値)を一時保持し、1ビットのフラグ値が“1”である場合に、テクスチャ座標(u,v)、およびXY座標(x,y)を外部(テクスチャ処理部7)に送出するように制御される。
セレクタ13は、バッファ11に入力するu座標とv座標のいずれか一方を選択して減算演算器15に与える。セレクタ14は、バッファ11が保持するu座標とv座標のいずれか一方、あるいは、バッファ12が保持するu座標とv座標のいずれか一方を選択減算演算器15に与える。
減算演算器15は、セレクタ13,14の各選択データの差分を求める。絶対値演算器16は、減算演算器15が求めた差分の絶対値を求める。対数演算器17は、絶対値演算器16が求めた絶対値について2を底とする前記の式(1)の対数演算を行ってLODの値を算出する。最大値セレクタ18およびバッファ19は、対数演算器17が求めたLOD値のうち大きい方のLOD値を選択して保持する処理を行う。
要するに、LOD計算部6では、テクスチャ座標計算部5から入力する単位4ピクセル領域の各ピクセルデータ(各ピクセルのテクスチャ座標(u,v)、XY座標(x,y)および1ビットのフラグ値)をバッファ11,12に順に蓄積し、セレクタ13,14および減算演算器15にて、隣り合う2ピクセルのテクスチャ座標(u,v)間の差分を求め、その差分を絶対値演算器16にて、前記の式(3)における|du/dx|、|du/dy|、|dv/dx|、|dv/dy|とし、対数演算器17にて、前記前記の式(1)の対数演算を行ってLODの値を算出し、最大値セレクタ18およびバッファ19にて、最大のLOD値を選択して保持し、処理を終了した単位4ピクセル領域に対する1ビットのフラグ値が“1”である場合に、バッファ12が保持するピクセルデータ(左上ピクセルのテクスチャ座標(u,v)、およびXY座標(x,y))とバッファ19が保持するLODの値とを関連付けてテクスチャ処理部7に出力するように構成されている。
LOD計算部6では、図6〜図9に示した手順で、単位4ピクセル領域における左上、右上、左下の各ピクセルデータからLOD値を算出する。なお、LOD計算部6では、テクスチャ座標計算部5から入力されるピクセルが単位4ピクセル領域のどの位置のピクセルかは、XY座標の最下位ビットによって判断するようにしている。図6と図7は、単位4ピクセル領域における左上ピクセルのデータがバッファ11に保持された後に右上ピクセルのデータが入力するタイミングでの動作を説明する図である。図8と図9は、単位4ピクセル領域における左上ピクセルのデータがバッファ11からバッファ12に引き渡され、バッファ11に右上ピクセルのデータが保持された後に左下ピクセルのデータが入力するタイミングでの動作を説明する図である。
図6において、テクスチャ座標計算部5から単位4ピクセル領域の左上ピクセルのデータが入力されると、バッファ11に格納する。その後、テクスチャ座標計算部5から単位4ピクセル領域の右上ピクセルのデータが入力される。その際に、バッファ11に保持されている左上ピクセルのu座標と、テクスチャ座標計算部5から入力される右上ピクセルのu座標とをセレクタ13,14にてそれぞれ選択し、減算演算器15、絶対値演算器16、および対数演算器17にてLODを計算し、計算結果を最大値セレクタ18経由でバッファ19に格納する。
図7において、次のサイクルにおいて、バッファ11に保持されている左上ピクセルのv座標と、テクスチャ座標計算部5から入力される右上ピクセルのv座標とをセレクタ13,14にてそれぞれ選択し、減算演算器15、絶対値演算器16、および対数演算器17にてLODを計算し、最大値セレクタ18が、バッファ19に保持されている値と比較して大きい方を選択し、それをバッファ19に格納する。この時点でバッファ19に保持されるLODの値は次の式(6)で表される。
図8において、以上の処理を終了すると、バッファ11に保持されている左上ピクセルのデータをバッファ12に移し、テクスチャ座標計算部5から入力されている右上ピクセルのデータをバッファ11に保持する。その後、テクスチャ座標計算部5から単位4ピクセル領域の左下ピクセルのデータが入力される。その際に、バッファ12に保持されている左上ピクセルのu座標と、テクスチャ座標計算部5から入力される左下ピクセルのu座標とをセレクタ13,14にてそれぞれ選択し、減算演算器15、絶対値演算器16、および対数演算器17にてLODを計算し、最大値セレクタ18が、バッファ19に保持されている値と比較して大きい方を選択し、それをバッファ19に格納する。
図9において、次のサイクルにおいて、バッファ12に保持されている左上ピクセルのv座標と、テクスチャ座標計算部5から入力される右上ピクセルのv座標とをセレクタ13,14にてそれぞれ選択し、減算演算器15、絶対値演算器16、および対数演算器17にてLODを計算し、最大値セレクタ18が、バッファ19に保持されている値と比較して大きい方を選択し、それをバッファ19に格納する。この時点でバッファ19に保持されるLODの値は次の式(7)で表される。
以上の手順によって単位4ピクセル領域における左上、右上、左下の各ピクセルデータを用いてのLOD計算が終了すると、最終的にバッファ19に保持されたLOD値をバッファ12に保持されている左上のピクセルデータと共にテクスチャ処理部7に出力する。但し、ピクセルを描画するか否かを示す1ビットのフラグが“0”である場合は、当該ピクセルはダミーピクセルであるので、出力せずに破棄する。
そして、バッファ11に保持されている右上ピクセルのデータをバッファ12に移してテクスチャ処理部7へ出力する。このとき、バッファ19のLOD値は同様に変更せず、前のピクセルと同じLOD値を出力する。但し、ピクセルを描画するか否かを示す1ビットのフラグが“0”である場合は、同様に当該ピクセルはダミーピクセルであるので、出力せずに破棄する。
テクスチャ座標計算部5から引き続いて入力される左下および右下のピクセルデータも同様に、バッファ11,12を介してテクスチャ処理部7に出力する。このとき、バッファ19のLOD値は、同様に変更せず、前のピクセルと同じLOD値を出力する。但し、ピクセルを描画するか否かを示す1ビットのフラグが“0”である場合は、同様に当該ピクセルはダミーピクセルであるので、出力せずに破棄する。
LOD計算部6は、以上のように、単位4ピクセル領域における左上ピクセルが入力するたびに、単位4ピクセル領域毎にLODを算出し、その算出結果をその単位4ピクセル領域で共有することを繰り返す。そして、ピクセルを描画するか否かを示す1ビットのフラグが“1”である場合に、単位4ピクセル領域で共有するLOD値を当該ピクセルのXY座標とテクスチャ座標と共にテクスチャ処理部7に出力する。
次に、テクスチャ処理部7は、前記したが、LOD計算部6から入力するテクスチャ座標およびLODの値を基に、テクスチャメモリ8上のアドレスを計算し、そのアドレスを用いてテクスチャメモリ8からテクスチャデータを読み出して所定の処理を行い、処理結果のイメージをフレームバッファ9に書き込む。このテクスチャ処理部7における処理方法は、一般的なものであるので、ここでは詳細説明は割愛するが、上記のように生成したLODの計算に用いるダミーのピクセルは、テクスチャ処理部7には入力されないので、テクスチャ処理部7は、支障なく従前通りに所定の処理を行うことができる。
以上のように、この実施の形態によれば、表示画面をXY座標の最下位ビットのみが異なり上位ビットが同じである2×2の4ピクセル領域毎に区分し、ポリゴンに含まれるピクセルが存在する各4ピクセル領域において、左上ピクセルのXY座標と当該4ピクセルの有効性を示すフラグとから、ポリゴンに含まれないがLODの計算に用いるダミーのピクセルを含む場合がある2以上のピクセルを取り出し、当該4ピクセル領域に対する1つのLODを算出するようにしたので、簡単な構成でLODを算出することができ、回路規模の小さい三次元グラフィック描画装置を実現することができる。
また、ダミーピクセルの生成時に、当該ピクセルがダミーピクセルであるか否かを示すフラグを生成してLOD計算部に渡しておき、LOD計算部は、そのフラグがダミーピクセルでないことを示す場合に、当該ピクセルのデータとLODの値とをテクスチャ処理部に出力するので、テクスチャ処理部は、支障なく所定の処理を実行することができる。
以上のように、この発明にかかる三次元グラフィック描画装置は、回路規模を小さくするのに有用である。
1 三次元グラフィック描画装置
2 セットアップ処理部
3 XY座標生成部(XY座標生成手段)
4 ダミーピクセル生成部(ダミーピクセル生成手段)
5 テクスチャ座標計算部(テクスチャ座標計算手段)
6 LOD計算部(LOD計算手段)
7 テクスチャ処理部
8 テクスチャメモリ
9 フレームバッファ
10 ポリゴン
11,12,19 バッファ
13,14 セレクタ
15 減算演算器
16 絶対値演算器(ABS)
17 対数演算器
18 最大値セレクタ
(1)〜(7) 単位4ピクセル領域
A ポリゴンに含まれるピクセル
B ダミーピクセル
2 セットアップ処理部
3 XY座標生成部(XY座標生成手段)
4 ダミーピクセル生成部(ダミーピクセル生成手段)
5 テクスチャ座標計算部(テクスチャ座標計算手段)
6 LOD計算部(LOD計算手段)
7 テクスチャ処理部
8 テクスチャメモリ
9 フレームバッファ
10 ポリゴン
11,12,19 バッファ
13,14 セレクタ
15 減算演算器
16 絶対値演算器(ABS)
17 対数演算器
18 最大値セレクタ
(1)〜(7) 単位4ピクセル領域
A ポリゴンに含まれるピクセル
B ダミーピクセル
Claims (6)
- ポリゴンにテクスチャイメージを貼り付けるテクスチャマッピング処理機能を備える三次元グラフィック描画装置において、
XY座標が最下位ビットのみが異なり上位ビットでは同じである2×2の4ピクセル領域単位に区分した表示画面において、ポリゴンに含まれるピクセルが存在する前記4ピクセル領域毎に、左上ピクセルのXY座標と当該2×2の4ピクセルの有効性を示すフラグとを生成するXY座標生成手段と、
前記XY座標生成手段から入力する1つの前記4ピクセル領域における前記左上ピクセルのXY座標と前記フラグとに基づき、後段に出力しようとするピクセルが前記ポリゴンに含まれるか否かを判断し前記ポリゴンには含まれないがLODの計算に用いる場合はダミーのピクセルとして、このダミーピクセルが含まれる場合のある2以上のピクセルのXY座標を1ピクセルずつ出力するダミーピクセル生成手段と、
前記ダミーピクセル生成手段から入力する各ピクセルのXY座標に基づき、各ピクセルの透視補正を施したテクスチャ座標を算出するテクスチャ座標計算手段と、
前記テクスチャ座標計算手段から入力する前記テクスチャ座標を蓄積し、隣り合うピクセルの前記テクスチャ座標からLODの値を1つの前記4ピクセル領域において共有する形で算出するLOD計算手段と
を備えていることを特徴とする三次元グラフィック描画装置。 - 前記ダミーピクセル生成手段は、1つの前記4ピクセル領域における左上、右上、左下の各ピクセルは、前記ポリゴンに含まれない場合でも前記ダミーのピクセルとして出力することを特徴とする請求項1に記載の三次元グラフィック描画装置。
- 前記LOD計算手段は、
前記テクスチャ座標計算手段から入力する前記テクスチャ座標を順に蓄積する2ピクセル分のバッファと、
前記2ピクセル分のバッファへの入力ピクセルと前記2ピクセル分のバッファの保持出力ピクセルとを用いて、1つの前記4ピクセル領域における左上、右上、左下の各ピクセル間のテクスチャ座標の差分からLODの値を算出する演算手段と、
前記演算手段が算出したLODの値の中での最大値を当該4ピクセル領域におけるLODの値として保持する最大値選択保持手段と
を備えていることを特徴とする請求項1に記載の三次元グラフィック描画装置。 - ポリゴンにテクスチャイメージを貼り付けるテクスチャマッピング処理機能を備える三次元グラフィック描画装置において、
XY座標が最下位ビットのみが異なり上位ビットでは同じである2×2の4ピクセル領域毎に区分した表示画面において、ポリゴンに含まれるピクセルが存在する前記4ピクセル領域のそれぞれ毎に、左上ピクセルのXY座標と当該2×2の4ピクセルの有効性を示すフラグとを生成するXY座標生成手段と、
前記XY座標生成手段から入力する1つの前記4ピクセル領域における前記左上ピクセルのXY座標と前記フラグとに基づき、後段に出力しようとするピクセルが前記ポリゴンに含まれるか否かを判断し前記ポリゴンには含まれないがLODの計算に用いる場合はダミーのピクセルとして、このダミーピクセルが含まれる場合のある2以上のピクセルのXY座標を前記ダミーピクセルであるか否かを示すフラグと共に1ピクセルずつ出力するダミーピクセル生成手段と、
前記ダミーピクセル生成手段から入力するピクセルのXY座標に基づき、各ピクセルの透視補正を施したテクスチャ座標を算出し、その算出したテクスチャ座標を前記ピクセルのXY座標と前記ダミーピクセル生成手段から入力する前記フラグと共に出力するテクスチャ座標計算手段と、
前記テクスチャ座標計算手段から入力する前記テクスチャ座標を蓄積し、隣り合うピクセルの前記テクスチャ座標からLODの値を1つの前記4ピクセル領域において共有する形で算出し、前記テクスチャ座標計算手段から入力する前記フラグが前記ダミーピクセルであることを示してない場合に、算出した前記LODの値を、蓄積した前記テクスチャ座標と前記テクスチャ座標計算手段から入力する前記ピクセルのXY座標と共に後段へ出力するLOD計算手段と
を備えていることを特徴とする三次元グラフィック描画装置。 - 前記ダミーピクセル生成手段は、1つの前記4ピクセル領域における左上、右上、左下の各ピクセルは、前記ポリゴンに含まれない場合でも前記ダミーのピクセルとし、それを示す前記フラグと共に出力することを特徴とする請求項4に記載の三次元グラフィック描画装置。
- 前記LOD計算手段は、
前記テクスチャ座標計算手段から入力する前記テクスチャ座標を順に蓄積する2ピクセル分のバッファと、
前記2ピクセル分のバッファへの入力ピクセルと前記2ピクセル分のバッファの保持出力ピクセルとを用いて、1つの前記4ピクセル領域における左上、右上、左下の各ピクセル間のテクスチャ座標の差分からLODの値を算出する演算手段と、
前記演算手段が算出したLODの値の中での最大値を当該4ピクセル領域におけるLODの値として保持する最大値選択保持手段と、
前記テクスチャ座標計算手段から入力する前記フラグが前記ダミーピクセルであることを示してない場合に、前記最大値選択保持手段が保持している前記LODの値を、前記バッファに蓄積した前記テクスチャ座標と前記テクスチャ座標計算手段から入力する前記ピクセルのXY座標と共に後段へ出力する出力制御手段と
を備えていることを特徴とする請求項4に記載の三次元グラフィック描画装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007035129A JP2008198105A (ja) | 2007-02-15 | 2007-02-15 | 三次元グラフィック描画装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007035129A JP2008198105A (ja) | 2007-02-15 | 2007-02-15 | 三次元グラフィック描画装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2008198105A true JP2008198105A (ja) | 2008-08-28 |
Family
ID=39756963
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2007035129A Pending JP2008198105A (ja) | 2007-02-15 | 2007-02-15 | 三次元グラフィック描画装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2008198105A (ja) |
-
2007
- 2007-02-15 JP JP2007035129A patent/JP2008198105A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI602148B (zh) | 用於紋理映射至非正交網格的梯度調整 | |
| TWI272014B (en) | Color compression using an edge data bitmask in a multi-sample anti-aliasing scheme | |
| JP6185211B1 (ja) | 適応的シェーディングによるテクスチャルックアップを使用した帯域幅低減 | |
| KR101639852B1 (ko) | 그래픽 프로세싱을 위한 픽셀 값 압축 | |
| TWI789452B (zh) | 執行基於採樣繪圖的圖形處理器及其操作方法 | |
| US11983848B2 (en) | AI frame engine for mobile edge | |
| KR20160051154A (ko) | 렌더링 방법, 렌더링 장치 및 전자 장치 | |
| TW200818054A (en) | Tile based precision rasterization in graphics pipeline | |
| US8130234B2 (en) | Computer graphics rendering apparatus and method | |
| TWI622016B (zh) | Depicting device | |
| CN109643462B (zh) | 基于渲染引擎的实时图像处理方法以及显示设备 | |
| JPWO2008126392A1 (ja) | 画像生成装置及び画像生成方法 | |
| TW200807327A (en) | Texture engine, graphics processing unit and texture processing method thereof | |
| CN115643391A (zh) | 热力图生成方法、装置、电子设备和存储介质 | |
| JP4707782B2 (ja) | 画像処理装置およびその方法 | |
| US11055820B2 (en) | Methods, apparatus and processor for producing a higher resolution frame | |
| JP2006221650A5 (ja) | ||
| JP4183082B2 (ja) | 3次元画像描画装置および3次元画像描画方法 | |
| CN107016638A (zh) | 于系统存储器中产生α提示的方法及其图形装置 | |
| US20110122140A1 (en) | Drawing device and drawing method | |
| JP2008198105A (ja) | 三次元グラフィック描画装置 | |
| CN119698636A (zh) | 用于图像处理的方法、装置及存储介质 | |
| JP3587105B2 (ja) | 図形データ処理装置 | |
| JPH11203504A (ja) | ビデオゲーム装置に於ける画像処理方法 | |
| WO2012168984A1 (ja) | ウィンドウ合成装置 |