sampler2D 占用多少个位置?

How much locations do sampler2D take?

让我们考虑以下着色器代码:

layout(location = 0) uniform sampler2D someTexture;
layout(location = ?) uniform int someInteger

我怎么知道用什么替换问号? sampler2D 占用多少位置?

非聚合类型的所有单个变量占用一个 uniform 位置。向量、矩阵、yes 采样器和其他不透明类型都占用一个位置。

这不同于顶点 shader/fragment 着色器 input/output 变量。