![]() |
OGRE-Next
2.3
Object-Oriented Graphics Rendering Engine
|
The pixel format used for images, textures, and render surfaces. More...
#include <OgrePixelFormatGpuUtils.h>
Public Types | |
enum | PixelFormatFlags { PFF_FLOAT = 1u << 0u , PFF_HALF = 1u << 1u , PFF_FLOAT_RARE = 1u << 2u , PFF_INTEGER = 1u << 3u , PFF_NORMALIZED = 1u << 4u , PFF_SIGNED = 1u << 5u , PFF_DEPTH = 1u << 6u , PFF_STENCIL = 1u << 7u , PFF_SRGB = 1u << 8u , PFF_COMPRESSED = 1u << 9u , PFF_PALLETE = 1u << 10u } |
enum | PixelFormatLayout { PFL_OTHER = 0 , PFL_RGBA32 , PFL_RGB32 , PFL_RG32 , PFL_R32 , PFL_RGBA16 , PFL_RGB16 , PFL_RG16 , PFL_R16 , PFL_RGBA8 , PFL_BGRA8 , PFL_BGRX8 , PFL_RGB8 , PFL_BGR8 , PFL_RG8 , PFL_R8 , PFL_COUNT } |
Pixel components size and order, typeless. More... | |
Static Public Member Functions | |
static void * | advancePointerToMip (void *basePtr, uint32 width, uint32 height, uint32 depth, uint32 numSlices, uint8 mipLevel, PixelFormatGpu format) |
Takes an image allocated for GPU usage (i.e. More... | |
static void | bulkPixelConversion (const TextureBox &src, PixelFormatGpu srcFormat, TextureBox &dst, PixelFormatGpu dstFormat, bool verticalFlip=false) |
static size_t | calculateSizeBytes (uint32 width, uint32 height, uint32 depth, uint32 slices, PixelFormatGpu format, uint8 numMipmaps, uint32 rowAlignment=1u) |
static void | convertForNormalMapping (TextureBox src, PixelFormatGpu srcFormat, TextureBox dst, PixelFormatGpu dstFormat) |
static float | fromSRGB (float x) |
static size_t | getBytesPerPixel (PixelFormatGpu format) |
static uint32 | getCompressedBlockHeight (PixelFormatGpu format, bool apiStrict=true) |
See getCompressedBlockWidth. More... | |
static size_t | getCompressedBlockSize (PixelFormatGpu format) |
Returns in bytes, the size of the compressed block. More... | |
static uint32 | getCompressedBlockWidth (PixelFormatGpu format, bool apiStrict=true) |
Returns the minimum width for block compressed schemes. More... | |
static PixelFormatGpu | getEquivalentLinear (PixelFormatGpu sRgbFormat) |
static PixelFormatGpu | getEquivalentSRGB (PixelFormatGpu format) |
static PixelFormatGpu | getFamily (PixelFormatGpu format) |
static uint32 | getFlags (PixelFormatGpu format) |
See PixelFormatFlags. More... | |
static PixelFormatGpu | getFormatFromName (const char *name, uint32 exclusionFlags=0) |
Makes a O(N) search to return the PixelFormatGpu based on its string version. More... | |
static PixelFormatGpu | getFormatFromName (const String &name, uint32 exclusionFlags=0) |
static uint8 | getMaxMipmapCount (uint32 maxResolution) |
Returns the maximum number of mipmaps given the resolution e.g. More... | |
static uint8 | getMaxMipmapCount (uint32 width, uint32 height) |
static uint8 | getMaxMipmapCount (uint32 width, uint32 height, uint32 depth) |
static size_t | getNumberOfComponents (PixelFormatGpu format) |
static PixelFormatLayout | getPixelLayout (PixelFormatGpu format) |
static size_t | getSizeBytes (uint32 width, uint32 height, uint32 depth, uint32 slices, PixelFormatGpu format, uint32 rowAlignment=1u) |
static bool | hasAlpha (PixelFormatGpu format) |
static bool | hasSRGBEquivalent (PixelFormatGpu format) |
static bool | isAccessible (PixelFormatGpu format) |
static bool | isCompressed (PixelFormatGpu format) |
static bool | isDepth (PixelFormatGpu format) |
static bool | isFloat (PixelFormatGpu format) |
static bool | isFloatRare (PixelFormatGpu format) |
static bool | isHalf (PixelFormatGpu format) |
static bool | isInteger (PixelFormatGpu format) |
static bool | isNormalized (PixelFormatGpu format) |
static bool | isPallete (PixelFormatGpu format) |
static bool | isSigned (PixelFormatGpu format) |
static bool | isSRgb (PixelFormatGpu format) |
static bool | isStencil (PixelFormatGpu format) |
static void | packColour (const ColourValue &rgbaPtr, PixelFormatGpu pf, void *dstPtr) |
static void | packColour (const float *rgbaPtr, PixelFormatGpu pf, void *dstPtr) |
static bool | supportsHwMipmaps (PixelFormatGpu format) |
For SW mipmaps, see Image2::supportsSwMipmaps. More... | |
static float | toSRGB (float x) |
static const char * | toString (PixelFormatGpu format) |
static void | unpackColour (ColourValue *rgbaPtr, PixelFormatGpu pf, const void *srcPtr) |
static void | unpackColour (float *rgbaPtr, PixelFormatGpu pf, const void *srcPtr) |
The pixel format used for images, textures, and render surfaces.
|
static |
Takes an image allocated for GPU usage (i.e.
rowAlignment = 4u) from the beginning of its base mip level 0, and returns a pointer at the beginning of the specified mipLevel.
|
static |
|
static |
|
static |
|
static |
|
static |
Referenced by Ogre::LinearResampler::scale(), and Ogre::LinearResampler_Float32::scale().
|
static |
See getCompressedBlockWidth.
Referenced by Ogre::TextureBox::at(), Ogre::TextureBox::copyFrom(), and Ogre::TextureBox::isSubtextureRegion().
|
static |
Returns in bytes, the size of the compressed block.
Referenced by Ogre::TextureBox::at(), and Ogre::TextureBox::isSubtextureRegion().
|
static |
Returns the minimum width for block compressed schemes.
ie. DXT1 compresses in blocks of 4x4 pixels. A texture with a width of 2 is just padded to 4. When building UV atlases composed of already compressed data being stitched together, the block size is very important to know as the resolution of the individual textures must be a multiple of this size.
format | The format to query for. Can be compressed or not. |
apiStrict | When true, obeys the rules of most APIs (i.e. ETC1 can't update subregions according to GLES specs). When false, becomes more practical if manipulating by hand (i.e. ETC1's subregions can be updated just fine by @bulkCompressedSubregion) |
Referenced by Ogre::TextureBox::at(), and Ogre::TextureBox::isSubtextureRegion().
|
static |
|
static |
|
static |
|
static |
See PixelFormatFlags.
|
static |
Makes a O(N) search to return the PixelFormatGpu based on its string version.
Opposite version of toString
name | Name of the pixel format. e.g. PFG_RGBA8_UNORM_SRGB |
exclusionFlags | Use PixelFormatFlags to exclude certain formats. For example if you don't want compressed and depth formats to be returned, pass PFF_COMPRESSED|PFF_DEPTH |
|
static |
Returns the maximum number of mipmaps given the resolution e.g.
at 4x4 there's 3 mipmaps. At 1x1 there's 1 mipmaps.
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
Referenced by Ogre::TextureBox::setCompressedPixelFormat().
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
Referenced by Ogre::LinearResampler::scale().
|
static |
For SW mipmaps, see Image2::supportsSwMipmaps.
|
static |
|
static |
|
static |
|
static |