(57)【特許請求の範囲】
【請求項１】
ポリゴンまでの距離などに応じてそれぞれ異なる解像度のミップマップデータを張り付けるためテクスチャーメモリよりミップマップデータを読み出すミップマップデータ読出方式において、
一辺が２の累乗（ｋとする）のサイズでミップマップデータを作成するテクスチャー作成手段と、
一辺の最大アドレスサイズが２k+1 であり、このアドレス領域に前記テクスチャー作成手段で作成したテクスチャーの元画像と、元画像に対し一辺が１／２，１／４，１／８・・・の大きさの画像をアドレス昇順に沿って記録したテクスチャーメモリとを備え、
ミップマップの切り替え制御において、視点座標系の距離に対応したアドレスを算出し、該算出したアドレス対応の画像を前記テクスチャーメモリより読み出し、この画像をポリゴンのテクスチャー面に張り付け、
かつ、前記ミップマップの切り替え制御は、
論理的ＵＶ座標値で表されるポリゴンのドットに対し、テクスチャーのドットがいくつ分に対応しているかをΔ値として定義し、Δ値が１以上の場合にはポリゴンが縮小方向になっているとし、
ポリゴン上の点におけるテクスチャーアドレスのΔ値を求め、
前記Δ値の上位ビットにより、テクスチャーアドレスをシフトして前記テクスチャーメモリより読み出すべきアドレスを求めることを特徴とするミップマップデータの高速読出方式。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ポリゴンに張るテクスチャーのミップマップ（ＭＩＰＭＡＰ）データを高速に読み出す方式に関する。
【０００２】
【従来の技術】
３ＤのＣＧ描画用回路において、描画に際し、座標変換やクリッピング，光源計算などのジオメトリ処理を施して３次元モデルが定義される。該３次元モデルの定義は描画対象基本要素とするポリゴンの組合わせによって行われ、各ポリゴンの各面に対してテクスチャー（絵柄）を張り付ける処理がなされる。
かかる処理において、視点座標系で表示されるポリゴンまでの距離，方向に応じてその面に絵柄の解像度を変えて張り付けるＭＩＰＭＡＰテクスチャーの技術が用いられている。これは近くに存在するものは解像度の高い画像を張り付け、遠くに表示されるものは小さく見えるため粗い画像に差し替えて表示するものである。ポリゴンまでの距離に応じて解像度を変えないと、ざらざらした画像となりモアレと言われる模様が発生する可能性があるからである。
ここで解像度とはテクスチャーを構成する縦横の画素の個数の組を示す。したがって画素の個数が多いほど解像度が高くなる。
【０００３】
図５は、従来のＭＩＰＭＡＰテクスチャー画像の格納状態を説明するための図であり、図６は、ＭＩＰＭＡＰテクスチャー画像を異方性マッピングしたときの格納状態を説明するための図である。
図５は、元画像２０に対し、縦横１／２の画像２０ａ，縦横１／４の画像２０ｂ，縦横１／８の画像２０ｃの各画像がぞれぞれの領域（バッファ）に管理されている。図６は、横軸方向および縦軸方向の倍率をそれぞれ異なる倍率分の１にした画像２２ａ，２３ａ，画像２２ｂ，２３ｂ，画像２２ｃ，２３ｃをそれぞれマッピングしたものである。
【０００４】
【発明が解決しようとする課題】
通常、テクスチャーの各画像はこのようにばらばらのアドレス領域に確保されている。すなわち、解像度の異なるものを別々に管理し、ある距離になったとき他の画像に切り替えるという指示を回路に送出しており、アドレスのオフセット値（画像がある大きさになったときに与えられる）の切り替え制御、およびアドレスの幅を計算で切り替える制御を回路に対し行っている。
従来のミップマップ用のテクスチャーはこのように先頭のオフセット値を別々に管理し、アドレス変換を行っている。したがって管理および処理が煩雑であるという欠点があった。
また、切り替えるタイミングとしてポリゴン面が視点に対して垂直に近づいた場合には、最適な切り替えが難しいという問題があった。
【０００５】
本発明の目的は、ＭＩＰＭＡＰのテクスチャーを一辺が２の累乗サイズのバッファにまとめて入れることにより、簡単にＭＩＰＭＡＰテクスチャーを切り替えることができるミップマップデータの高速読出方式を提供することにある。
【０００６】
【課題を解決するための手段】
前記目的を達成するために本発明によるミップマップデータの高速読出方式は、ポリゴンまでの距離などに応じてそれぞれ異なる解像度のミップマップデータを張り付けるためテクスチャーメモリよりミップマップデータを読み出すミップマップデータ読出方式において、一辺が２の累乗（ｋとする）のサイズでミップマップデータを作成するテクスチャー作成手段と、一辺の最大アドレスサイズが２k+1 であり、このアドレス領域に前記テクスチャー作成手段で作成したテクスチャーの元画像と、元画像に対し一辺が１／２，１／４，１／８・・・の大きさの画像をアドレス昇順に沿って記録したテクスチャーメモリとを備え、ミップマップの切り替え制御において、視点座標系の距離に対応したアドレスを算出し、該算出したアドレス対応の画像を前記テクスチャーメモリより読み出し、この画像をポリゴンのテクスチャー面に張り付け、かつ、前記ミップマップの切り替え制御は、論理的ＵＶ座標値で表されるポリゴンのドットに対し、テクスチャーのドットがいくつ分に対応しているかをΔ値として定義し、Δ値が１以上の場合にはポリゴンが縮小方向になっているとし、ポリゴン上の点におけるテクスチャーアドレスのΔ値を求め、前記Δ値の上位ビットにより、テクスチャーアドレスをシフトして前記テクスチャーメモリより読み出すべきアドレスを求めるように構成されている。
【０００７】
【作用】
上記構成によれば、ＭＩＰＭＡＰの切り替えは、アドレスのシフトだけで可能となり、最適な切り替えを簡単な回路で実現することができる。
【０００８】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を詳しく説明する。
図１は、本発明によるミップマップデータの高速読出方式を適用したポリゴンの実施の形態を示す図で、（ａ）は回転させた場合、（ｂ）は遠ざかった場合をそれぞれ示している。
（ａ）に示すようにポリゴン面に画像２が貼り付けられたポリゴン１が回転し（ｂ）になった場合、斜めから眺めた形状の画像２ａを貼り付けることとなる。このとき、アドレスのシフトのみの簡単な演算で画像２ａに切り替える。
つぎに（ｃ）に示すようにポリゴン面に画像４が貼り付けられたポリゴン３が遠ざかり（ｄ）になった場合、縮小化（解像度が小さい）した画像２ａを貼り付けることとなる。このときは、アドレスのシフトのみの簡単な演算で画像４ａに切り替える。
【０００９】
図２は、本発明によるミップマップデータの高速読出方式の回路の実施の形態を示すブロック図である。
テクスチャー作成手段１１は、一辺が２の累乗（ｋとする）のサイズのミップマップデータを作成する。そのミップマップデータは元画像，元画像の１／ｋの画像（縦を１／ｍ，横を１／ｎにもできる，但しｎ，ｍ；自然数）であり、これら画像が予めＴｅｘメモリ９に格納される。
塗りつぶし回路５の補間回路はＴｅｘアドレス６とＴｅｃアドレスΔ値７を有している。ミップマップデータの読み出しアドレス値の作成では、Ｔｅｘアドレス６がシフト回路８に送られ、ＴｅｃアドレスΔ値７で指定されるビット数だけＴｅｘアドレス６がシフトする。そして、Ｔｅｘアドレスの上位にビットが付加されてテクスチャーアドレスが生成される。
このようにして生成されたテクスチャーアドレスでテクスチャーメモリ９内のポリゴンへの距離に対応するテキスチャーデータ（ミップマップ画像）が読み出される。このテクスチャーデータ１０はポリゴンのピクセルへ送られ張り付け処理が施される。
【００１０】
図３は、テクスチャーメモリの元画像，縮小画像の格納状態を説明するための図である。
図２におけるテクスチャーメモリ９のアドレス領域内容を示しており、Ｕ方向に２n+1 のアドレス幅を、Ｖ方向に２m+1 のアドレス幅を持っている。
元画像は２n ，２m のアドレスに格納されている。Ｕ方向は順番に２n-1 ２n-2 ２n-3・・・のアドレス幅となり、Ｖ方向は順番に２m-1 ２m-2 ２m-3・・・のアドレス幅となっている。
【００１１】
図４は、テクスチャーアドレスの求め方を説明するための図である。
ここでテクスチャーアドレスの△値とは描画しているポリゴンのピクセルの中にテクスチャーアドレスがどのくらいの割合で対応しているかの度合を示すものである。すなわち、ポリゴンはフレームバッファに書かれており、ドットで構成されている。ポリゴンのドットに対し、テクスチャーのドットがいくつ分対応しているかがΔ値である。
図において、アドレスのΔ値が１〜２，２〜４ということは縮小方向であり１つのドットに対しテクスチャーが複数ドットに対応していることである。
【００１２】
まず、元の画像に対する論理的ＵＶ座標値を出し、そのドットにおける適正なΔ値を求めおく。そのアドレス上のビットが何処に立っているかによってシフタを切り替える（どれを選ぶか）ことによりテクスチャーメモリに対しどこをアクセスしていいか求めることができる。
元画像より大きさが１／２になっていれば、アドレスのΔ値は１〜２であるので、右に１ビットシフトさせる。上位に１ビットを付加することにより目的のアドレスを算出できる。
同様にアドレスのΔ値が２〜４では、右に２ビットシフトさせ、上位に２ビット付加する。
【００１３】
以上のようにΔ値は隣（上（下）と左（右））のピクセル座標との差分を求める。４並列以上のピクセルエンジン（塗りつぶし回路）を持つときは簡単な回路（差分回路）の追加でできる。また、△値は補間処理により求めることができる。
【００１４】
【発明の効果】
以上、説明したように本発明は、ポリゴンまでの距離などに応じてそれぞれ異なる解像度のミップマップデータを張り付けるためテクスチャーメモリよりミップマップデータを読み出すミップマップデータ読出方式において、一辺が２の累乗（ｋとする）のサイズでミップマップデータを作成し、一辺の最大アドレスサイズが２k+1 であるテクスチャーメモリに、テクスチャー作成手段て作成したテクスチャーの元画像と、元画像に対し一辺が１／２，１／４，１／８・・・の大きさの画像をアドレス昇順に沿って格納しておき、ミップマップの切り替え制御において、視点座標系の距離に対応したアドレスを算出し、該算出したアドレス対応の画像をテクスチャーメモリより読み出すものである。
したがって、テクスチャー座標の切り替えの必要がなく、アドレスがシフトのみで求まるので、回路の簡素化を図れ、コストの低減化を実現することができる。また、テクスチャー座標の切り替えを行っていないので、オブジェクト（ポリゴン）へ目的のデータを高速に与えることができる。
さらに画像回路に対する前処理が簡略化されるので、処理が軽くなる。
また、斜めになったポリゴンのマッピング（異方性マッピング）が簡単にできる。
【図面の簡単な説明】
【図１】本発明によるミップマップデータの高速読出方式を適用したポリゴンの実施の形態を示す図で、（ａ）は回転させた場合、（ｂ）は遠ざかった場合をそれぞれ示している。
【図２】本発明によるミップマップデータの高速読出方式の回路の実施の形態を示すブロック図である。
【図３】テクスチャーメモリの元画像，縮小画像の格納状態を説明するための図である。
【図４】テクスチャーアドレスの求め方を説明するための図である。
【図５】従来のＭＩＰＭＡＰテクスチャー画像の格納状態を説明するための図である。
【図６】ＭＩＰＭＡＰテクスチャー画像を異方性マッピングしたときの格納状態を説明するための図である。
【符号の説明】
１，３  ポリゴン
２，４  ポリゴン面の画像
２ａ  斜めから見た画像
４ａ  縮小化した画像
５  塗りつぶし回路
６  Ｔｅｘアドレス
７  ＴｅｃアドレスΔ値
８  シフト回路
９  テクスチャーメモリ（Ｔｅｘメモリ）
１０  テクスチャーデータ
１１  テクスチャー作成手段
【図１】
0004024072.tif 000002
【図２】
0004024072.tif 000003
【図３】
0004024072.tif 000004
【図４】
0004024072.tif 000005
【図５】
0004024072.tif 000006
【図６】
0004024072.tif 000007