int installShaders(const GLcharARB *Vertex,
const GLcharARB *Fragment)
{
GLhandleARB Prog, VS, FS;
GLint vertCompiled, fragCompiled;
GLint linked;
VS = glCreateShaderObjectARB(GL_VERTEX_SHADER_ARB);
FS = glCreateShaderObjectARB(GL_FRAGMENT_SHADER_ARB);
glShaderSourceARB(VS,1,&Vertex, NULL);
glShaderSourceARB(FS,1,&Fragment, NULL);
glCompileShaderARB(VS);
glGetObjectParameterivARB(VS, GL_OBJECT_COMPILE_STATUS_ARB, &vertCompiled);
glCompileShaderARB(FS);
glGetObjectParameterivARB(VS,GL_OBJECT_COMPILE_STATUS_ARB,&fragCompiled);
if(!vertCompiled)
{
cout <<"\nVertexshader: nix compilieren gehen!";
return 0;
}
if(!fragCompiled)
{
cout <<"\nFragmentshader: nix compilieren gehen!";
return 0;
}
Prog=glCreateProgramObjectARB();
glAttachObjectARB(Prog,VS);
glAttachObjectARB(Prog,FS);
glLinkProgramARB(Prog);
glGetObjectParameterivARB(Prog,GL_OBJECT_LINK_STATUS_ARB,&linked);
if(!linked)
{
cout <<"\nKonnte Shader nicht linken!";
return 0;
}
glUseProgramObjectARB(Prog);
cout<<"\nshader installiert!";
return 1;
}