public:
ProgramData(const Program * = 0);
ProgramData(const ProgramData &);
+ ProgramData(const ProgramData &, const Program *);
ProgramData &operator=(const ProgramData &);
~ProgramData();
void uniform4(const std::string &, const float *);
void uniform(const std::string &, const LinAl::Matrix<float, 2, 2> &);
void uniform_matrix2(const std::string &, const float *);
+ void uniform(const std::string &, const LinAl::Matrix<float, 2, 3> &);
+ void uniform_matrix3x2(const std::string &, const float *);
+ void uniform(const std::string &, const LinAl::Matrix<float, 2, 4> &);
+ void uniform_matrix4x2(const std::string &, const float *);
+ void uniform(const std::string &, const LinAl::Matrix<float, 3, 2> &);
+ void uniform_matrix2x3(const std::string &, const float *);
void uniform(const std::string &, const LinAl::Matrix<float, 3, 3> &);
void uniform_matrix3(const std::string &, const float *);
+ void uniform(const std::string &, const LinAl::Matrix<float, 3, 4> &);
+ void uniform_matrix4x3(const std::string &, const float *);
+ void uniform(const std::string &, const LinAl::Matrix<float, 4, 2> &);
+ void uniform_matrix2x4(const std::string &, const float *);
+ void uniform(const std::string &, const LinAl::Matrix<float, 4, 3> &);
+ void uniform_matrix3x4(const std::string &, const float *);
void uniform(const std::string &, const Matrix &);
void uniform_matrix4(const std::string &, const float *);
void uniform1_array(const std::string &, unsigned, const int *);
void uniform4_array(const std::string &, unsigned, const int *);
void uniform4_array(const std::string &, unsigned, const float *);
void uniform_matrix2_array(const std::string &, unsigned, const float *);
+ void uniform_matrix3x2_array(const std::string &, unsigned, const float *);
+ void uniform_matrix4x2_array(const std::string &, unsigned, const float *);
+ void uniform_matrix2x3_array(const std::string &, unsigned, const float *);
void uniform_matrix3_array(const std::string &, unsigned, const float *);
+ void uniform_matrix4x3_array(const std::string &, unsigned, const float *);
+ void uniform_matrix2x4_array(const std::string &, unsigned, const float *);
+ void uniform_matrix3x4_array(const std::string &, unsigned, const float *);
void uniform_matrix4_array(const std::string &, unsigned, const float *);
void remove_uniform(const std::string &);
std::vector<std::string> get_uniform_names() const;
const Uniform &get_uniform(const std::string &) const;
+ const Uniform *find_uniform(const std::string &) const;
private:
static bool uniform_name_compare(const NamedUniform &, const std::string &);