Module mibl

Module mibl 

Source
Expand description

Textures in .witx or .witex files or embedded in .wismt files and other formats.

§Overview

Mibl image textures consists of an image data section containing all array layers and mipmaps and a footer describing the surface dimensions and format. The image data is ordered by layer and mipmap like “Layer0 Mip 0 Layer 0 Mip 1 … Layer L-1 Mip M-1” for L layers and M mipmaps. This is the same ordering expected by DDS and modern graphics APIs.

The image data uses a “swizzled” memory layout optimized for the Tegra X1 and must be decoded to a standard row-major layout using Mibl::deswizzled_image_data for use on other hardware.

All of the image formats used in game are supported by DDS, enabling cheap conversions using Mibl::to_dds and Mibl::from_dds. For converting to and from uncompressed formats like PNG or TIFF, use the encoding and decoding provided by image_dds.

§File Paths

Xenoblade 3 .wismt Mibl are in Xbc1 archives.

GameFile Patterns
Xenoblade 1 DEmonolib/shader/*.{witex,witx}
Xenoblade 2monolib/shader/*.{witex,witx}
Xenoblade 3chr/tex/nx/{h,m}/*.wismt, monolib/shader/*.{witex,witx}, monolib/shader/ft/*.wilut

Structs§

Mibl
A swizzled image texture surface.
MiblFooter
A description of the image surface.

Enums§

ImageFormat
nvn image format types used by Xenoblade 1 DE, Xenoblade 2, and Xenoblade 3.
SwizzleError
Errors than can occur while tiling or untiling.
ViewDimension