void uniform_matrix4(const std::string &, const float *);
void uniform_matrix4(const std::string &, const Matrix &);
void uniform1_array(const std::string &, unsigned, const float *);
void uniform_matrix4(const std::string &, const float *);
void uniform_matrix4(const std::string &, const Matrix &);
void uniform1_array(const std::string &, unsigned, const float *);