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
|