Roi Atalla avatar Roi Atalla committed 1270b08

Printing info log for shaders and programs if the string is not null.

Comments (0)

Files changed (1)

src/main/java/com/ra4king/opengl/util/ShaderProgram.java

 		
 		glCompileShader(vs);
 		
+		String infoLog = glGetShaderInfoLog(vs, glGetShader(vs, GL_INFO_LOG_LENGTH));
+		
 		if(glGetShader(vs, GL_COMPILE_STATUS) == GL_FALSE)
-			throw new RuntimeException("Failure in compiling vertex shader. Error log:\n" + glGetShaderInfoLog(vs, glGetShader(vs, GL_INFO_LOG_LENGTH)));
+			throw new RuntimeException("Failure in compiling vertex shader. Error log:\n" + infoLog);
+		else {
+			System.out.print("Compiling vertex shader successfull.");
+			if(infoLog != null)
+				System.out.println(" Log: " + infoLog);
+			else
+				System.out.println();
+		}
 		
 		int fs = glCreateShader(GL_FRAGMENT_SHADER);
 		glShaderSource(fs, fragmentShader);
 		
 		glCompileShader(fs);
 		
+		infoLog = glGetShaderInfoLog(fs, glGetShader(fs, GL_INFO_LOG_LENGTH));
+		
 		if(glGetShader(fs, GL_COMPILE_STATUS) == GL_FALSE)
-			throw new RuntimeException("Failure in compiling fragment shader. Error log:\n" + glGetShaderInfoLog(fs, glGetShader(fs, GL_INFO_LOG_LENGTH)));
+			throw new RuntimeException("Failure in compiling fragment shader. Error log:\n" + infoLog);
+		else {
+			System.out.print("Compiling fragment shader successfull.");
+			if(infoLog != null)
+				System.out.println(" Log: " + infoLog);
+			else
+				System.out.println();
+		}
 		
 		program = glCreateProgram();
 		glAttachShader(program, vs);
 		
 		glLinkProgram(program);
 		
+		infoLog = glGetProgramInfoLog(program, glGetProgram(program, GL_INFO_LOG_LENGTH));
+		
 		if(glGetProgram(program, GL_LINK_STATUS) == GL_FALSE)
-			throw new RuntimeException("Failure in linking program. Error log:\n" + glGetProgramInfoLog(program, glGetProgram(program, GL_INFO_LOG_LENGTH)));
+			throw new RuntimeException("Failure in linking program. Error log:\n" + infoLog);
+		else {
+			System.out.print("Linking program successfull.");
+			if(infoLog != null)
+				System.out.println(" Log: " + infoLog);
+			else
+				System.out.println();
+		}
 		
 		glDetachShader(program, vs);
 		glDetachShader(program, fs);
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.