3

xcode 使用 clang,因此您可以使用像

typedef float float4 __attribute__((ext_vector_type(4)));

当我使用初始化向量时

float4 v = (float4)(1.0f, 2.0f, 3.0f, 4.0f);

那么所有 4 个组件都是 4.0。是否有可能在 xcode 中启用 clang 的向量构造函数?

4

1 回答 1

2

问题在于,使用 C(和 C++)语法,当你这样做时(x, y, z, w)逗号操作符使得你得到的只是4.0f. 当分配给 afloat4时,它变成一个所有组件都设置为 的向量4.0f

使用方括号代替圆括号,如下所示:

float4 v = {1, 2, 3, 4};

这将为您提供一个 x=1、y=2、z=3 和 w=4 的向量。

于 2013-05-12T20:49:19.853 回答