计算着色器中的意外令牌结构

Unexpected token struct in compute shader

我正在使用计算着色器来加速 3D space 计算的并行处理。着色器给我编译错误 Shader error in 'Polygonize': syntax error: unexpected token 'struct' at kernel Polygonize at Polygonize.compute(10) (on d3d11). Polygonize.compute 是着色器文件。最奇怪的是,第一个结构不会导致错误,但第二个结构会导致错误。这是代码:(后面还有更多,但是错误发生在第二个结构的声明处)

#pragma kernel Polygonize


struct Points {
  float value;
  int material;
  float3 location;
}

struct vertex {
  float3 location;
  bool weld;
  int weldnumber;
}

着色器中的 Afaik (HLSL) 结构的定义以 ;

结尾

应该是

struct Points {
  float value;
  int material;
  float3 location;
};

struct vertex {
  float3 location;
  bool weld;
  int weldnumber;
};