OGRE: Image

| OGRE 14.5 Object-Oriented Graphics Rendering Engine

Loading...
Searching...
No Matches
Image
Core

## Classes
class | Ogre::Image
| Class representing an image file. More...
class | Ogre::ImageCodec
| Codec specialized in images. More...
class | Ogre::PixelBox
| A primitive describing a volume (3D), image (2D) or line (1D) of pixels in memory. More...
class | Ogre::PixelUtil
| Some utility functions for packing and unpacking pixel data. More...

## Typedefs
typedef std::vector< const Image * > | Ogre::ConstImagePtrList
typedef std::vector< Image * > | Ogre::ImagePtrList
typedef std::vector< PixelFormat > | Ogre::PixelFormatList

## Enumerations
enum | Ogre::ImageFlags { Ogre::IF_COMPRESSED = 0x00000001 , Ogre::IF_CUBEMAP = 0x00000002 , Ogre::IF_3D_TEXTURE = 0x00000004 }
enum | Ogre::PixelComponentType { Ogre::PCT_BYTE = 0 , Ogre::PCT_SHORT = 1 , Ogre::PCT_FLOAT16 = 2 , Ogre::PCT_FLOAT32 = 3 , Ogre::PCT_SINT = 4 , Ogre::PCT_UINT = 5 , Ogre::PCT_COUNT = 6 }
| Pixel component format. More...
enum | Ogre::PixelFormat { Ogre::PF_UNKNOWN = 0 , Ogre::PF_L8 , Ogre::PF_BYTE_L = PF_L8 , Ogre::PF_L16 , Ogre::PF_SHORT_L = PF_L16 , Ogre::PF_A8 , Ogre::PF_BYTE_A = PF_A8 , Ogre::PF_BYTE_LA , Ogre::PF_R5G6B5 , Ogre::PF_B5G6R5 , Ogre::PF_A4R4G4B4 , Ogre::PF_A1R5G5B5 , Ogre::PF_R8G8B8 , Ogre::PF_B8G8R8 , Ogre::PF_A8R8G8B8 , Ogre::PF_A8B8G8R8 , Ogre::PF_B8G8R8A8 , Ogre::PF_A2R10G10B10 , Ogre::PF_A2B10G10R10 , Ogre::PF_DXT1 , Ogre::PF_DXT2 , Ogre::PF_DXT3 , Ogre::PF_DXT4 , Ogre::PF_DXT5 , Ogre::PF_FLOAT16_RGB , Ogre::PF_FLOAT16_RGBA , Ogre::PF_FLOAT32_RGB , Ogre::PF_FLOAT32_RGBA , Ogre::PF_X8R8G8B8 , Ogre::PF_X8B8G8R8 , Ogre::PF_R8G8B8A8 , Ogre::PF_DEPTH16 , Ogre::PF_DEPTH = PF_DEPTH16 , Ogre::PF_SHORT_RGBA , Ogre::PF_R3G3B2 , Ogre::PF_FLOAT16_R , Ogre::PF_FLOAT32_R , Ogre::PF_SHORT_GR , Ogre::PF_FLOAT16_GR , Ogre::PF_FLOAT32_GR , Ogre::PF_SHORT_RGB , Ogre::PF_PVRTC_RGB2 , Ogre::PF_PVRTC_RGBA2 , Ogre::PF_PVRTC_RGB4 , Ogre::PF_PVRTC_RGBA4 , Ogre::PF_PVRTC2_2BPP , Ogre::PF_PVRTC2_4BPP , Ogre::PF_R11G11B10_FLOAT , Ogre::PF_R8_UINT , Ogre::PF_R8G8_UINT , Ogre::PF_R8G8B8_UINT , Ogre::PF_R8G8B8A8_UINT , Ogre::PF_R16_UINT , Ogre::PF_R16G16_UINT , Ogre::PF_R16G16B16_UINT , Ogre::PF_R16G16B16A16_UINT , Ogre::PF_R32_UINT , Ogre::PF_R32G32_UINT , Ogre::PF_R32G32B32_UINT , Ogre::PF_R32G32B32A32_UINT , Ogre::PF_R8_SINT , Ogre::PF_R8G8_SINT , Ogre::PF_R8G8B8_SINT , Ogre::PF_R8G8B8A8_SINT , Ogre::PF_R16_SINT , Ogre::PF_R16G16_SINT , Ogre::PF_R16G16B16_SINT , Ogre::PF_R16G16B16A16_SINT , Ogre::PF_R32_SINT , Ogre::PF_R32G32_SINT , Ogre::PF_R32G32B32_SINT , Ogre::PF_R32G32B32A32_SINT , Ogre::PF_R9G9B9E5_SHAREDEXP , Ogre::PF_BC4_UNORM , Ogre::PF_BC4_SNORM , Ogre::PF_BC5_UNORM , Ogre::PF_BC5_SNORM , Ogre::PF_BC6H_UF16 , Ogre::PF_BC6H_SF16 , Ogre::PF_BC7_UNORM , Ogre::PF_R8 , Ogre::PF_R8G8 , Ogre::PF_RG8 = PF_R8G8 , Ogre::PF_R8_SNORM , Ogre::PF_R8G8_SNORM , Ogre::PF_R8G8B8_SNORM , Ogre::PF_R8G8B8A8_SNORM , Ogre::PF_R16_SNORM , Ogre::PF_R16G16_SNORM , Ogre::PF_R16G16B16_SNORM , Ogre::PF_R16G16B16A16_SNORM , Ogre::PF_ETC1_RGB8 , Ogre::PF_ETC2_RGB8 , Ogre::PF_ETC2_RGBA8 , Ogre::PF_ETC2_RGB8A1 , Ogre::PF_ATC_RGB , Ogre::PF_ATC_RGBA_EXPLICIT_ALPHA , Ogre::PF_ATC_RGBA_INTERPOLATED_ALPHA , Ogre::PF_ASTC_RGBA_4X4_LDR , Ogre::PF_ASTC_RGBA_5X4_LDR , Ogre::PF_ASTC_RGBA_5X5_LDR , Ogre::PF_ASTC_RGBA_6X5_LDR , Ogre::PF_ASTC_RGBA_6X6_LDR , Ogre::PF_ASTC_RGBA_8X5_LDR , Ogre::PF_ASTC_RGBA_8X6_LDR , Ogre::PF_ASTC_RGBA_8X8_LDR , Ogre::PF_ASTC_RGBA_10X5_LDR , Ogre::PF_ASTC_RGBA_10X6_LDR , Ogre::PF_ASTC_RGBA_10X8_LDR , Ogre::PF_ASTC_RGBA_10X10_LDR , Ogre::PF_ASTC_RGBA_12X10_LDR , Ogre::PF_ASTC_RGBA_12X12_LDR , Ogre::PF_DEPTH32 , Ogre::PF_DEPTH32F , Ogre::PF_DEPTH24_STENCIL8 , Ogre::PF_COUNT , Ogre::PF_BYTE_RGB = PF_R8G8B8 , Ogre::PF_BYTE_BGR = PF_B8G8R8 , Ogre::PF_BYTE_BGRA = PF_B8G8R8A8 , Ogre::PF_BYTE_RGBA = PF_R8G8B8A8 }
| The pixel format used for images, textures, and render surfaces. More...
enum | Ogre::PixelFormatFlags { Ogre::PFF_HASALPHA = 0x00000001 , Ogre::PFF_COMPRESSED = 0x00000002 , Ogre::PFF_FLOAT = 0x00000004 , Ogre::PFF_DEPTH = 0x00000008 , Ogre::PFF_NATIVEENDIAN = 0x00000010 , Ogre::PFF_LUMINANCE = 0x00000020 , Ogre::PFF_INTEGER = 0x00000040 }
| Flags defining some on/off properties of pixel formats. More...

