【发布时间】:2014-12-20 14:43:20
【问题描述】:
所以我正在阅读“官方 OpenGL 指南”,在他们教授材质光照的部分中,他们突然在片段着色器中使用“平面”限定符作为输入变量。 我用谷歌搜索了这件事,我想出的只是“平面阴影”和“平滑阴影”以及它们之间的差异,我无法理解它与简单的“MatIndex”变量有何关系。 这是书中的示例代码:
struct MaterialProperties {
vec3 emission;
vec3 ambient;
vec3 diffuse;
vec3 specular;
float shininess;
};
// a set of materials to select between, per shader invocation
const int NumMaterials = 14;
uniform MaterialProperties Material[NumMaterials];
flat in int MatIndex; // input material index from vertex shader
这是怎么回事?
【问题讨论】: