Real-time fur over arbitrary surfaces.

original URL : http://research.microsoft.com/%7Ehoppe/

テキトウに日本語訳しました。なお詳細について原文を尊重してください。

当然ですが、品質の保証は致しません。

 

任意の表面におけるリアルタイム・ファー

(Real-Time Fur over Arbitrary Surfaces)

 

Jerome Lengyel:マイクロソフト研究所 http://research.microsoft.com/~jedl

Emil Praun:プリンストン大学 http://www.cs.princeton.edu/~emilp

Adam Finkelstein:プリンストン大学 http://www.cs.princeton.edu/~af

Hugues Hoppe:マイクロソフト研究所 http://research.microsoft.com/~hoppe

 

概要

任意のトポロジを持つ表面に対し、ファーのリアルタイム・レンダリング法を紹介する。前処理として、我々はパーティクルのシステムでバーチァルな毛をシミュレーションし、ボリューム・テクスチャに取り込む。次に、「ラップドテクスチャ(lapped textures)」を用い、任意のトポロジを持つ表面にテクスチャのパラメータ化を行なう。つまり、表面が覆われるまで繰り返しテクスチャ・パッチを貼り付けることで、一つのサンプル・テクスチャを貼り付ける方法である。貼り付けられたテクスチャは、表面上のファーに対してグローバルな方向フィールドを指定する事ができる。ランタイムにおいてボリューム・テクスチャのパッチは、半透明の媒体物で同じ中心を持つ連続したシェル(shell)としてレンダリングされる。シルエット付近のファーの視覚的なクオリティを改良するために、我々は表面に対して垂直な「フィン(ひれの様な物)(fin)」を設置し、ボリューム・テクスチャからサンプルされた通常の2Dテクスチャ・マップを用いて、毛の伸びる方向にこれらをレンダリングする。この方法では、ある程度の複雑なモデルに対して、インタラクティブな速度で最もらしい映像のファーを作成する事ができる。さらに、この仕組みを用いると、局部的に毛の色、長さ、方向を変更する事と同時に、ビュー、ライティング状況の調整もリアルタイムに対応できる。

追加キーワード:毛のレンダリング、ラップドテクスチャ、ボリューム・テクスチャ

 

 

1. 導入

毛は哺乳類の目立った一つの特徴である。多くのコンピュータ・グラフィックス・アプリケーションにおいて、人をひきつけるにはリアルスティックな仮想生物が必要である。不幸な事に、もっともな映像による人物や動物を作成するには、難題が存在する。一因として、毛が往々にして人工的に見えてしまうと言う事が挙げられる。インタラクティブなフレーム速度で、任意のトポロジを持つ表面に生えるリアルスティックなファーのレンダリング方法を、本文において解説する。また、本文ではfur(ファー)とhair(毛)という表現を同義に使用している。

おそらく、最も効果的なファーの映像は、KajiyaとKay [4]による物と思われる。彼らはファーを持つモデルを、ボリューム・テクスチャで表現された陽関数の幾何学的な詳細情報を用いて、レイ・トレースしている。コンピュータ・アニメーション産業では、Disney’s Dinosaur [1]キツネザルの様に、ファーの精巧で幾何学的なモデリングを使い、もっともな人工の哺乳動物が作成されている。別の例としては、n101 Dalmatians [2]の犬のファーが挙げられる。そこにおいては、(幾何学的というよりも)推計学的なモデルが使用されている。

