我正在尝试通过surface<void, 2>. 该数组具有通道格式{32, 32, 0, 0, cudaChannelFormatKindFloat},或者更简单地说,保存vector2s。
我正在尝试vector2在整数坐标指示的位置处将 a 写入表面(x, y)。以下效果很好:
// write the float2 vector d to outSurf
surf2Dwrite(d.x, outSurf, x * sizeof(float2), y);
surf2Dwrite(d.y, outSurf, x * sizeof(float2) + sizeof(float), y);
但是,如果我这样做
surf2Dwrite(d, outSurf, x * sizeof(float2), y);
只有x向量的分量被写入。这种稍微不直观的行为的原因是什么?