uniform(name, new UniformArray<Uniform4f>(n, v));
}
+void ProgramData::uniform_matrix2_array(const string &name, unsigned n, const float *v)
+{
+ uniform(name, new UniformArray<UniformMatrix2x2f>(n, v));
+}
+
+void ProgramData::uniform_matrix3_array(const string &name, unsigned n, const float *v)
+{
+ uniform(name, new UniformArray<UniformMatrix3x3f>(n, v));
+}
+
void ProgramData::uniform_matrix4_array(const string &name, unsigned n, const float *v)
{
uniform(name, new UniformArray<UniformMatrix4x4f>(n, v));
ProgramData::ProgramBlock::ProgramBlock(int p, SharedBlock *b):
bind_point(p),
- block(b ? b->block : 0),
+ block((b && b->used) ? b->block : 0),
shared(b)
{ }