GLfloatをユニフォームとして渡すと失敗します(ios)

iphone opengl-es uniform
GLfloatをユニフォームとして渡すと失敗します(ios)

次のユニフォームが宣言されているシェーダーがあります。

均一な高フロートfr;

私のレンダリング方法では、それに応じて設定されます:

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

しかし、それはまったく設定されません。 これらは非常に基本的なように見えるので、なぜ機能していないのかわかりません。 正しい構文を使用しましたか?

  0  0


ベストアンサー

シェーダーコードでこのfr値を使用していないのでしょうか? その後、コンパイラは非アクティブなユニフォームを作成し、コンパイルされたプログラムに実際には含めません。glGetUniformLocationは-1などのインデックスを返します。 シェーダーとglGetUniformLocationによって返される値を確認してください。

乾杯、クシシュトフザブウォツキ

1


問題が見つかりました。

use programを呼び出す前にユニフォームを設定していました。 この答えを見つけた人は、そのプログラムのユニフォームを設定する前にuseプログラムを呼び出してください。

0


タイトルとURLをコピーしました