しかし、毛をレンダリングするには計算的にコストがかかり、また現在まで多くの手法はインタラクティブに使用するには遅すぎる。(Thalmann et al. [10]参照)インタラクティブな設定でVan Gelder and Wilhelms [11]では、リアルタイムに様々なファーのパラメータを変更することができると示されている。しかし、彼らのレンダリングはポリラインを描くことに限定されており、結果の現実性やフレームごとに描かれる毛の数に限界がある。Meyer and Neyret [6][7]の示す様に、最近の研究では、グラフィック・カード・ハードウェアの開発により、インタラクティブな速度でボリューム・レンダリングすることが可能になっている。その後Lengyel [5]は、ファーの特定の場合に対応する類似した方法を開発している。その方法では、毛のボリュームのサンプルを盛り込みながら、同じ中心を持ち、半透明のテクスチャからなるシェルとして、毛の生えた表面をレンダリングしている。通常のテクスチャ・マッピングを利用する事で、数千ものポリゴンで表現された毛の生えたモデルのインタラクティブなレンダリングを、その方法では可能にしている。我々の手法はシェル法に基づいた物で、インタラクティブなフレーム速度を実現しているが、この研究では過去の作業における3つの限界が存在する。第一に、シェル法では表面をグローバルにパラメータ化する必要がある。(トーラス、平円面の様な)特定の環境に対しては簡単に実行できるが、初めに表面を細分化し、個別にレンダリングしなければ、パラメータ化は任意のトポロジを持つ表面の表現の妨げとなる。第二に、各シェルは表面全体を覆う分割されたテクスチャを必要とし、これらのテクスチャはそれぞれの毛を配置する位置を求めるのに十分な広さがなければならないので、この方法ではかなりのテクスチャのメモリが必要となる。最後に、ビューの方向が表面に対してほぼ垂直な場合に限り、シェル法でボリューム・テクスチャに対しての効果的な近似値を得る事ができる。シェルをかすりそうな角度のシルエット付近では、毛は過度に透明に表現され、シェルとの裂け目がはっきりとする。

我々の研究では、シェル法の2つの限界である、パラメータ化とテクスチャのメモリサイズについて取り上げている。ここでは、Praun et al. [8]のラップドテクスチャを用いる。表面上にサンプル・テクスチャの小さなパッチを繰り返し貼り付ける事で、ラップドテクスチャは任意のトポロジを持つ表面を覆っている(図1)。表面はパッチの集合により覆われているので、グローバルなパラメータ化に対して、各パッチ内でのローカルなパラメータ化だけが必要となる。更に、表面上に例示された多くのパッチは、同じテクスチャ全体を共有する事ができる。よって、テクスチャに必要なメモリのオーバーヘッドを減少させる事ができる。

第三の限界であるシルエットの問題は、シェル法に限った事ではない。ゲームのようにインタラクティブな環境において、設計者はフレームの高速を保つために、低ポリゴンによるのモデルを使用する。接線上に生じる裂け目が視覚的なクオリティを損なわせる様なシルエットを除いて、詳細なテクスチャはこのような粗雑なモデルを飾るのに役立つ。更に、ファーのある特定の状態で、そのシルエットにおける視覚的なものがファーを特徴づける評価基準となる。より高い解析モデルを用い、Sander et al. [9]で述べられている様な高い解析能力を持つ2Dの輪郭に切り抜くことで、ポリゴンの生成作業は軽減される。シルエット問題を述べるにあたり、シルエット付近で表面に垂直なテクスチャ・フィンをレンダリングする方法を紹介する。シェル・テクスチャと同様にフィン・テクスチャは、毛に対するボリュームモデルを用いて作成され、斜めから見たビューに対して、より適切で異なる方向にサンプルされる。

または、アーティストが直接フィン・テクスチャを作成する場合もある。

方向、長さ、色といったファーのローカルでもありグローバルでもある特徴に対し、我々はインタラクティブな制御を可能にする。例えば、ユーザが表面に対しての毛の角度をグローバルに調整し、「結合ツール」を使用してローカルに毛の方向を調整する事が挙げられる。

 

この研究の主な成果は以下のとおりである:

(1)           任意のトポロジに対しての多様性とテクスチャの必要事項の低減を目的とした、ラップドテクスチャとシェル法の統合

(2)           フィンのレンダリングによるシルエットの視覚的なクオリティの向上

(3)           毛の特徴に対しての、インタータクティブでローカルかつグローバルな制御の実証

 

 

2. 方法

ここでは我々の研究の概要を述べ、詳細は2.1から2.4にて解説する。

