短的向量库

[本文档仅供预览,并可能在以后的版本中更改。 Blank topics are included as placeholders.]

短的向量库提供类型与 HLSL 定义的向量类型。 简短的向量提供编程短的向量很有用的泛型定义。

运算符

是重载的并且有效的两个 C++ 数值类型之间的任何一元或二元运算为短的向量有效的类型。 对于二元运算符,两个矢量必须具有相同的大小,结果是相同大小的矢量。 运算符在下表中所述。

二元运算符

所有类型:+, ), *,/,

整数类型:%, ^,|, &, <<, >>

关系运算符

== 和! =

复合赋值运算符

所有类型:+=, - =, *=,/=

整数类型:%=, ^=,|=, &=, <<=, >>=

增量和减量运算符

整数只键入:++,--,前缀和后缀。

按位 " 取非 " 运算符 (~)

整数只键入。

一元 )运算符

所有类型除 unorm 和 uint 类型。

准则和 unorm 类型

norm 和 unorm 类型是限制 float 一系列值的数据类型,调用 夹紧。 这些类型可从其他数据类型显式构造。 在强制转换,该值首先转换为 float 然后将夹紧到准则 [- 1.0 1.0] 或… unorm 允许的值单个区域 [0.0 1.0…]。 将 +/- 不返回 +=1。 将 Nan 是未定义的。 准则可以从 unorm 隐式构造,而不是数据丢失。 浮动隐式转换运算符在这些类型定义。 二元运算符定义在这些类型和其他内置数据类型 (如 float 和 int内:+, ), *,/, ==,! =, >, <, >=, <=。 复合赋值运算符还支持:+=, - =, *=,/=。 一元求反运算 (-) 为准则类型定义。

Swizzling 表达式

短的向量库支持 vector_type.identifier 访问器访问短矢量的元素。 (这个矢量的索引不支持。) identifier,即一个 swizzling 的表达式,该值指定矢量的元素。 该表达式可以是左值或 r 值。 在缩进的各个字符可能是:x, y, z, w, r, g, b,则, 0,1。 “x”首先只意味着 zeroth 元素, “y”表示等,并且, rgba 为 xyzw 是同义词的。 0 和 1 返回常数 0 和 1。 单个组件访问器,如 “x”, “y”等,返回值类型。 多格式说明符的访问器返回一个简短的向量类型。 下表显示了一些 swizzling 的表达式及其索引的等效项。 (请注意标记不受支持。 索引为阐释目的使用。)

Swizzling 表达式

索引表达式

double4 VA = myDouble2.y0x1;

double4 VA (myDouble2] [1, 0, myDouble2] [0, 1);

double4 VB = myDouble4.xxww;

double4 VB (myDouble4 [0], [myDouble4 0], [myDouble4 3], [] myDouble2 3);

double4 VC = myDouble3.rgb1;

double4 VC (myDouble3 [0], [myDouble4 1], [] myDouble4 2, 1);

本节

double_2 类

double_3 类

double_4 类

float_2 类

float_3 类

float_4 类

int_2 类

int_3 类

int_4 类

norm_2 类

norm_3 类

unorm_4 类

short_vector 结构

short_vector_traits 结构

uint_2 类

uint_3 类

uint_4 类

unorm_2 类

unorm_3 类

unorm_4 类