## Functions
const String & | Ogre::to_string (PixelFormat v)

## Detailed Description

## Typedef Documentation

## ◆ ImagePtrList

typedef std::vector<Image*> Ogre::ImagePtrList

## ◆ ConstImagePtrList

typedef std::vector<const Image*> Ogre::ConstImagePtrList

## ◆ PixelFormatList

typedef std::vector<PixelFormat> Ogre::PixelFormatList

## Enumeration Type Documentation

## ◆ ImageFlags

enum Ogre::ImageFlags

Enumerator
IF_COMPRESSED |
IF_CUBEMAP |
IF_3D_TEXTURE |

## ◆ PixelFormat

enum Ogre::PixelFormat

The pixel format used for images, textures, and render surfaces.

A pixel format described the storage format of pixel data. It defines the way pixels are encoded in memory. The components are specified in "packed" native byte order for native endian (16, 24 and 32 bit) integers. This means that a pixel with format Ogre::PF_A8R8G8B8 can be seen as a 32 bit integer, written as `0xAARRGGBB` in hexadecimal on a little-endian (x86) machine or as `0xBBGGRRAA` on a big-endian machine. The example above would be expressed with an array of bytes as {0xBB, 0xGG, 0xRR, 0xAA} on both machines. Therefore, one would use the Ogre::PF_BYTE_BGRA format when reading pixel data expressed in bytes. This format aliases to either Ogre::PF_A8R8G8B8 or Ogre::PF_B8G8R8A8 depending on the machine endianness.

