我正在尝试在英特尔卡上运行我的着色器。我发现不能将采样器类型声明为结构字段......这令人失望。
我的着色器在 NVIDIA 平台上编译和运行良好,带有采样器数组和带有采样器字段的结构。我知道 NVIDIA 平台比其他平台更宽松,使用 GLSL 语法,但我认为应该在结构和数组中允许采样器类型。
但是,在阅读了这一页之后,我变得更加困惑。特别是,我发现以下引文很有趣:
采样器类型的数组是特殊的。在 GLSL 3.30 版本下,可以声明采样器数组
结构不能包含采样器类型的变量。
因此,我对 GLSL 规范进行了调查,在搜索时我发现基本类型中的采样器类型(第 4.1 段),数组可以由基本类型(第 4 段)组成,结构成员声明也是如此(第 4.1 段)。 9)。我是否误解了规范,或者英特尔驱动程序过于“严格”?
有人可以指出这个问题吗?最后一个问题应该是“采样器类型是否被认为是基本类型?”