3DS Image Formats

From Wexos's Wiki
Jump to navigationJump to search
Under Construction
This article is not finished. Help improve it by adding accurate information or correcting grammar and spelling.

There are different image formats supported on the Nintendo 3DS. Textures are generally large and requires a lot of memory. Choosing the correct texture format is important in order to maximize performance, save memory and recieving best quality contra size. This articles describes the different image formats supported on 3DS.

Image Formats

Image Formats
ID Name Bits Per Pixel (BPP) Type
0x00 RGBA8 32 Color + Alpha
0x01 RGB8 24 Color
0x02 RGB5A1 16 Color + Alpha
0x03 RGB565 16 Color
0x04 RGBA4 16 Color + Alpha
0x05 LA8 16 Luminance + Alpha
0x06 HILO8 16 ?
0x07 L8 8 Luminance
0x08 A8 8 Alpha
0x09 LA4 8 Luminance + Alpha
0x0A L4 4 Luminance
0x0B A4 4 Alpha
0x0C ETC1 4 Compressed Color
0x0D ETC1A4 8 Compressed Color + Alpha

RGBA8

RGBA8 is a format which uses 8-bit red, 8-bit green, 8-bit blue and 8-bit alpha. It is not recommended to use as it uses lots of memory.

RGB8

RGB8 is a format which uses 8-bit red, 8-bit green and 8-bit blue.

RGB5A1

RGB5A1 is a format which uses 5-bit red, 5-bit green, 5-bit blue and 1-bit alpha. A pixel is stored in the following layout:
RRRR RGGG GGBB BBBA

RGB565

RGB565 is a format which uses 5-bit red, 6-bit green and 5-bit alpha. A pixel is stored in the following layout:
RRRR RGGG GGGB BBBB

RGBA4

RGBA4 is a format which uses 4-bit red, 4-bit green, 4-bit blue and 4-bit alpha. A pixel is stored in the following layout:
RRRR GGGG BBBB AAAA

LA8

LA8 is a format which uses 8-bit luminance and 8-bit alpha.

HILO8

Unknown.

L8

L8 is a format which uses 8-bit luminance.

A8

A8 is a format which uses 8-bit alpha.

LA4

LA4 is a format which uses 4-bit luminance and 4-bit alpha. The upper nibble stores the luminance value, and the lower nibble stores the alpha.

L4

L4 is a format which uses 4-bit luminance. Since the BPP is lower than 8, 1 byte is actually used for two pixels. The upper nibble stores the second pixel and the lower one stores the first pixel.

A4

A4 is a format which uses 4-bit alpha. Since the BPP is lower than 8, 1 byte is actually used for two pixels. The upper nibble stores the second pixel and the lower one stores the first pixel.

ETC1

ETC1 (Ericsson Texture Compression) is a compressed image format. It compresses each image into 4x4 blocks, where each block splits into two blocks, either vertical or horizontal.

ETC1A4

ETC1A4 is the same compressed format as ETC1, but adds support for alpha. Each alpha is 4-bit, and is stored before the compressed color data.

File Formats

The following file formats support all image formats: