(57)【要約】【課題】グラフィック処理システムの実施形態は、除算以外の演算を使用する、簡単なハードウェア実装を容易にする。【解決手段】テクスチャ座標を計算するグラフィック処理システム。グラフィック処理システムの実施形態は、メモリ装置と、テクスチャ座標ジェネレータと、および表示装置を含む。メモリ装置は、複数のテクスチャマップを格納するように構成される。テクスチャ座標ジェネレータは、メモリ装置に結合される。テクスチャ座標ジェネレータは、除算演算を除く算術演算を使用して最終テクスチャ座標を計算するように構成される。表示装置は、テクスチャ座標ジェネレータに結合される。表示装置は、最終テクスチャ座標による複数のテクスチャマップの１つの表現を表示するように構成される。【選択図】図１
2008276782.tif 000002
【特許請求の範囲】
【請求項１】
テクスチャ座標を計算するグラフィック処理システムであって、
複数のテクスチャマップを格納するメモリ装置と、
除算演算以外の算術演算を使用して最終テクスチャ座標を計算する、前記メモリ装置に結合されるテクスチャ座標ジェネレータと、
前記最終テクスチャ座標に従って、前記複数のテクスチャマップの１つの表現を表示する前記テクスチャ座標ジェネレータに結合される表示装置と、を備えるグラフィック処理システム。
【請求項２】
前記テクスチャ座標ジェネレータは、浮動小数点テクスチャ座標の整数成分と小数成分を特定する特定ロジックを備える請求項１のグラフィック処理システム。
【請求項３】
前記特定ロジックは、下記の式に従って、前記浮動小数点テクスチャ座標の前記整数成分を特定するように更に構成され、
Ｓｉ＝ｆｌｏａｔ（ｉｎｔ（Ｓ））
この式で、Ｓは前記浮動小数点テクスチャ座標を表わし、Ｓｉは、前記浮動小数点テクスチャ座標の前記整数成分を表わす請求項２のグラフィック処理システム。
【請求項４】
前記テクスチャ座標ジェネレータは、下記式に従って、前記浮動小数点テクスチャ座標の前記整数成分を固定小数点整数成分に変換する中間計算ロジックを更に備え、
Ｉ＝ｉｎｔ（Ｓｉ）
この式で、Ｉは固定小数点整数成分を表わす請求項３のグラフィック処理システム。
【請求項５】
前記特定ロジックは、下記の式に従って、前記浮動小数点テクスチャ座標の前記小数成分を特定するように更に構成され、
Ｓｆ＝ｆｌｏａｔ（ｆｒａｃ（Ｓ））
この式で、Ｓは前記浮動小数点テクスチャ座標を表わし、Ｓｆは前記浮動小数点テクスチャ座標の前記小数成分を表わす請求項２のグラフィック処理システム。
【請求項６】
前記テクスチャ座標ジェネレータは、下記の式に従って、前記中間テクスチャ座標を計算する中間計算ロジックを更に備え、
Ｕ’＝ｉｎｔ（Ｓｆ×ｗｉｄｔｈ）
この式で、Ｕ’は中間テクスチャ座標を表わし、ｗｉｄｔｈは前記複数のテクスチャマップの１つの寸法を表わす請求項５のグラフィック処理システム。
【請求項７】
前記テクスチャ座標ジェネレータは、下記の式に従って、前記中間テクスチャ座標に等しい前記最終テクスチャ座標を計算する最終計算ロジックを更に備え、
Ｕ＝Ｕ’
この式で、Ｕは最終テクスチャ座標を表わす請求項６のグラフィック処理システム。
【請求項８】
前記テクスチャ座標ジェネレータは、前記浮動小数点テクスチャ座標の前記整数成分に基づく固定小数点整数成分の最下位ビットの値を特定するＬＳＢロジックを更に備える請求項６のグラフィック処理システム。
【請求項９】
前記テクスチャ座標ジェネレータは、下記の式に従って、テクスチャミラーリング演算に対して、前記最終テクスチャ座標を計算する最終計算ロジックを更に備え、
ＬＳＢ＝０に対して、Ｕ＝Ｕ’および
ＬＳＢ＝１に対して、Ｕ＝ｗｉｄｔｈ−Ｕ’
これらの式で、Ｕは前記最終テクスチャ座標を表わし、ＬＳＢは前記固定小数点整数成分の前記最下位ビットの前記値を表わす請求項８のグラフィック処理システム。
【請求項１０】
前記除算演算は、商除算演算または剰余除算演算を備える請求項１のグラフィック処理システム。
【請求項１１】
テクスチャ座標を計算する方法であって、
浮動小数点テクスチャ座標の整数成分を特定することと、
前記浮動小数点テクスチャ座標の小数成分を特定することと、
除算演算以外の算術演算を使用して、前記浮動小数点テクスチャ座標の前記小数成分に基づいて中間テクスチャ座標を計算することと、を備える方法。
【請求項１２】
下記の式に従って、前記浮動小数点テクスチャ座標の前記整数成分と前記小数成分を特定することを更に備え、
Ｓｉ＝ｆｌｏａｔ（ｉｎｔ（Ｓ））、および
Ｓｆ＝ｆｌｏａｔ（ｆｒａｃ（Ｓ））
これらの式で、Ｓは前記浮動小数点テクスチャ座標を表わし、Ｓｉは前記浮動小数点テクスチャ座標の前記整数成分を表わし、Ｓｆは前記浮動小数点テクスチャ座標の前記小数成分を表わす請求項１１の方法。
【請求項１３】
前記除算演算は、商除算演算を備える請求項１１の方法。
【請求項１４】
前記除算演算は、剰余除算演算を備える請求項１１の方法。
【請求項１５】
下記の式に従って、前記中間テクスチャ座標を計算することを更に含み、
Ｕ’＝ｉｎｔ（Ｓｆ×ｗｉｄｔｈ）
この式で、Ｕ’は前記中間テクスチャ座標を表わし、Ｓｆは前記浮動小数点テクスチャ座標の前記小数成分を表わし、ｗｉｄｔｈはテクスチャマップの寸法を表す請求項１１の方法。
【請求項１６】
前記中間テクスチャ座標に基づいて、最終テクスチャ座標を計算することを更に備える請求項１１の方法。
【請求項１７】
下記の式に従って、テクスチャラッピング演算に対して、前記中間テクスチャ座標に等しい前記最終テクスチャ座標を計算することを更に備え、
Ｕ＝Ｕ’，
この式で、Ｕは前記最終テクスチャ座標を表わし、Ｕ’は前記中間テクスチャ座標を表わす請求項１６の方法。
【請求項１８】
下記の式に従って、前記浮動小数点テクスチャ座標の前記整数成分を、前記固定小数点整数成分に変換することを更に備え、
Ｉ＝ｉｎｔ（Ｓｉ）
この式で、Ｉは前記固定小数点整数成分を表わし、Ｓｉは前記浮動小数点テクスチャ座標の前記整数成分を表わす請求項１６の方法。
【請求項１９】
下記の式に従って、テクスチャミラーリング演算に対する前記固定小数点整数成分の前記最下位ビットの値の決定に応答して、前記最終テクスチャ座標を計算することを含み、
ＬＳＢ＝０に対して、Ｕ＝Ｕ’および
ＬＳＢ＝１に対して、Ｕ＝ｗｉｄｔｈ−Ｕ’
これらの式で、Ｕは前記最終テクスチャ座標を表わし、Ｕ’は前記中間テクスチャ座標を表わし、ｗｉｄｔｈはテクスチャマップの寸法を表わし、ＬＳＢは、前記固定小数点整数成分の前記最小有効ビットの前記値を表わす請求項１８の方法。
【請求項２０】
デジタルプロセッサにより実行可能で、テクスチャ座標の計算を容易にする演算を実行するマシン読取可能指令のプログラムを具現化するコンピュータ読取可能格納媒体であって、前記演算は、
浮動小数点テクスチャ座標の整数成分を特定することと、
前記浮動小数点テクスチャ座標の小数成分を特定することと、
除算以外の算術演算を使用して、前記浮動小数点テクスチャ座標の前記固定小数点小数に基づいて中間テクスチャ座標を計算することと、を備えるコンピュータ読取可能格納媒体。
【請求項２１】
前記演算は、下記の式に従って、テクスチャラッピング演算に対して前記中間テクスチャ座標に等しい前記最終テクスチャ座標を計算する演算を更に含み、
Ｕ＝Ｕ’
この式で、Ｕは最終テクスチャ座標を表わし、Ｕ’は前記中間テクスチャ座標を表わす請求項２０のコンピュータ読取可能格納媒体。
【請求項２２】
前記演算は、
Ｉは固定小数点整数成分を表わし、Ｓｉは前記浮動小数点テクスチャ座標の前記整数成分を表わす下記の式に従って、前記浮動小数点テクスチャ座標の前記整数成分を、前記固定小数点整数成分に変換することと、
Ｉ＝ｉｎｔ（Ｓｉ）
前記固定小数点整数成分の最下位ビットの値を特定することと、
Ｕは最終テクスチャ座標を表わし、ＬＳＢは前記固定小数点整数成分の前記最下位ビットの前記値を表わす下記の式に従って、テクスチャミラーリング演算に対する前記最終テクスチャ座標を計算することと
ＬＳＢ＝０に対して、Ｕ＝Ｕ’および
ＬＳＢ＝１に対して、Ｕ＝ｗｉｄｔｈ−Ｕ’
を更に備える請求項２０のコンピュータ読取可能格納媒体。
【請求項２３】
テクスチャ座標を計算する装置であって、
浮動小数点テクスチャ座標の整数成分を特定する手段と、
前記浮動小数点テクスチャ座標の小数成分を特定する手段と、
除算演算以外の算術演算を使用して、前記浮動小数点テクスチャ座標の前記小数成分に基づいて、中間テクスチャ座標を計算する手段と、を備える装置。
【請求項２４】
下記の式に従って、テクスチャラッピング演算に対して前記中間テクスチャ座標に等しい前記最終テクスチャ座標を計算する手段を更に備え、
Ｕ＝Ｕ’，
この式で、Ｕは最終テクスチャ座標を表わし、Ｕ’は前記中間テクスチャ座標を表わす請求項２３の装置。
【請求項２５】
Ｉは固定小数点整数成分を表わし、Ｓｉは浮動小数点テクスチャ座標の整数成分を表わす下記の式に従って、
Ｉ＝ｉｎｔ（Ｓｉ）
前記浮動小数点テクスチャ座標の前記整数成分を固定小数点整数成分に変換する手段と、
前記固定小数点整数成分の最下位ビットの値を特定する手段と、
Ｕは最終テクスチャ座標を表わし、ＬＳＢは前記固定小数点整数成分の前記最下位ビットの前記値を表わす下記の式に従って、
ＬＳＢ＝０に対して、Ｕ＝Ｕ’
ＬＳＢ＝１に対して、Ｕ＝ｗｉｄｔｈ−Ｕ’
テクスチャミラーリング演算に対する前記最終テクスチャ座標を計算する手段と、
を更に備える請求項２３の装置。
【発明の詳細な説明】
【背景技術】
【０００１】
ビデオグラフィックスの適用においては、異なる形状およびサイズのグラフィカル画像を描くために多数の技術が使用される。典型的には、グラフィカル画像は数千あるいは数百万もの三角形のような基本形から構成されている。各三角形はその頂点の座標により定義される。グラフィックス描画の三次元的外観を強調するために、テクスチャを三角形または他の描画ユニットのそれぞれに追加することができる。テクスチャ座標は、対象物が表示装置上で描画されるときに、テクスチャマップをそれぞれの対象物に割り当てるために使用される。テクスチャマップはテクスチャの標準ブロックを形成するために組み合わされたテクスチャ要素（テクセル）のアレイである。
【発明の開示】
【発明が解決しようとする課題】
【０００２】
描画される対象物にテクスチャをマッピングすることは、描画される場面における種々の対象物の深度（つまり、見る人に対する距離）のために複雑であり得る。描画される対象物の方位もまた、テクスチャを描画対象物にマッピングするときの複雑さに影響を与え得る。更に、テクスチャを単一の対象物に適用することは対象物が表示装置上でその深度と方位を変えると複雑になり得る。
【０００３】
対象物にテクスチャをマッピングするために、１つまたは２つ以上のテクスチャマップを対象物の表面領域にわたって配列できる。テクスチャラッピングおよびテクスチャミラーのような異なるタイプのアレイパターンが使用できる。しかし、それぞれの場合においては、各テクスチャマップに対する座標はいくつかのテクスチャマップが表示の正しい領域において描画されるように算出される。
【０００４】
２の非冪乗テクスチャ座標ラッピングおよびミラーパターンを実装するための従来の技術は、分割器を使用してテクスチャ座標を２の非冪乗テクスチャマップサイズでテクスチャ空間において分割して結果を得る。例としては、下記の従来の方程式が使用される。
Ｕ’＝（ｉｎｔ（Ｓ＊ｗｉｄｔｈ））％ｗｉｄｔｈ，および
Ｉ＝（ｉｎｔ（Ｓ＊ｗｉｄｔｈ））／ｗｉｄｔｈ，
ここでＳは浮動小数点テクスチャ座標を表わし、Ｕ’は中間テクスチャ座標を表わし、Ｉは固定小数点整数成分を表わし、ｗｉｄｔｈはテクスチャマップの寸法を表わす。中間テクスチャ座標Ｕ’の計算は剰余除算演算（例えば、法による演算）を実装し、固定小数点整数成分Ｉの計算は商除算演算を実装する。
【０００５】
テクスチャ座標ラッピングパターンに対しては、最終テクスチャ座標Ｕは下記の、
Ｕ＝Ｕ’
に従って算出される。
【０００６】
テクスチャ座標ミラーパターンに対しては、最終テクスチャ座標Ｕは下記の、
Ｉ％１＝０に対しては、Ｕ＝Ｕ’，および
Ｉ％１＝１に対しては、Ｕ＝ｗｉｄｔｈ−Ｕ’
に従って算出される。
【０００７】
言い換えれば、テクスチャマップは描画された対象物の表面領域にわたるテクスチャマップのアレイにおいて、テクスチャマップのインスタンスが交互の場合に対しては反転され、またはミラーリングされる。同様な方程式が垂直方向において、テクスチャマップの幅の代わりにテクスチャマップの高さを使用して実装される。
【０００８】
不都合なことに、除算演算つまり中間テクスチャ座標Ｕ’を計算するための剰余除算演算と、固定小数点整数成分Ｉを計算する商除算演算の実装は計算上広範囲にわたる。更に、この構成は、これらの除算演算の実装により消費される表面領域のためにハードウェア内で実装するには高価である。
【課題を解決するための手段】
【０００９】
システムの実施形態を説明する。１つの実施形態において、システムはテクスチャ座標を計算するためのグラフィック処理システムである。グラフィック処理システムの実施形態は、メモリ装置と、テクスチャ座標ジェネレータと、表示装置を含む。メモリ装置は、複数のテクスチャマップを格納するように構成される。テクスチャ座標ジェネレータはメモリ装置に結合される。テクスチャ座標ジェネレータは除算演算以外の算術演算を使用して最終テクスチャ座標を計算するように構成される。表示装置はテクスチャ座標ジェネレータに結合される。表示装置は最終テクスチャ座標に従って、複数のテクスチャマップの１つの表現を表示するように構成される。グラフィック処理システムの実施形態は、除算以外の演算を使用して簡単なハードウェア実装を容易にする。システムの他の実施形態もまた説明する。
【００１０】
方法の実施形態もまた説明する。１つの実施形態において、本方法はテクスチャ座標を計算する方法である。本方法の実施形態は、浮動小数点テクスチャ座標の整数成分を特定することと、浮動小数点テクスチャ座標の小数成分を特定することと、除算以外の算術演算を使用して浮動小数点テクスチャ座標の小数部分に基づいて中間テクスチャ座標を計算することとを含む。本方法の他の実施形態もまた説明する。
【００１１】
他の実施形態もまた説明する。本発明の実施形態の他の形態および利点は、本発明の原理の例により示された付随する図面と連係する下記の詳細な説明により明白になるであろう。
【発明を実施するための最良の形態】
【００１２】
図１は、コンピュータグラフィックスシステム１００の１つの実施形態の模式ブロック図を示している。コンピュータグラフィックスシステム１００は下記に説明するように、テクスチャマッピングと詳細レベル計算を実装できる。図１に示されているように、コンピュータグラフィックスシステム１００は高度集積システムであり、集積プロセッサ回路１０２と、メモリ装置１０４と、および表示モニタ１０６を含む。１つの実施形態において、メモリ装置１０４はリードオンリメモリ（ＲＯＭ）とランダムアクセスメモリ（ＲＡＭ）を含む。他の実施形態は、異なるタイプのメモリ装置を含むことができる。高度集積アーキテクチャにより電力の節約が可能になる。他の実施形態は、周辺コントローラ（図示せず）のような他の構成要素を含むことができる。
【００１３】
示されている集積プロセッサ回路１０２は、メモリ管理ユニット（ＭＭＵ）１１０と１つまたは２つ以上の命令および／またはデータキャッシュ１１２を含む処理ユニット（ＣＰＵ）１０８を含む。集積プロセッサ回路１０２はまた、メモリ１０４とのインタフェースを取るためのメモリインタフェース１１４も含む。集積プロセッサ回路１０２はまた、テクスチャエンジン１１８を含むグラフィックスコントローラ１１６も含む。１つの実施形態において、テクスチャエンジン１１８は図３に示され、下記により詳細に説明するテクスチャパイプライン１３０に関連する１つまたは２つ以上のテクスチャ演算を実装する。特に、テクスチャエンジン１１８は１つまたは２つ以上のテクスチャマップをグラフィカル対象物に適用できる。テクスチャエンジン１１８は、詳細レベル計算に基づいてどのテクスチャマップを適用するかを決定する。グラフィックスコントローラ１１６は、バス１２０により処理ユニット１０８とメモリインタフェース１１４に結合される。
【００１４】
直接メモリアクセス（ＤＭＡ）コントローラ１２２もまたバス１２０に結合される。ＤＭＡコントローラ１２２はバス１２０をインタフェース（Ｉ／Ｆ）バス１２４に結合し、インタフェース（Ｉ／Ｆ）バス１２４にはエンコーダ／デコーダ（ＣＯＤＥＣ）インタフェース、パラレルインタフェース、シリアルインタフェース、および入力装置インタフェースのような他のコアロジック関数構成要素（図示せず）を結合できる。１つの実施形態において、ＤＭＡコントローラ１２２はメモリインタフェース１１４を介して、メモリ装置１０４に格納されているデータにアクセスし、データをＩ／Ｆバス１２４に接続されている周辺装置に提供する。ＤＭＡコントローラ１２２はまた、データをメモリインタフェース１１４を介して周辺装置からメモリ装置１０４に送る。
【００１５】
１つの実施形態において、グラフィックスコントローラ１１６はメモリインタフェース１１４を介してメモリ装置１０４からグラフィカルデータを要求しアクセスする。その後、グラフィックスコントローラ１１６はデータを処理し処理データをフォーマットしてフォーマットされたデータを表示装置１０６に送る。いくつかの実施形態においては、表示装置１０６は液晶ディスプレイ（ＬＣＤ）、陰極線管（ＣＲＴ）、またはテレビ（ＴＶ）モニタであってよい。コンピュータグラフィックスシステム１００の他の実施形態は、より多くのまたは少ない構成要素を含んでもよく、より少ないまたは多くの演算を実装できてもよい。
【００１６】
図２は、複数の詳細レベルに対応する複数のテクスチャマップ１３０の１つの実施形態の模式図を示している。特に、複数のテクスチャマップ１３０はテクセルの１６×１６アレイを含む高解像度テクスチャマップ１３２を含む。複数のテクスチャマップ１３０はまた単一テクセルである低解像度テクスチャマップ１３９も含む。高解像度テクスチャマップ１３２と低解像度テクスチャマップ１３９の間に、異なる解像度を有するいくつかの中間テクスチャマップ１３４、１３６、および１３８がある。例えば、テクスチャマップ１３４はテクセルの８×８アレイを含み、テクスチャマップ１３６はテクセルの４×４アレイを含み、テクスチャマップ１３８はテクセルの２×２アレイを含む。
【００１７】
複数のテクスチャマップ１３０のそれぞれは、テクスチャ表現の詳細は複数のテクスチャマップ１３０間で異なるので、詳細レベル（ＬＯＤ）に対応する。例えば、高解像度テクスチャマップ１３２は第１中間テクスチャマップ１３４よりもより詳細なテクスチャを有している。そのため、高解像度テクスチャマップ１３２は、非常に詳細なテクスチャを見る人に近いものとして表示装置１０６上に表現される対象物または対象物の一部にマッピングするために使用できる。同様に、第１中間テクスチャマップ１３４は、第２中間テクスチャマップ１３６よりもより詳細なテクスチャを有し、第２中間テクスチャマップ１３６は第３中間テクスチャマップ１３８よりもより詳細なテクスチャを有し、第３中間テクスチャマップは低解像度テクスチャマップ１３９よりもより詳細なテクスチャを有する。従って、低解像度テクスチャマップ１３９は、見る人から遠くにいるものとして表示装置１０６上で表現される対象物または対象物の一部に、詳細度が低いテクスチャをマッピングするために使用できる。複数のテクスチャマップ１３０を生成することは、圧縮、内挿、フィルタ処理などを含む種々の既知のテクスチャマップ生成技術を使用して実行できる。
【００１８】
高解像度テクスチャマップ１３２は、複数のテクスチャマップ１３０の最も詳細なテクスチャを表現するので、高解像度テクスチャマップ１３２は「レベル０」として指定できる。同様に、第１中間テクスチャマップ１３４は「レベル１」として、第２中間テクスチャマップ１３６は「レベル２」として、第３テクスチャマップ１３８は「レベル３」として、そして低解像度テクスチャマップ１３９は、「レベル４」として指定できる。更に、詳細レベル計算からの種々の値は、レベルのまたはテクスチャマップのそれぞれに対応する。このように、詳細レベル計算は表示装置１０６上に表現される対象物または対象物の一部にテクスチャを与えるために使用される複数のテクスチャマップ１３０の１つを選択するために使用できる。
【００１９】
図３Ａは、テクスチャマップ１４０の１つの実施形態の模式図を示している。テクスチャマップ１４０は任意の詳細レベルを表現できる。テクスチャマップのテクスチャは文字「Ｆ」で表わされており、それによりテクスチャミラーパタ−ンのような異なるテクスチャマッピングパタ−ンにおけるテクスチャマップ１４０の方位をここで視覚化でき説明できる。しかし、テクスチャマップ１４０の実施形態は対称および非対称テクスチャを含めて任意のタイプのテクスチャを実装できる。
【００２０】
図３Ｂは、テクスチャラッピングパタ−ン１４２の１つの実施形態の模式図を示している。示されているテクスチャラッピングパタ−ン１４２は、テクスチャマップ１４０が描画された対象物の表面領域にわたりどのように配列されているかを示し、テクスチャマップ１４０の各インスタンスは実質的に同じように方位付けられている。描画された対象物は正方形状として示されているが、描画された対象物の他の実施形態は、従ってテクスチャラッピングパタ−ン１４２は他の形状であってもよい。更に、個々のテクスチャマップ１４０は他の角度または方位で適用できる。
【００２１】
図３Ｃは、テクスチャミラーパタ−ン１４４の１つの実施形態の模式図を示している。示されているテクスチャミラーパタ−ン１４４は、テクスチャマップ１４０が描画された対象物の表面領域にわたりどのように配列されているかを示し、テクスチャマップ１４０交互のインスタンスは対向またはミラーリングされている。示されているテクスチャミラーパタ−ン１４４は描画された対象物の全表面領域にわたり、垂直および水平方向の両者でテクスチャミラーリングを実装する。
【００２２】
他の実施形態は、テクスチャミラーパタ−ン１４４の変形を実装できる。例えば、図３Ｄは単一ミラーインスタンスのテクスチャミラーパタ−ン１４６の１つの実施形態の模式図を示している。このテクスチャミラーパタ−ン１４６はまたテクスチャミラー１回パタ−ンとも称することができる。特に、ミラーリングされたテクスチャマップ１４０の各方位の単一インスタンスのみが描画された対象物に対して生成される。示されている実施形態において、ミラーリングされたテクスチャマップ１４０は左上隅に位置しているが、他の実施形態は描画された対象物の別の位置に単一ミラーインスタンスを実装できる。
【００２３】
図４は、テクスチャエンジン１１８における実装のための、テクスチャマッピングパイプラインの１つの実施形態の模式ブロック図を示している。示されているテクスチャマッピングパイプラインはシェイダー１５０と、テクスチャ座標ジェネレータ１５２と、テクスチャアドレスジェネレータ１５４と、テクスチャキャッシュ１５６と、およびテクスチャフィルタ１５８を含む。しかし、テクスチャマッピングパイプラインの他の実施形態はテクスチャエンジン１１８の他の実施形態において実装できる。更に、ここで説明されるいくつかの段階はグラフィックスコントローラ１１６の他の構成要素により少なくとも部分的には実装できる。
【００２４】
１つの実施形態において、シェイダー１５０は表示装置１０６上に描画される対象物に対応する頂点座標を受け取る。そしてテクスチャ座標ジェネレータ１５２は、テクスチャマッピングパタ−ンにおける各テクスチャマップ１４０の位置に対応するテクスチャ座標を生成する。１つの実施形態において、テクスチャ座標ジェネレータ１５２はまた詳細レベル計算も実装する。テクスチャ座標ジェネレータ１５２の例としての実施形態が図５に示されており下記により詳細に説明する。
【００２５】
そして、テクスチャアドレスジェネレータ１５４は詳細レベル計算に対応するテクスチャマップのメモリアドレスを決定する。テクスチャアドレスジェネレータ１５４はテクスチャマップアドレスをテクスチャキャッシュ１５６に送り、テクスチャキャッシュ１５６は要求されたテクスチャマップがキャッシュまたは別のメモリ装置内に格納されているかを判断する。テクスチャマップが別のメモリ装置に格納されていれば、テクスチャキャッシュ１５６は要求されたデータをメモリ装置から取り出して、それをテクスチャキャッシュ１５６に格納する。そして、テクスチャキャッシュ１５６は要求されたテクスチャマップのコピーをテクスチャフィルタ１５８に提供する。
【００２６】
テクスチャフィルタ１５８は、テクスチャマップのテクセルを表示装置１０６の対応するピクセルのそれぞれに相関付ける。いくつかの実施形態においては、テクセルとピクセルの間にはサイズと位置に関して１対１対応の相関がある。または、サイズに関してテクセルとピクセルの間に１対１対応の相関があってもよく、しかし、それにも拘わらずテクスチャフィルタ１５８はテクスチャの位置がピクセルの位置と整列していないので、テクスチャフィルタ処理を行う。他の実施形態においては、テクセルサイズはピクセルサイズとは異なり、従って、テクスチャフィルタ１５８は拡大または縮小を実施して、要求されたテクスチャマップのテクセルを表示装置１０６のピクセルに相関付ける。テクスチャフィルタ１５８の他の実施形態はテクスチャフィルタ処理の他のタイプを実装できる。
【００２７】
図５は、図４のテクスチャマッピングパイプラインのテクスチャ座標ジェネレータ１５２の１つの実施形態の模式ブロック図を示している。示されているテクスチャ座標ジェネレータ１５２は特定ロジック１６２、中間計算ロジック１６４、最終計算ロジック１６６、および最下位ビット（ＬＳＢ）ロジック１６８を含む。テクスチャ座標ジェネレータ１５２の他の実施形態はより少ないまたは多いロジック成分を実装できる。
【００２８】
一般的に、テクスチャ座標ジェネレータ１５２は、テクスチャラッピングパタ−ン１４２やテクスチャミラーパタ−ン１４４のようなテクスチャマッピングパタ−ンにおいて、テクスチャマップ１４０の各インスタンスに対してテクスチャ座標を生成する。いくつかの実施形態においては、テクスチャ座標の少なくともいくつかを生成することに伴う計算は実装されるテクスチャマッピングパタ−ンのタイプに依存する。
【００２９】
１つの実施形態において、特定ロジック１６２は浮動小数点テクスチャ座標Ｓの整数成分Ｓｉと、小数成分Ｓｆを特定するように構成される。整数成分Ｓｉを特定するために、特定ロジック１６２は下記の、
Ｓｉ＝ｆｌｏａｔ（ｉｎｔ（Ｓ））
を実装する。
【００３０】
小数成分Ｓｆを特定するために、特定ロジック１６２は下記の
Ｓｆ＝ｆｌｏａｔ（ｆｒａｃ（Ｓ））
を実装する。
【００３１】
これらの実装は除算演算を使用しないことに留意されたい。特に、これらの実装は商除算または剰余除算演算を使用しない。そのため、ハードウェア内での特定ロジック１６２の実装は、除算演算を使用する従来のテクスチャマッピング成分の実装よりも複雑でない。他の実施形態は、特定ロジック１６２の他の実装を使用して浮動小数点テクスチャ座標の整数および小数成分を特定する。
【００３２】
１つの実施形態において、中間計算ロジック１６４は浮動小数点テクスチャ座標Ｓの整数成分Ｓｉを、下記の
Ｉ＝ｉｎｔ（Ｓｉ）
に従って、固定小数点整数成分Ｉに変換するように構成される。
【００３３】
同様に、中間計算ロジック１６４は浮動小数点テクスチャ座標Ｓの小数成分Ｓｆに基づいて、中間テクスチャ座標Ｕ’を計算するように構成される。１つの実施形態において、中間計算ロジック１４６は下記の
Ｕ’＝ｉｎｔ（Ｓｆ×ｗｉｄｔｈ）
に従って中間テクスチャ座標Ｕ’を計算する。
【００３４】
ｗｉｄｔｈ変数は、テクスチャマップ１４０の１つの寸法を示している。しかし、他の実施形態においては、類似の演算はテクスチャマップ１４０の１つの高さ寸法を使用して実施される。代替実施形態においては、中間計算ロジック１６４は他の実装を使用して固定小数点整数成分Ｉと中間テクスチャ座標Ｕ’を計算する。
【００３５】
１つの実施形態において、最終計算ロジック１６６は最終テクスチャ座標Ｕを計算するように構成される。最終テクスチャ座標Ｕの計算は実装されるテクスチャマッピングパタ−ンのタイプに依存してもよい。例えば、浮動小数点テクスチャ座標Ｓの小数成分Ｓｆはテクスチャラッピングパタ−ン１４２に対して適切なテクスチャサイズまたは寸法（例えば、ｗｉｄｔｈ変数）により乗算されてもよい。１つの実施形態において、最終計算ロジック１６６は下記の
Ｕ＝Ｕ’
に従って、テクスチャラッピング演算に対して中間テクスチャ座標Ｕ’と等しい最終テクスチャ座標Ｕを計算するように構成される。
【００３６】
このようにして、すべてのテクスチャマップ１４０はテクスチャラッピングパタ−ン１４２に対しては同じように方位付けられる。
【００３７】
対照的に、テクスチャミラーパタ−ン１４４におけるテクスチャマップ１４０のインスタンスはすべてが同じようには方向付けられない。１つの実施形態において、方位またはテクスチャミラーパタ−ン１４４における各テクスチャマップ１４０は、固定小数点整数成分Ｉの最下位ビット（ＬＳＢ）に依存する。固定小数点整数成分ＩのＬＳＢは、それが増加するとき（水平または垂直方向のいずれか）論理ロー（つまり論理「０」）と論理ハイ（つまり論理「１」）状態の間で交互に変化するので、最終計算ロジック１６６はＬＳＢの値に依存して他の演算を実装できる。１つの実施形態において、最終計算ロジック１６６は下記の
ＬＳＢ＝０に対して、Ｕ＝Ｕ’，および
ＬＳＢ＝１に対して、Ｕ＝ｗｉｄｔｈ−Ｕ’
に従って、テクスチャミラーリング演算に対して最終テクスチャ座標Ｕを計算するように構成される。
【００３８】
別の実施形態において、固定小数点整数成分ＩのＬＳＢが論理「０」の場合は、浮動小数点テクスチャ座標Ｓの小数成分Ｓｆは、テクスチャサイズまたは寸法（つまり、ｗｉｄｔｈ変数）により乗算されテクスチャをアドレス指定する値を生成する。または、固定小数点整数成分ＩのＬＳＢが論理「１」の場合は、項（１−Ｓｆ）がテクスチャサイズまたは寸法（つまり、ｗｉｄｔｈ変数）により乗算されてテクスチャをアドレス指定する値を生成する。
【００３９】
１つの実施形態において、ＬＳＢロジック１６８は固定小数点整数成分ＩのＬＳＢの値を特定するように構成される。上述のように、固定小数点整数成分Ｉは浮動小数点テクスチャ座標Ｓの整数成分Ｓｉに基づいている。
【００４０】
１つの実施形態において、上記の成分を使用して最終テクスチャ座標を計算することは商除算、剰余除算、または他の除算演算のようないかなる除算演算も使用することなく、テクスチャ座標の計算を容易にする。従って、ハードウェアは計算の観点からはより小規模で済み設計の全体的なコストを削減する。
【００４１】
図６は、テクスチャラッピング演算に対するテクスチャ座標生成方法１７０の１つの実施形態の模式フローチャート図を示している。テクスチャ座標生成方法１７０のいくつかの実施形態は、図５のテクスチャ座標ジェネレータ１５２との連係において実装できるが、他の実施形態は他のテクスチャ座標ジェネレータとの連係において実装できる。
【００４２】
示されているテクスチャ座標生成方法１７０において、特定ロジック１６２は浮動小数点テクスチャ座標Ｓの整数成分Ｓｉを特定する（１７２）。特定ロジック１６２はまた浮動小数点テクスチャ座標Ｓの小数成分Ｓｆも特定する（１７４）。中間計算ロジック１６４は、上記のように、浮動小数点テクスチャ座標Ｓの整数成分Ｓｉを固定小数点整数成分Ｉに変換する（１７６）。中間計算ロジック１６４はまた、浮動小数点テクスチャ座標Ｓの小数成分Ｓｆに基づいて中間テクスチャ座標Ｕ’も計算する（１７８）。最終計算ロジック１６６は、最終テクスチャ座標Ｕを中間テクスチャ座標Ｕ’に等しいように設定する（１８０）。そして、示されているテクスチャ座標生成方法１７０は終了する。１つの実施形態において、テクスチャ座標生成方法１７０はテクスチャマッピングパタ−ンにおけるテクスチャマップ１４０の各インスタンスに対して実装できる。
【００４３】
図７は、テクスチャミラー演算に対するテクスチャ座標生成方法１９０の別の実施形態の模式フローチャート図を示している。テクスチャ座標生成方法１９０のあるいくつかの実施形態は、図５のテクスチャ座標ジェネレータ１５２との連係において実装できるが、他の実施形態は他のテクスチャ座標ジェネレータとの連係において実装できる。便宜上、図７に示されている演算のいくつかは図６に示されているのと同じ演算であり上述してある。
【００４４】
中間計算ロジック１６４が、中間テクスチャ座標Ｕ’を計算した（１７８）後、ＬＳＢロジック１６８は固定小数点整数成分ＩのＬＳＢが論理「０」または論理「１」であるかを判断する（１９２）。固定小数点整数成分ＩのＬＳＢが論理「０」の場合は、最終計算ロジック１６６は上記のように、最終テクスチャ座標Ｕを中間テクスチャ座標Ｕ’に等しく設定（１８０）する。そうでない場合、つまり、固定小数点整数成分ＩのＬＳＢが論理「１」の場合は、最終計算ロジック１６６は上記のように最終テクスチャ座標Ｕを中間テクスチャ座標Ｕ’のミラーリング状態に等しく設定する（１９４）。そして、示されているテクスチャ座標生成方法１９０は終了する。１つの実施形態において、テクスチャ座標生成方法１９０はテクスチャマッピングパタ−ンにおけるテクスチャマップ１４０の各インスタンスに対して実装できる。
【００４５】
テクスチャ座標レベル生成方法１７０と１９０の実施形態は、ソフトウェア、ファームウェア、ハードウェア、またはそのある組合せにおいて実装できるということに留意されたい。更に、テクスチャ座標生成方法１７０と１９０のいくつかの実施形態は、上記の演算に関連する１つまたは２つ以上のアルゴリズムのハードウェアまたはソフトウェア表現を使用して実装できる。例えば、ソフトウェア、ハードウェア、またはソフトウェアとハードウェアの組合せを、上記の種々の項または成分の１つまたは２つ以上を計算するように実装できる。
【００４６】
本発明の実施形態はまた、中央処理ユニット（ＣＰＵ）、グラフィックス処理ユニット（ＧＰＵ）、またはマイクロプロセッサのような、コンピュータプロセッサにより実行される多数の関数も含むことができる。マイクロプロセッサは、特別なタスクを定義するマシン読取可能ソフトウェアコードを実行することにより特別なタスクを実行するように構成された特殊または専用マイクロプロセッサであってよい。マイクロプロセッサはまた、直接メモリアクセスモジュール、メモリ格納装置、インターネット関連ハードウェア、およびデータ送信に関連する他の装置のような、他の装置を作動およびそれらと通信するようにも構成できる。ソフトウェアコードは、Ｊａｖａ（登録商標）、Ｃ＋＋、ＸＭＬ（拡張マークアップ言語）、および、ここで記載されたことに関連する関数演算を実行することを要求される装置の演算に関連する関数を定義するために使用できる他の言語のような、ソフトウェアのフォーマットを使用して構成できる。コードは、異なる形式およびスタイルで書くことができその多くはこの技術に精通した者には知られている。ソフトウェアプログラムの異なるコードフォーマット、コード構成、スタイルおよび形式、およびコードを構成してマイクロプロセッサの演算を定義する他の手段を実装できる。
【００４７】
本発明を利用するコンピュータサーバーのような異なるタイプのコンピュータ内においては、ここで記載した関数のいくつかまたはすべてを実行する間に情報を格納および取り出す異なるタイプのメモリ装置が存在する。いくつかの実施形態においては、データが格納されるメモリ／格納装置は、プロセッサの外側にある別個の装置であってもよく、または、単一の基板上で接続された構成要素のように、メモリまたは格納装置が同じ集積回路上に位置するモノリシックな装置に構成されてもよい。キャッシュメモリ装置は、頻繁に格納および取り出される情報に対する便利な格納位置としてＣＰＵまたはＧＰＵによる使用のためにコンピュータに含まれることもよくある。同様に、永続的メモリもまた中央処理ユニットにより頻繁に取り出される情報を維持するためにそのようなコンピュータでよく使用されるが、キャッシュメモリとは異なり、永続的メモリ内では情報はあまり変更されない。メインメモリもまた、中央処理ユニットにより実行されるときに、ある関数を実行するように構成されたデータおよびソフトウェアアプリケーションのようなより大きな量の情報を格納および取り出すために普通は含まれる。これらのメモリ装置はランダムアクセスメモリ（ＲＡＭ）、静的ランダムアクセスメモリ（ＳＲＡＭ）、動的ランダムアクセスメモリ（ＤＲＡＭ）、フラッシュメモリ、および中央処理ユニットが情報を格納および取り出すためにアクセスできる他のメモリ格納装置として構成できる。実施形態は、普通に使用されるこれらのメモリ装置それぞれに情報を格納またはそれぞれから情報を取り出すためのプロトコルと同様に、種々のメモリおよび格納装置により実装できる。
【００４８】
ここでの方法の演算は特別な順序で示され説明されたが、各方法の演算の順序は変更することができ、それによりある演算は逆の順序で実行でき、またはある演算は少なくとも部分的には他の演算と同時に実行できる。別の実施形態において、指令または個々の演算のサブ演算は間欠的および／または交互の方法で実践できる。
【００４９】
本発明の具体的な実施形態が説明され図示されてきたが、本発明は、この説明され図示された部分の特別な形式または装置に制限されない。本発明の範囲は、ここに付随する請求項とその均等物により定義される。
【００５０】
説明を通して、類似の参照番号が、類似の要素を特定するために使用されている。
【図面の簡単な説明】
【００５１】
【図１】図１は、コンピュータグラフィックスシステムの１つの実施形態の模式ブロック図を示している。
【図２】図２は、複数の詳細レベルに対応する複数のテクスチャマップの１つの実施形態の模式図を示している。
【図３】図３Ａは、テクスチャマップの１つの実施形態の模式図を示している。図３Ｂは、テクスチャラッピングパターンの１つの実施形態の模式図を示している。図３Ｃは、テクスチャミラーパターンの１つの実施形態の模式図を示している。図３Ｄは、単一ミラーインスタンスを有するテクスチャミラーパターンの１つの実施形態の模式図を示している。
【図４】図４は、テクスチャエンジンにおける実装のための、テクスチャマッピングパイプラインの１つの実施形態の模式ブロック図を示している。
【図５】図５は、図４のテクスチャマッピングパイプラインのテクスチャ座標ジェネレータの１つの実施形態の模式ブロック図を示している。
【図６】図６は、テクスチャラッピング演算に対するテクスチャ座標生成方法の１つの実施形態の模式フローチャート図を示している。
【図７】図７は、テクスチャミラー演算に対するテクスチャ座標生成方法の別の実施形態の模式フローチャート図を示している。
【図１】
2008276782.tif 000003
【図２】
2008276782.tif 000004
【図３】
2008276782.tif 000005
【図４】
2008276782.tif 000006
【図５】
2008276782.tif 000007
【図６】
2008276782.tif 000008
【図７】
2008276782.tif 000009
【外国語明細書】
2008276782.tif 000010
2008276782.tif 000011
2008276782.tif 000012
2008276782.tif 000013
2008276782.tif 000014
2008276782.tif 000015
2008276782.tif 000016
2008276782.tif 000017
2008276782.tif 000018
2008276782.tif 000019
2008276782.tif 000020
2008276782.tif 000021
2008276782.tif 000022
2008276782.tif 000023
2008276782.tif 000024
2008276782.tif 000025
2008276782.tif 000026
2008276782.tif 000027
2008276782.tif 000028
2008276782.tif 000029
2008276782.tif 000030
2008276782.tif 000031
2008276782.tif 000032
2008276782.tif 000033
2008276782.tif 000034
2008276782.tif 000035
2008276782.tif 000036
2008276782.tif 000037
2008276782.tif 000038