我々のシステムでは入力項目として、三角形のメッシュで表現される生物とパラメータ化された毛のモデルを扱う。ランタイムよりも重要なものとして、我々は2つの実験を行なう。幾何学的な前処理、言い換えると表面をパラメータ化しつつ、ラップされたテクスチャのパッチを計算処理する。テクスチャの前処理、つまり毛のパッチの幾何学的モデルを伸張させ、シェルとフィンのテクスチャへ試しに貼り付ける。ランタイム内で表面に垂直な各フィンと同様に、テクスチャ、同心のシェル、元となる表面から伸びるオフセットをシルエット付近の毛をよりらしく提供できるようにレンダリングする。

 

a)入力:メッシュとベクトル領域(b)出力:ラップされたパッチ 

図1 幾何学的な前処理:ラップされたパッチの作成 

 

2.1 幾何学的前処理

パッチのパラメータ化を構築するために、Praun et al. [8]に紹介されているラップされたテクスチャ法を我々は採用している。要約すると、まだ覆われていない表面にランダムにパッチを張り、高速最適化処理にて、テクスチャ領域上にパッチのローカルなパラメータ化を行なう。計算結果となったパッチ集合が表面を覆う。図1参照。

土台となるラップされたテクスチャ構造において、パッチをオーバーラップしたり、不規則な境界線にパッチを配置したり、境界線をアルファブレンドする事で、パッチ間の継ぎ目が目立たなくなっている。様々なタイプの毛のテクスチャ(特に毛がまっすぐ立っている)に対し、我々は不必要な計算を見出し、その代わりに、パッチの境界線をメッシュ上の縁と単に一致させ、パッチ間の重なりを完全に取り除く事を可能とした。毛のテクスチャは推計学的なので、結果的にメッシュの端に沿ったテクスチャの「継ぎ目」は通常感知できない。この重ならないラップドテクスチャパラメータ化の主な効果は、一回ずつ各パッチをオーバーラップするのではなく、シェルの三角メッシュが一度レンダリングされるだけですむ。また別の効果として、テクスチャのパッチは境界線を持つ必要が無い事が挙げられる。代わりに、テクスチャ・パッチはドーナツ型になり、タイリングしながら面積のある表面のパッチを覆うことができる。ここでの結果は、重ならないラップされたテクスチャのパラメータ化に基本を置いている。

それを用いても、表面上におけるパッチの整列からグーバルな方向領域に到るまで、有効である事が分かった。毛が好みの方向に向いている場合、一定の方向領域はパッチ間の継ぎ目を隠すのに役立つ。(図5のカールしたチンパンジーの毛を参照)また、各結果となる平らでないメッシュの縁である境界線に貼り付ける不規則な「斑点」の形にも有効性を発見した。毛がまっすぐに立った特別な場合、グローバルな方向領域を省略でき、代わって各パッチがローカルに適応し、隣接したパッチを整列させないような場所において、等方向にパラメータ化する事ができる。[8]

 

2.2 テクスチャ前処理

Lengyel [5]にて紹介されている方法を用いて、幾何学的な毛の糸を元としてシェル・テクスチャを作成する。毛の糸はパーティクルシステムのシミュレーションから作成される。小さな長方形のボリューム内、つまり二つのスキンの軸に沿って、ドーナツ型で対称にシミュレーションを行ない、ボリューム・テクスチャは貼り付けられる。パラメータを変化する事で、まっすぐな、曲がった、薄い、濃いなどの毛を得ることができる。(図5)

 

シェル・テクスチャ

再考するとシェル法[5]では、毛の糸を含む囲われた箱上に格子を重ねる事で、シェルモデルの各レイヤに対し4チャネル(RGBA)イメージを作成する。各格子上の点において、幾何学的な毛を持つ丈のあるガウスフィルターを交差させ、我々は色や不透明度を計算する。各シェル内で格子の空間よりも内側のシェル空間が大きいので、フィルタには丈がある。最も奥にあるシェルに関しては、このレイヤはスキン表面をあらわす事になるので、すべてのサンプルが全く不透明である。ラップされたテクスチャとシェル法を組み合わせるには、シェル・テクスチャのレイヤを呼び出し、各表面のパッチのパラメータ化を行なう。この様にして、各レイヤに対しメッシュ全体を覆う半透明のシェルを作成するために、繰り返しテクスチャ・パッチは用いられる。

