static void exec(const std::vector<unsigned> &TU, GLuint TexId, Args... args)
 {
     BindTextureShadow(TU[N], TexId);
     BindTexture<tp...>::template exec<N + 1>(TU, args...);
 }
 static void exec(const std::vector<unsigned> &TU, const std::vector<unsigned> &TexId, unsigned N)
 {
     BindTextureShadow(TU[N], TexId[N]);
     BindTexture<tp...>::exec(TU, TexId, N + 1);
 }