我正在尝试通过surface<void, 2>
. 该数组具有通道格式{32, 32, 0, 0, cudaChannelFormatKindFloat}
,或者更简单地说,保存vector2
s。
我正在尝试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
向量的分量被写入。这种稍微不直观的行为的原因是什么?