|
| UVec4 ()=default |
| Constructor. More...
|
|
| UVec4 (const UVec4 &inRHS)=default |
|
UVec4 & | operator= (const UVec4 &inRHS)=default |
|
JPH_INLINE | UVec4 (Type inRHS) |
|
JPH_INLINE | UVec4 (uint32 inX, uint32 inY, uint32 inZ, uint32 inW) |
| Create a vector from 4 integer components. More...
|
|
JPH_INLINE bool | operator== (UVec4Arg inV2) const |
| Comparison. More...
|
|
JPH_INLINE bool | operator!= (UVec4Arg inV2) const |
|
template<uint32 SwizzleX, uint32 SwizzleY, uint32 SwizzleZ, uint32 SwizzleW> |
JPH_INLINE UVec4 | Swizzle () const |
| Swizzle the elements in inV. More...
|
|
JPH_INLINE uint32 | GetX () const |
| Get individual components. More...
|
|
JPH_INLINE uint32 | GetY () const |
|
JPH_INLINE uint32 | GetZ () const |
|
JPH_INLINE uint32 | GetW () const |
|
JPH_INLINE void | SetX (uint32 inX) |
| Set individual components. More...
|
|
JPH_INLINE void | SetY (uint32 inY) |
|
JPH_INLINE void | SetZ (uint32 inZ) |
|
JPH_INLINE void | SetW (uint32 inW) |
|
JPH_INLINE uint32 | operator[] (uint inCoordinate) const |
| Get component by index. More...
|
|
JPH_INLINE uint32 & | operator[] (uint inCoordinate) |
|
JPH_INLINE UVec4 | operator* (UVec4Arg inV2) const |
| Multiplies each of the 4 integer components with an integer (discards any overflow) More...
|
|
JPH_INLINE UVec4 | operator+ (UVec4Arg inV2) |
| Adds an integer value to all integer components (discards any overflow) More...
|
|
JPH_INLINE UVec4 & | operator+= (UVec4Arg inV2) |
| Add two integer vectors (component wise) More...
|
|
JPH_INLINE UVec4 | SplatX () const |
| Replicate the X component to all components. More...
|
|
JPH_INLINE UVec4 | SplatY () const |
| Replicate the Y component to all components. More...
|
|
JPH_INLINE UVec4 | SplatZ () const |
| Replicate the Z component to all components. More...
|
|
JPH_INLINE UVec4 | SplatW () const |
| Replicate the W component to all components. More...
|
|
JPH_INLINE Vec4 | ToFloat () const |
| Convert each component from an int to a float. More...
|
|
JPH_INLINE Vec4 | ReinterpretAsFloat () const |
| Reinterpret UVec4 as a Vec4 (doesn't change the bits) More...
|
|
JPH_INLINE void | StoreInt4 (uint32 *outV) const |
| Store 4 ints to memory. More...
|
|
JPH_INLINE void | StoreInt4Aligned (uint32 *outV) const |
| Store 4 ints to memory, aligned to 16 bytes. More...
|
|
JPH_INLINE bool | TestAnyTrue () const |
| Test if any of the components are true (true is when highest bit of component is set) More...
|
|
JPH_INLINE bool | TestAnyXYZTrue () const |
| Test if any of X, Y or Z components are true (true is when highest bit of component is set) More...
|
|
JPH_INLINE bool | TestAllTrue () const |
| Test if all components are true (true is when highest bit of component is set) More...
|
|
JPH_INLINE bool | TestAllXYZTrue () const |
| Test if X, Y and Z components are true (true is when highest bit of component is set) More...
|
|
JPH_INLINE int | CountTrues () const |
| Count the number of components that are true (true is when highest bit of component is set) More...
|
|
JPH_INLINE int | GetTrues () const |
| Store if X is true in bit 0, Y in bit 1, Z in bit 2 and W in bit 3 (true is when highest bit of component is set) More...
|
|
template<const uint Count> |
JPH_INLINE UVec4 | LogicalShiftLeft () const |
| Shift all components by Count bits to the left (filling with zeros from the left) More...
|
|
template<const uint Count> |
JPH_INLINE UVec4 | LogicalShiftRight () const |
| Shift all components by Count bits to the right (filling with zeros from the right) More...
|
|
template<const uint Count> |
JPH_INLINE UVec4 | ArithmeticShiftRight () const |
| Shift all components by Count bits to the right (shifting in the value of the highest bit) More...
|
|
JPH_INLINE UVec4 | Expand4Uint16Lo () const |
| Takes the lower 4 16 bits and expands them to X, Y, Z and W. More...
|
|
JPH_INLINE UVec4 | Expand4Uint16Hi () const |
| Takes the upper 4 16 bits and expands them to X, Y, Z and W. More...
|
|
JPH_INLINE UVec4 | Expand4Byte0 () const |
| Takes byte 0 .. 3 and expands them to X, Y, Z and W. More...
|
|
JPH_INLINE UVec4 | Expand4Byte4 () const |
| Takes byte 4 .. 7 and expands them to X, Y, Z and W. More...
|
|
JPH_INLINE UVec4 | Expand4Byte8 () const |
| Takes byte 8 .. 11 and expands them to X, Y, Z and W. More...
|
|
JPH_INLINE UVec4 | Expand4Byte12 () const |
| Takes byte 12 .. 15 and expands them to X, Y, Z and W. More...
|
|
JPH_INLINE UVec4 | ShiftComponents4Minus (int inCount) const |
| Shift vector components by 4 - Count floats to the left, so if Count = 1 the resulting vector is (W, 0, 0, 0), when Count = 3 the resulting vector is (Y, Z, W, 0) More...
|
|
template<uint32 SwizzleX, uint32 SwizzleY, uint32 SwizzleZ, uint32 SwizzleW> |
UVec4 | Swizzle () const |
|
template<const int Scale> |
UVec4 | sGatherInt4 (const uint32 *inBase, UVec4Arg inOffsets) |
|
template<const uint Count> |
UVec4 | LogicalShiftLeft () const |
|
template<const uint Count> |
UVec4 | LogicalShiftRight () const |
|
template<const uint Count> |
UVec4 | ArithmeticShiftRight () const |
|
|
static JPH_INLINE UVec4 | sZero () |
| Vector with all zeros. More...
|
|
static JPH_INLINE UVec4 | sReplicate (uint32 inV) |
| Replicate int inV across all components. More...
|
|
static JPH_INLINE UVec4 | sLoadInt (const uint32 *inV) |
| Load 1 int from memory and place it in the X component, zeros Y, Z and W. More...
|
|
static JPH_INLINE UVec4 | sLoadInt4 (const uint32 *inV) |
| Load 4 ints from memory. More...
|
|
static JPH_INLINE UVec4 | sLoadInt4Aligned (const uint32 *inV) |
| Load 4 ints from memory, aligned to 16 bytes. More...
|
|
template<const int Scale> |
static JPH_INLINE UVec4 | sGatherInt4 (const uint32 *inBase, UVec4Arg inOffsets) |
| Gather 4 ints from memory at inBase + inOffsets[i] * Scale. More...
|
|
static JPH_INLINE UVec4 | sMin (UVec4Arg inV1, UVec4Arg inV2) |
| Return the minimum value of each of the components. More...
|
|
static JPH_INLINE UVec4 | sMax (UVec4Arg inV1, UVec4Arg inV2) |
| Return the maximum of each of the components. More...
|
|
static JPH_INLINE UVec4 | sEquals (UVec4Arg inV1, UVec4Arg inV2) |
| Equals (component wise) More...
|
|
static JPH_INLINE UVec4 | sSelect (UVec4Arg inV1, UVec4Arg inV2, UVec4Arg inControl) |
| Component wise select, returns inV1 when highest bit of inControl = 0 and inV2 when highest bit of inControl = 1. More...
|
|
static JPH_INLINE UVec4 | sOr (UVec4Arg inV1, UVec4Arg inV2) |
| Logical or (component wise) More...
|
|
static JPH_INLINE UVec4 | sXor (UVec4Arg inV1, UVec4Arg inV2) |
| Logical xor (component wise) More...
|
|
static JPH_INLINE UVec4 | sAnd (UVec4Arg inV1, UVec4Arg inV2) |
| Logical and (component wise) More...
|
|
static JPH_INLINE UVec4 | sNot (UVec4Arg inV1) |
| Logical not (component wise) More...
|
|
static JPH_INLINE UVec4 | sSort4True (UVec4Arg inValue, UVec4Arg inIndex) |
|