Skip to content

Latest commit

 

History

History
149 lines (104 loc) · 4.32 KB

ns-directxpackedvector-xmfloat3se.md

File metadata and controls

149 lines (104 loc) · 4.32 KB
UID title description helpviewer_keywords old-location tech.root ms.assetid ms.date ms.keywords req.header req.include-header req.target-type req.target-min-winverclnt req.target-min-winversvr req.kmdf-ver req.umdf-ver req.ddi-compliance req.unicode-ansi req.idl req.max-support req.namespace req.assembly req.type-library req.lib req.dll req.irql targetos req.typenames req.redist ms.custom f1_keywords dev_langs topic_type api_type api_location api_name
NS:directxpackedvector.XMFLOAT3SE
XMFLOAT3SE (directxpackedvector.h)
Describes a 3D vector of three floating-point components with 9 bit mantissas, each sharing the same 5-bit exponent.
XMFLOAT3SE
XMFLOAT3SE structure [DirectX Math Support APIs]
directxpackedvector/XMFLOAT3SE
dxmath.xmfloat3se
dxmath\xmfloat3se.htm
dxmath
T:Microsoft.directx_sdk.reference.XMFLOAT3SE
12/05/2018
XMFLOAT3SE, XMFLOAT3SE structure [DirectX Math Support APIs], directxpackedvector/XMFLOAT3SE, dxmath.xmfloat3se
directxpackedvector.h
Windows
Windows
19H1
XMFLOAT3SE
directxpackedvector/XMFLOAT3SE
c++
APIRef
kbSyntax
HeaderDef
DirectXPackedVector.h
XMFLOAT3SE

-description

Describes a 3D vector of three floating-point components with 9 bit mantissas, each sharing the same 5-bit exponent.

For a list of additional functionality such as constructors and operators that are available using XMFLOAT3SE when you are programming in C++, see XMFLOAT3SE Extensions.

-struct-fields

-field v

Unsigned 32-bit integer representing the 3D vector.

-field e : 5

The 5-bit shared exponent.

-field xm : 9

The 9-bit x component.

-field ym : 9

The 9-bit y component.

-field zm : 9

The 9-bit z component.

-remarks

The values of the three components of an instance of XMFLOAT3SE are stored in the v of the instance in the following format: the e member of the XMFLOAT3SE structure -- the exponent shared by the mantissas of the floating point values of all three components of XMFLOAT3SE -- is stored in the highest order bits of the return value, and the mantissa of the x component stored in the least significant bits.


   (E5Z9Y9X9): [31] EEEEEzzz zzzzzzyy yyyyyyyx xxxxxxxx [0]

Or in detail:

  • Bits 0-8 of Packed are the 9 bit mantissa of the x component's floating point value: the xm member of the current structure.
  • Bits 9-17 of Packed are the 9 bit mantissa of the y component's floating point value: the ym member of the current structure.
  • Bits 18-26 of Packed are the 9 bit mantissa of the z component's floating point value: the zm member of the current structure.
  • Bits 27-31 of Packed are the 5 bit exponent used with the stored mantissas (xm, ym, zm) to represent the size of each component: the e member of the current structure.
As there are no sign bits in the format for storing the components in the XMFLOAT3SE structure, all component values are positive.

XMFLOAT3SE can be loaded into instances of XMVECTOR by using XMLoadFloat3SE.

Instances of XMVECTOR can be stored into an instance of XMFLOAT3SE with XMStoreFloat3SE.

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.

-see-also

DirectXMath Library Structures

XMFLOAT3SE Extensions