• 検索結果がありません。

minification に等方性 (isotropic) フィルタ のみを提供している

ドキュメント内 adv99_4.PDF (ページ 53-61)

6.7 Anisotropic Texture Filtering(1)

OpenGL は今のところテクスチャ

minification に等方性 (isotropic) フィルタ

6.7 Anisotropic Texture Filtering(2)

minification

フィルタが等方性 だと

footprint

は黒い部分を囲 む正方形

(

図上部

)

この正方形とフラグメントのサイ ズが近いレベルを探すと

レベルは

1

以上であり

フラグメントには

s

よりも

t

方向の フィルタリングが多く必要だが同 じフィルタリング量が両軸に適用 される

•黒い部分のフラグメントを考える

•右がテクスチャ

•理想的な footprintはテクスチャの黒い

6.7 Anisotropic Texture Filtering(3)

問題を回避するために テクスチャ生成時に

t

向にさらなるフィルタリ ングを行い高さを半分 にする

(

図下部

)

footprint

の大きさが 正方形に近くなりフラ グメントと同程度の大 きさになるので

•黒い部分のフラグメントを考える

•右がテクスチャ

•理想的な footprintはテクスチャの黒い

部分に表示

6.8 Paging Textures(1)

高レベルのリアリズムをシュミレーションす るにつれてテクスチャメモリ量は劇的に増

テクスチャメモリは有限で高価な資源

アプリケーションは大きなテクスチャの一 部をフル解像度で表現したい要求がある

フライトシュミレータの例

6.8 Paging Textures(2)

すべての大きな画像をロードするより、テク スチャページングを用いてこれらの現象に 対応

視点に近い画像の一部分のみをテクスチャメ モリにキープ

のこりの画像はシステムメモリやディスクに配 置

視点が移動したときに、視点に近い部分の画

6.8 Paging Textures(3)

これらの問題に対処するアプローチは2つ

その1

1.

固定サイズのタイルにテクスチャを分割

2.

タイルごとにテクスチャメモリにリロードしながら

3.

タイルに対応するジオメトリを選択して描画

実装が難しい

GL_LINEAR時に、ジオメトリがタイルの境界を

越えるとき、サンプリングが問題になる

6.8 Paging Textures(4)

その2

より賢い解決方法はテクスチャ座標のワー ピング

すべてのテクスチャはシステムメモリに

視野錐を定義して

1.

現在の視野錐から見えるジオメトリを計算

2.

見える部分のテクスチャ座標

(s,t)

0

から1になるよう にテクスチャ行列をセット

3. GL_SKIP_PIXELSと GL_SKIP_ROWSで適切な領域

6.8.1 Texture Subloading(1)

しかしこの方法では少し視点を移動しただ けでもテクスチャのリロードを行うため、テ クスチャ帯域の非効率な利用である

テクスチャサブローディングを用いてパフォー

マンスを改善することができる

6.8.1 Texture Subloading(2)

地形をスムーズに移動する場合

テクスチャメモリの内容をすべてリロードする 代わりにインクリメンタルにアップデートできる

一つ前のフレームの視点から消える部分に今

回見える部分のイメージをリロード

GL_TEXTURE_WRAP_S ,

GL_TEXTURE_WRAP_Tを GL_REPEAT (

ドキュメント内 adv99_4.PDF (ページ 53-61)

関連したドキュメント