予想だが、GLSLが使うライトの数を評価するのは
uniform変数は0
for文のイテレーター変数は増えない
0番目のライトのみデフォルトで取得
この条件下で行われるのかもしれない