Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
A 4D vector for storing signed, normalized values as 10 bit signed x-,y-, and z- components and an unsigned, normalized value as 2 bit unsigned w-component.
For a list of additional functionality such as constructors and operators that are available
using XMXDECN4 when you are programming in C++, see XMXDECN4 Extensions.
Syntax
struct XMXDECN4 {
union {
struct {
int32_t x : 10;
int32_t y : 10;
int32_t z : 10;
uint32_t w : 2;
};
uint32_t v;
};
void XMXDECN4();
void XMXDECN4(
const XMXDECN4 & unnamedParam1
);
XMXDECN4 & operator=(
const XMXDECN4 & unnamedParam1
);
void XMXDECN4(
XMXDECN4 && unnamedParam1
);
XMXDECN4 & operator=(
XMXDECN4 && unnamedParam1
);
void XMXDECN4(
uint32_t Packed
);
void XMXDECN4(
float _x,
float _y,
float _z,
float _w
) noexcept;
void XMXDECN4(
const float *pArray
) noexcept;
void operator uint32_t() noexcept;
XMXDECN4 & operator=(
uint32_t Packed
) noexcept;
};
Members
x
Signed integer value in the range [-511, 511] describing the x-coordinate of the vector.
y
Signed integer value in the range [-511, 511] describing the y-coordinate of the vector.
z
Signed integer value in the range [-511, 511] describing the z-coordinate of the vector.
w
Unsigned integer value in the range [0, 3] describing the w-coordinate of the vector.
v
Unsigned 32-bit integer representing the 4D vector.
Default constructor for XMXDECN4.
Default constructor for XMXDECN4 .
void XMXDECN4( const XMXDECN4 & unnamedParam1)
A constructor for XMXDECN4 .
A constructor for XMXDECN4.
XMXDECN4 & operator=( const XMXDECN4 & unnamedParam1)
void XMXDECN4( XMXDECN4 && unnamedParam1)
A constructor for XMXDECN4 .
A constructor for XMXDECN4.
XMXDECN4 & operator=( XMXDECN4 && unnamedParam1)
Assigns the vector component data from one instance of XMXDECN4 to the current instance of XMXDECN4.
void XMXDECN4( uint32_t Packed)
Initializes a new instance of XMXDECN4 from a uint32_t variable containing
component data in a packed format.
This constructor initializes a new instance of XMXDECN4 from a
uint32_t variable containing component data in a packed format.
void XMXDECN4( float _x, float _y, float _z, float _w) noexcept
Initializes a new instance of XMXDECN4 from four normalized float arguments.
This constructor initializes a new instance of XMXDECN4 from four
normalized float arguments.
void XMXDECN4( const float *pArray) noexcept
Initializes a new instance of XMXDECN4 from a four element float array argument.
This constructor initializes a new instance of XMXDECN4 from a four element float array argument.
void operator uint32_t() noexcept
Returns an instance of uint32_t containing the components of the XMXDECN4 instance in a packed format.
Returns an instance of uint32_t containing the components of the XMXDECN4 instance in a packed format.
XMXDECN4 & operator=( uint32_t Packed) noexcept
Assigns the vector component data packed in an instance of uint32_t to the current
instance of XMXDECN4.
This operator assigns the vector component data packed in an instance of uint32_t to
the current instance of XMXDECN4.
Remarks
Those XMXDECN4 constructors using floating point arguments require normalized input,
which must be in the range of [-1.0.-1.0] for x-, y-, z-components and 0.0 for
the w-component. During instantiation, the inputs specifying the x-, y-, and
z-components are multiplied by 511.0f and the w-component by 3.0f, these results are
rounded and then assigned to the appropriate members of XMXDECN4.
XMXDECN4 can be used to load instances of XMVECTOR from normalized
values, by using XMLoadXDecN4, which divides the x-, y-, and
z-components by 511.0f, the w-component by 3.0f, rounds the result, and then assigns
the components to an XMVECTOR instance.
XMVECTOR instances containing normalized values can be stored into XMXDECN4 using XMStoreXDecN4, which multiplies the x-, y-,and z-components by
511.0f, the w-component by 3.0f, rounding the result, before assigning the values to the
appropriate XMXDECN4 members.
Namespace: Use DirectX::PackedVector
Platform Requirements
Microsoft Visual Studio 2010 or Microsoft Visual Studio 2012 with the Windows SDK for Windows 8. Supported for Win32 desktop apps, Windows Store apps, and Windows Phone 8 apps.Requirements
| Requirement | Value |
|---|---|
| Header | directxpackedvector.h |