|  | OGRE-Next 3.0.0
    Object-Oriented Graphics Rendering Engine | 
Class for manipulating bit patterns. More...
#include <OgreBitwise.h>
| Static Public Member Functions | |
| static FORCEINLINE uint16 | bswap16 (uint16 arg) | 
| Returns value with reversed bytes order. | |
| static FORCEINLINE uint32 | bswap32 (uint32 arg) | 
| Returns value with reversed bytes order. | |
| static FORCEINLINE uint64 | bswap64 (uint64 arg) | 
| Returns value with reversed bytes order. | |
| static void | bswapBuffer (void *pData, size_t size) | 
| Reverses byte order of buffer. | |
| static void | bswapChunks (void *pData, size_t size, size_t count) | 
| Reverses byte order of chunks in buffer, where 'size' is size of one chunk. | |
| static uint32 | clz32 (uint32 value) | 
| static uint32 | clz64 (uint64 value) | 
| template<typename SrcT , typename DestT > | |
| static DestT | convertBitPattern (SrcT srcValue, SrcT srcBitMask, DestT destBitMask) | 
| Takes a value with a given src bit mask, and produces another value with a desired bit mask. | |
| static uint32 | ctz32 (uint32 value) | 
| static uint32 | ctz64 (uint64 value) | 
| static FORCEINLINE uint32 | firstPO2From (uint32 n) | 
| Returns the closest power-of-two number greater or equal to value. | |
| static unsigned int | fixedToFixed (uint32 value, unsigned int n, unsigned int p) | 
| Convert N bit colour channel value to P bits. | |
| static float | fixedToFloat (unsigned value, unsigned int bits) | 
| Fixed point to float. | |
| static unsigned int | floatToFixed (const float value, const unsigned int bits) | 
| Convert floating point colour channel value between 0.0 and 1.0 (otherwise clamped) to integer of a certain number of bits. | |
| static uint16 | floatToHalf (float i) | 
| Convert a float32 to a float16 (NV_half_float) Courtesy of OpenEXR. | |
| static uint16 | floatToHalfI (uint32 i) | 
| Converts float in uint32 format to a a half in uint16 format. | |
| static int16 | floatToSnorm16 (float v) | 
| static int8 | floatToSnorm8 (float v) | 
| template<typename T > | |
| static FORCEINLINE unsigned int | getBitShift (T mask) | 
| Returns the number of bits a pattern must be shifted right by to remove right-hand zeros. | |
| static float | halfToFloat (uint16 y) | 
| Convert a float16 (NV_half_float) to a float32 Courtesy of OpenEXR. | |
| static uint32 | halfToFloatI (uint16 y) | 
| Converts a half in uint16 format to a float in uint32 format. | |
| static unsigned int | intRead (const void *src, int n) | 
| Read a n*8 bits integer value to memory in native endian. | |
| static void | intWrite (void *dest, const int n, const unsigned int value) | 
| Write a n*8 bits integer value to memory in native endian. | |
| template<typename T > | |
| static FORCEINLINE bool | isPO2 (T n) | 
| Determines whether the number is power-of-two or not. | |
| static FORCEINLINE unsigned int | mostSignificantBitSet (unsigned int value) | 
| Returns the most significant bit set in a value. | |
| static float | snorm16ToFloat (int16 v) | 
| static float | snorm8ToFloat (int8 v) | 
Class for manipulating bit patterns.
Returns value with reversed bytes order.
Returns value with reversed bytes order.
Referenced by bswap64().
Returns value with reversed bytes order.
References bswap32().
| 
 | inlinestatic | 
Reverses byte order of buffer.
Use bswap16/32/64 instead if possible.
| 
 | inlinestatic | 
Reverses byte order of chunks in buffer, where 'size' is size of one chunk.
| 
 | inlinestatic | 
Takes a value with a given src bit mask, and produces another value with a desired bit mask.
References getBitShift().
Returns the closest power-of-two number greater or equal to value.
| 
 | inlinestatic | 
Convert N bit colour channel value to P bits.
It fills P bits with the bit pattern repeated. (this is /((1<<n)-1) in fixed point)
| 
 | inlinestatic | 
Fixed point to float.
| 
 | inlinestatic | 
Convert floating point colour channel value between 0.0 and 1.0 (otherwise clamped) to integer of a certain number of bits.
Works for any value of bits between 0 and 31.
| 
 | inlinestatic | 
Convert a float32 to a float16 (NV_half_float) Courtesy of OpenEXR.
References floatToHalfI().
Converts float in uint32 format to a a half in uint16 format.
Referenced by floatToHalf().
| 
 | inlinestatic | 
References Ogre::Math::Clamp().
| 
 | inlinestatic | 
References Ogre::Math::Clamp().
| 
 | inlinestatic | 
Returns the number of bits a pattern must be shifted right by to remove right-hand zeros.
Referenced by convertBitPattern().
| 
 | inlinestatic | 
Convert a float16 (NV_half_float) to a float32 Courtesy of OpenEXR.
References halfToFloatI().
Converts a half in uint16 format to a float in uint32 format.
Referenced by halfToFloat().
| 
 | inlinestatic | 
Read a n*8 bits integer value to memory in native endian.
| 
 | inlinestatic | 
Write a n*8 bits integer value to memory in native endian.
| 
 | inlinestatic | 
Determines whether the number is power-of-two or not.
| 
 | inlinestatic | 
Returns the most significant bit set in a value.
| 
 | inlinestatic | 
| 
 | inlinestatic |