unsigned int ShaderProgramGL::createProgram(int vs, int fs, const VertexDeclarationGL* decl) { int p = oxglCreateProgram(); oxglAttachShader(p, vs); oxglAttachShader(p, fs); for (int i = 0; i < decl->numElements; ++i) oxglBindAttribLocation(p, decl->elements[i].index, decl->elements[i].name); oxglLinkProgram(p); std::string log; bool success = getProgramBuildLog(p, log); if (success) { //log::messageln("compiled shader: %s", log.c_str()); } else { log::error("can't link gl program: %s", log.c_str()); oxglDeleteProgram(p); p = 0; } CHECKGL(); return p; }
unsigned int ShaderProgramGL::createProgram(int vs, int fs, const VertexDeclarationGL *decl) { int p = oxglCreateProgram(); oxglAttachShader(p, vs); oxglAttachShader(p, fs); for (int i = 0; i < decl->numElements; ++i) oxglBindAttribLocation(p, decl->elements[i].index, decl->elements[i].name); oxglLinkProgram(p); CHECKGL(); return p; }