void SetTextureUnits(const std::vector<GLuint> &args) { assert(args.size() == sizeof...(tp) && "Too much texture unit provided"); if (getGLSLVersion() >= 330) { for (unsigned i = 0; i < args.size(); i++) { setTextureSampler(TextureType[i], TextureUnits[i], args[i], SamplersId[i]); } } else BindTexture<tp...>::exec(TextureUnits, args, 0); }
void SetTextureUnits_impl(GLuint texid, TexIds... args) { setTextureSampler(TextureType[N], TextureUnits[N], texid, SamplersId[N]); SetTextureUnits_impl<N + 1>(args...); }