時間がなくなってしまったので、実装できなかったので、これだけでも公開。適当に訳したので、ひどい日本語や誤訳がややあると思いますが、勘弁してください。実際に取り扱うことになるメッシュに対する標準的なテクスチャマッピングでは、過度のひずみを回避し、メッシュのトポロジーをテクスチャの一部分と互換性をもつようにするために導入される、どうしても必要な継ぎ目の存在に苦しみます。対照的に、キューブマップは、ひずみが少なく、継ぎ目のないのテクスチャ・マッピングのメカニズムを提供します。オブジェクトが荒い近似として立方体に似ている場合のみです。私たちは、テクスチャの領域として、与えられたメッシュに関して、それに似ているポリキューブの表面を使用することにより、任意のメッシュへ、この概念を拡張します。私たちの手法は、現在利用可能なグラフィックス・ハードウェアの範囲で実装するのが十分に簡単で、継ぎ目のないテクスチャ・マッピングの方法に結びつきます。Introduction画像の色情報、あるいはそのほかの2Dの領域をもったいくつかの情報を使って3D物体の表面をテクスチャマッピングすることは、コンピューター・グラフィックス中の多くのアプリケーションには有用な方法です。その品質は、根本的にパラメター化の質に極度に依存します。理想的には、パラメータ化は等角であるべきですし、どんな情報のゆがみも回避するために面積保存しているべきです。円錐や円柱のような展開可能な曲面のためにのみそのような理想的な写像が存在することがよく知られています。cylinders.したがって、三角形メッシュのための標準のアプローチは、低いひずみとなるように各々をパラメター化するいくつかの円盤状のパッチに表面を切ることです。この多重図表(multi-chart)あるいは地図(atlas)アプローチは必然的に継ぎ目を生みます。言い換えれば、3次元的に同じ位置座標値を持っているけれども、2次元的に異なるテクスチャ座標値があるような頂点をパッチの境界で複製する必要があります。2D.全体を包み込むよいマッピングを作成する工程は、与えられたメッシュを継ぎ目が最も目に見えなくなるように分割する問題に加えて、2Dの領域に適切な境界を定義し、個々のパッチのパラメター化を計算し、最後に長方形の形に効率的にテクスチャパッチを詰めることを要求します。自動、半自動のアルゴリズムと同様に、細心の注意払ってモデルのuv-マッピングを手でつけているデザイナーも、これらの過程について最良となる可能な解答を見つけるために努力しています。私たちは非常に複雑なメッシュでさえ非常に良好な結果を与えるものを過去に発見しました。past.しかしながら、私たちは、「三角形メッシュのテクスチャ・マッピングは区分化を要求する」という格言、および継ぎ目が存在することに慣れていて、それらは最も取り除くべき要因であることを忘れる傾向があります。通常、異なるLODメッシュに対しては別々のパラメター化およびテクスチャイメージを要求します。・不適当なフィルタリング:ミップマップおよびバイリニア補間は、両方とも、テクセルが連続していることを要求します。これらの条件は、パッチ境界では満たされません。結果として、継ぎ目が目に見えます。・テクスチャメモリの浪費:最良の詰め込みアルゴリズムでさえ、いくつかのテクスチャ領域がテクスチャパッチによって覆われないことを避けられません。覆われていないテクセルは、部分的には境界部分を広げて幾らかのテクセルを加えることにより、上で言及されたフィルタリングの不適当な部分を防ぐために使われるでしょう。一般には、覆われない部分は情報を格納せず、浪費されていると考えなければいけません。wasted.この論文では、私たちは、最初の2つの欠点を回避し、テクスチャメモリをほとんど浪費しない優秀なテクスチャ・マッピング用の新しいメカニズムであるポリキューブマップ(PolyCube-Map)を導入します。それは、有名なキューブマップメカニズムの一般化と見なすことができます(セクション2を見よ)。workテクスチャ・マッピングのほとんどの研究は、よい地図の生成、すなわち分割、パラメター化および詰め込みに関して、異った見地から見た様相で焦点が変化する多重図表アプローチを追求します。2002]は、単一の三角形あるいはペアの三角形からパッチを構成することを提唱しました。これは高度に断片化されたテクスチャ空間に帰着し、メッシュの至る所で継ぎ目が発生します。2004]による最近の調査を参照してください。[2004].多重図表方法は、上で言及したすべての欠点を備えた継ぎ目を生むという事実に苦しみます。2002]は、継ぎ目が最も目に見えない表面のきり方を提案しました。いえば、三角形はパッチ境界を横断することを許されないので、継ぎ目は、根本的にメッシュの幾何学的な表現を極度に抑制します。1つのテクスチャが多重詳細度モデルのすべてのLODに対して使用される場合には、これは厳しい制限です。1998]は、パッチ境界を適切に扱うことができる制限付きの単純化されたシーケンスを備えた多重詳細度モデルの構築により、この問題に取り組みました。2000]によって改良されました。[2000].継ぎ目を持つことを回避するただ一つの方法は、与えられたメッシュと同じトポロジーを持ち似たような形を持つテクスチャ領域を選ぶことです。2003]、再メッシュ化およびメッシュ圧縮に使用しているいくつかの方法がすでに存在しています。Overviewこれらの継ぎ目の無いのパラメター化の方法をテクスチャ・マッピングのために使用することができるかもしれません。基礎的な複雑さとなる三角形の領域上で色情報を定義することができるかもしれないし、メッシュ三角形に色を直線的に射影する目的で、メッシュ頂点のパラメーター値を使用することができるかもしれません。メッシュの三角形の頂点が異なる領域の基礎三角形にパラメーター値を持っており、それらの補間が色情報が定義された表面の外にある分割三角形の場合、障害が発生します。defined.私たちのアプローチはちょうどスケッチするようなものです。基礎的な複雑さとなる三角形を使用するのではなく、テクスチャ領域としてポリキューブの表面を使用します。この表面の特別の構造は、標準の2Dテクスチャの色情報を効率的に格納しアクセスすることを可能にするだけでなく、テクスチャ領域に単にそれらを投影することにより正割三角形の問題を扱うことができます。現在利用可能なグラフィックス・ハードウェアの上で、この射影および色アクセスの両方をインプリメントすることは十分簡単です。その結果、私たちは新しい継ぎ目の無いテクスチャ・マッピング技術を持ちます。ここでは、キューブマップの概念から派生した、ポリキューブマップの背景にある基礎的な考えについての説明からスタートしましょう。PolyCube-Mapsキューブマップは、一般に環境マップに使用されます、しかし、それらはりんごのようなものに関して、継ぎ目の無いテクスチャ・マッピングを定義するために使用するできます(図1を参照)。実際、私たちがする必要のあるのは、そのような3Dモデルの各頂点に3Dテクスチャ座標値(それは頂点位置と異なることができる)を設定することです。私たちは、テクスチャ座標値を定義することが可能な空間を3Dテクスチャ空間と呼び、頂点位置を保存するオブジェクト・スペースR3と区別するためにT3で表記します。キューブマップのメカニズムでは、原点に中心を備えた単一の立方体の表面にすべてのフラグメントのテクスチャ座標値を投影するために単純な中央からの射影を使用するでしょう。この立方体の表面を3Dテクスチャ領域と呼び、T3⊂T3となるT3によってそれを表記しましょう。キューブマップのメカニズムでは、T3上の各点をキューブの各面と対応させた6枚の4角形テクスチャ画像である2次元のテクスチャ空間上の点に対応させるでしょう。私たちは、この2Dテクスチャ領域をT2と記述します。最終的なマッピングからは継ぎ目が消え、私たちがイントロダクションで指摘した欠点をすべて回避するでしょう。キューブマッピングは、球体に似た形のときにだけ動作するという点で、かなりまれにしか使えません。shapes.ポリキューブマップでは、3Dテクスチャ領域T3として単一の立方体ではなくポリキューブの表面を使用します。ポリキューブは、向かいあった面の軸をそろえてくっつけた単位立方体から構成された形です(図2(左)を参照)。使用されたポリキューブは、最良の結果を得るために、非常に荒く近似したメッシュの形に似ているべきであり、大まかな特徴を捕らえているべきです。features.一旦ポリキューブが定義されれば、私たちは以下のように進みます。レンダリング時には、頂点およびそれらの3Dテクスチャ位置がグラフィックス・パイプラインに供給されます。得るために、3D座標を補間してフラグメントシェーダへ受け渡します。T3上にあるとは限りません。3Dテクスチャ領域のポイントfT3へマッピングするために射影P:T3→T3を適用します。フラグメントシェーダは、2Dテクスチャ領域T2に格納されるfT3を使って色情報を決定する別の写像M:T3→T2を施します(2Dにして考えた場合の例は、図3を参照)。ここででは、T2はいくつかの正方形パッチを詰め合わせた1つの単一の長方形のテクスチャイメージです。patches.ポリキューブマップの中で最も重要な特徴は、たとえテクスチャ情報がそれ自身正方形イメージの集まりとして構成されていても、オブジェクトの表面で3Dテクスチャ座標が連続的に変わった時に、継ぎ目の無いのテクスチャ・マッピングを可能にするということです。images.図1:キューブマップは、りんごに関して継ぎ目無くテクスチャマッピングできます(左)。この場合、3Dテクスチャ領域T3は3DテクスチャスペースT3に埋め込まれた、単一の立方体の表面で(中央)、6つの正方形の画像から成る2Dテクスチャ領域T2と一致します。(right).図2:10このキューブからなるポリキューブ(左)と、3節で説明される各表面のセルへの分割(右)。(right).図3:我々の方法の2Dの場合:射影Pは3Dテクスチャ領域T3(左)上にT3の中で定義された各点(あるいはフラグメント)をマッピングします。その後、マッピングMは、2Dテクスチャ領域T2からのテクスチャ情報を調べるために使用することができます。ポリキューブマップは、異なるメッシュの構造と結び付けられていないので、異なるメッシュの表現を使うことができます(右)。Work私たちがどのように関数PおよびMを定義するか、今一度詳細に説明しましょう。私たちがポリキューブマップををテクスチャ・マッピングとして使用したいと考えていて、PおよびMの両方が、グラフィックス・パイプラインのよりきついサブループであるフラグメントシェーダの中で計算されるべきであることを覚えておいてください。したがって、それらのインプリメンテーションはできるだけ単純で迅速でなくてはなりません。これを達成するために、私たちは、T3の上に区分的に両方の写像を定義します。T3.私たちは、ポリキューブが構成される立方体とサイズおよび方位が等しい、立方体のセルへ3Dテクスチャ空間T3を細分します。私たちは各方角へ0.5だけ、これらのセルを移動して、ポリキューブの頂点をセルの中心に位置するようにしました(2Dにして考えた場合の例は図4を参照)。これらの関数、PとMを計算することが簡単です。compute.図4:別の2Dにして考えた場合:オブジェクトの表面をポリキューブで荒く近似し(左)、ポリキューブの角を中心にした単位立方体の双対空間を考え(中央)、最後に、個々の空でない立方体の内部の各点をポリキューブ表面に対応させる射影を所得します(右)。configurationsセルとポリキューブ表面T3の交差で、ポリキューブの顔を4つのフェイスレット(facelet)へ分割するものを考慮します。ポリキューブによるセルの内部で起きうるフェイスレットの交差面の配置は、63の異なる場合があります。我々は、2多様体の場合を取り扱います。これらの配置は、回転と鏡像の類似性によって同じものを取り除けば、図5にある6つの基礎的な配置まで減らせます。各セルは3~6個のフェイスレットを含んでいます。単一の立方体から成るポリキューブは、3つのフェイスレットを各々含んでいる8個のセルへ分解されます(図6を参照)。色のコード化によって基礎的な配置を参照し、各セルの内部のフェイスレットが薄い白線によって区切られる、より複雑な例は図2および図11の中で示されます。lines.図5:空でないセルにおける(回転と鏡像を取り除いた)6つの基礎的な配置。トップです:個々のフェイスレットのための異なる色を備えたセルの内部のポリキューブの表面のT3のサブ一部。中心:セルの内部におけるPの投影線;それらは角表面と直交します。底:パッチの中へのスクエアレット(squarelet)の詰め込み;スクエアレットの色は関連するフェイスレットの色に相当します。定義することができます。一般性を失うことなく、座標の範囲を(0、0、0)から(1、1、1)とすると、最初の4つの配置は次で与えられます。r)残りの2つの場合にはより複雑になりますが、我々はこのような配置はしないので(セクション5.2を見ろ)、簡潔さのためにそれらを省略します。brevity.そのように定義された射影のよい特性は、無限に多数の交差しないラインでそれらがセルの内部を分割するということです。ラインの上のポイントがすべてT3上の同じポイントに投影されます。T3上の2個の近隣のセルの射影ラインは共通の面の上にあるので、射影は全体的に連続的です。図5の中の中央の列は、6つの基礎的な配置のための射影がどのように見えるかを表現します。2Dにして考えた場合の例は図4の右側に示されます。4.図6:図1のりんごモデル用の単純なポリキューブマップの例。ポリキューブは異なる回転をすると、タイプ3の8個のセルへ、細分化されます。各セルは、1セットの3のテクスチャスクエアレットとして格納される3つのフェイスレットを含んでいます。M概念的に、私たちがテクスチャ・マッピングのために使用する色情報はすべて3Dテクスチャ領域T3、つまりポリキューブのフェイスレットの上で定義されます。私たちは3Dテクスチャとして色情報を格納することができました。ほとんどのボクセルが空でしょうから、この選択は非常に不経済すぎます。代わりに、私たちはキューブマップのものと似た技術を使用します。maps.T3の中の各フェイスレットは正方形の領域です。マッピングMは2Dテクスチャ領域T2の中の対応するスクエアレットにこの領域をマッピングします。テクセルから成ります。two.1個のセルのフェイスレットのためのスクエアレットはすべて、図5の下の列の中で示されるような大きな長方形のテクスチャパッチの中に全てくっつけられます。テクスチャパッチの形により、それらは容易にT2に詰めることができ、個々のセルのグローバルな2Dオフセットとして例えば上部の左コーナーの位置を蓄えることができます。それらが6つの基礎的な配置の各々のために固定されるので、テクスチャパッチの内部の個々のスクエアレットへのローカルのオフセットを格納する必要がありません。configurations.したがって、セルの内部のポイントp∈T3に写像Mを適用する作業は、3ステップから成ります。最初に、pの相対的な位置を決定し、対応するスクエアレットの中の相対的な位置を与えるためにSを掛けます。その後、結果は、テクスチャパッチの内部のスクエアレットの固定詰め込み法によってオフセットされます。最後に、T2の中のそのパッチのグローバルオフセットが加えられます。これは、後のミップマップレベルが同じスクエアレットら来るテクセルだけを合成し、各スクエアレットが最も粗いミップマップレベルlog2(S)の上で単一のピクセルによって表わされるということを意味します。Tableポリキューブはテクスチャが張られたメッシュに対して適応されるに違いありません。したがって、私たちはポリキューブを指定するポリキューブマップを使うアプリケーションに対して柔軟な方法を提供することが必要になります。私たちの解決は、3D参照テーブルT3LUTにT3のセル構造を格納し、T3LUTの対応するエントリーの中で1セットのパラメーターによって各セルを定義することです。フラグメントシェーダがアクセスすることができるように、この参照テーブルはテクスチャメモリの中に置かれるに違いありません。それは小さな3Dテクスチャとして格納することができます。レンダリング時の状態変数の数を減らすために、一連の繋がったものと加工して、T2の一部分として物理的に保持することができます。fI3を含んでいるセルを決定します。対応するフラグメント処理でのT3LUTへの1回のテクスチャアクセスで、最終的な2Dテクスチャ座標値fT2∈T2を決定するのに使われるPおよびMを計算するのに必要なパラメーターはすべて得られます。T2.T3LUTの各エントリーは、1つの(r、g、b)テクセルにまとめられます。その結果、一回のテクスチャに読み込み命令でそれを取って来ることができます。6つの基礎的なセル配置のうちの1つのインデックスです。24の軸の回転のうちの1つのインデックスです。T2上にあるeに対応するパッチのグローバルオフセットです。回転e.Rは各軸を正か負の方角へ回して別の軸へ写像し、与えられたセルを図5の中で示されるような配置e.Cの基本的な方位に移動するために使用されます。これを達成するいくつかの異なる回転がある場合、どれを使ってもかまいません。chosen.値e.Cおよびe.Rが単一のバイトにまとめられる一方、e.Oは各座標で2バイトを必要とします。これらの座標はSの倍数で表現されるので、それらを格納するのに8ビットで十分です。T3LUTをランダムアクセス・テーブルにするために、私たちはポリキューブのバウンディングボックスにある全ての空のセルを含みます。polycube.しかしながら、ポリキューブが典型的には少数の立方体だけから成るので、参照テーブルはまだ非常に小さい。私たちがこの論文の中で示す例において、T3LUTは常に1キロテクセル未満です。最終のテクスチャT3は数メガテクセルでありえます。texels.モデルがマルチテクスチャ(例えばカラーマップ、法線マップおよび反射係数マップ)の場合、テクスチャはすべて同じポリキューブマップを共有することができ、同じT3LUTによってそれらにアクセスすることができます。[0.5,+0.5)3。インデックスiを使って、テクスチャT3LUTからエントリーeを取って来る。2DテクスチャT2の中の最終的なテクセル値にアクセスするために、以上の結果をインデックスとして使用します(セクション5.3を参照)。参照テーブルT3LUTが、2DテクスチャT2の小さな一部分に格納される場合、インデックスiは第2のステップの最初に変換しなくてはなりません。モデルが多数のテクスチャを持っている場合、最後のアクセスは同じテクスチャ座標を使います。フラグメントプログラム言語によるこのアルゴリズムの最適化された実装は、ちょうど54命令です。(例えば、シェーダ)のような他の効果を実装するのに十分なリソースを残しています。複雑なフラグメントプログラムが最終的な色を計算するためにいくつかのテクスチャにアクセスする必要がある場合、すべてのテクスチャが同じポリキューブマップを共有するので、54の命令のオーバーヘッドは一度だけしかかかりません。それは、領域的に効率的なだけでなく、少数の操作によって回転を解凍及び適用することを可能にします。t)→(r,-s,-t)各オペレーションは、結果(e.Rの中の対応するビットの値による)を格納するか廃棄するかの条件付きの割り当てと単一の拡張スイズル命令で実装することができます。e.R).現在のフラグメントシェーダ言語は、ビット演算をサポートしていませんが、e.Rのi番目のビットは、2-(i+1)を掛け、小数部を取り出し、0.5を引き、最後に正かどうか調べるという現在使用可能な命令列によって抽出することができます。ベクトル演算は4つのブールの値を並列に計算するために使用することができます。cases回転の後に、フラグメントシェーダは射影Pおよび写像Mを計算します。これらの機能は基礎的なケースのために別々に定義され、e.Cの場合を実装するコードだけを実行することが十分でしょうが。シェーディング言語が一般的な分岐構造を欠くので、私たちはこれをすることができません。場合の結果だけをレジスタに記録する条件付きの割り当てを使用します。register.とにかく、すべてのケースが計算されるので、全命令数を減らすために異なる分岐によって共有される、共通の部分表現を識別することは有益です。現実に、基礎的な場合のデフォルト方位とスクエアレットのパッチへの詰め込み方を決めたとき、私たちは共通の部分表現の数を最大にするような苦労をしました。patches.この分岐の無いアーキテクチャーの副作用は、フラグメントを処理するコストが基礎的な場合すべてにあてはまるために必要とされる命令の総数に依存するということです。6aおよび6bの場合は有用なポリキューブに常にほとんど生じないので、最も複雑なのに最も有益でないものものです。フラグメントシェーダ中のそれらのインプリメンテーションが他のすべての場合のための実行と同様に負荷かかるので、私たちは、我々の実装からそれらの場合を取り除くことにしました。この選択は、ポリキューブレイアウトに対する制限を意味します。実際の世界のメッシュ(セクション6を見よ)用のポリキューブを構築した時、私たちは、この制限の実際的な影響が無視できると分かりました。mip-mappingアルゴリズムの最後のステップでT2から最終的なテクセル値が取って来られる時、大きさおよびスクエアレットの位置が両方とも2の累乗であるので、(異なるミップマップレベル間の双線形補間を含んだ)ミップマップの機構が動作します。普通のものとのただ一つの違いは、それがT2の中の最終のテクスチャ座標値ではなく、T3の中のテクスチャ位置fI3の速度に基づくように、ミップマップレベルが選択されるに違いないということです。対照的に、スクエアレットの境界がアクセスされる場合には、異なるスクエアレットに属するテクセルを混合するので、通常のように双線型補間はできません。私たちは今までどおり複数回コードを実行することによって、フラグメントシェーダで読み込んだテクセルを手動で補間することができます。このように、フラグメントシェーダがパッチ境界のことを「知っている」ので、双線型補間はスクエアレット境界でどんなテクセルも加えずに実行することができます。この方法は、自動的な双線型補間を切ることを要求します。現在のフラグメント言語は、この種類の「自分で行う」補間を明示的に許可するとともに自動の双線型補間を切ることが可能です。interpolation.2Dテクスチャ座標値を計算するための完全な計画には、4・54の命令と4つのテクスチャ読み込みと3つのテクスチャ補間がかかります。少ない数のテクセルを読み込み補完するアンチエイリアシングを使用することによって質と効率の点で妥協することが可能です。各テクスチャ読み込みは、自動的にミップマップをすることができます。PolyCube-Mapこれまで、私たちは、ポリキューブマップのメカニズムについて説明してきました。今こそ、与えられた三角形メッシュ用のポリキューブマップの構築のためにのための方法を描き出しましょう。私たちは、この論文の中で示されるすべての例を作成するためにこの半自動技術を使用しました。parameterization第一歩は、与えられたメッシュMのすべての頂点vに3Dテクスチャ位置vT3∈T3を設定することです。私たちがセクション2で見たように、メッシュが球体状の形を持っており、T3が周囲の立方体である場合、単純な中央の射影によってこれを行うことができます。複雑なメッシュについては、図7に見られる下記の手続きを提案します。7.私たちは、おおざっぱにMと同じ形を持ち、すべての巨視的な特徴を捕らえるポリキューブの定義にから出発します。うさぎのためのポリキューブは、頭のために3×3×4ブロックにと耳のために4つの立方体が2つのスタックを持っています(図10を参照)。10).次に、ポリキューブの表面のT3を、3Dテクスチャ空間T3の中の軸がそろえられた位置で、オブジェクト空間R3に包み込みます。私たちは、手動でメッシュに近いその頂点を移動させて、包まれたポリキューブ表面の巨視的な特徴をそなえ、メッシュが荒く軸を向くように気を配ります。いくつかのメッシュについては、ポリキューブ表面の単純なスケーリング、回転および平行移動が、包み込む関数に役立つことがあります。Lauranaや3穴のオブジェクトがそれに該当します(図10を参照)。10).その後、Mのすべての頂点vを表面の法線方向にゆがんだポリキューブの上に移動させることにより、両方の表面を一致させます。この射影は、ほとんど小規模構造の部分で、折り目を生成するかもしれません。この問題に専念する前に、私たちは射影された頂点に逆の覆い機能を適用し、T3にそれらをマッピングします。T3.これらの、通常一番最初の3Dテクスチャ座標値vT3は、よいパラメター化をしません。言い換えれば、T上の対応するパラメーター三角形にMの各三角形をマッピングする区分線形関数は、三角形の形を相当に変形し、いくつかの部分においては、さらに1対1ではありませんかもしれません。したがって、私たちは、テクスチャ位置を最適化し、かつパラメター化の全面的なひずみを最小限にするような単純な反復的な手続きを実行しました。parameterization.各頂点vについて、私たちは、Mの中のvの1つの輪と、T3上のvT3の1つの輪の間の局所的な写像を考慮します。その後、私たちは、vT3に関して局所的な射影による変形エネルギーの勾配を計算します。この方向に沿った単純な一次元のライン探索は私たちに新しい位置v'T3を与えます。vT3の1つの輪が平らでない場合、v'T3はT3の上に横たわらないかもしれません。そのときは、T3の上に戻すように射影Pを使用します。各頂点に繰り返しこれらのローカルの最適化を適用することによって、私たちは、しだいにポリキューブのパラメター化の質を全体的に改善します。globally.私たちの実験では、3つの異なる変形エネルギーをテストしました。図8は、結果の比較です。2003]に基づき、線形のローカル最適化問題に結びつくという長所を持ちます。2003]にも使用されました。等角のパラメター化を与える傾向があります。2000]に適用できます。これらの方法はエリアの変形が非常に大きくなりうるので、私たちの目的には都合が良いとは限りません。それは、重みをパラメーターθを選ぶことにより、等角化とパラメター化の面積保存を仲裁することを可能にします。私たちは、すべての例における非常に好結果を与えるためにθ=3を見つけました。2004]による最新の調査を読んでください。私たちは、最初にメッシュ(b)に近いポリキューブ(d)で包みます。次に、私たちは頂点を包んだポリキューブ表面(c)に法線方向で投影し、結果を戻すように包んで(e)、最後にテクスチャ座標値を最適化します。上の列のメッシュはR3上にあり、下の列にあるメッシュはT3にあります。中間値座標およびMIPS方法(中間)は巨視的なエリアのひずみを犠牲にして等角の地図を作る傾向があります。table一旦ポリキューブが指定されたら、T3LUTの構築は単純です。ポリキューブの頂点を含んでいるセルごとについては、T3LUTの中の対応するエントリーeへの基礎的な場合であるe.Cおよび回転e.Rを割り当てます。それぞれ、その頂点へかかわる8つの立方体の配置によって完全に決定されます。私たちは、2多様体ポリキューブ表面の頂点の回転で生じることができる、63の可能な配置をあらかじめ計算することができます。この単純なつめこみには、非常に単純な発見的取り扱いをします。私たちは、左から右まで、および上から下までT2を走査して、第1の利用可能な場所にパッチを設定することを繰り返します(図9および12を参照)。12).もちろん、私たちは、2N×2MテクスチャスペースT2全体をカバーすることは保証できません。これは小さな問題です。テクスチャスペースの小さな小片だけが未使用になるように、それらを同じグローバルテクスチャマップの中に詰めることができます。Resultsポリキューブマップの可能性をテストするために、私たちはセクション6に記述された方法でいくつかの例(図10および12を参照)を実装しました。我々の方法は閉じた表面に制限されていないことに注意してください。実際問題、Lauranaのモデルは底が開いていまて、ポリキューブ表面が底で開いている限り、私たちは今までどおりポリキューブマップを使用することができます(図11を参照)。2003]の結果とそれを比較します。パラメター化領域として、水平な領域(Guらは正方形を使用した)や単純な球形(PraunとHoppeは観念的な固体を使用した)の代わりにポリキューブ表面を使用することが、全体的なひずみを縮小することを助けるのが理解できるかもしれません。ポリキューブがメッシュに似た形を持つので、これは驚くべきことではありません。independence.さらに、私たちは、図12の中に見られるように、与えられたメッシュのいくつかの簡略版に対して同じのポリキューブマップを適用することができます。私たちの方法の重要な特性は、元ののメッシュの単純化に際してポリキューブマップを考慮に入れる必要がないことで、また、その逆も成り立ちます。言いかえれば、テクスチャパラメータ化のために、極わずかな単純化操作(例えばエッジの崩壊)も禁止する必要がありません。一方では、テクスチャT2の定義および参照テーブルT3LUTは、両方とも単純化プロセスと無関係にあります。process.そのような簡略化の話とは別に、すべての頂点に3Dテクスチャ位置が適切に定義されていれば、多重詳細度モデルや再メッシュされたもの(四辺形のものさえ)を含む、元のモデルと一般的な形を共有する他のモデルにも同じポリキューブマップを張ることができます(図3を参照)。performance.ポリキューブマップを備えたテクスチャ・マッピングは、要求される長いフラグメントシェーダのためにフィルレート限界を下げます。下回るフレームレートを経験しませんでした。Proで実行されました。Ghz.図9:テクスチャパッチの詰め込みはほとんど完全です。三角形が多数のスクエアレットを横切って広がっていることが見れるでしょう。規則的なグリッドをポリキューブのテクスチャとして使った場合(中間)、ポリキューブの表面を覆うメッシュのパラメター化の濃淡(右)。(right).図11:私たちの方法は、さらにポリキューブがこの特徴を捕らえて、また開いている限り、開いたメッシュを扱うことを可能にします。ポリキューブのフェイスレットおよびメッシュ上の対応する部分は、セルの配置応じて色が付いています。configuration.テーブル1:図10からのポリキューブのパラメター化φのひずみ。エリアと角度のひずみは値σ1σ2+1/(σ1σ2)そしてσ1/σ2+σ2/σ1の統合および正規化されて測定されます。2004])の特異値です。2003]行われた手法で計算されます。すべての手段については、最適の値が1です。1.図12:同じポリキューブマップを異なる簡略化版モデルに適応(トップ)。規則的なパターンか与えられたメッシュのシェーディング(中間)。対応するポリキューブのパラメター化およびテクスチャT2は一番下にあります。Discussionポリキューブマップは一般的な3Dメッシュに投影するテクスチャのための新しいメカニズムを提供します。適切なポリキューブが選ばれ、ポリキューブ表面に関する与えられたメッシュのポリキューブのパラメター化が計算されれば、それは似た形をした他のメッシュに色や他の情報をシームレスに使うことができます。shape.各スクエアレットが図表と考えられる場合、ポリキューブマップは、1つだけ重要な違いがある多重図表方法と見なすことができます。ポリキューブマップをメッシュ表面に全体に定義される関数と見せば、最終の2Dテクスチャ座標は、図表境界で不連続ですが、根本的な3Dテクスチャ座標が連続的なので、これらの不連続は目に見えません。それらが、ユーザから見えないフラグメント単位で扱われるので、ポリキューブマップは、ミップマップを含む、導入部で議論された継ぎ目なしのマッピングという長所をすべて持ちます。ポリキューブマップはメッシュとは独立しており、また、テクスチャパッチの詰め込みは、長方形という単純な形のゆえ自明であり、ほとんどテクスチャ容量を浪費しません。PolyCube-Maps明らかに、ポリキューブマップは、さらにそれらの適用可能性の範囲に限界を行っています。メッシュの幾何かトポロジーが複雑すぎるか、非常に異なる規模で特徴を持っている場合、適切なポリキューブは、非常に多くの立方体になり、対応するT3LUTのサイズがすぐにテクスチャメモリを超えるでしょう。極端な例は幹、枝および葉を備えた木のモデルになるでしょう。leaves.セクション7のうち、私たちは、同じオブジェクトの異なる表現をマッピングするテクスチャのために単一のポリキューブマップを使用することができることを紹介しました。そのような表現がポリキューブマップが構築された元のメッシュにあまりに反する場合、生成されたフラグメントのテクスチャ座標値は、偶然、目に見えるレンダリング結果として残こる空のセルに落ちることがあります。imagesポリキューブマップは、テクスチャ・マッピングのために設計された特別のタイプのパラメター化を表現します。T2の中の個々の最終テクセルは、(r、g、b)チャンネルへ座標(x、y、z)を写像することにより、メッシュのサンプルを格納できます。したがって、テクスチャT2とT3LUTの組は、オリジナルのモデルの1組の完全な表現と見なすことができます。model.特に、T2の中の各スクエアレットは、自明に定義された接続性(4の隣接したテクセルの各グループは四角形を形成する)を備えた符号化された表面の一部分を符号化するでしょう。その後、T3LUTに格納される情報は、単一の首尾一貫したメッシュの中への一部分を復号するのに使われるでしょう。近隣の一部分の側は同数の点を持つので、これは容易でしょう。GPUのプログラム化が進めば、フラグメントプログラム命令の数はそれほど問題でなくなり、私たちが現在のインプリメンテーションでやり残したセルの場合を含むことは可能でしょう。どんな2多様体ポリキューブ表面も3Dテクスチャ領域T3として使用することができるでしょう。別の有用な拡張は、3D参照テーブルT3LUTへのあまりにも多い追加のアクセスを要求しないように注意する、テクスチャ空間T3の細分化のための(例えばoctreesを備えた)ある階層的アプローチでしょう。.タイルが張られたテクスチャ。ポリキューブマップは、新式のテクスチャのタイル張り方法の可能性を持っています。各セル配置については、私たちは一致する境界を備えた2Dテクスチャパッチを作成し格納することができました。2003]中のポリキューブ表面上に継ぎ目のないマップとして使われるでしょう。2000]と似たものになるでしょう。再サンプリングされたテクスチャマップを使用したり、アルファ合成を使って三角形を何度も描画する必要はありません。blending.自動パラメター化。私たちは、この仕事が平らな定義域あるいは単純な複雑さを持つものの代わりに、ポリキューブ表面でメッシュをパラメター化するという新しいカテゴリーの表面のパラメター化方法の道を開くと信じます。興味深い部分はユーザの介在がないもしくは最小となるようにして適切なポリキューブを決定することでしょう。この新しい種類の領域に階層的な方法でそれらを促進すると同様に既存のパラメター化方法を適応させることも、有益な仕事となるでしょう。2457/1-1)に支援されています。355・62.もどるimagire@gmail.com。