(57)【特許請求の範囲】
【請求項１】
3次元コンピュータグラフィクスシステムでの使用のためのバンプマップデータをリアルタイムで生成するための方法であって、
テクスチャ位置決めユニットが、テクスチャを加えるべき領域を定めるデータを受信し、
テクスチャ取り出しユニットが、表面高さデータを含むテクスチャデータを受信して前記領域に加え、
フィルタが、前記テクスチャデータの部分的に重なっているサンプルのセットの各々をフィルタリングし、当該フィルタリングは、双二次B-スプラインを用いて前記表面高さデータから高さ表面をモデル化することを含み、
接線構成ユニットが、前記フィルタリングされたサンプルから表面接ベクトルを導出し、及び、
表面法線生成器が、前記表面接ベクトルからバンプマップ表面法線を導出する、ステップを含むことを特徴とする方法。
【請求項２】
前記接ベクトルを局所接ベクトル空間で定める、ことを特徴とする請求項1に記載の方法。
【請求項３】
前記フィルタリングが、3Dグラフィクスシステムの色チャネルを用いて、前記テクスチャデータの重なっているサンプルをフィルタリングすることを含む、請求項1に記載の方法。
【請求項４】
前記フィルタリングが混合係数によって変更される、ことを特徴とする請求項1に記載の方法。
【請求項５】
3次元コンピュータグラフィクスシステムでの使用のためのバンプマップデータをリアルタイムで生成するための装置であって、
テクスチャを加えるべき領域を定めるデータを受信するための手段と、
表面高さデータを含むテクスチャデータを受信して前記領域に加えるための手段と、
前記テクスチャデータの部分的に重なっているサンプルのセットの各々をフィルタリングするための手段であって、双二次B-スプラインを用いて前記表面高さデータから高さ表面をモデル化することを含む当該フィルタリングするための手段と、
前記フィルタリングされたサンプルから、局所接ベクトル空間で定められる表面接ベクトルを導出するための手段、及び、
前記表面接ベクトルからバンプマップ表面法線を導出するための手段、を備えることを特徴とする装置。
【請求項６】
前記フィルタリングするための手段が、3Dグラフィクスシステムの色チャネルにおいて、前記テクスチャデータの重なっているサンプルをフィルタリングすることを含む、請求項5に記載の装置。
【請求項７】
前記フィルタリングすることは混合係数によって該フィルタリングを変更する、請求項5に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、3次元コンピュータグラフィクスシステムでの使用のためのバンプマップデータを生成するための方法、及び装置に関するものである。
【背景技術】
【０００２】
3Dコンピュータグラフィクスの分野では、しばしば、バンプマッピングの使用によって、異なるなめらかなオブジェクトにディテールを加え、それは、Blinnにより、彼の論文「しわのついた表面の模造」(SIGGRAPH 1978, pp286-292)で発表された。これは、ピクセルごとのベースで、違った具合に「なめらかに」変化するオブジェクトの表面法線ベクトルを摂動させることにより、作用する。表面の法線ベクトルは、その表面のシェーディングを計算する時に使用されるので、その変更は、バンプの出現を与えることができる。図1は、表面法線が摂動しているところを示している。
【０００３】
Blinnの手法では、初めに、バンプ変位のテクスチャ、又は「高さマップ」の微分をとり、続いて、それを、元の表面法線、及び表面接ベクトルに加えることにより、各摂動を計算する。高さマップは、表面に対する、正則格子点における、その表面の「垂直方向」変位、又は「高さ」を与えるスカラー値の単純なアレイである。典型的には、これらは、その点における「高さ」を表している全てのピクセルの輝度を持つ単色画像データ、例えばビットマップ、で表される。標準のテクスチャマッピング手法を使用して、高さデータを入手する。法線摂動、及び照明の計算は、グローバル又はモデル空間で行われる。図8aは、Blinnの方法の「照明された」平面への適用を示している。
【０００４】
より「ハードウェアフレンドリ」な方法が、後に、Peercy他により開発された(「効率的なバンプマッピングハードウェア」, SIGGRAPH 1997, pp303-306, (さらに、米国特許第5,949,424号))。これは、しばしば法線マップと呼ばれるテクスチャマップ内に、摂動表面法線を直接格納する。Blinnの方法と異なり、これらの法線は、局所接ベクトル座標空間内で定められ、それは、地図のページ上の地球表面の一部分の表示になぞらえることができる。Peercyの手法では、シェーディングのために使用された照明もまたこの接ベクトル空間に変換され、従って、シェーディングの計算もまた局所的に計算される。この処理は、バンプマッピングを使用する時に必要な計算の数を著しく減らす。それは、最近の3Dハードウェアシステムでは一般的になっており、時々「ドット3バンプマッピング」として知られる。
【０００５】
テクスチャメモリ、より重要には、この手順で必要なメモリ帯域幅を最小化するために、法線マップを圧縮することが望ましい。残念なことに、一般的に使用されるテクスチャ圧縮方式の多くは、特定の場合の法線マップに加えられた時に、容認できない画質の劣化を引き起こし得る情報の損失をもたらすので、適していない。しかしながら、法線マップに特に適応された2つの手法を、我々の国際特許出願第WO9909523号で説明しており、これらは、典型的には、まだ16ビットを使って、各表面法線を表している。
【０００６】
そして、これは、法線マップを生成するタスクを残す。一つの一般的な方法は、Blinnによって当初説明されたように、再び、最初の高さマップを使用する。次に、その高さマップから、正則な位置においてサンプリングされた高さ関数の局所微分ベクトルの外積をとることにより、レンダリングより前に、法線マップをあらかじめ計算することができる。例えば、よく知られたMIPマッピング手法に基づくような、テクスチャフィルタリングを必要とする場合、高さマップは、繰り返しダウンサンプリングされるはずであり、関連する法線マップを生成して、複数のMIPマップレベルを作り出すはずである。しかしながら、例えば、双一次、又は三角一次フィルタリングのようなテクスチャフィルタリング手法を法線マップに適用する時、問題が生じ得る。
【０００７】
高さマップは、しばしば、例えば各ピクセルにつき8、又はさらには4ビットほどのかなり低い精度とすることができるのに対して、法線マップは、各ピクセルごとに16〜32ビットを必要とすることに、注目すべきである。法線マップを生成し、圧縮する前処理ステップ、及び、3Dレンダリングにおいて圧縮された法線マップを使用する処理を、図2に示している。生成段階では、高さマップ2が、法線マップ生成4のために使用される。次に、任意の圧縮ステップ6を使用して、出力マップ8を作り出すことができる。マップ8の使用において、そのマップをシェーディング計算12で使用して、ピクセルデータを出力フレームバッファ14に提供する前に、任意の解凍ステップが、休む間もなく最初に実施される。
【０００８】
テクスチャフィルタリングび側面、主に双一次、又は三角一次フィルタリングの適用もまた、その技術分野では良く知られており、三角一次フィルタリングは、Williamsにより発明されたのと同様なものである(「ピラミッド型パラメトリクス」, Lance Williams著, Computer Graphics, Vol.7, No.3, 1983年7月, pp1-11)。三角一次フィルタリングは、2つの双一次の動作の混合に過ぎないので、双一次フィルタリングを以下に簡単に説明する。
【０００９】
2Dテクスチャは、2変数(U,V)のベクトル関数と考えることができる。簡単化のため、この説明では、N×Nピクセルテクスチャの場合、U及びVの値は0からNまでを変動する、と仮定する。双一次フィルタリングを適用する時、テクスチャ内に格納された値であるピクセル、又は「テクセル」は、それぞれのテクセルの中心にある点、すなわち、座標(i+0.5, j+0.5)を表していると考えることができ、ここで、i及びjは整数であり、特定のテクセルのテクセル座標を表している。テクセル(i,j)について、これを図3に示しており、その中心は「20」で示される。テクスチャ内のこの点において、双一次フィルタリングは、そのテクセルの色を返すであろう。同様に、位置「21」、「22」、及び「23」でのサンプリングは、それぞれ、テクセル(i+1,j)、(i,j+1)、及び(i+1,j+1)の色を返すであろう。ここで、点「24」のような、「20」、「21」、「22」、及び「23」で形成された正方形内の任意のサンプリング位置を考える。そのような点は、テクスチャ座標(us,vs)を持ち、ここで、i+0.5≦us<i+1.5、かつ j+0.5≦vs<j+1.5である。正方形内の如何なる点におけるテクスチャ値も、4つのその周囲のテクセルの双一次混合から形成されるであろう。
【００１０】
特に、この技術分野で使用される処理は、以下のものの幾分単純な変形であろう。
U' := Us-0.5 ;//格納されたテクセル値をテクセルの中心に据える
V' := Vs-0.5 ;
Ui := floor(U');
Vi := floor(V');
Ublend := U'-Ui;
Vblend := V'-Vi;
//2つの水平線形混合を行う
色0 := LinearBlend(テクセル(Ui,Vi), テクセル(Ui+1,Vi), Ublend);
色1 := LinearBlend(テクセル(Ui,Vi+1), テクセル(Ui+1,Vi+1), Ublend);
//1つの垂直線形混合を行う
結果 := LinearBlend(色0, 色1, Vblend);
従って、Ublend、及びVblendの値は、[0..1）の範囲内であり、例えば8〜16ビット精度の固定点の数により、最も都合よく表すことができる。
【００１１】
図4aは、この技術分野では典型的な、上記の双一次アルゴリズムの第一のステップを実施するハードウェアを示している。必要なサンプルの位置が「入力」であり「50」、その位置を減算によって1/2テクセルだけ調整する「51」。座標値の「最小値」を計算し「52」、これらは、必要な4テクセルのセットの左上のテクセルについてのテクセル整数座標を定める「53」。その値もまた前の値から引かれて「54」、その双一次動作における混合係数を生み出す「55」。
【００１２】
3Dコンピュータグラフィクスにおける色は、通常、赤、緑、青、及びアルファ(すなわち、透明度)成分を持つ4-D実体であることに、注意すべきである。上で説明した双一次混合を実施する時、様々な色値の全ての4つの成分に平行して作用する。これを、図4bの双一次動作の第二段階に示す。「53」で計算された整数テクセル座標を使用して、4つの隣接するテクセルを入手する「60」〜「63」。これらの各々は、それ自身の赤、緑、青、及びアルファ成分を持つ。例では、4つの(通常、同一の)双一次ユニットがあり「65」〜「68」、その各々は、混合係数「55」を使って、4つの色チャネルのうちの1つを計算する。その個々のスカラー結果は、次に、1つの結果の色に再結合される「69」。
【００１３】
３Dコンピュータグラフィクスの更なる既知の側面は、制御点のセットを通るように、又は近くに、滑らかな表面を調整することである。特に、「コンピュータグラフィクス」のような講義で説明されたような、均一B-スプライン、及びベジエスプラインとして知られる2つの形式に、我々は関心を持つ。「原理及び実践」(Foley他)、又は「CAGDにおける曲線及び表面  実用ガイド」(Farin)参照。
【００１４】
C1連続(すなわち、連続一次導関数)を持つ双二次B-スプラインの場合が、この応用例にとって、特に興味深いものである。双二次B-スプラインはまた、表面上の如何なる点においても、その点及び/又はその点における導関数を求めるために、3×3の制御点の部分格子を必要とする、という特性を持つ。二次B-スプラインの一部分を通る一次元スライスを、図5に示す。「80」、「81」、及び「82」の点は、格子の行における3つの隣接する制御点と考えることができる。曲線の「85」と「86」との間の領域は、これらの3つの制御値(及び、双二次表面の場合には、3×3部分格子内の隣接する6つの値)にのみ依存する。
【００１５】
そのような曲線を求める一つの一般的な方法は、第一に、それを、等価なベジエ表現、すなわち、3つの制御点の異なるセットに変換し、次に、反復一次補間を使用するde Casteljauアルゴリズムを適用する(Farin参照)。二次曲線の単純な場合、これは、結局、「88」、「81」(すなわち、再使用される)、及び「89」である新しい制御点のセットを使用することになる。点「88」及び「89」は、接続する線分のちょうど中点であり、単純な平均化により求めることができるであろう。
【００１６】
双二次B-スプライン表面の変換において、制御点の3×3格子は、等価な3×3ベジエ制御点のセットで置き換えることができる。双二次表面における位置を示す例を、図6の平面図に示す。その一例が「100」で示される、元々の9つのB-スプライン制御点は、「101」のような等価なベジエ制御点に変換される。より正確に、これを代数式で示すと、3×3B-スプライン点の格子が
0004637091.tif 000002
である場合には、ベジエ点のその等価なセットは、以下より計算される。
0004637091.tif 000003
【００１７】
再び図6を参照すると、対象の領域は、中心の「正方形」、すなわち、0≦u,v≦1である(u,v)で指定される位置である。双二次表面の場合、de Casteljauに基づく一方法は、(u,v)を重みとして使用して、2×2の隣接する制御点のセットを双一次補間して、新しい2×2の中間制御点のセットを生み出すというものであろう。2×2中間制御点の4つのセットのうちの1つを、「102」で示す。これらの4つの結果は、再び(u,v)重みを使って、順に双一次補間されて、表面の点を生み出す。表面に対する接線が必要とされる場合には、Mann及びRose(「ベジエ及びB-スプラインのテンソル積の値及び微分の計算」,CAGD, Vol12, 1995年2月)によって与えられるような方法を使用することができる。双二次の場合、2×2の中間制御値を使って、更なる一次補間を実施することにより、これを行うことができる。最後に、これらの接線の外積を取ることが、表面法線を生成する。
【００１８】
高さマップは、特定のサンプル位置のみにおける「高さ」値を定め、そのため、他の点における高さ表面を計算する手段が必要とされる。特に、バンプマッピングは表面法線を必要とし、ひいては、通常、表面接線の必要性を意味する。Blinnは、表面の高さは実際には必要でないことを示し、接線を計算するだけである関数を提案している。彼は、シェーディングにおける不連続を避けるため、彼の接線関数は連続であることを注記している。図6に示す高さサンプルの3×3格子を使って、Blinnの関数は、左上、右上、及び左下の隣接の、3つの双一次混合をそれぞれに実施し、次に、接線生成の一部として、左上と右上との結果の差異、及び左上と左下との結果の差異を計算する。
【００１９】
Blinnの関数は、連続する法線という結果になるが、その導関数は不連続点を持ち得る。残念なことに、人間の視覚システムは、画像輝度の導関数の変化に対して非常に敏感であり、そのため、人工物とわかるであろう。本方法はまた、下にある高さマップの格子を強調する傾向があり、それは図8aでわかる(比較のため、図8bは、本発明の好ましい実施形態からの結果を示している)。
【００２０】
Peercy他の前摂動法線マップの方法の導入は、バンプマッピングを、リアルタイムハードウェアにおいてより実用的にするが、それはさらに、「大きい」テクスチャ形式、並びに、高さマップを法線マップに変換するための別個の前処理ステップを必要とする。その「大きい」テクスチャ形式は、メモリ及びキャッシュ記憶装置と同様に、貴重な帯域幅も使い果たし、特別な法線マップ圧縮手法が存在するとはいえ、これらの形式は、しばしば、元々の高さマップよりもなおも大きいものである。法線マップのフィルタリングもまた、問題をはらむものであろう。
【００２１】
Peercy他の手法の更なる不利な点は、動的バンプマッピング、すなわち、バンプの高さをフレームごとに計算することは、実現するのがずっと困難である、ということである。例えば、別々のレンダリング工程の結果として、高さ値を生成することができる。様々なMIPマップレベルの生成を含む前処理段階は、リアルタイムのレンダリングを可能にするのに、多くの時間がかかりすぎるであろう。
【００２２】
最後に、法線補間がC1(又は、それより高次)であるように、C2(又は、それより高次)連続性を持つ高さ関数を使用することが、有益である。特に、この関数を生み出す安価な手段を持つことが重要である。
【００２３】
(本発明の要約)
高さマップの、C1連続性を持つフィルタされた摂動表面法線への直接変換のための効率的な手段を提供する関数の更なるセットを、ハードウェアにおいて実装することが可能であることがわかった。ピクセルごとの照明のような様々なレンダリング目的のために、これらの法線を続けて使用することができる。特に、今日のグラフィクスシステムで至る所に存在する色テクスチャフィルタリングハードウェアを、幾つかの小さな処理ユニットの付加を伴う新たな方法で再使用することにより、高さのセットにより制御される滑らかな表面から法線を計算するのに必要な関数を実現する方法を、我々は発明した。従って、データを、実質的にリアルタイムで生成することができる。
【００２４】
フィルタされた表面法線は、「オンデマンド」で作成され、格納されない。これは、バンプマッピングに必要なテクスチャデータ、及び帯域幅の量を減らすこと、並びに、法線マップのフィルタリングでの問題の幾つかを克服すること、の結合利点を提供する。前処理ステップが禁止であるかもしれないので、リアルタイムレンダリングにおいて動的高さマップを使用する時、この特徴はまた重要である。
【００２５】
本発明の実施形態は、(そのようにすることに制限されないが)Blinnの高さマップを直接使用する便利さを持つが、より高次の連続性を持つ関数を使用する選択の自由も持ち、Peercy他で説明するような局所接ベクトル空間でバンプマップベースのシェーディングを計算する利点を保持する。
【００２６】
ここで、添付図面を参照し、例として、本発明の好ましい実施形態を詳細に説明する。
【００２７】
(好ましい実施形態の詳細な説明)
ここで、好ましい実施形態を説明する。好ましくは、テクセルにつき4又は8ビットを使って、高さ値のアレイを格納する高さマップテクスチャの入手が提供される。各値は、幾らかの小数ビットを持つ固定点数を符号化し、小数部分には1/4ビットが割り当てられることが好ましい。
【００２８】
本実施形態は、この点のセットを通る双二次B-スプラインに適合しており、従って、仮想高さマップテクスチャにC1連続性(すなわち、連続一次導関数)を与える。図5において、点「80」、「81」、及び「82」は、高さマップの行における３つの隣接する高さ値/制御点を表している。テクスチャでの値は、(好ましくは)Y次元に割り当てられ、それと同時に、他の座標値(すなわち、x及びz)は、テクセルの座標位置より暗に定められる。代替の実施形態は、何らかの他の並べ替えで、これらの次元を割り当てることができる。テクセル領域における表面に必要な他の制御点を、図6の平面図に示す。
【００２９】
法線を計算する手法を、ここで、図7を参照して説明する。上記で説明した標準のテクスチャフィルタリングシステム、すなわち図4a及び4bでのように、テクスチャを加えるべきテクスチャベース座標を計算し、「50」において、前のように供給することを仮定する。次に、高さマップバンプマッピングを実施する時、典型的な半テクセル次元の減算であるステップ51を回避することを除いて、図4aを参照して説明した従来技術の方法と同様な手法で、変更されたアドレスユニット「150」が、「ベース」テクスチャ座標を計算し「53」、混合係数を計算する「55」。
【００３０】
図4bにおいて、RGBAベクトルの4つのセットを獲得したユニット「60」〜「63」から成る、変更されたテクセル取り出しユニット「151」は、スカラー高さ値の3×3セットを取り出すことができるように拡張される。特に、それは、以下の高さテクセルの格子を検索する。
0004637091.tif 000004
簡潔のため、これらを、a,b等と、番号を振り直した。
【００３１】
我々の英国特許番号第GB2297886号で説明したアドレスビット交互配置テクスチャストレージ形式の利用により、このような高さマップは、ストレージの観点から、高さマップの1/2×1/2解像度の色テクスチャの「均等物」にまとめられることができることが、当業者には明らかであろう。スカラー高さデータの2×2の各群は、単4次元色の空間を占有するであろう。次に、図4aのユニット「60」〜「63」で使用されたのと全く同じ取り出し機構の非常に単純な変更を使って、そのような形式で、高さマップデータを入手することができる。
【００３２】
次に、サンプルの3×3格子が「複製」ユニット152に送り込まれ、これは、赤、緑、青、及びアルファの双一次ユニットに値を出力する。特に、赤チャネルは、2×2のスカラー値の左上の格子を受け取る、すなわち、そこから取り出されたものは
0004637091.tif 000005
であり、その一方で、同様に、緑チャネルは右上のセットを受け取り、青は左下を受け取り、及び、アルファは右下を受け取る。明らかに、b'又はe'のような幾つかの値は一度以上使用され、従って、各ユニットに与えられる格子は、少なくとも部分的に重なっている。
【００３３】
ユニット153は、混合係数「55」を受け取り、U及びV混合の新たなセットを以下のように計算する。
0004637091.tif 000006
【００３４】
U混合、及びV混合は、典型的には固定点の数であるので、これらの「計算」は、完全に自明であり、ハードウェアにおいて全くコストを招かないということがわかるはずである。
【００３５】
これらの新しい混合値は、以下のように、「65」〜「68」の双一次ユニット再分配される。
赤：  (U混合0, V混合0)
緑：  (U混合1, V混合0)
青：  (U混合0, V混合1)
アルファ：  (U混合1, V混合1)
【００３６】
混合係数のこの操作は、前に式1で説明したような、二次B-スプライン制御点からベジエ制御点へ変換する必要性を取り除く。従って、これらの双一次ユニットは、C1連続性を持つ表面法線を続けて導出することを可能にするデータを、事実上生み出す。
【００３７】
4つの双一次補間の結果は、接線構成ユニット「155」に送られる。これは、2つの接ベクトルTang1及びTang2を生成し、それらは、機能的に、以下の計算を使用することと等価である。
Tang1[X] := 1 テクスチャサイズ;
Tang1[Y] := 一次補間(V混合, 緑結果-赤結果, アルファ結果-青結果);
Tang1[Z] := 0;
Tang2[X] := 0;
Tang2[Y] := 一次補間(U混合, 青結果-赤結果, アルファ結果-緑結果);
Tang2[Z] := 1 テクスチャサイズ;
ここで、
一次補間(x, A, B) := A + x*(B-A);
【００３８】
すぐに明らかになるという理由のため、ユニット155は、実際には、Tang1[y]、Tang2[y]、及び、1テクスチャサイズ、の3つの値を出力するだけである。
【００３９】
最後に、ユニット「156」で、これらの接ベクトルの外積を計算する。好ましい実施形態が選択された場合には、接ベクトル成分におけるゼロの存在が、その外積を、以下の計算にまで簡単化することに、注意すべきである。
N[x] := Tang1[y];
N[y] := 1 テクスチャサイズ；
N[z] := Tang2[y];
【００４０】
次に、好ましくは、Nベクトルを二乗し、その結果の平方根の逆数を計算し、かつ、そのスカラーに元の成分を乗算することにより、このベクトルを正規化する。この正規化ステップは、コストがかかるように思えるが、WO990523、又は英国特許出願第0216668.4号で説明するような圧縮法線マップをサポートする如何なるシステムの要件でもあろう。従って、そのようなテクスチャ形式が既にサポートされている場合には、再正規化ハードウェアを再使用するであろう。この実施形態の出力の例を、図8bに示す。
【００４１】
代替の実施形態では、法線生成をサポートするように、三角一次フィルタリングを適応させることができ、その手順における唯一の違いは、接線構成ユニット「155」に送り込まれる値が、選択された2つの隣接するMIPマップレベルから計算された値の「混合」である、ということである。改良された異方性フィルタリングをサポートする他の実施形態もまた、実現可能である。
【００４２】
更なる実施形態では、それぞれのモデルごとに、又は同じモデルのそれぞれの部分ごとに、高さマップを異なって拡大縮小できるように、補間換算係数を増分/正規化前の接ベクトルにかけることができる。
【００４３】
更なる実施形態では、混合係数調整ユニット153を使用せず、変更された「152」ユニットにおいて、式1により、B-スプライン制御点を等価なベジエ表現に変換する。
【００４４】
更なる実施形態では、第三の一次混合演算を含めることにより、実補間高さ値を計算するであろう。
【００４５】
更なる実施形態では、Blinnの高さ補間関数を用いることができるであろう。この実施形態では、混合係数調整ユニット153を使用せず、双一次「アルファ」チャネルを使用することも不必要である。それはまた、原テクセル「k」を取り出すことも不必要であることも意味する。次に、接線ユニット155が簡単化して、「緑」と「赤」との差異、及び「青」と「赤」との差異を計算する。
【００４６】
更なる代替の実施形態では、多数のテクスチャサンプルを取り出し、図9に示すような4タップ、ソーベル、Prewitt、Parks-McClellan微分フィルタのような変形微分フィルタを適用する専用のサンプリングハードウェアを含めることもできるであろう。
【００４７】
更なる実施形態では、双一次フィルタリングユニットの付加、又は色チャネルを通しての反復のいずれかにより、双二次B-スプラインを使って、色テクスチャもまたフィルタし、それにより、前に説明した実施形態に従って、双一次ユニットに対する個々の重みを調整する。
【図面の簡単な説明】
【００４８】
【図１】Blinnで説明したような、表面法線を摂動させる処理を示している。
【図２】上で説明したPeercy他の方法において使用される処理過程のフローチャートを示している。
【図３】テクスチャの双一次フィルタリングの、そのテクスチャのテクセルとの関係を示している。
【図４ａ】典型的な従来技術の双一次ハードウェアにおける座標計算装置の全体像を示している。
【図４ｂ】アドレス付けされたテクセルに双一次混合を適用する従来技術のハードウェアの全体像を示している。
【図５】区分的二次B-スプライン曲線の一部、言い換えると、双一次B-スプライン表面を通る部分、を示している。
【図６】双二次B-スプライン表面として解釈される高さマップの一部の平面図を示している。
【図７】高さマップからの法線生成をサポートするように変更を伴って、本発明を具現化するハードウェアシステムの全体像を示している。
【図８ａ】Blinnの高さマップの導関数を使ったバンピングマッピングの結果を示している。
【図８ｂ】好ましい実施形態で使用される関数を使ったバンピングマッピングの結果を示している。
【図９】バンプマップの微分を計算するために使用することができるであろう幾つかの変形フィルタパターンを示している。
【図１】
0004637091.tif 000007
【図２】
0004637091.tif 000008
【図３】
0004637091.tif 000009
【図４ａ】
0004637091.tif 000010
【図４ｂ】
0004637091.tif 000011
【図５】
0004637091.tif 000012
【図６】
0004637091.tif 000013
【図７】
0004637091.tif 000014
【図８ａ】
0004637091.tif 000015
【図８ｂ】
0004637091.tif 000016
【図９】
0004637091.tif 000017