各レイヤでの繰り返し処理の実装において(図4c)、我々は典型的なサンプルとして16レイヤを挙げ、テクスチャのパッチは128×128の解像度を持っている。

 

フィン・テクスチャ

モデルのシルエット付近で、縁上に使用されているフィン・テクスチャの一つを定義する。任意の表面接線方向に沿って、幾何学的な毛の厚身を持った板を合成することで、テクスチャを作成する。合成板の厚み(図2左上、水色の箱)はフィンに関連する毛の濃度を決定する(図2c)。それぞれのフィンをレンダリングする際、縁の長さを基準として、同じ間隔のテクスチャをランダムに取り扱う。ラップされたテクスチャによる作業でメッシュ面をパラメータ化する際に、使用されるテクスチャと基準要素は同じである。理想的には、ローカルのフィンの濃度と同じ様にローカルにメッシュの湾曲を明示し、幾何学的な毛のモデル上に適切な区切りでサンプルされたフィン・テクスチャを、各縁がそれぞれ所有することになる。しかし、この事の不必要性発見し(同じフィン・テクスチャを共有したモデルの視覚的なクオリティは良いので)、それがテクスチャ量を著しく増加させていると思われる。ローカルなフィンの濃度はモデルの複雑さによるものであるので、フィン作成には、合成されたテクスチャ板の厚みを各モデルに対して、我々が手動で選択する。つまり、与えられたモデルやテクスチャに実際見合う様な濃度を選択するのである。

 

(a)幾何学的な毛(b)シェル・テクスチャ(c)フィンテククスチャ

図2.テクスチャ前処理

例:(b)においてシェルテクスチャレイヤー間の空間は拡大されている。

 

オフセットシェル・元となるメッシュ・生成されたフィン

図3.レンダリングの実行:オフセットシェルと生成されたフィン

 

2.3 実際のレンダリング

この節では、ランタイムで施行される3段階のレンダリングステップ(表面、フィンとシェル)をレンダリングの順番に説明する。

 

表面のレンダリング(図4a)

各フレームに対して初めにZバッファを設定するために、メッシュ全体を不透明にレンダリングする。毛の生えた区域の最も奥にあるレイヤ(スキン)と生物の毛の生えていない区域の表面の両者を含む。

 

フィンレンダリング(図4b)

次に、テクスチャ・フィンをレンダリングする。各フィンはメッシュの縁に付けられ、表面に垂直な方向に伸びる様な四辺形である(図3)。モデルのシルエット付近のフィンのみレンダリングする事で、より良い結果が得られることを我々は発見した。一般的な性質を持続させるために、シルエットに近づくにしたがって徐々にフィンを薄くする。方法は以下に示す。各メッシュの縁において、フィンの垂線と空間頂点からの視点との間のp点を計算する。次にmax(0,2|p|-1)にフィンの不透明度を掛ける。ゼロでないアルファを持つフィンを選択し、テスト時間内にレンダリングする。但し、zバッファに対しては述べていない。(参照:図4eでは全不透明にフィンを描いた結果を示している。)見えない(例えば水平線上にあるような)いくつかのフィンの先は実際には見えるので、それと同等なフィンをレンダリングする事を留意する。レンダリングされたフィンの数は、全縁数の数分の一であり、シェル・レイヤの面によって違ってくる。ゆえに、フィンのレンダリングは、システムのレンダリングパフォーマンスに比較的大きく影響を与えるが、一方結果の視覚的なクオリティを改善する。

 

シェルレンダリング(図4c)

次に、一番奥から一番外側の枝となるシェルをレンダリングする(図3)。すでにレンダリングされている物の上に(半透明の)ラップされたテクスチャの全パッチを各レイヤで合成する。シェルをレンダリングする間、我々はzバッファのテストと書き込みを行ない、アルファのテストがゼロ補正範囲内のピクセルに対してZを書き込まないようにする。テクスチャの巻きつけを可能にしているので、シェル・テクスチャは大きなパッチの上を覆うことができる。

 

 

