OGRE  13.0
Object-Oriented Graphics Rendering Engine
Image

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< PixelFormatOgre::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_COUNT, Ogre::PF_BYTE_RGB = PF_B8G8R8,
  Ogre::PF_BYTE_BGR = PF_R8G8B8, Ogre::PF_BYTE_BGRA = PF_A8R8G8B8, Ogre::PF_BYTE_RGBA = PF_A8B8G8R8
}
 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 StringOgre::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

Enumerator
IF_COMPRESSED 
IF_CUBEMAP 
IF_3D_TEXTURE 

◆ 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_A8B8G8R8 or Ogre::PF_R8G8B8A8 depending on the machine endianess.

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.

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_COUNT 

Number of pixel formats currently defined.

PF_BYTE_RGB 

24-bit pixel format, 8 bits for blue, green and red.

PF_BYTE_BGR 

24-bit pixel format, 8 bits for red, green and blue.

PF_BYTE_BGRA 

32-bit pixel format, 8 bits for alpha, red, green and blue.

PF_BYTE_RGBA 

32-bit pixel format, 8 bits for blue, green, red and alpha.

◆ 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

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