0

我有一个声明了以下制服的着色器:

均匀的 highp 浮动 fr;

在我的渲染方法中,它被相应地设置:

GLfloat num = 1.0f;
glUniform1f(glGetUniformLocation(self.Program, "fr"), num);

但它根本没有设置。这些看起来很基本,所以我不明白为什么它不起作用。我使用了正确的语法吗?

4

2 回答 2

1

也许你没有在着色器代码中使用这个 fr 值?然后编译器会使其处于非活动状态,并且不会真正将其包含在编译程序中,glGetUniformLocation 会返回 -1 左右的索引。检查您的着色器以及 glGetUniformLocation 返回的值。

干杯, Krzysztof Zabłocki

于 2011-06-14T06:21:19.737 回答
0

我发现了我的问题。

在调用使用程序之前,我正在设置制服。对于找到此答案的任何人,请确保在为该程序设置制服之前致电使用程序。

于 2011-06-16T09:20:28.437 回答