【发布时间】:2012-08-04 07:03:04
【问题描述】:
我正在尝试在英特尔卡上运行我的着色器。我发现不能将采样器类型声明为结构字段...令人失望。
我的着色器在 NVIDIA 平台上编译和运行良好,带有采样器数组和带有采样器字段的结构。我知道 NVIDIA 平台比其他平台更宽松,w.t.r. GLSL 语法,但我认为应该允许在结构和数组中使用采样器类型。
但是,在阅读了this 页面之后,我变得更加困惑。特别是,我发现以下引文很有趣:
采样器类型的数组是特殊的。在 GLSL 3.30 版本下,采样器 可以声明数组
结构不能包含采样器类型的变量。
所以,我研究了 GLSL 规范,在搜索时我发现采样器类型是基本类型(第 4.1 段),数组可以由基本类型(para)组成,结构成员声明也是如此(第 4.1.9 段)。是我误解了规范,还是英特尔驱动程序太“严格”?
有人可以指出这个问题吗?最后一个问题应该是“采样器类型是否被认为是基本类型?”
【问题讨论】: