日別アーカイブ: 2012年8月23日

OpenGL ES 3.0 / OpenGL 4.3 ASTC 圧縮テクスチャの比較

新しい ASTC 形式で圧縮したテクスチャ画像を比べてみました。
「ETC2 の比較」 と同じ画像をエンコードして一部を切り出し 4倍に拡大しています。

↓ASTC 4×4 (8.0 bpp)
astc_4x4_ex_z0.png astc_4x4_ex_z1.png

↓ASTC 5×4 (6.5 bpp)
astc_5x4_ex_z0.png astc_5x4_ex_z1.png

↓ASTC 5×5 (5.3 bpp)
astc_5x5_ex_z0.png astc_5x5_ex_z1.png

↓ASTC 6×5 (4.4 bpp)
astc_6x5_ex_z0.png astc_6x5_ex_z1.png

↓ASTC 6×6 (3.6 bpp)
astc_6x6_ex_z0.png astc_6x6_ex_z1.png

↓ASTC 8×5 (3.3 bpp)
astc_8x5_ex_z0.png astc_8x5_ex_z1.png

↓ASTC 8×6 (2.7 bpp)
astc_8x6_ex_z0.png astc_8x6_ex_z1.png

↓ASTC 10×5 (2.6 bpp)
astc_10x5_ex_z0.png astc_10x5_ex_z1.png

↓ASTC 10×6 (2.2 bpp)
astc_10x6_ex_z0.png astc_10x6_ex_z1.png

↓ASTC 8×8 (2.0 bpp)
astc_8x8_ex_z0.png astc_8x8_ex_z1.png

↓ASTC 10×8 (1.6 bpp)
astc_10x8_ex_z0.png astc_10x8_ex_z1.png

↓ASTC 10×10 (1.3 bpp)
astc_10x10_ex_z0.png astc_10x10_ex_z1.png

↓ASTC 12×10 (1.1 bpp)
astc_12x10_ex_z0.png astc_12x10_ex_z1.png

↓ASTC 12×12 (0.9 bpp)
astc_12x12_ex_z0.png astc_12x12_ex_z1.png

ASTC 4×4 は画質がよく見えるかもしれませんが当然です。
8bpp なので DXT1/ETC1/ETC2 の半分の圧縮率です。
データサイズも 2倍になっています。

圧縮率を高めると徐々にブロックが目立ちますが、
それなりに階調は保っていることがわかります。
特に右の画像は 12×12 の 0.9bpp でも劣化が目立ちません。

下記の表を見て分かる通り、12×12 の場合わずか 7.6KB しか
ありません。

format       size     (byte)    bpp
--------------------------------------
ASTC 4x4     64.0KB   (65536)   8.0bpp
ASTC 5x4     52.0KB   (53248)   6.5bpp
ASTC 5x5     42.2KB   (43264)   5.3bpp
ASTC 6x5     34.9KB   (35776)   4.4bpp
ASTC 6x6     28.9KB   (29584)   3.6bpp
ASTC 8x5     26.0KB   (26624)   3.3bpp
ASTC 8x6     21.5KB   (22016)   2.7bpp
ASTC 10x5    21.1KB   (21632)   2.6bpp
ASTC 10x6    17.4KB   (17888)   2.2bpp
ASTC 8x8     16.0KB   (16384)   2.0bpp
ASTC 10x8    13.0KB   (13312)   1.6bpp
ASTC 10x10   10.5KB   (10816)   1.3bpp
ASTC 12x10    9.0KB   ( 9152)   1.1bpp
ASTC 12x12    7.6KB   ( 7744)   0.9bpp

ETC1/2 RGB   32.0KB   (32768)   4.0bpp
元画像      192.0KB  (196608)  24.0bpp  (256x256)

使用したコマンド

astcenc src dest 4x4 -exhaustive

関連エントリ
OpenGL 4.3/GLES 3.0 次の圧縮テクスチャ ASTC
OpenGL ES 3.0 / OpenGL 4.3 ETC2 テクスチャ圧縮の比較