如何访问和初始化 simd 类型的组件?

How to access and initialize components of simd types?

我有一些 simd_float3 和 simd_float4x4 类型的变量。 如何访问单个组件,例如 float3 的 y 组件?

当我有一个由 16 个浮点数组成的数组时,如何初始化 float4x4?

使用simd_matrix();例如:

_transform = simd_matrix(
    (simd_float4){ sxc,     -sxs,   0.0f,   0.0f },
    (simd_float4){ sys,     syc,    0.0f,   0.0f },
    (simd_float4){ 0.0f,    0.0f,   1.0f,   0.0f },
    (simd_float4){ tx,      ty,     0.0f,   1.0f }
);

相关函数有simd_make_float2(0.0f, 0.0f)

您可以像访问数组一样访问元素; x[0]y[1],等等

Documentation.