(57)【特許請求の範囲】
【請求項１】
レンダリングされるべき画像に関して、Ｈ空間照明およびＨ空間バンプ・マッピングを実行するための装置であって、フラグメント照明構成要素を含み、フラグメント照明構成要素が、フラグメント照明構成要素によって処理中のポリゴンの各頂点に関してＨ空間鏡面照明項およびＨ空間拡散照明項を計算する論理と、処理中のポリゴンによって取り囲まれる領域内の各画素に関してＨ空間鏡面照明項およびＨ空間拡散照明項を補間する論理と、を含む装置であって、ここで、頂点のＨ空間は、該頂点を含むポリゴンの辺と表面法線とのクロス積であるＵ基準ベクトルと、表面法線とＵ基準ベクトルとのクロス積であるＶ基準ベクトルとによって定まる２次元座標系である装置。
【請求項２】
Ｈ空間バンプ・マッピングを達成するように補間されたＨ空間鏡面照明項およびＨ空間拡散照明項に摂動を追加する論理をさらに含む、請求項１に記載の装置。
【請求項３】
Ｈ空間鏡面照明項およびＨ空間拡散照明項の計算の前に、フラグメント照明構成要素が、Ｈ空間頂点基準ベクトルとテクスチャ座標勾配ベクトルを位置合わせし、Ｈ空間頂点基準ベクトルがテクスチャ座標勾配ベクトルと位置合わせされた後、Ｈ空間鏡面照明項およびＨ空間拡散照明項を計算する論理が、位置合わせされたＨ空間頂点基準ベクトルを使用して、処理中のポリゴンの各頂点に関してＨ空間鏡面照明項およびＨ空間拡散照明項を計算する、請求項２に記載の装置。
【請求項４】
Ｈ空間鏡面照明項およびＨ空間拡散照明項を計算する論理が、位置合わせされたＨ空間頂点基準ベクトルを計算し、かつ処理中のポリゴンの頂点に関連付けられたＨ空間鏡面照明項およびＨ空間拡散照明項を計算した後、Ｈ空間鏡面照明項およびＨ空間拡散照明項を補間する論理が、ポリゴン内の画素のＨ空間鏡面照明項およびＨ空間拡散照明項を補間するために、処理中のポリゴンの頂点に関連付けられたＨ空間鏡面照明項およびＨ空間拡散照明項を使用する、請求項３に記載の装置。
【請求項５】
Ｈ空間鏡面照明項および／またはＨ空間拡散照明項に摂動が追加されるように摂動を追加する論理が、制御することが可能である、請求項４に記載の装置。
【請求項６】
計算されたＨ空間鏡面照明項およびＨ空間拡散照明項が、照明方向を示す少なくとも１つの３次元ベクトルの２次元表現を定義する請求項２に記載の装置。
【請求項７】
３次元ベクトルが、照明ベクトルとビューベクトルに関連した半角ベクトルである請求項６に記載の装置。
【請求項８】
レンダリングされるべき画像に関して、フラグメント・プロセッサによって、Ｈ空間照明およびＨ空間バンプ・マッピングを実行するための方法であって、前記フラグメント・プロセッサのフラグメント照明構成要素において実施され、フラグメント照明構成要素によって、処理中のポリゴンの各頂点に関してＨ空間鏡面照明項およびＨ空間拡散照明項を計算するステップと、処理中のポリゴンによって取り囲まれる領域内の各画素に関してＨ空間鏡面照明項およびＨ空間拡散照明項を補間するステップと、を含む方法であって、ここで、頂点のＨ空間は、該頂点を含むポリゴンの辺と表面法線とのクロス積であるＵ基準ベクトルと、表面法線とＵ基準ベクトルとのクロス積であるＶ基準ベクトルとによって定まる２次元座標系である方法。
【請求項９】
Ｈ空間バンプ・マッピングを達成するように、補間されたＨ空間鏡面照明項およびＨ空間拡散照明項に摂動を追加するステップをさらに含む請求項８に記載の方法。
【請求項１０】
各頂点に関するＨ空間鏡面照明項およびＨ空間拡散照明項の計算の前に、Ｈ空間頂点基準ベクトルとテクスチャ座標勾配ベクトルが位置合わせされ、Ｈ空間頂点基準ベクトルがテクスチャ座標勾配ベクトルと位置合わせされた後、位置合わせされたＨ空間頂点基準ベクトルを使用して、処理中のポリゴンの各頂点に関してＨ空間鏡面照明項およびＨ空間拡散照明項を計算する、請求項９に記載の方法。
【請求項１１】
処理中のポリゴンの頂点に関連付けられたＨ空間鏡面照明項およびＨ空間拡散照明項が計算された後、処理中のポリゴンの頂点に関連付けられたＨ空間鏡面照明項およびＨ空間拡散照明項が、ポリゴン内の画素のＨ空間鏡面照明項およびＨ空間拡散照明項を補完するために使用される、請求項１０に記載の方法。
【請求項１２】
Ｈ空間鏡面照明項および／またはＨ空間拡散照明項が制御可能にバンプ・マップされるように、Ｈ空間鏡面照明項および／またはＨ空間拡散照明項に摂動を追加するプロセスが制御可能である、請求項１１に記載の方法。
【請求項１３】
フラグメント照明構成要素によって、処理中のポリゴンの各頂点に関してＨ空間鏡面照明項およびＨ空間拡散照明項を計算するステップと、処理中のポリゴンによって取り囲まれる領域内の各画素に関してＨ空間鏡面照明項およびＨ空間拡散照明項を補間するステップと、Ｈ空間バンプ・マッピングを達成するように、Ｈ空間鏡面照明項およびＨ空間拡散照明項に摂動を追加するステップとがハードウェアにおいて実行される請求項１２に記載の方法。
【請求項１４】
フラグメント照明構成要素によって、処理中のポリゴンの各頂点に関してＨ空間鏡面照明項およびＨ空間拡散照明項を計算するステップと、処理中のポリゴンによって取り囲まれる領域内の各画素に関してＨ空間鏡面照明項およびＨ空間拡散照明項を補間するステップと、Ｈ空間バンプ・マッピングを達成するように、Ｈ空間鏡面照明項およびＨ空間拡散照明項に摂動を追加するステップとがソフトウェアにおいて実行される請求項１２に記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般に、コンピュータ・グラフィックス表示システムに関し、より詳細には、コンピュータ・グラフィックス表示システムのグラフィックス・パイプラインのフラグメント・プロセッサにおいて、すでにＨＰ−Ｌａｂｓによって開発された、Ｈ空間照明を伴う実施形態に適した、Ｈ空間バンプ・マッピングを実行するための方法および装置に関する。
【０００２】
【従来の技術】
コンピュータ・グラフィックス表示システムは、一般に、２次元ビデオ表示画面にオブジェクトの図形表現を表示するために使用される。現行コンピュータ・グラフィックス表示システムは、高度に細密な表現を提供し、様々な応用例に使用されている。コンピュータ・グラフィックス表示システムは、通常、中央処理装置（ＣＰＵ）と、システム・メモリと、グラフィックス・システムと、グラフィックス表示画面とを備える。
【０００３】
代表的なコンピュータ・グラフィックス表示システムにおいて、表示画面に提示されるべきオブジェクトは、グラフィックス・プリミティブに分解される。プリミティブは、グラフィックス表示の基本的な成分であって、点、線、ベクトル、ポリゴン（例：三角形、四角形）を含むことができる。一般に、表示画面に表示されている１つ以上のオブジェクトのビューを表現するグラフィックス・プリミティブをレンダリングまたは描画するには、ハードウェア／ソフトウェア方式が実施される。
【０００４】
通常、レンダリングされるべき３次元オブジェクトのプリミティブは、ホストＣＰＵによって実行中のソフトウェアにより、プリミティブ・データに関して生成される。例えば、プリミティブが三角形のとき、ホスト・コンピュータによって実行されているソフトウェアは、頂点のＸ、Ｙ、Ｚ座標に関するプリミティブと、頂点の法線Ｎｘ、Ｎｙ、Ｎｚと、各頂点の赤、緑、青、アルファ（Ｒ、Ｇ、Ｂ、α）の明度とを定義する。アルファとは、透明度の値である。追加のプリミティブ・データを、特定の応用例で使用することができる。レンダリングするハードウェアは、これらすべてのデータを補間して、各プリミティブを表現する表示画面の画素と、各画素に関するＲ、Ｇ、Ｂ、およびαの値を計算する。
【０００５】
グラフィックス・システムは、通常、ハードウェアで実施され、一般に、ジオメトリ・アクセラレータと、ラスタライザ（ｒａｓｔｅｒｉｚｅｒ）と、フレーム・バッファ・コントローラと、フレーム・バッファ・メモリとを含む。グラフィックス・システムは、一般に、テクスチャ・マッピング・ハードウェアも含む。グラフィックス・システムがジオメトリ・アクセラレータを含む場合、そのジオメトリ・アクセラレータは、表示されるべきビューを構成するプリミティブを定義する、頂点のデータを、ホストＣＰＵから受け取る。ハードウェアのグラフィックス・アクセラレータによって実行されるタスクの多くは、代わりにホストＣＰＵ上で実行中のソフトウェアで実行することもできる。しかし、多くの場合、グラフィックス・アクセラレータは、通常、これらのタスクをホスト・コンピュータよりも高速に実行することができ、したがって、コンピュータ・グラフィックス表示システムのレンダリングの速度全体を向上させるので、グラフィックス・アクセラレータの方が好まれる。
【０００６】
ジオメトリ・アクセラレータは、通常、ホストＣＰＵから頂点データを受け取る変換構成要素と、クリッピング構成要素と、照明構成要素と、平面方程式構成要素とを備える。変換構成要素は、ＣＰＵから受け取った頂点データに、頂点データによって定義される画像空間の回転および平行移動のような変換を実施する。クリッピング構成要素は、ユーザによって参照されるビューの部分を構成するプリミティブに関する頂点データだけを、さらなる処理のために保存するために、その頂点データをクリップする。照明構成要素は、頂点データおよび照明条件に基づいて、プリミティブの頂点の最終的な色を計算する。平面方程式構成要素は、頂点内に画像空間を画定する浮動小数点方程式を生成する。この浮動小数点方程式は、この後、浮動小数点−固定小数点構成要素によって固定小数点方程式に変換される。一般に、グラフィックス・アクセラレータの外部にあるとみなされるラスタライザは、グラフィックス・アクセラレータの平面方程式構成要素の出力を受け取る。ラスタライザは、一般に、ジオメトリ・アクセラレータから出力された頂点によって画定される各プリミティブの内部の画素の値を補間する。
【０００７】
フラグメント・プロセッサ構成要素は、ラスタライザの出力を受け取り、各プリミティブの各画素に関して、最終画面座標と色データを生成する。フラグメント・プロセッサ構成要素は、テクスチャ・マッピングを実行するテクスチャ・マッピング構成要素と、プリミティブの各々の中で画素の各々の実効値を計算するフラグメント照明構成要素とを備える。これは、ラスタライザによって実行される、プリミティブの画素値を補間するプロセスとは区別されるべきである。Ｈ空間照明として知られる前述の技術は、シーンの照明を実行するために、フラグメント照明構成要素によって使用することができる。Ｈ空間照明は、一般に、フォン照明と呼ばれるよく知られている照明技術によって達成される効果と一般に同等の効果を達成するためには、計算的にあまりコストのかかる技術ではない。これらの技術は両方とも、シーン全体に対して画素単位で照明を実行するアルゴリズムである。
【０００８】
フラグメント照明構成要素は、フォン照明技術と併せて、さらにバンプ・マッピングとして知られる技術を実行することも知られている。バンプ・マッピングとは、シーンの光源位置の変化に従って、照明により生成される表面の明領域と暗領域が変化するような、表面のテクスチャを示す、照明効果を提供する技術である。バンプ・マッピングをフォン照明と共に使用すると、フラグメント・プロセッサのフラグメント照明構成要素によって実行される機能に関連する計算的なオーバヘッドがさらに増加し、したがって、コンピュータ・グラフィックス表示システムのレンダリング速度全体が影響を受ける。
【０００９】
【発明が解決しようとする課題】
Ｈ空間照明はフォン照明よりも計算的にコストがかからないので、Ｈ空間照明と共に使用可能であり、かつフォン照明技術と共に使用されるバンプ・マッピング技術よりも計算的にコストがかからないバンプ・マッピング技術を提供すると有利である。したがって、フラグメント・プロセッサの計算が実行できる速度を最大限にし、したがって、コンピュータ・グラフィックス表示システムの処理速度全体を向上させるために、計算的に低コストでＨ空間照明と共に使用するバンプ・マッピング技術の方法および装置が求められている。
【００１０】
【課題を解決するための手段】
本発明は、Ｈ空間バンプ・マッピングを実行するための方法および装置を提供する。本発明の装置は、コンピュータ・グラフィックス表示システムのフラグメント・プロセッサである。本発明の方法は、このフラグメント・プロセッサによって実行される。本発明の方法によると、フラグメント・プロセッサは、処理中の各ポリゴンの各頂点に関して、拡散照明項および鏡面照明項の両方を計算する。次いで、フラグメント・プロセッサは、各フラグメントに関する拡散照明項および鏡面照明項を得るために、頂点によって画定されたポリゴン内の各フラグメントに関して鏡面照明項および拡散照明項を補間する。バンプ・マッピングがすでにイネーブルされている場合、フラグメント・プロセッサは、各フラグメントに関してバンプ・マッピングを生成するために、補間された拡散照明項および鏡面照明項に摂動を追加する。次いで、バンプ・マップされた画像に関する情報を使用して、各フラグメントの色が決定される。
【００１１】
本発明の好ましい実施形態では、Ｈ空間バンプ・マッピングのアルゴリズムを実行する前に、レンダリングされるべき画像に関して、テクスチャ座標勾配ベクトルが計算される。本発明のＨ空間バンプ・マッピングのアルゴリズム実行中、Ｈ空間基準ベクトルが、テクスチャ座標勾配ベクトルと位置合わせされる。このＨ空間基準ベクトルを使用して、鏡面照明項および拡散照明項が計算される。Ｈ空間基準ベクトルがテクスチャ座標勾配ベクトルと位置合わせされているので、鏡面照明項および拡散照明項を、フラグメントごとに（すなわち画素ごとに）バンプ・マップのテクスチャ座標に関連付けられた座標系に変換する必要はない。Ｈ空間基準ベクトルがテクスチャ座標勾配ベクトルと位置合わせされた後、そのアルゴリズムは前述の方式で進む。
【００１２】
本発明のこれらの、また他の特徴および利点は、以下に示す議論、図面および請求項の範囲から当業者には明らかになろう。
【００１３】
【発明の実施の形態】
図１に、本発明によるコンピュータ・グラフィックス表示システム１０の構成要素を示す。コンピュータ・グラフィックス表示システム１０は、入出力（Ｉ／Ｏ）コントローラ１３に接続されるホストＣＰＵ１２と、グラフィックス・システム１５と、システム・メモリ・デバイス１６と、表示装置１７とを含む。ＣＰＵ１２は、システム・バス１４を介して、システム・メモリ１６およびＩ／Ｏコントローラと通信する。グラフィックス・システム１５は、Ｉ／Ｏバス１６を介して、Ｉ／Ｏコントローラ１３と通信する。ユーザ（図示せず）は、表示装置１７上でレンダリング中の画像を生成し、かつ／または操作するために、キーボードやマウスなどの周辺入力デバイスを介して、ＣＰＵ１２と通信することができる。
【００１４】
図２に、コンピュータ・グラフィックス表示システム１０のグラフィックス・システム１５の構成要素を示す。グラフィックス・システム１５は、ジオメトリ・アクセラレータ２３と、ラスタライザ２８と、フラグメント・プロセッサ３０と、フレーム・バッファ・コントローラ３５と、画像情報を表示コントローラに出力し、その結果、図１に示す表示装置１７に画像を表示させるフレーム・バッファ３６とを含むのが好ましい。グラフィックス・システム１５は、さらに、テクスチャ・マッピング・ハードウェア（図示せず）を含むことができる。ジオメトリ・アクセラレータ２３は、表示されるべきビューを構成するプリミティブ（例：三角形）を定義するデータを、ホストＣＰＵ１２から受け取る。ジオメトリ・アクセラレータ２３は、通常、変換構成要素２４と、クリッピング構成要素２５と、照明構成要素２６と、平面方程式構成要素２７とを備える。
【００１５】
変換構成要素２４は、ＣＰＵ１２から頂点データおよびコマンドを受け取り、その頂点データによって画定される画像空間の回転、変換または拡大縮小（または、これらの動作の組合わせ）のような、頂点データの変換を実行する。クリッピング構成要素２５は、ユーザによって参照されるビューの部分を構成するプリミティブに関係する頂点データだけが、グラフィックス・パイプラインを介してさらに処理されるように、頂点データをクリップする。他のすべての頂点データは、破棄することができる。これは、プリミティブの頂点座標のいずれかが、ユーザによって参照される画像空間の外部に位置するか否かを判定することによって達成することができる。のいずれかが外部に位置するならば、画像空間内部のプリミティブの部分に対応する頂点データだけが、さらなる処理のために保存されるように、クリップすることができる。照明構成要素２６は、照明構成要素２６に供給される頂点データと照明パラメータに基づいて、プリミティブの頂点の最終的な色を計算する。平面方程式構成要素２７は、各プリミティブの頂点内に画像空間を画定する浮動小数点方程式を生成する。
【００１６】
ラスタライザ２８は、浮動小数点−固定小数点構成要素２９とラスタライザ構成要素３１とを備える。この場合、浮動小数点方程式は、浮動小数点−固定小数点構成要素２９によって固定小数点方程式に変換された後、ラスタライザ構成要素３１によってラスタ化される。前述の機能を実行する、これまでに説明したグラフィックス・システム１５のすべての構成要素２４から３１は、一般に、当業で知られている。したがって、これらの構成要素については、簡約化のために詳述はしない。さらに、これらの構成要素は、グラフィックス・システム１５でこれらの機能を実行するために、特定のハードウェアまたはソフトウェアに限定されるものではない。当業者なら理解するであろうが、１つ以上のこれらの構成要素によって実行される機能は、ＣＰＵ１２のソフトウェアで実行することができることにも留意されたい。これらの構成要素によって実行される機能は、グラフィックス・システム１５のハードウェアで実行されるのが好ましい。その理由は、そうすることによって、通常グラフィックス・パイプラインの速度が向上するからである。
【００１７】
本発明のＨ空間バンプ・マッピング技術と共に使用されるＨ空間照明技術を、Ｈ空間照明機能を実行するためのアルゴリズムを表す疑似コードを参照しながら記述する。一般に、Ｈ空間照明は、この目的ですでに使用されている他の技術よりも、より写実的な鏡面ハイライトを実現するために使用することができる技術である。本発明のＨ空間バンプ・マッピング・アルゴリズムは、Ｈ空間照明アルゴリズムと共に実施するために設計された。すなわち、Ｈ空間照明アルゴリズムは、本発明のＨ空間バンプ・マッピング・アルゴリズムを実現するために著しく変更されている。図３から１１の記述によって、また以下で説明する本発明のアルゴリズムの疑似コードによって示されるように、Ｈ空間バンプ・マッピング・アルゴリズムは、バンプ・マップされた、優れた画像を実現する。
【００１８】
Ｈ空間照明アルゴリズムおよびＨ空間バンプ・マッピング・アルゴリズムは、フラグメント・プロセッサ３０のフラグメント照明構成要素３３によって実行される。Ｈ空間の概念は、三角形平面の２次元（２Ｄ）座標系に基づくものである。この２つの次元は、この２次元座標系に投影された単位長ベクトルのＵ構成要素とＶ構成要素とに対応する。２Ｄベクトル（０，０）は、三角形の表面法線と平行な方向と一致する。したがって、三角形の表面法線と、本明細書で（ｈｕ，ｈｖ）で表されるＨ空間における所与のベクトルのドット積は、平方根（１−ｈｕ２−ｈｖ２）に等しい、平面から上の暗黙の高さと同じである。前述のＨ空間照明アルゴリズムは、以下の疑似コードによって説明することができる。本明細書で、ベクトルは、上段の英数字によって表され、スカラーは、下段の英数字によって表されることに留意されたい。
【００１９】
Ｈ空間照明アルゴリズム
各三角形に対して（ＦＯＲ）
／＊  ２次元座標をセットアップする。
＊  各頂点のための系（Ｈ空間）。この座標系は、各頂点における、三角形    ＊  の表面法線に垂直である。
＊  Ｔは第１の三角形の辺
＊  Ｎは、各頂点における、三角形の表面法線
＊  Ｕは、各頂点における、Ｕ基準ベクトル
＊  Ｖは、各頂点における、Ｖ基準ベクトル
＊  Ｌは、照明ベクトル
＊  Ｅは、眼ベクトル
＊  Ｈは、照明／眼半角ベクトル
＊／
各頂点に対して（ＦＯＲ）
Ｕ＝Ｔ  ×  Ｎ    ／＊  三角形の辺と表面法線とのクロス積  ＊／
Ｖ＝Ｎ  ×  Ｕ    ／＊  表面法線ＮとＵ基準ベクトルとのクロス積  ＊／
Ｈ＝（Ｌ＋Ｅ）／|Ｌ＋Ｅ|    ／＊  照明／眼半角ベクトルの計算  ＊／
ｈｕ＝Ｈ・Ｕ  ／＊  ＨとＵとのドット積  ＊／
ｈｖ＝Ｈ・Ｖ  ／＊  ＨとＶとのドット積  ＊／
終了（ＥＮＤ）    ／＊  各頂点に対して  ＊／
各画素に対して（ＦＯＲ）
半角座標、ｈｕおよびｈｖを補間する。
ｄｏｔ＿ｓｑ＝（１−ｈｕ２−ｈｖ２）
Ｓ＝ｄｏｔ＿ｓｑ（ＳｐｅｃＰｏｗｅｒ／２）
フラグメント鏡面＝Ｓ  ＊  鏡面カラー
フラグメント・カラー＝フラグメント・カラー  ＋  フラグメント鏡面
通常のフラグメント処理を行う
終了（ＥＮＤ）    ／＊  各画素に対して  ＊／
終了（ＥＮＤ）    ／＊  各三角形に対して  ＊／
【００２０】
項ｄｏｔ＿ｓｑ＝（１−ｈｕ２−ｈｖ２）は、（Ｎ・Ｈ）２の計算である。項「Ｓ」は、鏡面照明項であり、これは、材料の鏡面材料特性によって乗じられる。
【００２１】
Ｈ空間照明アルゴリズムの究極の成果は、たとえオブジェクトが粗いモザイク状であったとしても、標準的にグーロー・シェーディングされたシーンより優れた外観を有する、シーンにおける鏡面ハイライトである。この疑似コードによって表されるＨ空間照明アルゴリズムは、拡散照明もバンプ・マッピングも実行しない。
【００２２】
本発明によると、バンプ・マッピングは、ｄｏｔ＿ｓｑの値が計算される前に、補間されたｈｕ、ｈｖ座標に置換を追加することによって生成できることがすでに判定済みである。一般に、この置換は、テクスチャ・マッピング構成要素３２によって生成され、テクスチャ・マップ（図示せず）に格納される。変更された座標は、次いで、フラグメント照明構成要素３３に出力され、そこで、次いで、照明およびバンプ・マッピングのタスクを実行するために使用される。本発明の好ましい実施形態に従い、Ｈ空間バンプ・マッピングを実行するために、Ｈ空間照明アルゴリズムを変更する方法について、次に説明する。
【００２３】
Ｈ空間バンプ・マッピングをサポートするための変更のセットアップ
Ｈ空間照明アルゴリズムへの１つの変更は、ポリゴンごとのセットアップがすでに変更されていることである。Ｕ基準ベクトルは、平面法線およびポリゴン・エッジから計算するのではなく、Ｓテクスチャ座標に関連付けられたテクスチャ座標勾配ベクトルおよび平面法線に基づいて計算される。同様に、また、Ｖ基準ベクトルは、一般に、Ｔテクスチャ座標に関連付けられたテクスチャ座標勾配ベクトルおよび平面法線に基づいて決定される。これにより、ｈｕ、ｈｖの変換の必要性またはピクセルごとのバンプ置換が解消される。前述のＨ空間照明アルゴリズムは、任意の向きのＵ、Ｖ座標系を生成する。これと同様の任意の座標系がＨ空間バンプ・マッピング計算にも使用される場合、その結果得られるｈｕ、ｈｖの値をバンプ・マップのテクスチャ座標の座標系に変換する必要がある。この変換の必要性をなくすには、Ｕ、Ｖ基準ベクトルを、ＳおよびＴテクスチャ座標空間とほぼ合うように、最初にセットアップすることである。しかし、その結果得られるｈｕ、ｈｖの値をバンプ・マップのテクスチャ座標の座標系に変換する前述の技術は、たとえそれを実行することが好ましくなくても、本発明に従って使用することができる。
【００２４】
変数（ｓ，ｔ）は、所与の三角形の頂点に関するテクスチャ座標である。ｓテクスチャ座標に関連付けられたテクスチャ座標勾配ベクトルＧｓは、ベクトル｛ｄｓ／ｄＸ，ｄｓ／ｄＹ，ｄｓ／ｄＺ｝と定義される。ここで、Ｘ、Ｙ、Ｚは、目の座標に対応する。ｔテクスチャ座標に関連付けられたテクスチャ座標勾配ベクトルＧｔは、ベクトル｛ｄｔ／ｄＸ，ｄｔ／ｄＹ，ｄｔ／ｄＺ｝と定義される。Ｇｔテクスチャ座標勾配ベクトルは、ローカル座標系でどの方向が「上」かを決定するために計算される。
【００２５】
この勾配ベクトルが計算される好ましい方法を、次に、疑似コードを参照しながら説明する。たとえその必要はなくても、本発明によるＨ空間バンプ・マッピング・アルゴリズムを実行する前に、勾配の計算を実行することが好ましいことに留意されたい。勾配の計算は、本発明のＨ空間バンプ・マッピング・アルゴリズムの部分として実行することができる。当業者は理解するであろうが、勾配の計算は、様々な方法で実行することができることにも留意されたい。本発明は、勾配の計算を実行するために、特定のアルゴリズムに限定されることはない。
【００２６】
以下の疑似コードによって表される勾配の計算において、ＸＹＺ０は、頂点０に関連付けられた座標（ｘ，ｙ，ｚ）を表す。同様に、ＸＹＺ１とＸＹＺ２は、それぞれ頂点１と２に関連付けられた座標（ｘ，ｙ，ｚ）を表す。ＳＴ０は、頂点０に関連付けられたテクスチャ座標（ｓ，ｔ）を表す。ＳＴ１とＳＴ２は、それぞれ頂点１と２に関連付けられたテクスチャ座標（ｓ，ｔ）を表す。
【００２７】
テクスチャ座標勾配ベクトルの計算
Ｇｓは、ｓテクスチャ座標に関するテクスチャ座標勾配ベクトルを表し、
Ｇｔは、ｔテクスチャ座標に関するテクスチャ座標勾配ベクトルを表すとして、
ＸＹＺ０
ＸＹＺ１  これらは（Ｘ，Ｙ，Ｚ）頂点位置である。
ＸＹＺ２
ＳＴ０
ＳＴ１    これらは（ｓ，  ｔ）頂点テクスチャ位置である。
ＳＴ２
Ｄ１は頂点０から頂点１へのベクトルである。
Ｄ２は頂点０から頂点２へのベクトルである。
Ｔ１は、頂点０から頂点１へのテクスチャ座標デルタである。
Ｔ２は、頂点０から頂点２へのテクスチャ座標デルタである。
Ｗ００は、Ｄ１とそれ自身とのドット積である。
Ｗ０１は、Ｄ１とＤ２とのドット積である。
Ｗ０２は、Ｄ２とそれ自身とのドット積である。
0004121717.tif 000002
【００２８】
本発明のＨ空間照明アルゴリズムとＨ空間バンプ・マッピング・アルゴリズムの間にある他の主要なセットアップの相違は、半角ベクトルＨのｈｕ、ｈｖ座標が補間されることに加え、照明方向ベクトルＬのｌｕ、ｌｖ座標も補間されることである。法線Ｎと照明方向ベクトルＬのドット積を計算することによって生成されるパラメータｌｄも、また、補間される。法線Ｎと半角ベクトルＨのドット積を計算することによって生成されるパラメータｈｄも、また、補間される。ｌｄおよびｈｄのパラメータ情報は、画像の部分がいつ「陰影」領域、すなわちハイライトされない領域にあるかを決定するために使用される。
【００２９】
ｈｕ、ｈｖ座標は、鏡面照明項を計算するために使用される。ｌｕ、ｌｖ座標は、拡散照明項を計算するために使用される。前述の通り、Ｈ空間照明アルゴリズムは、フラグメントごとに鏡面項を計算するだけであった。本発明によれば、バンプ・マッピングは、鏡面項と拡散項の両方を必要とすることが決定されている。したがって、拡散照明項を提供するために、本発明のアルゴリズムにおいては座標ｌｕ、ｌｖが使用される。
【００３０】
画素ごとの方式に関しては、前述のＨ空間照明アルゴリズムと本発明のＨ空間バンプ・マッピング・アルゴリズムとの間に、多少の相違が存在する。第１に、バンプ効果を達成するようにするには、所望ならば摂動が加えられる。第２に、拡散照明項に対するｌｕ、ｌｖ座標が補間され、摂動され、次いで高さが計算される。平面上に単位長ベクトル（長さ１のベクトル）を投影することによって、２次元座標系における値／座標が生成される。このケースの場合、それらは、（ｈｕ，ｈｖ）と（ｌｕ，ｌｖ）である。照明の計算に必要なのは、平面から上のこの単位長ベクトルの高さである。この高さは、平方根（１−ｈｕ２−ｈｖ２）として計算される。第３に、このバンプ・マッピング・アルゴリズムは、照明に関して技術的に「後向き」の三角形の部分にバンプを提供することができるが、Ｈ空間照明アルゴリズムは、技術的に「後向き」の三角形の部分において鏡面照明を実行することさえしない。本発明によれば、バンプ・マッピング効果は、オブジェクトの「後向き」境界線で突然停止するのではなく、「後向き」境界線付近から段階的に減少することが一般に好適であることはすでに判定済みである。本発明のＨ空間バンプ・マッピング・アルゴリズムに関する疑似コードを、以下に示す。
【００３１】
本発明のＨ空間バンプ・マッピング・アルゴリズム
各頂点に対して（ＦＯＲ）
／＊  ＵおよびＶ基準ベクトルを計算する。
＊ このやり方は、上記のＨ空間照明アルゴリズムとは異なることに留意。
＊
＊
＊ Ｕ基準ベクトルは、一般にｓ−座標テクスチャ勾配ベクトルであるＧｓ
＊ に位置合わせする。
＊
＊ Ｖ基準ベクトルは、一般にｔ−座標テクスチャ勾配ベクトルであるＧｔ
＊ に位置合わせする。
＊／
0004121717.tif 000003
／＊  頂点ごとに、ｈｕ、ｈｄおよびｈｖを計算する。    ＊／
0004121717.tif 000004
終了（ＥＮＤ）    ／＊  各頂点に対して  ＊／
／＊  バンプ・マッピング・アルゴリズムは、鏡面照明項及び拡散照明項の双
＊  方に適用する必要がある。したがって、ｈｕ、ｈｖおよびｈｄを計算する
＊  ことに加えて、頂点ごとにｌｕ、ｌｖおよびｌｄを計算する。    ＊／
0004121717.tif 000005
各画素に対して
ｌｕ、ｌｖ、ｌｄ、ｈｕ、ｈｖおよびｈｄを補間する。
対応するテクスチャ座標に対して、バンプ変位ｄｕおよびｄｖを調べる。
拡散項を計算する。
0004121717.tif 000006
／＊  鏡面項を計算する。  ＊／
0004121717.tif 000007
／＊  フラグメント・カラーを計算する。  ＊／
0004121717.tif 000008
【００３２】
変数Ｃｆは、特定の画素またはフラグメントに関する色を表す。変数Ｃａ、Ｃｄ、Ｃｓは、それぞれに、特定のフラグメントに関する周辺物質の色と、拡散物質の色と、鏡面物質の色とを表す。色の計算は、拡散（「ｄｉｆｆ」）バンプ・マップされ、かつ鏡面（「ｓｐｅｃ」）バンプ・マップされた照明項を考慮することに留意されたい。
【００３３】
本発明のアルゴリズムは、Ｃプログラミング言語で実施されている。実施中、本発明のアルゴリズムは、拡散バンプ・マッピングと鏡面バンプ・マッピングを別個にイネーブルおよびディセーブルするためにフラグを使用し、かつ、オブジェクトのバンプの高さとモザイクとを制御するためにフラグを使用する。この結果、ユーザは、レンダリングされた画像がどのように表示されるかを判定するときに多大な柔軟性を得ることができる。本発明のバンプ・マッピング・アルゴリズムは、特定の言語または特定の方式で実施される必要のないことは、当業者なら理解するだろう。
【００３４】
以下で検討する図面は、本発明のバンプ・マッピング・アルゴリズムを使用することによって、またそのアルゴリズムの特定のパラメータを変更することによって得られる、異なる効果および／または匹敵する効果を、一般に示す。図３に、球体を覆う火星の高度マップを示す。この球体は、比較的高度なモザイク状である。光源は方向性があり、白の鏡面色と、鏡面指数１６とを持つ。この画像を作成するために使用されるバンプ・マップ自体の解像度は、５１２×２５６画素である。このバンプ・マップの解像度は、バンプ・マッピング・アルゴリズム全体の品質の一般的な測定基準を提供する。この画像は、さらに、バンプ・マップされた拡散照明成分を有する。本発明のＨ空間バンプ・マッピング・アルゴリズムは、過度に大きなバンプ・マップの使用を必要とせずに、バンプ・マップされた非常に高品質の画像を生成することができる。陰影ターミネータ（明暗の境界線）を越える細部に注目されたい。これは、本発明のアルゴリズムが、バンプが陰影（または後向き）ターミネータ付近から段階的に減少するように構成できることを示している。
【００３５】
図４は、同じデータを使用するが、バンプ・マップされている拡散照明成分は使用しない。細部、特に陰影ターミネータを越える細部が比較的欠けていることに注目されたい。図５は、一般に、図３および４に使用されたのと同じデータを使用するが、鏡面ハイライティングは使用しない。見て分かるように、図５に示す画像は、艶消しで、生命感に乏しい。これは、図３に示す画像と同様に、Ｈ空間照明アルゴリズムとＨ空間バンプ・マッピング・アルゴリズムとを単一のアルゴリズムとして一緒に実施する利点を完全に達成するようにするには、バンプ・マッピングが、画像の拡散領域と鏡面領域の両方に使用されるべきであることを示している。
【００３６】
図６および７は、陰影ターミネータを越えるバンプ・マッピングの効果と、陰影ターミネータでバンプ・マッピングの効果を切り捨てることを、それぞれに比較する。現実の球体ではターミネータ全体にわたる十分な距離からではバンプが見えないにもかかわらず、多くの人にとって、図６に示す画像は、より「写実的」に見えるものである。これは、おそらく次の２つの効果によるものである。すなわち、（１）現実の球体上では、いくつかのバンプ自体は、陰影の外に押し出されてしまい、（２）現実のシーンでは、「周辺の」照明に、さらに詳細を見せる十分な方向性があることである。本発明のＨ空間バンプ・マッピング・アルゴリズムを表す疑似コードにおいて、画素ごとの計算に関しては、陰影ターミネータを越えるバンプ・マッピングの計算は、拡散照明成分についてだけ実行すればよい。この理由の１つは、これが計算を減らすからである。他の理由は、この領域における可視的なバンプ・マッピング効果が、この領域における周辺光の方向性の特徴に大きく左右されることである。この種の周辺光は、鏡面ハイライトを生成しない。したがって、鏡面照明項に関しては、陰影ターミネータを越えた画素に関するバンプ・マッピングの計算を実行する必要はない。疑似コードにおいて、「ｓｈＡｄｊ」の項は、拡散の計算にのみ使用されることが理解されるだろう。「後向き」ターミネータまたは「陰影」ターミネータを越えて、バンプ・マッピング効果を可視的にすることができるのは、「ｓｈＡｄｊ」の項である。当然、この「後向き」領域で鏡面効果は生じず、このアルゴリズムはそのことを反映している。
【００３７】
ｓｈＡｄｊ項の計算について明確にするためには、いくつか説明が必要であろう。法線Ｎのベクトルと、照明Ｌのベクトルが互いに９０°近づくと、ｌｕ２＋ｌｖ２の和は、１．０に近似する。法線のベクトルと照明のベクトルが、互いから９０°より大きい場合、ｌｕ２＋ｌｖ２の和は１．０よりも小さくなる。１．０よりも大きな値まで、ｌｕ２＋ｌｖ２の値を増加させつづけることで計算上の効果を得ることが望ましい。ｓｈＡｄｊを、２＊（１−Ｓｑｒｔ（ｌｕ２＋ｌｖ２））として計算すると、数学上、より正確である。しかし、この式からＳｑｒｔ（）の項を削除しても、効果は、ほとんどないか、可視的に皆無であることが実験で示されている。ｌｕ２＋ｌｖ２が０から１の範囲の場合、Ｓｑｒｔ（ｌｕ２＋ｌｖ２）も、０から１の範囲になる。これら２つの関数の曲線は、端点０および１を共有し、その形状においてのみ異なるものである。
【００３８】
本発明のＨ空間バンプ・マッピング・アルゴリズムに考えられる１つの障害としては、画像の生成に極度に滑らかなバンプ・マップが使用されるときに、低級なモザイク状の「小面付けされた（ｆａｃｅｔｅｄ）」画面の状態を有する画像が作成されることである。図８に、この小面付けを例示する。しかし、この画像はまだ、図９に示す、同様の解像度のグーロー・シェーディングされた絵画よりも、はるかに品質に優れている。前述のＨ空間照明アルゴリズムと同様に、本発明のＨ空間バンプ・マッピング・アルゴリズムに従い、モザイクを増加させることによって、レンダリングされる画像のアーティファクトは著しく低減される。さらに、バンプが多少なりとも可視的であれば、小面付けされた画面の状態も著しく低減される。これは、おそらく、肉眼が小面を検出するのに要する色の相関を除去する、モザイクに関連したノイズによるものである。
【００３９】
図１０および１１に、バンプが見えることによって、小面の出現が低減される方法を示す。図１０に、図８に示す画像が生成された方法と同様の方法で生成された画像を示す。しかし、図１０に示す画像は、図８に示す画像よりも多くのモザイクを伴って生成されている。図８に示す画像にあるアーティファクトは、図１０に示す画像にはない。同様に、図１１に、図８に示す画像が生成された方法と同様の方法で生成された画像を示す。しかし、図１１に示す画像は、図１０に示す画像に関連したバンプ・マップよりもはるかに滑らかでないバンプ・マップを使用して生成されている。図８に示す画像にあるアーティファクトは、図１１に示す画像にはない。したがって、小面付けのアーティファクトは、バンプ・マッピングを使用することによっても除去可能である。
【００４０】
したがって、本発明のＨ空間バンプ・マッピング・アルゴリズムは、実際に見たような結果を生じ、非常に優れた見栄えの画像を生成することが、図面および説明から理解できるだろう。特に、本発明のバンプ・マッピング・アルゴリズムは、知られているブリン型バンプ・マッピング（テクセルごとに２バイト）技術の低いテクスチャ・ストレージの所要量と、Ｈ空間照明の画素あたりの計算的に低い価格とを結合する。
【００４１】
図１２に、Ｈ空間バンプ・マッピング・アルゴリズムを実行するための、本発明の方法を概略的に例示するフローチャートを示す。まず、ＵおよびＶのＨ空間基準ベクトルをテクスチャ座標勾配ベクトルに位置合わせすることができるように、テクスチャ座標勾配ベクトルが計算される。このステップは、ブロック４１によって示される。前述のように、このステップは、Ｈ空間バンプ・マッピング・アルゴリズムの一部ではなく、バンプ・マッピング・アルゴリズムの実行前に実施されることが好ましい。ブロック４２に示すように、ＵおよびＶ基準ベクトルは、次いで、ＳおよびＴテクスチャ座標にそれぞれ関連付けられるテクスチャ座標勾配ベクトルに位置合わせされる。処理中のポリゴンの各頂点に関しては、Ｈ空間バンプ・マッピングの疑似コードに示される方法で、鏡面照明項および拡散照明項が計算される。このステップは、ブロック４５によって示される。どちらの計算も、テクスチャ座標勾配にすでに位置合わせされたＵおよびＶ基準ベクトルを使用する。頂点によって画定されたポリゴン内のフラグメントに関連付けられた鏡面照明項および拡散照明項を得るために、各頂点に関する鏡面照明項および拡散照明項が、次いで、補間される。このステップは、ブロック４７によって示される。
【００４２】
バンプ・マッピングは、イネーブルされていれば、次いで、ブロック４９に示すように、補間された鏡面照明項および拡散照明項に摂動を追加することによって実施される。次いで、各画素の色が、ブロック５１によって示されるように、計算される。この計算は、上記で疑似コードを参照しながら議論したように、画素に関連付けられる鏡面照明項と、拡散照明項と、周辺照明項と、ならびに拡散バンプ・マップ照明項と鏡面バンプ・マップ照明項とを使用して実施される。
【００４３】
本発明は、例示目的でのみ、好ましい実施形態に従って説明していることに留意されたい。本発明は、それらの実施形態に限定されるものではない。前記のように、Ｈ空間バンプ・マッピング・アルゴリズムは、グラフィックス・システム１５においてハードウェアで実行されるのが好ましい。しかし、このアルゴリズムは、あるタイプのプロセッサによって実行されるまでは、ある種のコンピュータ可読媒体に常駐することのできるソフトウェアでも実施可能であることを、当業者なら理解するだろう。このようなコンピュータ可読媒体は、限定はしないが、光記憶装置、磁気記憶装置、固体記憶装置などの電気的記憶装置などを含む。具体的に述べた実施形態に加えて、本発明の趣旨および範囲から逸脱することなく、修正が加えられることは、当業者に明らかであろう。
【００４４】
本発明には、以下の実施態様が含まれる。
【００４５】
１．レンダリングされるべき画像に関して、Ｈ空間照明およびＨ空間バンプ・マッピングを実行するための装置（１５）であって、フラグメント照明構成要素（３３）を含み、フラグメント照明構成要素（３３）が、フラグメント照明構成要素（３３）によって、処理中のポリゴンの各頂点に関して鏡面照明項および拡散照明項を計算する第１の論理（３３、４５）と、処理中のポリゴンによって取り囲まれる領域内の各画素に関して鏡面照明項および拡散照明項を補間する第２の論理（３３、４７）と、必要ならばバンプ・マッピングを達成するように補間された鏡面照明項および拡散照明項に摂動を追加する第３の論理（３３、４９）と、を含む装置。
【００４６】
２．鏡面照明項および拡散照明項の計算の前に、フラグメント照明構成要素（３３）が、Ｈ空間頂点基準ベクトルとテクスチャ座標勾配ベクトルを位置合わせし（４３）、Ｈ空間頂点基準ベクトルがテクスチャ座標勾配ベクトルと位置合わせされた後、第１の論理（３３、４５）が、位置合わせされたＨ空間頂点基準ベクトルを使用して、処理中のポリゴンの各頂点に関して鏡面照明項および拡散照明項を計算する、上記１に記載の装置。
【００４７】
３．第１の論理（３３、４５）が、位置合わせされたＨ空間頂点基準ベクトルを計算し、かつ処理中のポリゴンの頂点に関連付けられた鏡面照明項および拡散照明項を計算した後、第２の論理（３３、４７）が、ポリゴン内の画素の鏡面照明項および拡散照明項を補間するために、処理中のポリゴンの頂点に関連付けられた鏡面照明項および拡散照明項を使用する、上記２に記載の装置。
【００４８】
４．鏡面照明項および／または拡散照明項に摂動が追加されるように第３の論理（３３、４９）が制御することが可能である、上記３に記載の装置。
【００４９】
５．コンピュータ・グラフィックス表示システム（１０）の表示装置（１７）上にレンダリングされるべき画像に関連付けられた画像データを処理するグラフィックス・システム（１５）を備えるコンピュータ・グラフィックス表示システム（１０）であって、前記グラフィックス・システム（１５）が、Ｈ空間照明およびＨ空間バンプ・マッピングを実行することが可能であり、前記グラフィックス・システム（１５）が、第１の論理（４５）と、第２の論理（４７）と、第３の論理（４９）とを含むフラグメント照明構成要素（３３）を備え、第１の論理（４５）が、フラグメント照明構成要素によって、処理中のポリゴンの各頂点に関して鏡面照明項および拡散照明項を計算し、第２の論理（４７）が、処理中のポリゴンによって取り囲まれる領域内の各画素に関して鏡面照明項および拡散照明項を補間し、第３の論理（４９）が、必要ならば、バンプ・マッピングを達成するように、補間された鏡面照明項および拡散照明項に摂動を追加する、コンピュータ・グラフィックス表示システム（１０）。
【００５０】
６．鏡面照明項および拡散照明項の計算の前に、フラグメント照明構成要素（３３）が、Ｈ空間頂点基準ベクトルとテクスチャ座標勾配ベクトルを位置合わせし（４３）、Ｈ空間頂点基準ベクトルがテクスチャ座標勾配ベクトルと位置合わせされた後、第１の論理（４５）が、位置合わせされたＨ空間頂点基準ベクトルを使用して、処理中のポリゴンの各頂点に関して鏡面照明項および拡散照明項を計算する、上記５に記載のコンピュータ・グラフィックス表示システム（１０）。
【００５１】
７．レンダリングされるべき画像に関して、Ｈ空間照明およびＨ空間バンプ・マッピングを実行するための方法であって、フラグメント照明構成要素（３３）において実施され、フラグメント照明構成要素によって、処理中のポリゴンの各頂点に関して鏡面照明項および拡散照明項を計算するステップ（４５）と、処理中のポリゴンによって取り囲まれる領域内の各画素に関して鏡面照明項および拡散照明項を補間するステップ（４７）と、必要ならばバンプ・マッピングを達成するように、補間された鏡面照明項および拡散照明項に摂動を追加するステップ（４９）と、含む方法。
【００５２】
８．各頂点に関する鏡面照明項および拡散照明項の計算の前に、Ｈ空間頂点基準ベクトルとテクスチャ座標勾配ベクトルが位置合わせされ（４３）、Ｈ空間頂点基準ベクトルがテクスチャ座標勾配ベクトルと位置合わせされた後、位置合わせされたＨ空間頂点基準ベクトルを使用して、処理中のポリゴンの各頂点に関して鏡面照明項および拡散照明項を計算する（４５）、上記７に記載の方法。
【００５３】
９．処理中のポリゴンの頂点に関連付けられた鏡面照明項および拡散照明項が計算された後、処理中のポリゴンの頂点に関連付けられた鏡面照明項および拡散照明項が、ポリゴン内の画素の鏡面照明項および拡散照明項を補完するために使用される（４７）、上記８に記載の方法。
【００５４】
１０．鏡面照明項および／または拡散照明項が制御可能にバンプ・マップされるように、鏡面照明項および／または拡散照明項に摂動を追加するプロセス（４９）が制御可能である、上記９に記載の方法。
【００５５】
【発明の効果】
計算的に低コストでＨ空間照明と共に使用するバンプ・マッピング技術によって、コンピュータ・グラフィックス表示システムの処理速度全体が向上する。
【図面の簡単な説明】
【図１】典型的なコンピュータ・グラフィックス表示システムの機能ブロック図である。
【図２】好ましい実施形態による、図１に示すグラフィックス・システム１５のジオメトリ・アクセラレータおよびラスタライザの機能ブロック図である。
【図３】鏡面照明成分および拡散照明成分を含む、シーン全体にわたってバンプ・マップされた、球体画像を包み込む火星の高度マップのグラフィックス画像である。
【図４】鏡面照明成分だけがバンプ・マップされていることを除いて、図３に示すグラフィックス画像と類似のグラフィックス画像である。
【図５】拡散照明成分だけがバンプ・マップされていることを除いて、図３および４に示すグラフィックス画像と類似のグラフィックス画像である。図３、４、５を共に参照すると、バンプ・マッピングは、鏡面照明成分および拡散照明成分の両方に適用されるべきことが示される。
【図６】完全にバンプ・マップされ、陰影ターミネータの順方向サイドで鏡面のようにハイライトされ、陰影ターミネータを越えて拡散されていることを除いて、図３、４、５で使用された球体のグラフィックス画像である。
【図７】バンプ・マッピングが、後向きターミネータで停止することを除いて、図６に示すグラフィックス画像とほぼ同様のグラフィックス画像である。
【図８】低級なモザイクと極度に滑らかなバンプ・マッピングを持つ、本発明のＨ空間バンプ・マッピングを使用することによって実現することのできる、小面付けされたアーティファクトを有するグラフィックス画像を示す。この図は、また、本発明に従って生成された画像は、この条件下であってもなお、グーロー画像の画面の様子よりは優れていることを示している。
【図９】図８に示す画像を生成するために使用されたモザイクと同様のモザイクを使用して生成されたグーロー画像を示す図である。
【図１０】図８に示した画像に類似しているが、より優れたモザイクを有し、わずかにバンプ・マップされた画像を示す図である。図８に示す画像に存在するアーティファクトは、図１０に示す画像には存在しない。
【図１１】図８に示した画像と同様のモザイクを有するが、図１０に示した画像に関連付けられたものほど滑らかでないバンプ・マップを用いた画像を示す図である。図８に示す画像に存在するアーティファクトは、図１１に示す画像には存在しない。
【図１２】本発明のＨ空間バンプ・マッピング・アルゴリズムを、好ましい実施形態に従って例示するフローチャートである。
【符号の説明】
１０  コンピュータ・グラフィックス表示システム
１２  ホストＣＰＵ
１３  入出力（Ｉ／Ｏ）コントローラ
１４  システム・バス
１５  グラフィックス・システム
１６  システム・メモリ・デバイス
１７  表示装置
２３  ジオメトリ・アクセラレータ
２８  ラスタライザ
３０  フラグメント・プロセッサ
【図１】
0004121717.tif 000009
【図２】
0004121717.tif 000010
【図３】
0004121717.tif 000011
【図４】
0004121717.tif 000012
【図５】
0004121717.tif 000013
【図６】
0004121717.tif 000014
【図７】
0004121717.tif 000015
【図８】
0004121717.tif 000016
【図９】
0004121717.tif 000017
【図１０】
0004121717.tif 000018
【図１１】
0004121717.tif 000019
【図１２】
0004121717.tif 000020