- if(shdata)
- {
- if(link*16>=pose_data.size())
- pose_data.resize((link+1)*16);
- copy(m.data(), m.data()+16, &pose_data[link*16]);
- shdata->uniform_matrix4_array("pose", pose_data.size()/16, &pose_data[0]);
- }
-}
-
-ProgramData &AnimatedObject::get_shader_data()
-{
- if(!shdata)
- throw invalid_operation("AnimatedObject::get_shader_data");
- return *shdata;
-}
-
-const ProgramData &AnimatedObject::get_shader_data() const
-{
- if(!shdata)
- throw invalid_operation("AnimatedObject::get_shader_data");
- return *shdata;
+ if(link*16>=pose_data.size())
+ pose_data.resize((link+1)*16);
+ copy(m.data(), m.data()+16, &pose_data[link*16]);
+ shdata.uniform_matrix4_array("pose", pose_data.size()/16, &pose_data[0]);