X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fprogramdata.h;h=c367097bd886752fc94697ebfeb5c013acdffb64;hb=4af69ec90120a0be828a1ae475a38674087110b5;hp=08b117b4fbc2712842bfd2967f23201a29b18bcc;hpb=8dd40d3723cb2309ffcca5e041898a767cd7cdea;p=libs%2Fgl.git diff --git a/source/programdata.h b/source/programdata.h index 08b117b4..c367097b 100644 --- a/source/programdata.h +++ b/source/programdata.h @@ -155,6 +155,7 @@ private: public: ProgramData(const Program * = 0); ProgramData(const ProgramData &); + ProgramData(const ProgramData &, const Program *); ProgramData &operator=(const ProgramData &); ~ProgramData(); @@ -181,8 +182,20 @@ public: void uniform4(const std::string &, const float *); void uniform(const std::string &, const LinAl::Matrix &); void uniform_matrix2(const std::string &, const float *); + void uniform(const std::string &, const LinAl::Matrix &); + void uniform_matrix3x2(const std::string &, const float *); + void uniform(const std::string &, const LinAl::Matrix &); + void uniform_matrix4x2(const std::string &, const float *); + void uniform(const std::string &, const LinAl::Matrix &); + void uniform_matrix2x3(const std::string &, const float *); void uniform(const std::string &, const LinAl::Matrix &); void uniform_matrix3(const std::string &, const float *); + void uniform(const std::string &, const LinAl::Matrix &); + void uniform_matrix4x3(const std::string &, const float *); + void uniform(const std::string &, const LinAl::Matrix &); + void uniform_matrix2x4(const std::string &, const float *); + void uniform(const std::string &, const LinAl::Matrix &); + 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 *); @@ -194,12 +207,19 @@ public: 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 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 &);