読者です 読者をやめる 読者になる 読者になる

Skyrim箱庭DIY

MODによる固有の環境不具合は自分で直して快適ゲーム。CTDにさようなら。Do It Yourself!!

DXT1?DXT5?R8G8B8?テクスチャ解像度とファイルサイズ(容量)から圧縮方法を類推

メッシュとテクスチャ 参考記事


スポンサーリンク

あんまり意味ないかもですが、ファイル容量の計算ができれば、テクスチャの解像度とファイルサイズから、何で圧縮されているかの見当がつきます。DXTCはエンコードの仕組み上、JPEGと違って同じ解像度のテクスチャなら、ファイルサイズが画像に左右されず固定です。このことから、ファイルサイズと解像度で、圧縮方式の予想ができます。

新しいテクスチャ入れた時に、適切に圧縮されているかどうかの判断材料にはなるかも。

bitmapのサンプル

bitmap画像の容量

DXTの説明のときの使い回しですが。もしこの4x4ピクセルがただのbitmapだった場合、1ピクセル24bitで16ピクセルあるので、

24bitx16pixel=384bit=48byte

になります。

同様に1kx1kのbitmapであれば、

24bitx(1024x1024)pixel=24bitx1Mbyte=3MB

です。

 

1Kテクスチャの容量

1kテクスチャを考えます。2kや4k、1kx512等は1kから面積比で計算できます。

R8G8B8であれば、画像としては圧縮されていないので、bitmapと同じ3MBです。アルファチャネルがあればA8が増えるので4MB。ミップマップが入れば33.3%増量で約5.3MBになります。DXT1は1/8(アルファ無し)、DXT5は1/4(アルファ有り)の容量になります。

よってPCで表示される容量は、

 

1kx1kテクスチャのPC上でのファイルサイズ

 

mipmap有り

R8G8B8A8 5,462KB

R8G8B8 4,097KB

DXT5 1,366KB

DXT1 683KB

 

mipmap無し

R8G8B8A8 4,097KB

R8G8B8 3,073KB

DXT5 1,025KB

DXT1 513KB

 

2Kであれば4倍、4kであれば16倍です。

1kx512なら1/2、2kx1kなら2倍。

 ミップマップ無しR8G8B8A8とミップマップ有りR8G8B8が同じなので、微妙っちゃ微妙ですが。

まあ、何かの参考にどうぞ。

 

フォーマットやミップマップの話は過去記事に入ってます。(メッシュとテクスチャのカテゴリ)