全然知らんのだけど、
プログラマブルシェーダって、例えば

シーン中にライトをOn/Offしたりとか、ステートが動的に変化する場合でも
一つのシェーダを使いまわせるんですか?

それとも、ライトの数に応じたシェーダを複数用意しておいて切り替えながら使うとか、
非効率を覚悟で常にライトの最大個数用のシェーダを使うとか、
ライトは一つに制限したりとか
しなきゃいけないんですか?