1. ホーム
  2. arrays

ユニフォームのGLSL配列の作成?

2023-07-10 07:03:15

質問

OpenGLのライトを残して、自分で作りたいと思っています。 私は、私のシェーダーがライトの数を変えることを可能にすることを望みます。

GLSLシェーダでユニフォームの配列を宣言することはできますか? もしそうなら、どのようにそれらのユニフォームの値を設定するのでしょうか?

どのように解決するのでしょうか?

はい、これは可能です。C言語で行うのと同じように、一様な配列を宣言します。

uniform float v[10];

次に、これらの値を設定するために glUniform{1,2,3,4}{f,i}v

GLfloat v[10] = {...};
glUniform1fv(glGetUniformLocation(program, "v"), 10, v);