Enumerator
PF_UNKNOWN | Unknown pixel format.
PF_L8 | 8-bit pixel format, all bits luminance.
PF_BYTE_L |
PF_L16 | 16-bit pixel format, all bits luminance.
PF_SHORT_L |
PF_A8 | 8-bit pixel format, all bits alpha.
PF_BYTE_A |
PF_BYTE_LA | 2 byte pixel format, 1 byte luminance, 1 byte alpha
PF_R5G6B5 | 16-bit pixel format, 5 bits red, 6 bits green, 5 bits blue.
PF_B5G6R5 | 16-bit pixel format, 5 bits red, 6 bits green, 5 bits blue.
PF_A4R4G4B4 | 16-bit pixel format, 4 bits for alpha, red, green and blue.
PF_A1R5G5B5 | 16-bit pixel format, 5 bits for blue, green, red and 1 for alpha.
PF_R8G8B8 | 24-bit pixel format, 8 bits for red, green and blue.
PF_B8G8R8 | 24-bit pixel format, 8 bits for blue, green and red.
PF_A8R8G8B8 | 32-bit pixel format, 8 bits for alpha, red, green and blue.
PF_A8B8G8R8 | 32-bit pixel format, 8 bits for blue, green, red and alpha.
PF_B8G8R8A8 | 32-bit pixel format, 8 bits for blue, green, red and alpha.
PF_A2R10G10B10 | 32-bit pixel format, 2 bits for alpha, 10 bits for red, green and blue.
PF_A2B10G10R10 | 32-bit pixel format, 10 bits for blue, green and red, 2 bits for alpha.
PF_DXT1 | DDS (DirectDraw Surface) DXT1 format.
PF_DXT2 | DDS (DirectDraw Surface) DXT2 format.
PF_DXT3 | DDS (DirectDraw Surface) DXT3 format.
PF_DXT4 | DDS (DirectDraw Surface) DXT4 format.
PF_DXT5 | DDS (DirectDraw Surface) DXT5 format.
PF_FLOAT16_RGB | 48-bit pixel format, 16 bits (float) for red, 16 bits (float) for green, 16 bits (float) for blue
PF_FLOAT16_RGBA | 64-bit pixel format, 16 bits (float) for red, 16 bits (float) for green, 16 bits (float) for blue, 16 bits (float) for alpha
PF_FLOAT32_RGB | 96-bit pixel format, 32 bits (float) for red, 32 bits (float) for green, 32 bits (float) for blue
PF_FLOAT32_RGBA | 128-bit pixel format, 32 bits (float) for red, 32 bits (float) for green, 32 bits (float) for blue, 32 bits (float) for alpha
PF_X8R8G8B8 | 32-bit pixel format, 8 bits for red, 8 bits for green, 8 bits for blue like Ogre::PF_A8R8G8B8, but alpha will get discarded
PF_X8B8G8R8 | 32-bit pixel format, 8 bits for blue, 8 bits for green, 8 bits for red like Ogre::PF_A8B8G8R8, but alpha will get discarded
PF_R8G8B8A8 | 32-bit pixel format, 8 bits for red, green, blue and alpha.
PF_DEPTH16 | Depth texture format, with 16-bit unsigned integer.
PF_DEPTH |
PF_SHORT_RGBA | 64-bit pixel format, 16 bits for red, green, blue and alpha
PF_R3G3B2 | 8-bit pixel format, 2 bits blue, 3 bits green, 3 bits red.
PF_FLOAT16_R | 16-bit pixel format, 16 bits (float) for red
PF_FLOAT32_R | 32-bit pixel format, 32 bits (float) for red
PF_SHORT_GR | 32-bit pixel format, 16-bit green, 16-bit red
PF_FLOAT16_GR | 32-bit, 2-channel s10e5 floating point pixel format, 16-bit green, 16-bit red
PF_FLOAT32_GR | 64-bit, 2-channel floating point pixel format, 32-bit green, 32-bit red
PF_SHORT_RGB | 48-bit pixel format, 16 bits for red, green and blue
PF_PVRTC_RGB2 | PVRTC (PowerVR) RGB 2 bpp.
PF_PVRTC_RGBA2 | PVRTC (PowerVR) RGBA 2 bpp.
PF_PVRTC_RGB4 | PVRTC (PowerVR) RGB 4 bpp.
PF_PVRTC_RGBA4 | PVRTC (PowerVR) RGBA 4 bpp.
PF_PVRTC2_2BPP | PVRTC (PowerVR) Version 2, 2 bpp.
PF_PVRTC2_4BPP | PVRTC (PowerVR) Version 2, 4 bpp.
PF_R11G11B10_FLOAT | 32-bit pixel format, 11 bits (float) for red, 11 bits (float) for green, 10 bits (float) for blue
PF_R8_UINT | 8-bit pixel format, 8 bits red (unsigned int).
PF_R8G8_UINT | 16-bit pixel format, 8 bits red (unsigned int), 8 bits blue (unsigned int).
PF_R8G8B8_UINT | 24-bit pixel format, 8 bits red (unsigned int), 8 bits blue (unsigned int), 8 bits green (unsigned int).
PF_R8G8B8A8_UINT | 32-bit pixel format, 8 bits red (unsigned int), 8 bits blue (unsigned int), 8 bits green (unsigned int), 8 bits alpha (unsigned int).
PF_R16_UINT | 16-bit pixel format, 16 bits red (unsigned int).
PF_R16G16_UINT | 32-bit pixel format, 16 bits red (unsigned int), 16 bits blue (unsigned int).
PF_R16G16B16_UINT | 48-bit pixel format, 16 bits red (unsigned int), 16 bits blue (unsigned int), 16 bits green (unsigned int).
PF_R16G16B16A16_UINT | 64-bit pixel format, 16 bits red (unsigned int), 16 bits blue (unsigned int), 16 bits green (unsigned int), 16 bits alpha (unsigned int).
PF_R32_UINT | 32-bit pixel format, 32 bits red (unsigned int).
PF_R32G32_UINT | 64-bit pixel format, 32 bits red (unsigned int), 32 bits blue (unsigned int).
PF_R32G32B32_UINT | 96-bit pixel format, 32 bits red (unsigned int), 32 bits blue (unsigned int), 32 bits green (unsigned int).
PF_R32G32B32A32_UINT | 128-bit pixel format, 32 bits red (unsigned int), 32 bits blue (unsigned int), 32 bits green (unsigned int), 32 bits alpha (unsigned int).
PF_R8_SINT | 8-bit pixel format, 8 bits red (signed int).
PF_R8G8_SINT | 16-bit pixel format, 8 bits red (signed int), 8 bits blue (signed int).
PF_R8G8B8_SINT | 24-bit pixel format, 8 bits red (signed int), 8 bits blue (signed int), 8 bits green (signed int).
PF_R8G8B8A8_SINT | 32-bit pixel format, 8 bits red (signed int), 8 bits blue (signed int), 8 bits green (signed int), 8 bits alpha (signed int).
PF_R16_SINT | 16-bit pixel format, 16 bits red (signed int).
PF_R16G16_SINT | 32-bit pixel format, 16 bits red (signed int), 16 bits blue (signed int).
PF_R16G16B16_SINT | 48-bit pixel format, 16 bits red (signed int), 16 bits blue (signed int), 16 bits green (signed int).
PF_R16G16B16A16_SINT | 64-bit pixel format, 16 bits red (signed int), 16 bits blue (signed int), 16 bits green (signed int), 16 bits alpha (signed int).
PF_R32_SINT | 32-bit pixel format, 32 bits red (signed int).
PF_R32G32_SINT | 64-bit pixel format, 32 bits red (signed int), 32 bits blue (signed int).
PF_R32G32B32_SINT | 96-bit pixel format, 32 bits red (signed int), 32 bits blue (signed int), 32 bits green (signed int).
PF_R32G32B32A32_SINT | 128-bit pixel format, 32 bits red (signed int), 32 bits blue (signed int), 32 bits green (signed int), 32 bits alpha (signed int).
PF_R9G9B9E5_SHAREDEXP | 32-bit pixel format, 9 bits for blue, green, red plus a 5 bit exponent.
PF_BC4_UNORM | DDS (DirectDraw Surface) BC4 format (unsigned normalised).
PF_BC4_SNORM | DDS (DirectDraw Surface) BC4 format (signed normalised).
PF_BC5_UNORM | DDS (DirectDraw Surface) BC5 format (unsigned normalised).
PF_BC5_SNORM | DDS (DirectDraw Surface) BC5 format (signed normalised).
PF_BC6H_UF16 | DDS (DirectDraw Surface) BC6H format (unsigned 16 bit float).
PF_BC6H_SF16 | DDS (DirectDraw Surface) BC6H format (signed 16 bit float).
PF_BC7_UNORM | DDS (DirectDraw Surface) BC7 format (unsigned normalised).
PF_R8 | 8-bit pixel format, all bits red.
PF_R8G8 | 16-bit pixel format, 8 bits red, 8 bits green.
PF_RG8 |
PF_R8_SNORM | 8-bit pixel format, 8 bits red (signed normalised int).
PF_R8G8_SNORM | 16-bit pixel format, 8 bits red (signed normalised int), 8 bits blue (signed normalised int).
PF_R8G8B8_SNORM | 24-bit pixel format, 8 bits red (signed normalised int), 8 bits blue (signed normalised int), 8 bits green (signed normalised int).
PF_R8G8B8A8_SNORM | 32-bit pixel format, 8 bits red (signed normalised int), 8 bits blue (signed normalised int), 8 bits green (signed normalised int), 8 bits alpha (signed normalised int).
PF_R16_SNORM | 16-bit pixel format, 16 bits red (signed normalised int).
PF_R16G16_SNORM | 32-bit pixel format, 16 bits red (signed normalised int), 16 bits blue (signed normalised int).
PF_R16G16B16_SNORM | 48-bit pixel format, 16 bits red (signed normalised int), 16 bits blue (signed normalised int), 16 bits green (signed normalised int).
PF_R16G16B16A16_SNORM | 64-bit pixel format, 16 bits red (signed normalised int), 16 bits blue (signed normalised int), 16 bits green (signed normalised int), 16 bits alpha (signed normalised int).
PF_ETC1_RGB8 | ETC1 (Ericsson Texture Compression).
PF_ETC2_RGB8 | ETC2 (Ericsson Texture Compression).
PF_ETC2_RGBA8 | ETC2 (Ericsson Texture Compression).
PF_ETC2_RGB8A1 | ETC2 (Ericsson Texture Compression).
PF_ATC_RGB | ATC (AMD_compressed_ATC_texture).
PF_ATC_RGBA_EXPLICIT_ALPHA | ATC (AMD_compressed_ATC_texture).
PF_ATC_RGBA_INTERPOLATED_ALPHA | ATC (AMD_compressed_ATC_texture).
PF_ASTC_RGBA_4X4_LDR | ASTC (ARM Adaptive Scalable Texture Compression RGBA, block size 4x4).
PF_ASTC_RGBA_5X4_LDR | ASTC (ARM Adaptive Scalable Texture Compression RGBA, block size 5x4).
PF_ASTC_RGBA_5X5_LDR | ASTC (ARM Adaptive Scalable Texture Compression RGBA, block size 5x5).
PF_ASTC_RGBA_6X5_LDR | ASTC (ARM Adaptive Scalable Texture Compression RGBA, block size 6x5).
PF_ASTC_RGBA_6X6_LDR | ASTC (ARM Adaptive Scalable Texture Compression RGBA, block size 6x6).
PF_ASTC_RGBA_8X5_LDR | ASTC (ARM Adaptive Scalable Texture Compression RGBA, block size 8x5).
PF_ASTC_RGBA_8X6_LDR | ASTC (ARM Adaptive Scalable Texture Compression RGBA, block size 8x6).
PF_ASTC_RGBA_8X8_LDR | ASTC (ARM Adaptive Scalable Texture Compression RGBA, block size 8x8).
PF_ASTC_RGBA_10X5_LDR | ASTC (ARM Adaptive Scalable Texture Compression RGBA, block size 10x5).
PF_ASTC_RGBA_10X6_LDR | ASTC (ARM Adaptive Scalable Texture Compression RGBA, block size 10x6).
PF_ASTC_RGBA_10X8_LDR | ASTC (ARM Adaptive Scalable Texture Compression RGBA, block size 10x8).
PF_ASTC_RGBA_10X10_LDR | ASTC (ARM Adaptive Scalable Texture Compression RGBA, block size 10x10).
PF_ASTC_RGBA_12X10_LDR | ASTC (ARM Adaptive Scalable Texture Compression RGBA, block size 12x10).
PF_ASTC_RGBA_12X12_LDR | ASTC (ARM Adaptive Scalable Texture Compression RGBA, block size 12x12).
PF_DEPTH32 |
PF_DEPTH32F | Depth texture format with 32-bit floating point.
PF_DEPTH24_STENCIL8 | Depth texture format with 24-bit unsigned integer and 8-bit stencil.
PF_COUNT | Number of pixel formats currently defined.
PF_BYTE_RGB | 24-bit pixel format, 8 bits for red, green and blue.
PF_BYTE_BGR | 24-bit pixel format, 8 bits for blue, green and red.
PF_BYTE_BGRA | 32-bit pixel format, 8 bits for blue, green, red and alpha.
PF_BYTE_RGBA | 32-bit pixel format, 8 bits for red, green, blue and alpha.