2.4 レンダリングの検討

毛のライティング

我々は[5]のシェーディング法を採用している。その方法は、Banks/Kajiya-Kayライティングモデルを改定した物で、低解像(32×32)のテクスチャマップのテーブルに収められる。

HairLighting(u, v) = Ka + Kd (1 – u 2 ) Pd / 2 +Ks(1 –v 2 ) Ps / 2

u = T·L // ( cos(angle) = u ; sin(angle) = (1-u 2 ) 1/ 2 )

v =T·H .

Tは各頂点における毛の方向である。Lは光の方向、Hは目と光との間の半分のベクトル(the half-vector between the eye and the light)である。Ka、KdとKsは一面に拡散した反射の色である。PdとPsは拡散した反射力である。ランタイムにuとvを計算するために、Tは一連のテクスチャ座標として格納され、テクスチャ行列は現在のLとHベクトルで与えられる。スキン付近のシェルを暗くするために、我々はBanksセルフ・シャドウイングの近似を用いている。現実装において、毛の方向を示すTとシェルの枝になるベクトルcvを格納するために、同じベクトルを使用する(3節)。このことは、ほぼ垂直方向に並ぶ毛に対して、ライティング効果を制限するので、将来的には、それそれのベクトルでTとcvを格納する予定である。更に、元となる毛の幾何学情報から出力される、毛の方向マップを持つピクセル・シェーダを用いたいと思う。

 

可視

シェルとフィンに関連する三角形は、空間でそれぞれ交差するので、レンダリングの正確な目に見える順序というものは存在しない。表面がビューアの方に向くような、最適な視覚の近似値をシェルは提供する。よってフィンはシルエットの表面付近で最も良く見える。我々の研究では、シェルやフィンがより目立ってしまうかどうかはローカルに制御できる様なフィン・フェーディングに委ねられている。

 

LODの制御

モデルが遠のくにつれ、レンダリングのシェルの数を減らす事ができる(図.4gと4j)。しかし、突然シェルの数を変化させることは、跳んだように見える可能性がある。以下の様にシェル・テクスチャ間でブレンドし(by blending between shell textures)、我々はこれらの変化をスムーズに見せるようにしている。一連のシェル・テクスチャが与えられると、目の粗いレベルで偶数番のシェルから連続する組を合成し、一方、目の粗いレベルで奇数番のシェルを完全に透明にしておく。一つのシェルが残るまで作業を繰り返す。モデル全体を目の粗いレベルへ移行し終えたら、目の詳細なレベルの奇数番号シェルのレンダリングを省略する。モデルとビューアの距離を基に、ブレンド程度を決定する。シェル全体のレンダリングの前に、ボリューム・テクスチャのパッチ上で、各レベル間のブレンディングは実行される。

 

バーテックス・シェーダプログラム

来年中には、通常のグラフィックス・ハードウェアにて、バーテックス・シェーダのプログラムが可能になると思われる。シェル間の幾何学的なオフセットを直接的に評価できるので、この様なシェーダは、シェルのレンダリングの高速化に理想的である。実際2つのシェーダ命令を追加して使用している。

 

重複するパラメータ化

元となるラップされたテクスチャは、重複するパッチ(ピクセル画素で定義されたパッチの境界線をもつのだが)を用いて表面を覆うものである。パッチは不透明だったので、いくつかの表面は一つのパッチ(表面を覆う一番上のパッチ)によって完全に覆われていた。しかし、表面がいくつかのパッチによって構成されているものもあった。我々の毛のテクスチャは不透明でないので、(一番上のみならず)各表面をオーバーラップするようなパッチを用い、全表面をレンダリングする必要がある。この事でフレーム速度は遅くなるが、毛の濃度に変化をもたらす(図4f)。2.1で述べた様に、最も近くにある縁の境界線へパッチを伸ばし、各表面に対して一番上のパッチをレンダリングする選択を行なうだけである。この事は、基本的に表面に重複しないタイリングをする結果となる。毛のテクスチャの性質は推計学的であり、視覚的なマスキングはこれらのポリゴンの切れ目を隠す傾向にある。

 

 

