Dela via


Vektortyp

En vektor är en datatyp som innehåller mellan en och fyra skalär komponenter. Varje komponent i en vektor måste vara av samma typ.

Typdeklaration

Du kan deklarera vektorvariabler med hjälp av skalär typ namnet på vektorns innehåll med antalet komponenter som den innehåller:

TypeComponents Name

Om Type är skalär typ av var och en av komponenterna är Components ett konstant heltalsuttryck mellan 1 och 4 som anger antalet komponenter och Name är en ASCII-sträng som unikt identifierar variabelnamnet.

Exempel:

int     iScalar;     // integer scalar
int1    iVector = 1; // vector containing one integer
float3  fVector = { 0.2f, 0.3f, 0.4f }; // vector containing three floats

Deklaration i mallformat

En alternativ deklarationssyntax använder vector nyckelords- och mallargument för att ange skalär typ och antal komponenter:

vector <Type=float, Components=4> Name

Där återigen Type är den skalära typen för var och en av komponenterna är Components ett heltal mellan 1 och 4 som anger antalet komponenter, men de anges inom vinkelparenteser i mallformat. Name är en ASCII-sträng som unikt identifierar variabelnamnet,

Observera att standardinställningen för mallparametern tillåter att 4-komponentvektorer av en viss typ anges genom att den sista parametern eller 4-komponentens flyttalsvektorer utelämnas genom att båda utelämnas.

Här följer några exempel:

vector <int,    1> iVector = 1;
vector <double, 4> dVector = { 0.2f, 0.3f, 0.4f, 0.5f };
vector <float16_t> hVector = { 0.1f, 0.2f, 0.3f, 0.4f };     // Defaults to 4-component float16 vector
vector             fVector = { -0.4f, -0.3f, -0.2f, -0.1f }; // Defaults to 4-component float vector

Se även

datatyper (DirectX HLSL)