#include <OgreBitwise.h>
Static Public Member Functions | |
FORCEINLINE unsigned int | mostSignificantBitSet (unsigned int value) |
Returns the most significant bit set in a value. | |
FORCEINLINE uint32 | firstPO2From (uint32 n) |
Returns the closest power-of-two number greater or equal to value. | |
template<typename T> FORCEINLINE unsigned int | getBitShift (T mask) |
Returns the number of bits a pattern must be shifted right by to remove right-hand zeroes. | |
template<typename SrcT, typename DestT> 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. | |
unsigned int | fixedToFixed (uint32 value, unsigned int n, unsigned int p) |
Convert N bit colour channel value to P bits. | |
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. | |
float | fixedToFloat (unsigned value, unsigned int bits) |
Fixed point to float. | |
void | intWrite (const void *dest, const int n, const unsigned int value) |
Write a n*8 bits integer value to memory in native endian. | |
unsigned int | intRead (const void *src, int n) |
Read a n*8 bits integer value to memory in native endian. | |
uint16 | floatToHalf (float i) |
Convert a float32 to a float16 (NV_half_float) Courtesy of OpenEXR. | |
uint16 | floatToHalfI (uint32 i) |
Converts float in uint32 format to a a half in uint16 format. | |
float | halfToFloat (uint16 y) |
Convert a float16 (NV_half_float) to a float32 Courtesy of OpenEXR. | |
uint32 | halfToFloatI (uint16 y) |
Converts a half in uint16 format to a float in uint32 format. |
Definition at line 34 of file OgreBitwise.h.
|
Takes a value with a given src bit mask, and produces another value with a desired bit mask.
Definition at line 85 of file OgreBitwise.h. References getBitShift(). |
|
Returns the closest power-of-two number greater or equal to value.
Definition at line 51 of file OgreBitwise.h. References FORCEINLINE, and Ogre::uint32. |
|
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) Definition at line 110 of file OgreBitwise.h. References Ogre::uint32. |
|
Fixed point to float.
Definition at line 144 of file OgreBitwise.h. |
|
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. Definition at line 134 of file OgreBitwise.h. |
|
Convert a float32 to a float16 (NV_half_float) Courtesy of OpenEXR.
Definition at line 205 of file OgreBitwise.h. References floatToHalfI(), and Ogre::uint16. |
|
Converts float in uint32 format to a a half in uint16 format.
Definition at line 211 of file OgreBitwise.h. References Ogre::uint16, and Ogre::uint32. Referenced by floatToHalf(). |
|
Returns the number of bits a pattern must be shifted right by to remove right-hand zeroes.
Definition at line 66 of file OgreBitwise.h. References FORCEINLINE. Referenced by convertBitPattern(). |
|
Convert a float16 (NV_half_float) to a float32 Courtesy of OpenEXR.
Definition at line 254 of file OgreBitwise.h. References halfToFloatI(), Ogre::uint16, and Ogre::uint32. |
|
Converts a half in uint16 format to a float in uint32 format.
Definition at line 262 of file OgreBitwise.h. References Ogre::uint16, and Ogre::uint32. Referenced by halfToFloat(). |
|
Read a n*8 bits integer value to memory in native endian.
Definition at line 180 of file OgreBitwise.h. References Ogre::uint16, Ogre::uint32, and Ogre::uint8. |
|
Write a n*8 bits integer value to memory in native endian.
Definition at line 152 of file OgreBitwise.h. References Ogre::uint16, Ogre::uint32, and Ogre::uint8. |
|
Returns the most significant bit set in a value.
Definition at line 38 of file OgreBitwise.h. References FORCEINLINE. |
Copyright © 2000-2005 by The OGRE Team
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Mar 12 14:38:13 2006