The primary interface to images in Mudbox is the Image class. There are three differend kinds of images;
- Physically contiguous
- Striped
- Virtual - A tiled and versioned non-contiguous.
The first kind is the fastest, but least memory efficient. If the system is not able to allocate the required memory in one
piece, a striped image will be created. A striped image consists of several stripes of 1 or more rows of pixels.
The third type of image is the most versatile -- It is stored as 128 pixel square tiles. The tiles are copy-on-write, versioned,
and have their own virtual memory system optimized for images. Texture layers are typically stored in this third type of image
so that paint operations on them can be easily undone.
The following classes are provided in the Mudbox SDK for working with images:
- ImageDescriptor - Describe an image, specifically how to interpret pixel data.
- ImgLockPageIterator - Iterate over a specified region of an image in optimal order, locking it in CPU memory.
- ImgPageIterator - Iterates over a specified region of an image in optimal order.
- ImgTile - Represents a rectangle. Used to specify rectangular regions of an image.
- ImgTileUnion - Creates a tile that is the union of its two inputs.
- PixelDescriptor - Describe an image pixel; how to interpret a piece of pixel data.
- uInt16Channel - A 16 bit image channel. 0-65535 maps from 0.0 to 1.0.
- uInt8Channel - An 8 bit image channel. 0-255 maps from 0.0 to 1.0.
- float16Channel - A 16 bit floating point channel.
- float32Channel - A 32 bit floating point channel.