3. インタラクティブな制御

従来のカメラやライティングのパラメータを追加し、毛のモデルの3要素である、色、長さ、方向をローカルでインタラクティブに制御することも我々は提案する。これらの特を表面上のメッシュのフィールドとして指定する。現在、各メッシュ頂点に対する色と、長さと方向をエンコードしたベクトルcvとを関連付けている。

 

毛の色

グラフィックス・ハードウェアを用い、シェルやフィン・テクスチャを調節するために、各表面や縁を覆う頂点の色を、我々は直線的になる様に任意に書き換えている。例えば、図5の犬を参照すると、Hanrahan and Haeberli [3]で述べられている様に、より精密な制御に対してテクスチャの地図に色を塗る事は、自ずと色を指定する事になる。

 

毛の長さ

プロートタイプの段階では、初期値に16シェル・テクスチャを用いて、モデル直径の千分の1毎に区切りを置いた。これらのレイヤの数と空間を変化させる事で、毛の長さを調節する事ができる。ローカルな制御に対しては、cvの要素からなる各頂点でシェル・レイヤを埋め合わせする。レイヤ間を広く取りすぎることで、人工的な視覚を招いてしまうことが分かった。例えば、カーリー・ヘアがまっすぐになったりする。つまりレイヤが不連続である事が明らかになる。故に、非常に長い毛の場合には、パフォーマンスを犠牲にして、追加レイヤをモデルに付加する事になる。

 

毛の方向

基準となる表面に関するシェルやフィンの幾何学情報を共有し、毛をとくことができる。各メッシュの頂点で格納されているベクトルcvに、接線成分を追加する事で共有できる。この接線方向の簡単な選択は、ラップドテクスチャを構築する際に使われている方向フィールドによるものである(2.1参照)。直毛から45度の毛まで調節しながら、ユーザはグローバルに毛の傾斜を制御する事ができる(より広い角度では、交差するレイヤ上の各糸の視覚的な相互関係を失ってしまう)。図4kと付録ビデオが示す様に、ローカルに毛をすくには、アクティブにしたい区域を円でドラッグする。そして各選ばれた頂点cvにデルタを加えるため、カレントビューの平面上で選択をドラッグする。

 

 

4. 結論

図5と付録ビデオで、我々のプロートタイプのアプリケーションでレンダリングした様々なふわふわの毛を持つモデルを示す。これらの例では、テクスチャは16レイヤでサンプルされている(サイコロの32レイヤを除く)。また、各レイヤの画像は解像度128×128である。NVIDIA Geforce DDR32MBカードを搭載した、AMD-K7 700MHzPC上で、MicrosoftDirectX7を用いてのレンダリング速度を以下の表にて示す。各頂点色に掛かる余分な時間により、犬の処理速度は比較的遅い。

モデル

ウサギ

くも

シンパンジー

サイコロ

表面数

5000

5000

5000

5000

4910

1450

縁の数

7547

7500

7500

7500

7365

2400

パッチ数

306

252

338

192

228

246

½レイヤー(fps)

23

26

31

20

21

25

全レイヤ(fps)

12

14

15

10

11

13

表1:様々なモデルと速度

これらのモデルに対するポリゴンは低解像であることに留意すること。モデル上のごく小さな詳細部をまばらな性質の毛が覆い隠し、低解像度におけるシルエットに沿った、接線方向の不快な裂け目を隠す事を発見した。

格納されるテクスチャは、解像度128×128のシェル・テクスチャと解像度512×64のフィン・テクスチャからなる16レイヤーを持つ。フル32ビット/テクセル表示とミップマッピングを用いて、これらは1.6MBの全テクスチャメモリ領域を必要とする。DXT5テクスチャ圧縮を使用すると必要なメモリが3の割合で減少するが、アルファ圧縮の人為的操作によって毛を薄く表現してしまう。毛の立っている様なよくある状態に対して、すべてのシェル・テクスチャは単一画像のレイヤにてエンコードされ、たった200KB(スキン+シェル+フィン)になる。この場合、アルファ線を傾斜させシェル・テクスチャを調整することで、スキンから毛を伸びる方向に細くさせるようなオプションが考えられる。

 

 

