+ if(t==FRAGMENT_SHADER)
+ require_extension("GL_ARB_fragment_program");
+ else if(t==VERTEX_SHADER)
+ require_extension("GL_ARB_vertex_program");
+
+ id=glCreateShaderObjectARB(t);
+}
+
+Shader::Shader(ShaderType t, const string &src):
+ compiled(false)
+{
+ if(t==FRAGMENT_SHADER)
+ require_extension("GL_ARB_fragment_program");
+ else if(t==VERTEX_SHADER)
+ require_extension("GL_ARB_vertex_program");
+
+ id=glCreateShaderObjectARB(t);
+
+ source(src);
+ compile();