问题描述
我正在使用计算着色器来加速 3D 空间计算的并行处理。着色器给我编译错误“polygonize”中的着色器错误:语法错误:polygonize.compute(10) 处的内核 polygonize 处的意外标记“struct”(在 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;
};