Japanese subtitles

← Mipmapping

Get Embed Code
2 Languages

Showing Revision 1 created 03/11/2014 by Fran Ontanaya.

  1. 拡大ではピクセル数がテクセル数より多すぎたので
  2. 元のテクスチャを大きくすることで
    比率を1対1に近づけました
  3. 縮小ではテクセル数が
    ピクセル数に対して多くなりました
  4. GPUにはこれを解決する
    ミップマッピングという機能があります
  5. ミップマッピングを使うと
    GPUはテクセル対ピクセルを計算し
  6. 比率が1より小さければ拡大なので
    拡大フィルタを適用します
  7. 一方1より大きい場合は縮小が起きています
  8. ここでミップマッピングの出番です
  9. GPUはテクセル対ピクセルを計算し
  10. 比率が1より大きいと
    解像度の低いテクスチャを適用します
  11. 比率が大きくなればなるほど
    テクスチャの解像度はより低くなります
  12. ピラミッドのような形をイメージしてください
  13. ピクセルにテクスチャを適用する時は
    最も解像度の高いテクセルを適用するのではなく
  14. GPUはテクセルとピクセルの比率を計算し
    どのレベルを適用するべきか見極めます
  15. 計算の結果このレベルが適切と判断されました
  16. このレベルでは
    テクセル対ピクセルが約1対1になるので
  17. ノイズの発生もなくレンダリングがうまくいきます
  18. さらにレンダリングの状態を改善するには
    線形補間を使う方法もあります
  19. トリリニアフィルタリングです
  20. 比率がピラミッドのレベルの間にある時に
  21. その上と下のレベルからテクスチャをサンプリングし
    レベルの間を補間する計算を行います
  22. 私が描いたピラミッドの比率は不正確ですが
  23. GPUでは2の累乗を基に保存されています
  24. つまり64×64のテクスチャの次のレベルは
    32×32のテクスチャ
  25. そして16×16、8×8、4×4、2×2と続き
    最後は1×1となります
  26. これをミップマップチェーンと呼びます
  27. 小さなテクスチャは大きなものから導き出されます
  28. GPUの計算で
    大きなテクスチャの4テクセルを平均した値が
  29. 小さなテクスチャの1テクセルになるのです
  30. ガンマ補正を使えば
    レベル間の誤差を補正することができます
  31. それでは今から重要なことを言うので
    よく聞いてください
  32. テクスチャのサイズは
    縦と横を両方とも2の累乗にする必要があります
  33. そうしなければミップマッピングは使えません
  34. GPUはテクスチャのサイズを2の累乗として扱うので
    使う時は意識してください
  35. ではデモで確認しましょう
  36. 縮小のオプションでミップマッピングが使えます