【问题标题】:Unexpected token struct in compute shader计算着色器中出现意外的令牌结构
【发布时间】:2021-04-29 04:34:15
【问题描述】:

我正在使用计算着色器来加速 3D 空间计算的并行处理。着色器给了我编译错误“Polygonize”中的着色器错误:语法错误:Polygonize.compute(10)(在 d3d11 上)内核 Polygonize 处的意外标记“struct”。 Polygonize.compute 是着色器文件。最奇怪的是第一个结构不会导致错误,但第二个结构会导致错误。这是代码:(后面还有,但错误发生在第二个结构的声明中)

#pragma kernel Polygonize


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

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

【问题讨论】:

  • @joreldraw 你在说什么?

标签: c# unity3d hlsl compute-shader


【解决方案1】:

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

应该是这样的

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

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

【讨论】:

    猜你喜欢
    • 2012-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多