頂点シェーダーで構造を定義します。
#version 110
struct LightSourceParameters {
vec4 ambient;
vec4 diffuse;
vec4 specular;
vec4 position;
};
単一のライトのインスタンスを宣言します
uniform LightSourceParameters light;
しかし、ライトのパラメーターを取得しようとすると失敗します ( i < 0 )
name = "light.ambient"
GLint i = glGetUniformLocation(program, name );
// i == -1
構造体を参照できないことはわかっていますが、ここでは正確なフィールドを参照しています。何が間違っている可能性がありますか?〜