所以我使用的这个HLSL结构在使用时在VS2015中成功编译:
struct SpatialHashingCellData
{
uint count;
uint specks[MAX_SPECKS_PER_CELL];
};
它的使用方式如下:
gSPCells[cellID].specks[posToWrite]= speckIndex;
但后来我切换到VS2017并且我必须进行此更改才能编译,因为出现了错误: 内部错误:预期的l值
struct SpatialHashingCellData
{
uint count;
struct { uint index; } specks[MAX_SPECKS_PER_CELL];
};
......并改变了:
gSPCells[cellID].specks[posToWrite].index = speckIndex;
我不知道这里发生了什么,我觉得有点蠢。希望有人能为我清除这一点,请:)
祝你好运, 博