5. 要約と発展

ラップされたテクスチャとレイヤを持つシェルを、毛のレンダリングの際に効果的に組み合わせられることを我々は示した。同時に、適度なテクスチャ領域において、大きく任意の表面上に毛を高解像度でインタラクティブに、レンダリングする事を可能にした。シルエットの表現を改善するために、我々はフィン・テクスチャを導入し、シェルとフィンが滑らかに結びつくことを示した。最後に、細部の変化つまり毛の色、長さ、方向に対するユーザが制御できる技術を述べた。

この研究は、以下に示す様に将来的な研究分野として多くの分野が挙げられる。

 

一生物に対しての多様な毛のモデル

実際の生物は異なった種類の毛を持っている。一方、現モデルを別々のレンダラーで対処する事は凡長であるので、毛をある種から別種に滑らかに移行するようにすれば、より興味深い結果が得られるだろう。

 

更なる効果の組み合わせ

有名な「hairy ball theorem」によると、立ち毛、部分毛や渦巻きといった特徴は、実生活において避けられない。その様な特徴をモデリングする事は、新しい表現、櫛ツールやレンダリング技術を必要とする。

 

シェル・マルチテクスチャリング

マルチテクスチャを組み合わせる作業の間、法線に沿って、テクスチャ座標を「バンピング」する事で、単一パス上のシェルをそれぞれレンダリングする事ができるであろう。

 

プログラム可能なピクセル・シェーダ

2.4で述べた様に、開発されつつあるプログラム可能なバーテックス・シェーダが、毛のライティングやシェルの幾何学的なオフセットの評価を可能にするであろう。将来的にプログラム可能なピクセル・シェーダはピクセル・ライティング毎に実行可能になると思われ、波打つまたは、曲がりくねった毛のパターンに有効であろう。

 

毛の力学

レイヤを共有する事で、物理的なシミュレーションに従わせ、毛を動かす事が可能であろう。横から切り分けるようなシェルを持つことで、毛を部分的に捉える事ができるであろう。

 

 

参考文献

[1] ESKURI, N. The art and technology of Disney's "Dinosaur".SIGGRAPH 2000 Course Notes.

[2] GOLDMAN, D. Fake fur rendering. Proceedings of SIG-GRAPH97, pp. 127-134.

[3] HANRAHAN,P.AND HAEBERLI, P. Direct WYSIWYG painting and texturing on 3D shapes. Proceedings of SIGGRAPH 90,pp. 215-223.

[4] KAJIYA,J.T.,AND KAY, T. L. Rendering fur with three dimensional textures. Proceedings of SIGGRAPH 89, pp. 271-280.

[5] LENGYEL, J. Real-time fur. Eurographics Rendering Work-shop 2000, pp. 243-256.

[6] MEYER,A.,AND NEYRET, F. Interactive volume textures, Eurographics Rendering Workshop 1998, pp. 157-168.

[7] NEYRET, F. Modeling, animating, and rendering complex scenes using volumetric textures. IEEE Transactions on Visualization and Computer Graphics, 4(1), pp. 55-70, 1998.

[8] PRAUN,E.,FINKELSTEIN,A.,AND HOPPE, H. Lapped textures. Proceedings of SIGGRAPH 2000, Computer Graphics, Annual

Conference Series, pp. 465-470.

[9] SANDER,P.,GU,X.,GORTLER,S.,HOPPE,H.,AND SNYDER,J. Silhouette clipping. Proceedings of SIGGRAPH 2000, Computer

Graphics, Annual Conference Series, pp. 327-334.

[10]THALMANN,N.M.,CARION,S.,COURCHESNE,M,VOLINO,P., AND WU, Y. Virtual clothes, hair and skin for beautiful top

models. Computer Graphics International 1996.

[11]VAN GELDER,A.,AND WILHELMS, J. An interactive fur modeling technique. Proceedings of Graphics Interface 1997.