OPENGL编译及链接过程中如果出现问题,会直接白屏,没有错误信息,导致查找错误点比较困难。可以在编译后面及链接语句后面加上错误信息打印程序。下面是子程序代码,要用的直击拷走。
void Error_Compile(GLuint vshader,GLuint fshader)
{
const GLubyte *glrenderer=glGetString(GL_VERSION);
printf("GL Version:%s\n",glrenderer);
GLint vresult,fresult;
glGetShaderiv(vshader,GL_COMPILE_STATUS,&vresult);
if(vresult==GL_FALSE)
{
printf("Vertex shader compilation failed.\n");
}
glGetShaderiv(fshader,GL_COMPILE_STATUS,&fresult);
if(fresult==GL_FALSE)
{
printf("Frag shader compilation failed.\n");
}
GLint vLogLen=0;
glGetShaderiv(vshader,GL_INFO_LOG_LENGTH,&vLogLen);
if(vLogLen>1)
{
char *log=new char[vLogLen];
GLsizei vwritten;
glG