XMDECN4 structure (directxpackedvector.h)
A 4D vector for storing signed, normalized values as 10 bit signed x-,y-, and z- components and a 2 bit signed w-component.
For a list of additional functionality such as constructors and operators that are available
using XMDECN4
when you are programming in C++, see XMDECN4 Extensions.
Syntax
struct XMDECN4 {
union {
struct {
int32_t x : 10;
int32_t y : 10;
int32_t z : 10;
int32_t w : 2;
};
uint32_t v;
};
void XMDECN4();
void XMDECN4(
const XMDECN4 & unnamedParam1
);
XMDECN4 & operator=(
const XMDECN4 & unnamedParam1
);
void XMDECN4(
XMDECN4 && unnamedParam1
);
XMDECN4 & operator=(
XMDECN4 && unnamedParam1
);
void XMDECN4(
uint32_t Packed
) noexcept;
void XMDECN4(
float _x,
float _y,
float _z,
float _w
) noexcept;
void XMDECN4(
const float *pArray
) noexcept;
void operator uint32_t() noexcept;
XMDECN4 & 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
Signed integer value in the range [-1, 1] describing the w-coordinate of the vector.
v
Unsigned 32-bit integer representing the 4D vector.
Default constructor for XMDECN4
.
Default constructor for XMDECN4 .
void XMDECN4( const XMDECN4 & unnamedParam1)
A constructor for XMDECN4
.
A constructor for XMDECN4.
XMDECN4 & operator=( const XMDECN4 & unnamedParam1)
void XMDECN4( XMDECN4 && unnamedParam1)
A constructor for XMDECN4
.
A constructor for XMDECN4.
XMDECN4 & operator=( XMDECN4 && unnamedParam1)
Assigns the vector component data from one instance of XMDECN4 to the current instance of XMDECN4.
This operator assigns the vector component data from one instance of XMDECN4 to the current instance of XMDECN4.
void XMDECN4( uint32_t Packed) noexcept
Initializes a new instance of XMDECN4
from a uint32_t
variable containing
component data in a packed format.
This constructor initializes a new instance of XMDECN4 from a
uint32_t
variable containing component data in a packed format.
void XMDECN4( float _x, float _y, float _z, float _w) noexcept
Initializes a new instance of XMDECN4
from four normalized float
arguments.
This constructor initializes a new instance of XMDECN4 from four
normalized float
arguments.
void XMDECN4( const float *pArray) noexcept
Initializes a new instance of XMDECN4 from a four element float
array argument.
This constructor initializes a new instance of XMDECN4 from a four element float
array argument.
void operator uint32_t() noexcept
Returns an instance of uint32_t
containing the components of the XMDECN4
instance in a packed format.
Returns an instance of uint32_t
containing the components of the XMDECN4 instance in a packed format.
XMDECN4 & operator=( uint32_t Packed) noexcept
This operator assigns the vector component data packed in an instance of uint32_t
to the current instance of XMDECN4.
Remarks
Those XMDECN4
constructors using floating point arguments require normalized input,
which must be in the range of [-1.0.-1.0]. During instantiation, the inputs
specifying the x-, y-, and z-components are then multiplied by 511.0f, the results are
rounded and then assigned to the appropriate members of XMDECN4
.
XMDECN4
can be used to load instances of XMVECTOR from
normalized values, by using XMLoadDecN4, which divides the x-, y-, and
z-components by 511.0f, rounds the result, and then assigns the components to
an XMVECTOR
instance.
XMVECTOR
instances containing normalized values can be stored into XMDECN4
using XMStoreDecN4, which multiplies the x-, y-,and z-components by
511.0f , rounding the result, before assigning the values to the appropriate XMDECN4
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 |