## ◆ PixelFormatFlags

enum Ogre::PixelFormatFlags

Flags defining some on/off properties of pixel formats.

Enumerator
PFF_HASALPHA | This format has an alpha channel.
PFF_COMPRESSED | This format is compressed. This invalidates the values in elemBytes, elemBits and the bit counts as these might not be fixed in a compressed format.
PFF_FLOAT | This is a floating point format.
PFF_DEPTH | This is a depth format (for depth textures).
PFF_NATIVEENDIAN | Format is in native endian. Generally true for the 16, 24 and 32 bits formats which can be represented as machine integers.
PFF_LUMINANCE | This is an intensity format instead of a RGB one. The luminance replaces R,G and B. (but not A)
PFF_INTEGER | This is an integer format.

## ◆ PixelComponentType

enum Ogre::PixelComponentType

Pixel component format.

Enumerator
PCT_BYTE |
PCT_SHORT | Byte per component (8 bit fixed 0.0..1.0).
PCT_FLOAT16 | Short per component (16 bit fixed 0.0..1.0)).
PCT_FLOAT32 | 16 bit float per component
PCT_SINT | 32 bit float per component
PCT_UINT | Signed integer per component.
PCT_COUNT | Unsigned integer per component.

## Function Documentation

## ◆ to_string()

const String & Ogre::to_string | ( | PixelFormat | v | ) |
| inline

References Ogre::PixelUtil::getFormatName().