(57)【特許請求の範囲】
【請求項１】
一次元的または二次元的に配置された複数の同一サイズのテクスチャ要素（以下、テクスチャタイルと称す）を有するテクスチャ画像と、テクスチャ座標と前記テクスチャタイルとの対応関係を定義した間接タイルインデックスマップとを記憶した記憶手段にアクセス可能なグラフィックスシステムにおける制御部によってテクスチャタイリングを行う方法であって、
前記制御部がテクスチャ座標を生成するステップ、
前記制御部が、前記間接タイルインデックスマップを用いて、前記テクスチャ座標を修正する修正ステップ、
前記制御部が、前記修正されたテクスチャ座標を用いて、前記テクスチャタイルを選択するステップ、および、
前記制御部が、前記選択されたテクスチャタイルを表示するステップを含む、方法。
【請求項２】
前記制御部が、間接テクスチャ座標を用いて前記間接タイルインデックスマップにアクセスするアクセスステップをさらに含む、請求項１に記載の方法。
【請求項３】
前記制御部が、前記テクスチャ座標と前記間接テクスチャ座標とで同一の値を用いる、請求項２に記載の方法。
【請求項４】
前記アクセスステップにおいて、前記制御部が、前記間接テクスチャ座標を用いる前に、前記間接テクスチャ座標をスケーリングして、前記間接タイルインデックスマップにアクセスする、請求項３に記載の方法。
【請求項５】
前記間接タイルインデックスマップは、前記テクスチャ座標をこのテクスチャ座標に対応するテクスチャタイル内の座標に変換するためのオフセット値を含み、
前記アクセスステップにおいて、前記制御部が、前記間接テクスチャ座標を用いて前記間接タイルインデックスマップにアクセスすることで、オフセット値を取得し、
前記修正ステップにおいて、前記制御部が、前記オフセット値を用いて前記テクスチャ座標を修正する、
請求項２乃至４の何れかに記載の方法。
【請求項６】
前記修正ステップにおいて、前記制御部が、前記テクスチャ座標にラップ処理を行い、このラップ処理後の前記テクスチャ座標と前記オフセット値を加算することで、前記テクスチャ座標の修正を行う、
請求項５に記載の方法。
【請求項７】
一次元的または二次元的に配置された複数の同一サイズのテクスチャ要素（以下、テクスチャタイルと称す）を有するテクスチャ画像を記憶した記憶手段にアクセス可能なグラフィックスシステムにおける制御部によってテクスチャタイリングを行う方法であって、
前記制御部が、直接テクスチャ座標のセットを定義するステップ、
前記制御部が、間接テクスチャ座標のセットを定義するステップ、
前記制御部が、前記間接テクスチャ座標を用いて、オフセット値を取得するステップ、
前記制御部が、前記オフセット値を少なくとも１つの前記直接テクスチャ座標と組み合わせて、第１の修正されたテクスチャ座標を生成するステップ、および、
前記制御部が、前記第１の修正されたテクスチャ座標のセットを用いて、前記テクスチャ画像から第１のテクスチャタイルを取得するステップを含む、方法。
【請求項８】
前記記憶手段には、前記間接テクスチャ座標と前記オフセット値との対応関係を定義した間接タイルインデックスマップがさらに記憶されており、
前記制御部は、前記間接タイルインデックスマップから前記オフセット値を取得する、請求項７に記載の方法。
【請求項９】
前記間接テクスチャ座標は、前記直接テクスチャ座標と同一である、請求項７に記載の方法。
【請求項１０】
前記制御部が、前記オフセット値をバイアスするステップ、
前記制御部が、前記バイアスされたオフセット値を、少なくとも１つの前記直接テクスチャ座標と組み合わせて、第２の修正されたテクスチャ座標のセットを生成するステップ、
前記制御部が、前記第２の修正されたテクスチャ座標のセットを用いて、前記テクスチャ画像から第２のテクスチャタイルを取得するステップをさらに含む、請求項７に記載の方法。
【請求項１１】
前記制御部が、前記第１のテクスチャタイルおよび前記第２のテクスチャタイルをブレンドして、合成テクスチャタイルを生成するステップをさらに含む、請求項１０に記載の方法。
【請求項１２】
前記制御部は、前記第１のテクスチャタイルおよび前記第２のテクスチャタイルのブレンド率を決定するブレンディング係数を用いて前記第１のテクスチャタイルおよび前記第２のテクスチャタイルをブレンドする、請求項１１に記載の方法。
【請求項１３】
前記記憶手段には、前記間接テクスチャ座標と前記オフセット値との対応関係を定義した間接タイルインデックスマップがさらに記憶されており、
前記制御部は、前記間接タイルインデックスマップから前記オフセット値を取得するとともに、当該間接タイルインデックスマップから前記ブレンディング係数も取得する、請求項１２に記載の方法。
【請求項１４】
前記テクスチャ画像に含まれる各テクスチャタイルが、複数のレイヤの各レイヤのテクスチャを表している、請求項７に記載の方法。
【請求項１５】
一次元的または二次元的に配置された複数の同一サイズのテクスチャ要素（以下、テクスチャタイルと称す）を有するテクスチャ画像と、テクスチャ座標と前記テクスチャタイルとの対応関係を定義した間接タイルインデックスマップとを記憶した記憶手段にアクセス可能であり、かつテクスチャタイリングを行う装置であって、
テクスチャ座標を生成する手段、
前記間接タイルインデックスマップを用いて、前記テクスチャ座標を修正する手段、
前記修正されたテクスチャ座標を用いて、前記テクスチャタイルを選択する手段、および、
前記選択されたテクスチャタイルを表示する手段
を備えた装置。
【請求項１６】
一次元的または二次元的に配置された複数の同一サイズのテクスチャ要素（以下、テクスチャタイルと称す）を有するテクスチャ画像を記憶した記憶手段にアクセス可能であり、かつテクスチャタイリングを行う装置であって、
直接テクスチャ座標のセットを定義する手段、
間接テクスチャ座標のセットを定義する手段、
前記間接テクスチャ座標を用いて、オフセット値を取得する手段、
前記オフセット値を少なくとも１つの前記直接テクスチャ座標と組み合わせて、第１の修正されたテクスチャ座標を生成する手段、および、
前記第１の修正されたテクスチャ座標のセットを用いて、前記テクスチャ画像から第１のテクスチャタイルを取得する手段
を備えた装置。
【請求項１７】
一次元的または二次元的に配置された複数の同一サイズのテクスチャ要素（以下、テクスチャタイルと称す）を有するテクスチャ画像と、テクスチャ座標と前記テクスチャタイルとの対応関係を定義した間接タイルインデックスマップとを記憶した記憶手段にアクセス可能なグラフィックスシステムにおけるコンピュータにテクスチャタイリングを行わせるためのプログラムであって、
テクスチャ座標を生成するステップ、
前記間接タイルインデックスマップを用いて、前記テクスチャ座標を修正するステップ、
前記修正されたテクスチャ座標を用いて、前記テクスチャタイルを選択するステップ、および、
前記選択されたテクスチャタイルを表示するステップ、
を前記コンピュータに実行させるためのプログラム。
【請求項１８】
一次元的または二次元的に配置された複数の同一サイズのテクスチャ要素（以下、テクスチャタイルと称す）を有するテクスチャ画像を記憶した記憶手段にアクセス可能なグラフィックスシステムにおけるコンピュータにテクスチャタイリングを行わせるためのプログラムであって、
直接テクスチャ座標のセットを定義するステップ、
間接テクスチャ座標のセットを定義するステップ、
前記間接テクスチャ座標を用いて、オフセット値を取得するステップ、
前記オフセット値を少なくとも１つの前記直接テクスチャ座標と組み合わせて、第１の修正されたテクスチャ座標を生成するステップ、および、
前記第１の修正されたテクスチャ座標のセットを用いて、前記テクスチャ画像から第１のテクスチャタイルを取得するステップ、
を前記コンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータグラフィックスに関し、より特定的には、家庭用ビデオゲームプラットフォームのような対話式グラフィックスシステムに関する。さらにより特定的には、改良されたテクスチャタイリング方法および装置であって、間接テクスチャインデックスマップを用いて、タイル定義マップ内のテクスチャタイルを参照し、テクスチャタイルをレンダリングされたプリミティブにマッピングするものに関する。本発明は、さらに、合成（ブレンドされた）テクスチャタイルをタイル定義マップから作成することができ、テクスチャパターンが繰り返し現れないような方法で、当該テクスチャタイルをプリミティブに対してマッピングすることができる。
【０００２】
【従来の技術】
我々の多くは、非常に現実感のある恐竜や宇宙人、アニメ化されたおもちゃといった空想的な生物を含む映像を目にしたことがある。このようなアニメーションは、コンピュータグラフィックスによって可能となっている。このような技術を用いて、コンピュータグラフィックス製作者は、各物体がどのように見えるか、および時間の経過に伴ってどのような外見上の変化が生じるかを特定することができる。そして、コンピュータが、物体をモデル化し、テレビやコンピュータ画面などのディスプレイに表示する。表示画像の各部分の着色や形状が、そのシーンに存在する個々の物体の位置や向き、各物体に対する照明方向、各物体の面の質感、その他様々な要素に基づいて確実にうまく行われるために必要な数多くのタスクは、コンピュータが引き受ける。
【０００３】
コンピュータグラフィックスの生成は複雑なため、ほんの数年前まで、コンピュータで作成した３次元グラフィックスの活用は、高価で専門化されたフライトシミュレータやハイエンドグラフイックスワークステーション、スーパーコンピュータにほぼ限定されていた。人々は、コンピュータシステムによって生成された画像を、映画や制作費の高いテレビ広告において目にすることはあっても、グラフィックス生成を行うコンピュータに実際に接することはできなかった。このような状況が変化したのは、ニンテンドウ６４（登録商標）やパーソナルコンピュータで利用可能な各種の３Ｄグラフィックスカードなど、比較的安価な３Ｄグラフィックスプラットフォームの出現によるものである。今や、自宅や勤務先でも、比較的安価なコンピュータグラフィックスシステム上において、迫力のある３Ｄアニメーションやシミュレーションと対話的に接することが可能となっている。
【０００４】
かつてグラフィックスシステム設計者が直面した問題は、レンダリングされたオブジェクトについての現実感のある面の細部を、ポリゴンや他の幾何学的なプリミティブを使わずに、いかにして作成するかということであった。面の細部をシミュレートすることは、たとえば、無数の小さな三角形に対して頂点間を補間したシェーディングを行うことにより可能ではあるが、所望される細部がより高度に、かつより複雑になるにつれ、三角形などのプリミティブで明確なモデリングを行うと、グラフィックシステムへの負担が大きくなって、あまり現実的でなくなる。Ｅ．キャットムルによって開発され、Ｊ．Ｆ．ブリンおよびＭ．Ｅ．ニューウェルによって改良された他の技術は、デジタル化または合成化によって画像を表面に「マップ」するというものである（「曲面のコンピュータディスプレイのための細分アルゴリズム」、Ｅ．キャットムル、博士論文、レポートＵＴＥＣ−ＣＳｃ−７４−１３３，コンピュータ科学部、ユタ大学、ソルトレイクシティ、ユタ州、１９９４年１２月、および「コンピュータ生成画像のテクスチャおよび反射」、Ｊ．Ｆ．ブリンおよびＭ．Ｅ．ニューウェル、ＣＡＣＭ、１９（１０）、１９７６年１０月、４５２〜４５７頁）。この手法は、テクスチャマッピング（またはパターンマッピング）として知られており、画像は、テクスチャマップ（または単にテクスチャと称する）と呼ばれる。代わりに、テクスチャマップは、画像ではなく処理によって定義されてもよい。
【０００５】
典型的には、テクスチャマップは、２次元の矩形座標空間において定義され、たとえば（ｕ，ｖ）または（ｓ，ｔ）のような直交テクスチャ座標の対を用いてパラメータ化される。テクスチャマップ内の個々の成分は、しばしばテクセルと呼ばれる。レンダリングされた各ピクセルにおいて、選択されたテクセルが用いられて、レンダリングされたオブジェクト表面の１つ以上の主要特性を置換またはスケーリングする。この処理は、しばしばテクスチャマッピングまたは「テクスチャリング」と称される。
【０００６】
現在、３次元グラフィックスレンダリングシステムのほとんどは、テクスチャリングサブシステムを含んでいる。このシステムは、メモリからテクスチャを取得して、当該テクスチャをレンダリングされたオブジェクト表面にマッピングするためのものである。グラフィックスシステム設計者が直面している問題は、「テクスチャタイリング」などのより高度なテクスチャ関連効果を、いかにして効率よく便利な方法で行うかということである。通常、テクスチャタイリングでは、テクスチャタイル形式のテクスチャを、２次元表面などのレンダリングされたオブジェクト表面にタイル毎にマッピングすることが行われる。テクスチャタイルは、テクスチャメモリに記憶されたテクスチャのタイル形状部によって定義される。異なるタイルのアレイまたはマトリックスも、テクスチャメモリ内で定義することができる。タイルの大きさや形状は、レンダリングされた特定の表面にタイルをマッピングしやすいように選ばれうる。タイルの大きさは様々であり、レンダリングされた表面を覆うのに多数のタイルが必要であるように定義してもよい。定義されると、テクスチャタイルは、レンダリングされた表面上の特定の位置に置かれ、テクスチャリングされた表面を作り出す。
【０００７】
このタイリング効果は、たとえば各所望のタイル毎にポリゴンを描くことによって、過去においても達成されてきた。しかしながら、この手法は、処理オーバーヘッドやメモリの使い方という点で、高くつきかねない。さらに、先行技術のタイリング技術から生じる問題として、タイリングされた表面は、見る者から見てわかるような繰り返しパターンを有しかねないということがある。繰り返しパターンが生じる理由は、表面をタイリングする際にプログラマが利用可能な異なるテクスチャタイルの数が通常限られているからである。したがって、壁、床、地被植物などの広い表面全体を完全に覆うためには、同一のテクスチャタイルを何度も使用することになる。このような同一のタイルを繰り返し使用すると、レンダリングされたシーンの現実感が損なわれかねない。なぜなら、多くの場合、当該タイリング処理によって生じた繰り返しのテクスチャパターンを、人間の目は認識してしまうからである。グラフィックスシステム設計者が直面している他の問題としては、テクスチャタイリング処理を行うために間接テクスチャ処理をどのように利用するかということがある。これにより、テクスチャタイリングに関連して過去に有意義な研究がなされてきているのにもかかわらず、さらなる改良が可能であり、また望まれる。
【０００８】
本発明は、この問題を解決するものであり、グラフィックスシステムにおけるテクスチャタイリングを効率的に実施するために用いることができる技術および機構を提供するものである。本発明によって、より現実感のあるテクスチャタイリング済みの表面を作成することができ、これにより、表示されたテクスチャリング済みの表面を見る者が、テクスチャ内の繰り返しパターンに気づくことを減少させるか、全くなくしてしまうようにすることができる。また、本発明により、テクスチャタイル間をブレンディングすることによって、疑似３次元テクスチャを作成することもできる。さらに、本発明により、間接テクスチャ処理を効率的かつ効果的な方法で行って、テクスチャタイリングを達成することができる。
【０００９】
本発明が提供する一局面によれば、テクスチャタイリング方法であって、
・テクスチャ座標を生成し、
・間接タイルインデックスマップを用いて、テクスチャ座標を修正し、
・修正されたテクスチャ座標を用いて、タイル定義マップからテクスチャタイルを選択し、
・選択されたテクスチャタイルを表示することを含む、方法である。
【００１０】
本発明の他の局面によれば、疑似３次元タイリング方法であって、
・直接テクスチャ座標のセットを定義し、
・間接テクスチャ座標のセットを定義し、
・間接テクスチャ座標を用いて、オフセット値を取得し、
・オフセット値を少なくとも１つの直接テクスチャ座標と組み合わせて、第１の修正されたテクスチャ座標を生成し、
・第１の修正されたテクスチャ座標のセットを用いて、タイル定義マップから第１のテクスチャタイルを取得し、
・オフセット値をバイアスし、
・バイアスされたオフセット値を用いて、直接テクスチャ座標を修正し、
・修正されたオフセット値を、少なくとも１つの直接テクスチャ座標と組み合わせて、第２の修正されたテクスチャ座標のセットを生成し、
・第２の修正されたテクスチャ座標のセットを用いて、タイル定義マップから第２のテクスチャタイルを取得し、
・第１のテクスチャタイルおよび第２のテクスチャタイルをブレンドして、合成テクスチャタイルを生成することを含む、方法である。
【００１１】
【発明の実施の形態】
図１は、対話式３Ｄコンピュータグラフィックスシステム５０の例を示す。システム５０は、興味をそそる立体音響を伴う対話式３Ｄビデオゲームをプレイするのに用いることができる。また、これは、他の様々な用途に応用できる。
【００１２】
本例において、システム５０は、デジタル表現や３次元世界モデルを、対話的にリアルタイムで処理することができる。システム５０は、世界のすべてまたは一部を、任意の視点から表示することができる。たとえば、システム５０は、手持ちコントローラ５２ａおよび５２ｂなどの入力装置からのリアルタイム入力に応答して、視点を対話的に変化させることができる。これにより、ゲームプレイヤは、世界の内部または外部の者から見た世界を見ることができる。システム５０は、リアルタイム３Ｄ対話式表示を要求しないような用途（たとえば、２Ｄ表示生成および／または非対話式表示）に用いることもできるが、上質の３Ｄ画像を非常に高速に表示する能力は、現実感の高いおもしろいゲームプレイなどの視覚的な対話を生成するのに用いることができる。
【００１３】
システム５０を用いてビデオゲームなどのアプリケーションをプレイするためには、ユーザは、まず、ケーブル５８を用いて、メインユニット５４をユーザのカラーテレビ５６などの表示装置に接続する。メインユニット５４は、カラーテレビ５６を制御するためのビデオ信号および音声信号を生成する。ビデオ信号は、テレビ画面５９に表示される画像を制御するものであり、音声信号は、テレビのステレオスピーカ６１Ｌおよび６１Ｒを介して、音として再生される。
【００１４】
また、ユーザは、メインユニット５４を電源に接続する必要がある。この電源は、家庭の壁にある電気コンセントに差し込む従来のＡＣアダプタ（図示せず）であってもよく、家庭用電流を、メインユニット５４に電力供給するのに適切な、より低いＤＣ電圧信号に変換する。他の態様として、電池を用いることも可能である。
【００１５】
ユーザは、ハンドコントローラ５２ａおよび５２ｂを用いて、メインユニット５４を制御してもよい。たとえば、操作部６０を用いて、テレビ５６に表示されるキャラクタが３次元世界内で移動すべき方向（上または下、左または右、近または遠）を指定することができる。また、操作部６０は、他の用途のための入力を与える（たとえば、メニュー選択、ポインタ／カーソル制御など）。コントローラ５２は、様々な形態を取り得る。本例においては、図示された各コントローラ５２は、ジョイスティック、押しボタン、および／または方向スイッチなどの操作部６０を含む。コントローラ５２のメインユニット５４への接続は、ケーブルであってもよいし、電磁波（たとえば、電波または赤外線波）を介した無線であってもよい。
【００１６】
ゲームなどのアプリケーションをプレイするためには、ユーザは、プレイしたいと思う当該ビデオゲームなどのアプリケーションを記憶する適切な記憶媒体６２を選択して、当該記憶媒体をメインユニット５４内のスロット６４に挿入する。記憶媒体６２は、たとえば、特に符号化されたおよび／または暗号化された光学および／または磁気ディスクであってもよい。ユーザは、電源スイッチ６６を操作して、メインユニット５４をオンして、記憶媒体６２に記憶されたソフトウェアに基づいてビデオゲームなどのアプリケーションの実行を開始してもよい。ユーザは、コントローラ５２を操作して、メインユニット５４に入力を与えてもよい。たとえば、操作部６０を操作すると、ゲームなどのアプリケーションが開始されてもよい。他の操作部６０を動かすと、動くキャラクタを異なる方向へ移動させたり、３Ｄ世界内でのユーザの視点を変化させたりすることができる。記憶媒体６２内に記憶された特定のソフトウェアに基づいて、コントローラ５２上の様々な制御部６０は、異なる時に異なる機能を実行することができる。
【００１７】
＜システム全体の電子回路例＞
図２は、システム５０の構成要素例のブロック図を示す。主な構成要素は以下のものを含む。
・メインプロセッサ（ＣＰＵ）１１０、
・メインメモリ１１２、および
・グラフィックス＆音声プロセッサ１１４
【００１８】
本例においては、メインプロセッサ１１０（たとえば、拡張されたＩＢＭＰｏｗｅｒＰＣ７５０）は、グラフィックス＆音声プロセッサ１１４を介して手持ちコントローラ１０８（および／または他の入力装置）からの入力を受ける。メインプロセッサ１１０は、ユーザ入力に対話的に応答して、たとえば外部記憶媒体６２から光学ディスクドライブなどの大容量記憶アクセス装置１０６を介して供給されるビデオゲームなどのプログラムを実行する。一例として、ビデオゲームプレイの場合、メインプロセッサ１１０は、様々な対話的な制御機能に加えて、衝突検出や動画処理を行うことができる。
【００１９】
本例において、メインプロセッサ１１０は、３Ｄグラフィックスコマンドおよび音声コマンドを生成して、グラフィックス＆音声プロセッサ１１４に送る。グラフィックス＆音声プロセッサ１１４は、これらのコマンドを処理して、興味をそそる視覚的な画像をディスプレイ５９に生成したり、興味をそそる立体音響をステレオスピーカ６１Ｒおよび６１Ｌなどの適切な音発生装置に生成したりする。
【００２０】
本例のシステム５０が含むビデオエンコーダ１２０は、グラフィックス＆音声プロセッサ１１４から画像信号を受信して、当該画像信号を、コンピュータモニタや家庭用カラーテレビ５６などの標準的な表示装置に表示するのに適切なアナログおよび／またはデジタルビデオ信号に変換する。また、システム５０が含む音声コーデック（圧縮器／伸長器）１２２は、デジタル化された音声信号の圧縮および伸長を行い、また、必要に応じて、デジタルまたはアナログ音声信号形式への変換を行ってもよい。音声コーデック１２２は、音声入力をバッファ１２４を介して受信して、グラフィックス＆音声プロセッサ１１４に与えて、処理を行うことができる（たとえば、プロセッサが生成した他の音声信号とミキシングするおよび／または大容量記憶アクセス装置１０６のストリーミング音声出力を介して受信する）。本例のグラフィックス＆音声プロセッサ１１４は、音声関連情報を音声タスク用に利用可能な音声メモリ１２６に記憶することができる。グラフィックス＆音声プロセッサ１１４は、処理結果の音声出力信号を音声コーデック１１２に与えて、スピーカ６１Ｌおよび６１Ｒによって再生できるように、（たとえば、バッファ増幅器１２８Ｌおよび１２８Ｒを介して）伸長やアナログ信号への変換が行われる。
【００２１】
グラフィックス＆音声プロセッサ１１４は、システム５０内にある様々な付加的な装置と通信を行うことが可能である。たとえば、パラレルデジタルバス１３０が、大容量記憶アクセス装置１０６および／または他の構成要素との通信に用いられてもよい。シリアル周辺機器バス１３２が、様々な周辺機器などの機器との通信に用いられてもよく、それらの機器としては、たとえば、以下のものを含む。
・プログラム可能な読み出し専用メモリおよび／またはリアルタイムクロック１３４、
・モデム１３６などのネットワークインターフェース（インターネットなどのデジタルネットワークのような、プログラム命令および／またはデータをダウンロードしたりアップロードしたりすることが可能な電気通信ネットワーク１３８に対して、システム５０を接続するようなものであってもよい）、および
・フラッシュメモリ１４０。
【００２２】
別の外部シリアルバス１４２が、付加的な拡張メモリ１４４（たとえば、メモリカード）などの装置との通信に用いられてもよい。コネクタが、様々な装置をバス１３０、１３２、および１４２を接続するために用いられてもよい。
【００２３】
＜グラフィックス＆音声プロセッサの例＞
図３は、グラフィックス＆音声プロセッサ１１４の例のブロック図である。一例として、グラフィックス＆音声プロセッサ１１４は、単一チップＡＳＩＣ（特定用途向けＩＣ）であってもよい。本例において、グラフィックス＆音声プロセッサ１１４は、以下のものを含む。
・プロセッサインターフェース１５０、
・メモリインターフェース／コントローラ１５２、
・３Ｄグラフィックスプロセッサ１５４、
・音声デジタル信号プロセッサ（ＤＳＰ）１５６、
・音声メモリインターフェース１５８
・音声インターフェース＆ミキサ１６０
・周辺機器コントローラ１６２、および
・ディスプレイコントローラ１６４。
【００２４】
３Ｄグラフィックスプロセッサ１５４は、グラフィック処理タスクを行う。音声デジタル信号プロセッサ１５６は、音声処理タスクを行う。ディスプレイコントローラ１６４は、画像情報をメインメモリ１１２からアクセスして、それをビデオエンコーダ１２０に与えて、表示装置５６に表示させる。音声インターフェース＆ミキサ１６０は、音声コーデック１２２とインターフェースし、また、別のソースからの音声（たとえば、大容量記憶アクセス装置１０６からのストリーミング音声、音声ＤＳＰ１５６の出力、および音声コーデック１２２を介して受信した外部音声入力）をミキシングすることも可能である。プロセッサインターフェース１５０は、メインプロセッサ１１０およびグラフィックス＆音声プロセッサ１１４間のデータおよび制御インターフェースを提供する。
【００２５】
メモリインターフェース１５２は、グラフィックス＆音声プロセッサ１１４およびメモリ１１２間のデータおよび制御に関するインターフェースを提供する。本例において、メインプロセッサ１１０は、グラフィックス＆音声プロセッサ１１４の一部であるプロセッサインターフェース１５０およびメモリインターフェース１５２を介して、メインメモリ１１２にアクセスする。周辺機器コントローラ１６２は、グラフィックス＆音声プロセッサ１１４および上述の様々な周辺機器間におけるデータおよび制御に関するインターフェースを提供する。音声メモリインターフェース１５８は、音声メモリ１２６とのインターフェースを提供する。
【００２６】
＜グラフィックスパイプラインの例＞
図４は、３Ｄグラフィックスプロセッサ１５４の例のより詳細な図である。３Ｄグラフィックスプロセッサ１５４は、特に、コマンドプロセッサ２００と、３Ｄグラッフィックスパイプライン１８０とを含む。メインプロセッサ１１０は、データのストリーム（たとえば、グラフィックスコマンドストリームやデータリスト）をコマンドプロセッサ２００に伝達する。メインプロセッサ１１０は、メモリの待ち時間を最小限にするための２レベルキャッシュ１１５を有し、また、グラフィックス＆音声プロセッサ１１４向けの未キャッシュのデータストリームのためのライトギャザリングバッファ１１１も有する。ライトギャザリングバッファ１１１は、部分キャッシュラインを集めて完全キャッシュラインとし、このデータを１キャッシュラインずつグラフィックス＆音声プロセッサ１１４に送出して、バスが最大限に利用できるようにする。
【００２７】
コマンドプロセッサ２００は、メインプロセッサ１１０から表示コマンドを受信し、これを解析して、処理に必要な付加データを共通メモリ１１２から取得する。コマンドプロセッサ２００は、頂点コマンドのストリームをグラフィックスパイプライン１８０に与えて、２Ｄおよび／または３Ｄ処理およびレンダリングを行う。グラフィックスパイプライン１８０は、これらのコマンドに基づいて画像を生成する。生成された画像情報は、メインメモリ１１２に転送されて、表示制御部／ビデオインターフェース部１６４によってアクセスできるようにしてもよく、それによって、ディスプレイ５６にパイプライン１８０のフレームバッファ出力が表示される。
【００２８】
図５は、グラフィックスプロセッサ１５４の論理フロー図である。メインプロセッサ１１０は、グラフィックスコマンドストリーム２１０と、表示リスト２１２と、頂点アレイ２１４とをメインメモリ１１２に記憶してもよく、バスインターフェース１５０を介してポインタをコマンドプロセッサ２００に渡す。メインプロセッサ１１０は、メインメモリ１１０内に割り当てた１つ以上のグラフィックス先入れ先出し（ＦＩＦＯ）バッファ２１０にグラフィックスコマンドを記憶する。コマンドプロセッサ２００は、以下のものを取り出す。
・グラフィックスコマンドを受信およびバッファリングして、同期／フロー制御およびロードバランシングを行うオンチップＦＩＦＯメモリバッファ２１６を介して、メインメモリ１１２からのコマンドストリーム、
・オンチップ呼び出しＦＩＦＯメモリバッファ２１８を介して、メインメモリ１１２からの表示リスト２１２、および
・コマンドストリームからの、および／または頂点キャッシュ２２０を介してメインメモリ１１２内の頂点アレイ２１４からの頂点属性。
【００２９】
コマンドプロセッサ２００は、コマンド処理動作２００ａを行って、属性型を浮動小数点形式に変換し、その結果の完全な頂点ポリゴンデータをグラフィックスパイプライン１８０に渡して、レンダリング／ラスタライズする。プログラム可能なメモリ調停回路１３０（図４参照）は、グラフィックスパイプライン１８０、コマンドプロセッサ２００、および表示制御部／ビデオインターフェース部１６４の間で共通のメインメモリ１１２に対するアクセスを調停する。
【００３０】
図４に示すように、グラフィックスパイプライン１８０は、以下のものを含んでもよい。
・変換部１３００、
・セットアップ／ラスタライザ４００、
・テクスチャ部５００、
・テクスチャ環境部６００、および
・ピクセルエンジン部７００。
【００３１】
変換部３００は、２Ｄおよび３Ｄ変換などの様々な処理３００ａを行う（図５参照）。変換部３００は、変換処理３００ａに用いられるマトリックスを記憶する１以上のマトリックスメモリ３００ｂを含んでもよい。変換部３００は、頂点毎に入力される形状を、オブジェクト空間から画面空間へ変換し、入力されるテクスチャ座標を変換して投影テクスチャ座標を計算する（３００ｃ）。変換部３００は、ポリゴンクリッピング／カリング（３００ｄ）を行ってもよい。また、変換部３００ｂによって行われるライティング処理３００ｅによって、一実施例においては、８個の独立した光に対するライティング計算が頂点毎に行われる。また、変換部３００は、エンボス型のバンプマッピング効果を出すためのテクスチャ座標生成（３００ｃ）や、ポリゴンクリッピング／カリング処理（３００ｄ）を行うこともできる。
【００３２】
セットアップ／ラスタライザ４００は、セットアップ部を含む。セットアップ部は、頂点データを変換部３００から受信して三角形セットアップ情報を１以上のラスタライザ（４００ｂ）に送信して、エッジラスタライズ、テクスチャ座標ラスタライズ、およびカラーラスタライズを行う。
【００３３】
テクスチャ部５００（オンチップテクスチャメモリ（ＴＭＥＭ）５０２を含んでもよい）、テクスチャリング関連の様々なタスクを行う。タスクには、たとえば、以下のものが含まれる。
・メインメモリ１１２からテクスチャ５０４を取り出す、
・たとえばマルチテクスチャ処理、ポストキャッシュテクスチャ伸展、テクスチャフィルタリング、エンボス、投影テクスチャを用いたシャドウおよびライティング、ならびにアルファ透明およびデプスを用いたＢＬＩＴを含む、テクスチャ処理（５００ａ）、
・バンプマッピング、疑似テクスチャ、テクスチャタイリング効果のためのテクスチャ座標変換量を計算するバンプマップ処理（５００ｂ）、および
・間接テクスチャ処理（５００ｃ）。
【００３４】
図６から図２９は、通常（非間接）および間接テクスチャルックアップ処理を行うためのテクスチャ処理の例を示す。グラフィックスパイプライン回路ならびに通常および間接テクスチャルックアップ処理を行う手順については、共通して譲渡された同時係属特許出願番号６０／２２６，８９１、名称「グラフィクスシステムにおいて直接および間接テクスチャを処理するための方法および装置」（代理人整理番号７２３−８４９）を参照のこと。この出願のすべての内容は引用によって合体される。
【００３５】
テクスチャ部５００は、透過されたテクスチャ値をテクスチャ環境部６００に出力して、テクスチャ環境処理を行う（６００ａ）。テクスチャ環境部６００は、ポリゴンとテクスチャカラー／アルファ／デプスをブレンドし、テクスチャフォグ処理（６００ｂ）をも行って、インバースレンジに基づくフォグ効果を達成する。テクスチャ環境部６００は、複数のステージを提供して、たとえばカラー／アルファ・モジュレーション、エンボス、ディテールテクスチャリング、テクスチャスワッピング、クランピング、およびデプスブレンディングに基づいて、他の興味をそそる様々な環境関連の機能を行うことができる。テクスチャ環境部６００に関するさらなる詳細は、共通して譲渡された同時係属特許出願番号６０／２２６，８８８、名称「グラフィクスシステム用再循環シェードツリーブレンダ」（代理人整理番号７２３−８５１）を参照のこと。この出願の内容は、本願に合体される。
【００３６】
ピクセルエンジン７００は、デプス（ｚ）比較（７００ａ）およびピクセルブレンディング（７００ｂ）を行う。本例において、ピクセルエンジン７００は、組み込み（オンチップ）フレームバッファメモリ７０２にデータを記憶する。グラフィックスパイプライン１８０は、１以上の組み込みＤＲＡＭメモリ７０２を含んでもよく、フレームバッファの内容および／またはテクスチャ情報をローカルに記憶する。現在有効なレンダリングモードによっては、Ｚ比較７００ａ’は、グラフィックスパイプラインの早い段階において行われることもできる（たとえば、アルファブレンディングが不要であれば、ｚ比較は早い段階で行うことができる。）。ピクセルエンジン７００は、コピー処理７００ｃを含む。これは、オンチップフレームバッファの内容をメインメモリに周期的に書き込むものであり、表示／ビデオインターフェース部１６４がアクセスできるようにする。このコピー処理７００ｃを用いて、組み込みフレームバッファ７０２の内容からテクスチャまでを、メインメモリ１１２にコピーすることもでき、動的なテクスチャ合成効果が得られる。アンチエイリアシングやその他のフィルタリングは、コピーアウト処理中に行うことができる。（最終的にはメインメモリ１１２に記憶される）グラフィックスパイプライン１８０のフレームバッファ出力は、フレーム毎に、表示／ビデオインターフェース部１６４によって読み出される。表示制御部／ビデオインターフェース１６４は、ディジタルＲＧＢピクセル値を与えて、ディスプレイ１０２に表示する。
【００３７】
＜テクスチャタイリング手順例の概略＞
本発明は、２つの異なるタイリング方法を提供するものであり、両方とも、好ましくは間接テクスチャタイルマップを用いる。第１の方法は、間接テクスチャタイリング方法を提供する。第２の方法では、複数のタイル間のブレンディングによって固有のテクスチャタイルを作成して、たとえば疑似３次元テクスチャ効果を達成することができる。
【００３８】
図３０は、本発明の間接テクスチャタイリング方法の手順を示す。この第１の手順例によれば、テクスチャ座標は、レンダリングされたオブジェクトの表面パラメータから生成される（ブロック１４００）。タイルインデックスマップを用いて、テクスチャ座標を修正するために用いられるタイル選択オフセットを取得する（ブロック１４０２）。その後、修正されたテクスチャ座標が用いられて、テクスチャ定義マップからテクスチャタイルが選択される（ブロック１４０４）。テクスチャタイルは、タイリング処理に使用を望むどのような種類のテクスチャを含んでいてもよく、たとえば、煉瓦、ガラスなど、どのような適切なパターンや大きなパターンの部分であってもよい。その後、結果生じたタイルテクスチャリングされた画像が表示される（ブロック１４０６）。
【００３９】
図３１は、テクスチャブレンディングまたは疑似３次元テクスチャ方法の手順例を示す。この第２の手順例によれば、テクスチャ座標も、表面パラメータから生成される（ブロック１４１０）。その後、テクスチャ座標を用いて、テクスチャ座標を修正するために用いられる少なくとも１つのテクスチャ選択オフセットを取得する（ブロック１４１２）。その後、修正されたテクスチャ座標を用いて、複数のテクスチャタイルをタイル定義マップから選択する（ブロック１４１４）。その後、タイルはブレンドされて、合成タイルテクスチャを形成する（ブロック１４１６）。その後、結果生じた合成タイルテクスチャリング画像が表示される（ブロック１４１８）。
【００４０】
以下に、本発明の上述の両タイリング方法を、別々により詳細に説明する。個々で説明する両タイリング方法は、好ましくは、上述の同時係属出願に記載された間接テクスチャ処理システムを使用することによって実施される。しかしながら、本発明によれば、たとえば再循環、複数パラレルチャンネル、または他の処理回路を組み込んだ適切な処理システムを用いることも可能である。
【００４１】
＜間接テクスチャタイリング例（第１のタイリング方法）＞
図３２は、図３０に示すような本間接テクスチャタイリング方法のより詳細なブロック図の例である。この方法によれば、間接タイルインデックスマップおよびタイル定義マップが定義される（ブロック１５００，１５０１）。タイル定義マップは、様々なタイルの基本定義を保持する。間接タイルインデックスマップは、テクスチャリングされたオブジェクトの表面上における特定のタイルの特定位置を識別する。このようにオブジェクト上にタイルをマップするために、間接テクスチャ座標対（Ｓ０，Ｔ０）が生成される（ブロック１５０４）。この例において、間接テクスチャ座標が基づくのは、インデックスマップではなく、テクスチャリングされた表面のスケールである。これにより、直接テクスチャ座標および間接テクスチャ座標が同一のテクスチャ座標を用いることが可能となる、という利点がある。よって、間接テクスチャ座標は、たとえば、用いるタイルの各次元で座標を除算することによって、インデックスマップに適切にスケーリングされる（ブロック１５０６）。その後、スケーリングされたテクスチャ座標は、テクスチャインデックスマップ内のルックアップ処理を行うのに用いられて、現在のテクスチャ座標の適切なタイル選択オフセットが得られる（ΔＳ，ΔＴ）（ブロック１５０８）。その後、タイル選択オフセットは、対象テクスチャスケールに再スケーリングされる。これは、たとえば、用いるタイルの各次元をオフセットに乗算することによって行われる（ブロック１５１０）。
【００４２】
直接テクスチャ座標のセット（Ｓ１，Ｔ１）もまた、定義される（ブロック１５１２）。上述のように、本実施例において、間接および直接テクスチャ座標は、実際は同一である。直接テクスチャ座標に対して、ラッピング処理が行われる（ブロック１５１４）。本例においては、ラッピング処理は、ｎを法とするラップであり、ｎは、用いるタイルの次元である。
【００４３】
適切にスケーリングされたタイルオフセット（ΔＳ，ΔＴ）およびラップされたテクスチャ座標（Ｓ１，Ｔ１）を取得すると、これらは組み合わされて（ブロック１５１６）、修正されたテクスチャ座標（Ｓ’，Ｔ’）が生じる。その後、修正されたテクスチャ座標（Ｓ’，Ｔ’）は、タイル定義マップ内のルックアップ処理に用いられる（ブロック１５１８）。これは、現在のテクスチャ座標に対する所望のテクスチャタイルを取得する目的で行われる。選択されたテクスチャタイルは、その後、表示のために（またはさらなるテクスチャ処理動作に用いられるために）出力される（ブロック１５２０）。
【００４４】
図３３は、本発明の間接タイリング方法の第１の例を示す。図３３に示すように、テクスチャタイルインデックスマップ１６００は、処理後のテクスチャ１６０４上の各タイル位置毎にタイル定義マップ１６０２内の特定のタイルを識別する。本例では、２次元（２×２）タイル定義マップ１６０２が用いられる。よって、タイル定義マップは、４つのタイルを含み、本例では、各タイルは、より広く想定されたテクスチャパターンにおける互いに異なる補完的な部分を構成する。本例において、処理後のパターン１６０４の大きさは、５１２×５１２テクセルである。間接タイルインデックスマップ１６００は、４×４マトリックスであり、各マトリックス成分は、タイル定義マップ１６０２内の４つのタイルのうちの１つを識別する。タイル定義マップ内の各タイルの大きさは、１２８×１２８テクセルである。よって、インデックスマップ１６００内の１６個のインデックスのそれぞれを用いてタイルをマップすることによって、処理後の画像１６０４は、タイルインデックスマップによって決定されるような所望の構成において、１６個のタイル（５１２×５１２テクセル）を含むことになる。図３３からわかるように、本例における処理後のタイルパターン１６０４は、１６個のテクスチャタイルからなる４つの正方形で構成されるパターンを含む。
【００４５】
上述のように、図３３のバンプ部（ＯＰ）ブロック１６０６によって示されるような、直接および間接座標に対する所定のスケーリング、ラッピング、および／または追加処理が行われる。本例において、間接テクスチャは、最初に、間接テクスチャ座標を１２８（タイルの次元）で除算することによって、縮小される。これは、４×４のインデックスマトリックス１６００に対応して、特定のテクスチャ座標のオフセットを取得するために行われる。その後、オフセットは、１２８（タイルの次元）で乗算されることによって拡大される。拡大されたオフセットは、その後、テクスチャ座標に対するラッピング処理結果と組み合わされる。これは、修正されたテクスチャ座標を取得して、それを用いてタイル定義マップ１６０２からテクスチャを得るために行われる。
【００４６】
図３４は、本発明の間接タイリング方法の第２の例を示す。参照符号は、上述の同様の部分に対応している。本例において、タイル定義マップ１６０２は、図３３の第１の例において用いたような２次元マップではなく、１次元のマップである。その結果、間接テクスチャマップ１６００は、第１の例のようなオフセット値の対ではなく、単一のオフセット値のみを用いる。よって、タイル定義マップがどのように構成されているか（垂直に、または水平にスタックされているか）によって、選択された特定のオフセット値を用いて、ラップされたＳ１またはＴ１の値のいずれか（本例ではＳ１）を修正することができる。本例では、テクスチャタイルの大きさは、６４×６４タイルである。よって、バンプ部１６０６（ＯＰ）で用いられるラッピングおよびスケーリングのパラメータは、第１の例のような１２８ではなく、６４である。なお、本発明が用いられる特定のアプリケーションに応じて、いかなる適切な大きさのテクスチャタイルをも用いることが可能である。さらに、本発明を用いて、いかなる適切な大きさの間接テクスチャマップや処理後のテクスチャをも定義することが可能である。
【００４７】
図３５は、本発明の間接タイリング方法の第３の例を示す。同じく、参照符号は、上述の同様の部分を指定するために用いられている。本例では、８つの１８×１８テクセルタイルによって構成された２×４タイル定義マップ１６０２を用いる。間接タイルインデックスマップ１６００は、上記第１の例のインデックスマップと同様である。しかしながら、本例では、１８×１８テクセルタイルのうちの１６×１６テクセルのみを用いて、処理後のタイルパターン１６０４を作成している。よって、本例が示すように、タイル定義の大きさに関係なく、いかなる適切なタイルの大きさをも用いることができる。
【００４８】
図３６は、図３２および図３３〜３５に関する上述の間接タイリング方法例の論理ブロック図である。図３６からわかるように、本タイリング方法では、直接座標および間接座標について、同一の初期テクスチャ座標を用いることができる（すなわち、Ｓ１＝Ｓ０，Ｔ１＝Ｔ０）。しかしながら、座標が同一でないような他の構成も可能である。たとえば、タイルインデックスマップに適正に対応するためにスケーリングする必要のない間接テクスチャ座標を用いてもよい。しかしながら、本例のように、同一のテクスチャ座標を用いる場合は、スケーリングブロック１７０２ａおよび１７０２ｂに示すように、間接テクスチャ座標１７００（Ｓ０，Ｔ０）は、まずスケーリングされる。これは、間接テクスチャインデックスマップ１６００のスケールに適合させるために行われる。その後、適正にスケーリングされた間接座標を用いて、タイルインデックスマップ内のルックアップ処理が行われる。これは、タイル選択オフセット１７０４（ΔＳ，ΔＴ）を得るために行われる。所望のテクスチャをタイリングするため、座標スケールは、タイルの大きさに間接インデックスマップのサイズを乗算したものである。タイルの大きさは、その後除算され、間接マップにアクセスするために用いられる。
【００４９】
タイル選択オフセットは、乗算器１７０６ａおよび１７０６ｂによって示されるように、元のスケールに拡大されて、直接テクスチャ座標のスケールと対応するようする。その後、ｎを法とするラッピングブロック１７０８ａおよび１７０８ｂに示すように、直接座標がラップされた後、オフセットは、通常のテクスチャ座標１７０１（Ｓ１，Ｔ１）と組合せることができるようになる。そして、ラップされた直接座標およびスケーリングされたオフセットは、加算器１７１０ａおよび１７１０ｂによって組み合わされる。これにより、修正されたテクスチャ座標１７１２（Ｓ’’，Ｔ’’）を生成する。その後、修正されたテクスチャ座標を用いて、タイル定義マップ１６０２内の通常のテクスチャルックアップが行われ、これにより、テクスチャとしてＴＥＶ部に出力されるタイルが選択される。なお、図３６の論理ブロック図は、オフセットがＳ１およびＴ１の両方に与えられている実施例を示しており、本例では、２次元タイル定義マップが使えるようになっている。しかしながら、図３４の例のように、１次元タイルインデックスマップのみを用いるような、本発明に係る他の構成も可能である。
【００５０】
＜疑似３次元テクスチャタイリングの例（第２のタイリング方法）＞
図３７は、疑似３Ｄテクスチャと称する、本発明の第２の間接タイリング方法（図３１参照）のより詳細なブロック図を示す。この第２の方法によれば、間接的にインデックス化された複数のタイルを互いにブレンドして、表面にマップされる合成タイルを形成することができる。言い換えれば、この方法では、タイリングマッピングを拡張して、疑似３次元効果を提供することが可能である。この方法では、すべてのタイルは、スタックの一部とみなされる。第１の例のようにタイル定義マップから単一のタイルを選択するのではなく、本例では、複数のタイル（以下の例では、２つの隣接するタイル）を選択し、このタイルをブレンドして、合成テクスチャタイルを生成することができる。この手法は、たとえば、互いに滑らかにブレンドする不連続パターンで広い表面を覆うために用いることができる。テクスチャタイルのブレンドを可能にすることにより、プログラマは、表面を覆う際にタイル定義マップ内の特定のタイルに限定されることがなくなる。代わりに、新たなタイルを既存のタイルと合成することにより、大きなテクスチャ定義マップを必要とせずに、表面を覆うのに利用可能なテクスチャタイルの数を大幅に増加させることも可能である。合成タイルを用いることにより、テクスチャパターンが繰り返される外観を避けることができ、それにより、画像の現実感を向上することができる。この方法は、たとえば、細かい砂から小さな小石、そして大きな岩というように、外観上様々な層を有する浜辺を、タイリングされたテクスチャで覆う場合に用いることができる。ブレンディング機能を用いて、処理後のテクスチャに対して疑似３次元外観を与えることができる。
【００５１】
図３７に示すように、タイル定義スタック内のタイルへのインデックスを含むように間接タイルインデックスマップを定義する（ブロック１８００）。間接テクスチャ座標が定義され（ブロック１８０２）、テクスチャ選択オフセットおよびブレンディング係数が取得される（ブロック１８０４）。テクスチャタイル定義は、スタックの形態で定義される（ブロック１８０６）。疑似３次元効果が所望される場合には、本例では、タイルは、隣接タイルが互いによくブレンドされて階層効果を与えるように定義されるのが好ましい。このことは以下の説明からより理解されるであろう。むろん、上述のように、間接座標と直接座標とを同一にしたい場合などには、間接ルックアップ処理前に間接座標をスケーリングしてもよい。
【００５２】
直接座標が定義され（ブロック１８０８）、オフセットと組み合わされて、第１の修正されたテクスチャ座標（ｓ，ｔ’）が生成される（ブロック１８１０）。その後、オフセットは、１タイル分だけ増分するなどの所定の方法で修正され（バイアスされ）、その後、修正されたオフセットを直接テクスチャ座標と組み合わせることによって、第２の修正されたテクスチャ座標（ｓ，ｔ’’）（ブロック１８１２）が定義される。その後、第１の修正されたテクスチャ座標（ｓ，ｔ’）を用いて、第１のテクスチャがタイル定義スタック内でルックアップされ、第１のテクスチャタイルが取得される（ブロック１８１４）。その後、第２の修正されたテクスチャ座標（ｓ，ｔ’’）を用いて、第２のテクスチャがタイル定義スタック内でルックアップされ、第２のテクスチャタイルが取得される（ブロック１８１６）。その後、第１および第２のテクスチャタイルはブレンドされて、合成テクスチャが作成される（ブロック１８１８）。本例では、ブレンディング処理に用いられるブレンディング係数は、タイルインデックスマップからタイル選択オフセットとともに取得される。その後、合成テクスチャが、表示のために（またはさらなるテクスチャ処理動作に用いられるために）出力される（ブロック１８２０）。
【００５３】
図３８は、本発明の疑似３次元テクスチャリング方法の例を示す。本例では、テクスチャタイルインデックスマップ１９００は、タイルスタック１９０２へのインデックスと、ブレンディング係数とを含む。特定的には、本例では、タイルインデックスマップは、整数成分と小数成分とを含むインデックスを含む。たとえば、インデックスマップ１９００の左下隅の成分は、「４．９」である。この実施例においては、整数成分（すなわち、「４」）はレイヤ選択オフセットを与え、小数成分（すなわち、「．９」）はブレンディング係数を与える。よって、間接テクスチャ座標を用いて、レイヤ選択オフセットとブレンディング係数とをルックアップする。その後、オフセットはスケーリングされ（特定の実施において必要であれば）、バンプブロック１９０４を用いて（ラップされた後に）直接テクスチャ座標と組み合わされ、第１の修正されたテクスチャ座標のセットが生成される。その後、第１の修正されたテクスチャ座標のセットは、タイル定義スタック１９０２内のルックアップ処理に用いられて、第１のテクスチャタイルが取得される。また、バンプ部は、タイル選択オフセットに対してバイアス処理を行い、バイアスされたオフセットをラップされた直接テクスチャ座標と組み合わせることによって、第２の修正された座標を生成する。このバイアス処理は、たとえば１タイル分などといいった特定の量だけ、オフセットを単に増加させるものであってもよく、また、処理後のタイルがバイアスを行わない場合の処理後のタイルと異なるようなものであれば、オフセットについての他のいかなる適切な処理を行うものであってもよい。その後、第２の修正されたテクスチャ座標のセットを用いて、タイル定義スタック１９０２から第２のタイルがルックアップされる。選択された２つのタイルは、その後、間接インデックスタイルインデックスマップ１９００によって与えられたブレンディング係数を用いて互いにブレンドされ、それにより、処理後のテクスチャ１９０６に用いられる合成テクスチャタイルが生成される。本例において、処理後のテクスチャ４．９は、ブレンディング係数０．９を用いてレイヤ定義４とレイヤ定義５とが互いにブレンドされたことを示しており、すなわち、４．９＝０．１＊（レイヤ４定義）＋０・９＊（レイヤ５定義）を示す。なお、本例では、１つのオフセットのみが与えられている。よって、本例では、タイル定義マップは、１次元スタックとして扱われ、オフセットは、直接テクスチャ座標のＳ１またはＴ１成分を修正するために用いられる。インデックスマップがブレンディング係数とともにオフセット対を与えるような、他の構成も可能である。他の実施例では、ブレンディング係数は一定であってもよいし、そうでなければ、タイルインデックスマップ１９００による以外の方法で定義されてもよい。しかしながら、ブレンディング係数をタイルインデックスマップにプログラム可能とすることによって、他のブレンディング係数を簡便に定義して、多様性の高い合成タイルを生成することも可能である。なお、本例においては、オフセットのバイアス係数は１タイルである。よって、最初のタイルが定義されると、２番目のタイルは、スタック内において次のタイルとして定義される。バイアスによって第２のタイルが第１のタイルと異なる関係を有するような、他の構成も可能である。
【００５４】
図３９は、図３７および３８に関連して上述したこの第２のタイリング方法の論理ブロック図の例を示す。図３９に示すように，間接座標（Ｓ０，Ｔ０）が決定され、その後、スケーリングブロック１９１０ａおよび１９１０ｂによって示すように、適正にスケーリングされる。スケーリングは、本発明の第１の方法に関連して上述したのと同じ理由で行われる。また、本例では、直接および間接テクスチャ座標は同一の値を用いる。しかしながら、上述のように、他の構成も可能であり、特定の実施によっては、スケーリング処理を調整したり、行わなかったりすることも可能である。本例では、スケーリングされた間接座標１９０８（Ｓ０，Ｔ０）を用いて、間接テクスチャインデックスマップ１９００内のルックアップ処理を行い、タイル選択オフセットを表す整数１９１８ａと、ブレンディング係数を表す小数（１９１８ｂ）とを取得する。その後、乗算器１９２２によって示されるように、整数（オフセット）は再スケーリングされ、加算器１９１６ａに送られて、直接テクスチャ座標の修正子として用いられる。ｎを法とするラップブロック１９１４ａおよび１９１４ｂによって示されるように、直接テクスチャ座標１９１２（Ｓ１，Ｔ１）はラップされる。その後、オフセットはラップされた座標のｔ成分と組み合わされて、第１の修正されたテクスチャ座標のセット（ｓ，ｔ’）が生成され、そして、これを用いて、タイル定義スタック１９０２内のルックアップが行われて、第１のテクスチャタイル（Ｔｅｘ１）が取得される。
【００５５】
また、整数１９１８ａによって与えられたタイル選択オフセットを用いて、第２の修正されたテクスチャ座標のセットが取得される。これは、ブロック１９２６によって示されるように、オフセットをバイアスすることによって行われる。本例では、バイアスの際には、乗算器１９２２ｂでオフセットの再スケーリングが行われる前に、オフセットに１を加算することが行われる。その後、バイアスされたオフセットは、加算器１９１６ｂに送られる。バイアスされたオフセットは、直接テクスチャ座標のラップされたｔ成分と加算器１９１６ｂによって組み合わされ、第２の修正されたテクスチャ座標のセット（ｓ，ｔ’’）が生成される。その後、第２の修正されたテクスチャ座標のセットは、１９０２のタイル定義マップ内の第２のルックアップを行うために用いられて、第２のテクスチャタイル（Ｔｅｘ２）が取得される。
【００５６】
その後、第１のテクスチャタイル（ｔｅｘ１）および第２のテクスチャタイル（ｔｅｘ２）は、ブレンディングブロック１９２０に送られる。間接テクスチャインデックスマップ１９００から取得した小数成分（１９１８ｂ）は、多重器１９２４ａおよび１９２４ｂを介して、ブレンディングブロック１９２０に運ばれる。よって、その後、ブレンダーは、２つのテクスチャタイルおよび適正なブレンディング係数を有する。その後、ブレンディング処理が行われて、２つのテクスチャタイルがブレンディング係数に基づいて組み合わされて、合成タイルが生成されて、表示のために（またはさらなるテクスチャ処理動作に用いられるために）出力される。
【００５７】
＜ＡＰＩ間接テクスチャタイリング関数コマンドの例＞
図７〜１０に示すように、１つ以上のグラフィックスＡＰＩ関数を用いて、間接テクスチャルックアップ処理および間接テクスチャ処理を設定および起動させるのが好ましい。上述のような、間接テクスチャ処理設定のためのＡＰＩ関数、ならびに間接テクスチャタイリングおよび疑似３次元テクスチャタイリングを行うためのパラメータは、以下のように定義されてもよい。
【００５８】
＜ＧＸＳｅｔＴｅｖＩｎｄＴｉｌｅ＞
この関数は、間接テクスチャを用いたタイル化されたテクスチャリングを実施するのに用いてもよい。なお、通常のテクスチャマップは、タイル定義を指定するのみである。ポリゴンに付加するテクセルの実際の数は、基礎タイルの大きさおよび間接マップの大きさの関数である。適正なテクスチャ座標スケールを設定するために、ＧＸＳｅｔＴｅｘＣｏｏｒｄＳｃａｌｅＭａｎｕａｌｌｙを呼び出さなければならない。また、通常のＴＥＶステージと同じテクスチャ座標を間接ステージに用いるためには、ＧｘＳｅｔＩｎｄＴｅｘＳｃａｌｅを用いる。
【００５９】
0004698894.tif 000002
【００６０】
0004698894.tif 000003
【００６１】
上記の関数は、上述の間接テクスチャタイリング方法または疑似３次元テクスチャタイリング方法を特定するために用いることができる。なお、タイルの大きさと間隔とは個別に指定することが可能である。タイルの大きさよりも大きな間隔を用いる理由の例としては、ミップマッピングのための境界を持たせることがある。ミップマップスタックの高さによっては、タイルの外側にあるテクセルが、ミップマップ用のフィルタリング計算に含まれる場合がある。この関数により、所定の入力に基づいて適切に、マトリックスおよびスケール値が設定される。どのマトリックススロットを使用するかを指定しさえすればよい。ｂｉａｓＳｅｌやａｌｐｈａＳｅｌパラメータを用いるのは、疑似３次元ルックアップの場合のみである。これらは、通常の２次元タイリングの場合には、（それぞれ）ＧＸ＿ＩＴＢ＿ＮＯＮＥおよびＧＸ＿ＩＴＢＡ＿ＯＦＦに設定される。なお、テクスチャタイリングは、間接マップおよび通常（直接）マップに同一のテクスチャ座標を利用することができる。しかしながら、通常のテクスチャ座標の所望のスケール値は、タイル定義を含む通常マップの大きさと直接は関係していない。通常、テクスチャ座標のスケールの大きさは、ルックアップされるマップの大きさに設定され、テクスチャ座標が共用される場合には、通常マップの大きさが好ましい。テクスチャタイリングによって、異なるスケールが必要なので、以下の関数を用いることができる。
【００６２】
0004698894.tif 000004
【００６３】
ＧＸＳｅｔＣｏｏｒｄＳｃａｌｅＭａｎｕａｌｌｙが呼び出されて、イネーブルがＧＸ＿Ｔｒｕｅに設定されると、関数が再び呼び出されるまで、所定のテクスチャ座標スケール値が固定される。関数が呼び出されてイネーブルがＧＸ＿Ｆａｌｓｅに設定されると、自動テクスチャ座標スケーリングが、当該テクスチャ座標に対して再び引き継ぐ。テクスチャタイリングでは、所望のテクスチャ座標スケールは、タイルの大きさと間接マップの大きさの積である。その後、ＧＸＳｅｔＩｎｄＴｅｘＣｏｏｒｄＳｃａｌｅを用いて、タイルの大きさを分割して、間接マップへのアクセスに使用する。
【００６４】
疑似３次元テクスチャルックアップに対応するために、本例では、ＧＸＳｅｔＴｅｖＩｎｄＴｉｌｅを２つの隣接するＴＥＶステージのために呼び出さなければならない。第１のステージは、通常の２次元タイリングの仕様と似ている。第２のステージでは、バイアス選択およびアルファ選択を指定する。バイアスを用いて、タイルスタック方向を選択する。次のタイルがＳ次元のオフセットである場合は、ＧＸ＿ＩＴＢ＿Ｓが用いられ、次のタイルがＴ次元のオフセットである場合は、ＧＸ＿ＩＴＢ＿Ｔが用いられる。その後、バンプアルファを選択して、第１のルックアップからのタイルおよび第２のルックアップからのタイルをブレンドする。なお、本例においては、疑似３次元テクスチャでは８ビットフォーマットを用いることはできない。代わりに、３、４、および５ビットフォーマットを用いることができる。このようなフォーマットは、−１２８の代わりに＋１のバイアス値を用いる。＋１バイアスを用いて、第２のステージの「次の」タイルを得る。
【００６５】
＜互換可能な他の実施例＞
上述のシステム構成要素５０のうちのあるものは、上述の家庭用ビデオゲームコンソール以外であっても実施できる。たとえば、システム５０のために書き込まれているグラフィックスアプリケーションなどのソフトウェアを、システム５０をエミュレートするかまたはそれと互換性のある他の構成を用いたプラットフォーム上で実行することができる。他のプラットフォームが、システム５０のハードウェアおよびソフトウェア資源の一部または全部をうまくエミュレート、模倣、および／または提供できるのであれば、当該他のプラットフォームは、ソフトウェアをうまく実行することができるであろう。
【００６６】
一例として、エミュレータは、システム５０のハードウェアおよび／またはソフトウェア構成（プラットフォーム）とは異なるハードウェアおよび／またはソフトウェア構成（プラットフォーム）を提供してもよい。エミュレータシステムは、アプリケーションソフトウェアを書き込む対象であるシステムのハードウェアおよび／またはソフトウェア構成要素の一部またはすべてをエミュレートするハードウェアおよび／またはソフトウェア構成要素を含んでいてもよい。たとえば、エミュレータシステムは、パーソナルコンピュータなどの汎用デジタルコンピュータを備えることができ、これによって、システム５０のハードウェアおよび／またはファームウェアを模倣するソフトウェアエミュレータプログラムが実行される。
【００６７】
汎用デジタルコンピュータの中には（たとえば、ＩＢＭまたはマッキントッシュ製パーソナルコンピュータおよびその互換機）、現在、ＤｉｒｅｃｔＸ３Ｄやその他の標準グラフィックスコマンドＡＰＩに対応したグラフィックスパイプラインを提供する３Ｄグラフィックスカードが搭載されているものもある。これらには、また、標準的なサウンドコマンドに基づいて高品質の立体音響を提供する立体音響サウンドカードも搭載されている場合もある。エミュレータソフトウェアを実行させるこのようなマルチメディアハードウェアを搭載したコンピュータは、システム５０のグラフィックス性能およびサウンド性能を近似するに充分な性能を有している場合がある。エミュレータソフトウェアは、パーソナルコンピュータプラットフォーム上のハードウェア資源を制御して、ゲームプログラマがゲームソフトウェアを書き込む対象である家庭用ビデオゲームゲームコンソールプラットフォームの処理性能、３Ｄグラフィックス性能、サウンド性能、周辺性能などを模倣する。
【００６８】
図４０は、エミュレーション処理全体の例を示しており、この処理は、ホストプラットフォーム１２０１と、エミュレータ構成要素１３０３と、記憶媒体６２上に与えられているバイナリ画像を実行可能なゲームソフトウェアとを用いる。ホスト１２０１は、汎用または専用デジタルコンピューティング装置であってもよく、たとえばパーソナルコンピュータやビデオゲームコンソールなど、充分な計算能力を備えたプラットフォームが挙げられる。エミュレータ１３０３は、ホストプラットフォーム１２０１上で実行されるソフトウェアおよび／またはハードウェアであってもよく、コマンドやデータなどの記憶媒体６２からの情報をリアルタイムで変換して、ホスト１２０１が処理可能な形式にすることができる。たとえば、エミュレータ１３０３は、システム５０が実行しようとする「ソース」バイナリ画像プログラム命令を記憶媒体６２から取り出して、実行可能な形式またはホスト１２０１によって処理可能な形式に当該プログラム命令を変換する。
【００６９】
一例として、ＩＢＭのＰｏｗｅｒＰＣなどの特定のプロセッサを用いたプラットフォーム上で実行するためにソフトウェアが書き込まれており、ホスト１２０１は、異なる（たとえば、インテルの）プロセッサを用いたパーソナルコンピュータである場合、エミュレータ１３０３は、バイナリ画像プログラム命令の１つまたはシーケンスを記憶媒体１３０５から取り出して、これらのプログラム命令を、インテルのバイナリ画像プログラム命令に相当するものに変換する。また、エミュレータ１３０３は、グラフィックス音声プロセッサ１１４によって処理されるグラフィックスコマンドや音声コマンドを取り出しおよび／または生成し、ハードウェアおよび／またはソフトウェアグラフィックスおよびホスト１２０１で利用可能な音声処理資源によって処理可能な形式に、これらコマンドを変換する。一例として、エミュレータ１３０３は、これらのコマンドを、ホスト１２０１の特定のグラフィックスおよび／またはサウンドハードウェアによって処理可能なコマンドに変換する（たとえば、ＤｉｒｅｃｔＸ、ＯｐｅｎＧＬおよび／またはサウンドＡＰＩを用いる）。
【００７０】
エミュレータ内の特定のグラフィックス対応ハードウェアが間接テクスチャ参照機能や図７から３９に示す機能を含まない場合には、エミュレータ設計者は以下のうちいずれかの選択を行う。
・間接テクスチャ参照コマンドを、グラフィックス対応ハードウェアが解釈できる他のグラフィックスＡＰＩコマンドに変換する。
・間接テクスチャ参照をソフトウェア内で実施する。これに応じて、プロセッサの処理速度によっては性能の低下を余儀なくされる可能性がある。または、
・間接テクスチャ参照をコマンドを「スタブ」（すなわち、無視する）して、間接テクスチャ参照を用いた効果を含まないレンダリング済み画像を提供する。
【００７１】
図３６および３９の論理図は、すべてソフトウェア、すべてハードウェア、およびハードウェアとソフトウェアとの組み合わせによって実施可能であるが、好ましい実施例においては、ほとんどの計算を（バンプ部５００ｂを用いて）ハードウェアで行い速度性能や他の利点を得るようにする。それにもかかわらず、他の実施形態においては（たとえば、非常に高速のプロセッサが利用可能な場合）、本記載のすべてのうちのいくらかの処理をソフトウェアで行って、同様なまたは同一の画像結果を得るようにしてもよい。
【００７２】
上述のビデオゲームシステムの機能の一部または全部を提供するために用いられるエミュレータ１３０３には、エミュレータを用いて実行される様々なオプションや画面モードの選択を簡略化または自動化するグラフィックユーザインターフェース（ＧＵＩ）が与えられてもよい。一例として、そのようなエミュレータ１３０３は、ソフトウェアが本来対象としていたホストプラットフォームに比較して、拡張された機能をさらに含んでいてもよい。
【００７３】
図４１は、エミュレータ１３０３と共に用いられるのに適したエミュレーションホストシステム１２０１を示す。システム１２０１は、処理部１２０３と、システムメモリ１２０５とを含む。システムバス１２０７は、システムメモリ１２０５から処理部１２０３までを含む様々なシステム構成要素を結合する。システム１２０７は、メモリバスまたはメモリコントローラ、周辺機器バス、ローカルバスなど、様々なバスアーキテクチャのいずれかを用いたものを含む、数種のバス構成のいずれであってもよい。システムメモリ１２０７は、読み出し専用メモリ（ＲＯＭ）１２５２と、ランダムアクセスメモリ（ＲＡＭ）１２５４とを含む。ベーシック入出力システム（ＢＩＯＳ）１２５６は、パーソナルコンピュータシステム１２０１内の要素間において情報を転送するのを助ける基本ルーチンを含んでおり、ＲＯＭ１２５２に記憶される。システム１２０１は、様々なドライブや、関連したコンピュータが読み取り可能な媒体をさらに含む。ハードディスクドライブ１２０９は、（典型的には固定された）磁気ハードディスク１２１１からの読み出しやそれに対する書き込みを行う。付加的な（選択可能な）磁気ディスクドライブ１２１３は、着脱可能な「フロッピー」などの磁気ディスク１２１５からの読み出しやそれに対する書き込みを行う。随意のディスクドライブ１２１７は、ＣＤＲＯＭなどの随意の媒体のような着脱可能な光ディスク１２１９からの読み出しや、構成によってはそれに対する書き込みも行う。ハードディスクドライブ１２０９および光ディスクドライブ１２１７は、それぞれ、ハードディスクドライブインターフェース１２２１および光ドライブインターフェース１２２５によって、システムバス１２０７に接続している。ドライブやそれに関連するコンピュータが読み出し可能な媒体によって、コンピュータが読み出し可能な命令、データ構造、プログラムモジュール、ゲームプログラムなどのパーソナルコンピュータシステム１２０１のためのデータが不揮発的に記憶される。他の構成においては、コンピュータが読み出し可能な他の種類の媒体が用いられていてもよく、コンピュータによってアクセス可能なデータを記憶できる媒体（たとえば、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌーイカートリッジ、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）など）であってもよい。
【００７４】
エミュレータ１３０３を含む多くのプログラムモジュールは、ハードディスク１２１１、着脱可能な磁気ディスク１２１５、光学ディスク１２１９、および／またはシステムメモリ１２０５のＲＯＭ１２５２および／またはＲＡＭ１２５４に記憶されてもよい。そのようなプログラムモジュールは、グラフィックスやサウンドＡＰＩを提供するオペレーティングシステム、１つ以上のアプリケーションプログラム、他のプログラムモジュール、プログラムデータ、ゲームデータを含んでもよい。ユーザは、コマンドや情報を、キーボード１２２７、ポインティングデバイス１２２９、マイク、ジョイスティック、ゲームコントローラ、衛星アンテナ、スキャナなどの入力装置を通じて、パーソナルコンピュータシステム１２０１に対して入力する。このような入力装置は、システムバス１２０７に結合されたシリアルポートインターフェース１２３１を介して処理部１２０３に接続されることが可能であるが、パラレルポートや、ゲームポートファイアワイヤーバス、またはユニバーサルシリアルバス（ＵＳＢ）などの他のインターフェースによって接続されてもよい。モニタ１２３３などの表示装置も、ビデオアダプタ１２３５などのインターフェースを介して、システムバス１２０７に接続される。
【００７５】
また、システム１２０１は、インターネットのようなネットワーク１１５２上での通信を確立するための、モデム１１５４などのネットワークインターフェース手段を含んでもよい。モデム１１５４は、内蔵であっても外付けであってもよく、シリアルポートインターフェース１２３１を介してシステムバス１２３に接続される。また、ローカルエリアネットワーク１１５８を介して（または、ワイドエリアネットワーク１１５２、ダイアルアップなどの他の通信路、または他の通信手段を介してもよい）、システム１２０１が遠隔コンピューティング装置１１５０（たとえば、他のシステム１２０１）と通信できるように、ネットワークインターフェース１１５６が与えられてもよい。システム１２０１は、典型的には、プリンタなどの標準周辺機器のような、他の周辺出力装置を含む。
【００７６】
一例において、ビデオアダプタ１２３５は、Ｍｉｃｒｏｓｏｆｔ製ＤｉｒｅｃｔＸ７．０などのバージョンのような標準３Ｄグラフィックスアプリケーションプログラマインターフェースに基づいて出される３Ｄグラフィックスコマンドに応答して、高速３Ｄグラフィックスレンダリングを提供するグラフィックスパイプラインチップセットを含んでいてもよい。立体音響スピーカセット１２３７も、システムバス１２０７に対して、従来の「サウンドカード」のような音声生成インターフェースを介して接続されている。そのようなインターフェースは、バス１２０７から与えられたサウンドコマンドに基づいて高品質な立体音響を生成するための支援をハードウェアや組み込みソフトウェアに対して行う。このようなハードウェアの機能によって、システム１２０１は、記憶媒体６２に記憶されたソフトウェアを実行するのに充分なグラフィックスおよび音響の速度性能を提供することができる。
【００７７】
本発明は、現時点において最も現実的で最適な実施例と思われるものに関連して説明してきたが、本発明は、開示された実施例に限定されるものではなく、添付の請求項の範囲に含まれる様々な変形例や相当する仕組みを含むことを意図していると解釈されるべきである。
【図面の簡単な説明】
【図１】対話式コンピュータグラフィックスシステムの一例の概略図である。
【図２】図１のコンピュータグラフィックスシステムの例のブロック図である。
【図３】図２に示すグラフィックス＆音声プロセッサの例のブロック図である。
【図４】図３に示す３Ｄグラフィックスプロセッサの例のブロック図である。
【図５】図４のグラフィックス＆音声プロセッサの論理フロー図の例である。
【図６】本発明に係る間接テクスチャ処理の論理概要を示すブロック図である。
【図７】通常（非間接）テクスチャルックアップの単純な基本例を示す機能ブロック図である。
【図８】間接テクスチャルックアップの単純な基本例を示す機能ブロック図である。
【図９】本発明に係る間接テクスチャ処理を実施するための物理的な構成例の概要を示すブロック図である。
【図１０】テクスチャアドレス（座標／データ）プロセッサ処理の論理概要を示すブロック図である。
【図１１】テクスチャリングパイプラインの実施例において、インターリーブされた直接および間接テクスチャ処理の結果である、ピクセル直接座標データおよびピクセル間接テクスチャデータの相関的な経過を示すブロック図群である。
【図１２】テクスチャリングパイプラインの実施例において、インターリーブされた直接および間接テクスチャ処理の結果である、ピクセル直接座標データおよびピクセル間接テクスチャデータの相関的な経過を示すブロック図群である。
【図１３】テクスチャリングパイプラインの実施例において、インターリーブされた直接および間接テクスチャ処理の結果である、ピクセル直接座標データおよびピクセル間接テクスチャデータの相関的な経過を示すブロック図群である。
【図１４】テクスチャリングパイプラインの実施例において、インターリーブされた直接および間接テクスチャ処理の結果である、ピクセル直接座標データおよびピクセル間接テクスチャデータの相関的な経過を示すブロック図群である。
【図１５】テクスチャリングパイプラインの実施例において、インターリーブされた直接および間接テクスチャ処理の結果である、ピクセル直接座標データおよびピクセル間接テクスチャデータの相関的な経過を示すブロック図群である。
【図１６】テクスチャリングパイプラインの実施例において、インターリーブされた直接および間接テクスチャ処理の結果である、ピクセル直接座標データおよびピクセル間接テクスチャデータの相関的な経過を示すブロック図群である。
【図１７】テクスチャリングパイプラインの実施例において、インターリーブされた直接および間接テクスチャ処理の結果である、ピクセル直接座標データおよびピクセル間接テクスチャデータの相関的な経過を示すブロック図群である。
【図１８】テクスチャリングパイプラインの実施例において、インターリーブされた直接および間接テクスチャ処理の結果である、ピクセル直接座標データおよびピクセル間接テクスチャデータの相関的な経過を示すブロック図群である。
【図１９】テクスチャリングパイプラインの実施例において、インターリーブされた直接および間接テクスチャ処理の結果である、ピクセル直接座標データおよびピクセル間接テクスチャデータの相関的な経過を示すブロック図群である。
【図２０】テクスチャリングパイプラインの実施例において、インターリーブされた直接および間接テクスチャ処理の結果である、ピクセル直接座標データおよびピクセル間接テクスチャデータの相関的な経過を示すブロック図群である。
【図２１】テクスチャリングパイプラインの実施例において、インターリーブされた直接および間接テクスチャ処理の結果である、ピクセル直接座標データおよびピクセル間接テクスチャデータの相関的な経過を示すブロック図群である。
【図２２】本発明に係る間接テクスチャ処理を実施するためのステップ例を示す、フローチャートである。
【図２３】本発明に係る、通常（非間接）テクスチャ処理の例を示す機能処理図である。
【図２４】本発明に係る、通常（非間接）および間接テクスチャ処理両方の例を示す、機能処理図である。
【図２５】図５に示すテクスチャ座標／バンプ処理部の詳細例を示す、ブロック図である。
【図２６】図２５に示す間接テクスチャルックアップデータ／座標処理ロジック（ｐｒｏｃ）の詳細例を示すブロック図である。
【図２７】図２６の処理ロジック回路（ｐｒｏｃ）によって用いられるテクスチャオフセットマトリックスの例を示す。
【図２８】図２６の処理ロジック回路（ｐｒｏｃ）によって用いられるテクスチャオフセットマトリックスの例を示す。
【図２９】図２６の処理回路内の処理を制御するための制御ロジックレジスタのデータフィールドフォーマット例を示すブロック図である。
【図３０】本発明の好ましい実施例に係る、第１のタイリング方法の一般的な機能ブロック図である。
【図３１】本発明の好ましい実施例に係る、第２のタイリング方法の一般的な機能ブロック図である。
【図３２】図３０の第１のタイリング方法のより詳細な機能ブロック図である。
【図３３】本発明の第１のタイリング方法の３つの例を示す。
【図３４】本発明の第１のタイリング方法の３つの例を示す。
【図３５】本発明の第１のタイリング方法の３つの例を示す。
【図３６】本発明の第１のタイリング方法の例図である。
【図３７】図２５の第２のタイリング方法のフローチャートである。
【図３８】本発明の第２のタイリング方法の例である。
【図３９】本発明の第２のタイリング方法の論理ブロック図の例である。
【図４０】他の代替可能な実施例を示す。
【図４１】他の代替可能な実施例を示す。
【図１】
0004698894.tif 000005
【図２】
0004698894.tif 000006
【図３】
0004698894.tif 000007
【図４】
0004698894.tif 000008
【図５】
0004698894.tif 000009
【図６】
0004698894.tif 000010
【図７】
0004698894.tif 000011
【図８】
0004698894.tif 000012
【図９】
0004698894.tif 000013
【図１０】
0004698894.tif 000014
【図１１】
0004698894.tif 000015
【図１２】
0004698894.tif 000016
【図１３】
0004698894.tif 000017
【図１４】
0004698894.tif 000018
【図１５】
0004698894.tif 000019
【図１６】
0004698894.tif 000020
【図１７】
0004698894.tif 000021
【図１８】
0004698894.tif 000022
【図１９】
0004698894.tif 000023
【図２０】
0004698894.tif 000024
【図２１】
0004698894.tif 000025
【図２２】
0004698894.tif 000026
【図２３】
0004698894.tif 000027
【図２４】
0004698894.tif 000028
【図２５】
0004698894.tif 000029
【図２６】
0004698894.tif 000030
【図２７】
0004698894.tif 000031
【図２８】
0004698894.tif 000032
【図２９】
0004698894.tif 000033
【図３０】
0004698894.tif 000034
【図３１】
0004698894.tif 000035
【図３２】
0004698894.tif 000036
【図３３】
0004698894.tif 000037
【図３４】
0004698894.tif 000038
【図３５】
0004698894.tif 000039
【図３６】
0004698894.tif 000040
【図３７】
0004698894.tif 000041
【図３８】
0004698894.tif 000042
【図３９】
0004698894.tif 000043
【図４０】
0004698894.tif 000044
【図４１】
0004698894.tif 000045