structure XMFLOAT3SE (directxpackedvector.h)
Décrit un vecteur 3D de trois composants à virgule flottante avec des mantisses de 9 bits, chacun partageant le même exposant 5 bits.
Pour obtenir la liste des fonctionnalités supplémentaires, telles que les constructeurs et les opérateurs disponibles XMFLOAT3SE
lors de la programmation en C++, consultez extensions XMFLOAT3SE.
Syntaxe
struct XMFLOAT3SE {
union {
struct {
uint32_t xm : 9;
uint32_t ym : 9;
uint32_t zm : 9;
uint32_t e : 5;
};
uint32_t v;
};
void XMFLOAT3SE();
void XMFLOAT3SE(
const XMFLOAT3SE & unnamedParam1
);
XMFLOAT3SE & operator=(
const XMFLOAT3SE & unnamedParam1
);
void XMFLOAT3SE(
XMFLOAT3SE && unnamedParam1
);
XMFLOAT3SE & operator=(
XMFLOAT3SE && unnamedParam1
);
void XMFLOAT3SE(
uint32_t Packed
) noexcept;
void XMFLOAT3SE(
float _x,
float _y,
float _z
) noexcept;
void XMFLOAT3SE(
const float *pArray
) noexcept;
void operator uint32_t() noexcept;
XMFLOAT3SE & operator=(
uint32_t Packed
) noexcept;
};
Membres
9 xm
Composant x 9 bits.
9 ym
Composant y 9 bits.
9 zm
Composant z 9 bits.
5 e
Exposant partagé 5 bits.
v
Entier 32 bits non signé représentant le vecteur 3D.
Constructeur par défaut pour XMFLOAT3SE
.
Constructeur par défaut pour XMFLOAT3SE.
void XMFLOAT3SE( const XMFLOAT3SE & unnamedParam1)
Constructeur pour XMFLOAT3SE
.
Constructeur pour XMFLOAT3SE.
XMFLOAT3SE & operator=( const XMFLOAT3SE & unnamedParam1)
void XMFLOAT3SE( XMFLOAT3SE && unnamedParam1)
Constructeur pour XMFLOAT3SE
.
Constructeur pour XMFLOAT3SE.
XMFLOAT3SE & operator=( XMFLOAT3SE && unnamedParam1)
void XMFLOAT3SE( uint32_t Packed) noexcept
Initialise une nouvelle instance de à partir d’une XMFLOAT3SE
uint32_t
variable contenant des données de composant dans un format packed.
Ce constructeur initialise une nouvelle instance de XMFLOAT3SE à partir d’une uint32_t
variable contenant des données de composant dans un format packé.
void XMFLOAT3SE( float _x, float _y, float _z) noexcept
Initialise une nouvelle instance de à partir de XMFLOAT3SE
trois float
arguments.
Ce constructeur initialise une nouvelle instance de XMFLOAT3SE à partir de trois float
arguments.
void XMFLOAT3SE( const float *pArray) noexcept
Initialise une nouvelle instance de XMFLOAT3SE à partir d’un argument de tableau à trois élémentsfloat
.
Ce constructeur initialise une nouvelle instance de XMFLOAT3SE à partir d’un argument de tableau flottant à trois éléments.
void, opérateur uint32_t() noexcept
Retourne une instance de uint32_t
contenir les composants du XMFLOAT3SE
instance dans un format compressé.
Cet opérateur retourne une instance de uint32_t
contenir les composants du XMFLOAT3SE instance dans un format packé.
XMFLOAT3SE & operator=( uint32_t Packed) noexcept
Cet opérateur affecte les données du composant vectoriel emballées dans un instance de uint32_t
à la instance actuelle de XMFLOAT3SE.
Remarques
Les valeurs des trois composants d’un instance de XMFLOAT3SE
sont stockées dans le v de l’instance au format suivant : le membre e de la XMFLOAT3SE
structure - l’exposant partagé par les mantisses des valeurs à virgule flottante des trois composants de XMFLOAT3SE
- est stocké dans l’ordre le plus élevé de la valeur renvoyée, et la mantisse du composant x stockée dans les bits les moins significatifs.
(E5Z9Y9X9): [31] EEEEEzzz zzzzzzyy yyyyyyyx xxxxxxxx [0]
Ou en détail :
- Les bits 0-8 de Packed sont les mantisses 9 bits de la valeur à virgule flottante du composant x : le membre xm de la structure actuelle.
- Les bits 9 à 17 de Packed sont les mantisses de 9 bits de la valeur à virgule flottante du composant y : le membre ym de la structure actuelle.
- Les bits 18 à 26 de Packed sont les mantisses de 9 bits de la valeur à virgule flottante du composant z : le membre zm de la structure actuelle.
- Les bits 27-31 de Packed sont l’exposant 5 bits utilisé avec les mantisses stockées (xm, ym, zm) pour représenter la taille de chaque composant : le membre e de la structure actuelle.
XMFLOAT3SE
structure, toutes les valeurs de composant sont positives.
XMFLOAT3SE
peut être chargé dans des instances de XMVECTOR à l’aide de XMLoadFloat3SE.
Les instances de XMVECTOR
peuvent être stockées dans un instance de XMFLOAT3SE
avec XMStoreFloat3SE.
Noms: Utiliser DirectX ::P ackedVector
Configuration requise pour la plateforme
Microsoft Visual Studio 2010 ou Microsoft Visual Studio 2012 avec le SDK Windows pour Windows 8. Pris en charge pour les applications de bureau Win32, les applications du Windows Store et les applications Windows Phone 8.Configuration requise
En-tête | directxpackedvector.h |