所以我有这个 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;
不知道这里发生了什么,我觉得有点愚蠢。希望有人能帮我解决这个问题,拜托:)
最好的问候,博扬