2

所以我有这个 HLSL 结构,使用时在 VS2015 中编译成功:

struct SpatialHashingCellData
{
    uint count;
    uint specks[MAX_SPECKS_PER_CELL];
};

它是这样使用的:

    gSPCells[cellID].specks[posToWrite]= speckIndex;

但后来我切换到 VS2017,我必须进行这个更改才能编译它,因为出现错误: 内部错误:预期 l-value

struct SpatialHashingCellData
{
    uint count;
    struct { uint index; } specks[MAX_SPECKS_PER_CELL];
};

...并改变:

    gSPCells[cellID].specks[posToWrite].index = speckIndex;

不知道这里发生了什么,我觉得有点愚蠢。希望有人能帮我解决这个问题,拜托:)

最好的问候,博扬

4

0 回答 0