+unsigned TexUnit::get_n_units()
+{
+ static int count = -1;
+ if(count<0)
+ {
+ if(is_version_at_least(2, 0) || is_supported("ARB_vertex_shader"))
+ glGetIntegerv(GL_MAX_TEXTURE_IMAGE_UNITS, &count);
+ else if(is_version_at_least(1, 3))
+ glGetIntegerv(GL_MAX_TEXTURE_UNITS, &count);
+ else
+ count = 1;
+ }
+ return count;
+}
+