mirror of
				https://github.com/ciphervance/supercell-wx.git
				synced 2025-10-31 01:10:04 +00:00 
			
		
		
		
	Shader warnings
This commit is contained in:
		
							parent
							
								
									289ed430c7
								
							
						
					
					
						commit
						f21523d88b
					
				
					 1 changed files with 28 additions and 10 deletions
				
			
		|  | @ -11,6 +11,8 @@ namespace qt | |||
| 
 | ||||
| static const std::string logPrefix_ = "[scwx::qt::util::shader_program] "; | ||||
| 
 | ||||
| static constexpr GLsizei INFO_LOG_BUF_SIZE = 512; | ||||
| 
 | ||||
| class ShaderProgramImpl | ||||
| { | ||||
| public: | ||||
|  | @ -49,12 +51,15 @@ GLuint ShaderProgram::id() const | |||
| bool ShaderProgram::Load(const std::string& vertexPath, | ||||
|                          const std::string& fragmentPath) | ||||
| { | ||||
|    BOOST_LOG_TRIVIAL(debug) << logPrefix_ << "Load()"; | ||||
|    BOOST_LOG_TRIVIAL(debug) << logPrefix_ << "Load(\"" << vertexPath << "\", \"" | ||||
|                             << fragmentPath << "\")"; | ||||
| 
 | ||||
|    OpenGLFunctions& gl = p->gl_; | ||||
| 
 | ||||
|    GLint   glSuccess; | ||||
|    bool    success = true; | ||||
|    char    infoLog[INFO_LOG_BUF_SIZE]; | ||||
|    GLsizei logLength; | ||||
| 
 | ||||
|    QFile vertexFile(vertexPath.c_str()); | ||||
|    QFile fragmentFile(fragmentPath.c_str()); | ||||
|  | @ -98,14 +103,18 @@ bool ShaderProgram::Load(const std::string& vertexPath, | |||
| 
 | ||||
|    // Check for errors
 | ||||
|    gl.glGetShaderiv(vertexShader, GL_COMPILE_STATUS, &glSuccess); | ||||
|    gl.glGetShaderInfoLog(vertexShader, INFO_LOG_BUF_SIZE, &logLength, infoLog); | ||||
|    if (!glSuccess) | ||||
|    { | ||||
|       char infoLog[512]; | ||||
|       gl.glGetShaderInfoLog(vertexShader, 512, NULL, infoLog); | ||||
|       BOOST_LOG_TRIVIAL(error) | ||||
|          << logPrefix_ << "Vertex shader compilation failed"; | ||||
|          << logPrefix_ << "Vertex shader compilation failed: " << infoLog; | ||||
|       success = false; | ||||
|    } | ||||
|    else if (logLength > 0) | ||||
|    { | ||||
|       BOOST_LOG_TRIVIAL(error) | ||||
|          << logPrefix_ << "Vertex shader compiled with warnings: " << infoLog; | ||||
|    } | ||||
| 
 | ||||
|    // Create a fragment shader
 | ||||
|    GLuint fragmentShader = gl.glCreateShader(GL_FRAGMENT_SHADER); | ||||
|  | @ -116,14 +125,19 @@ bool ShaderProgram::Load(const std::string& vertexPath, | |||
| 
 | ||||
|    // Check for errors
 | ||||
|    gl.glGetShaderiv(fragmentShader, GL_COMPILE_STATUS, &glSuccess); | ||||
|    gl.glGetShaderInfoLog( | ||||
|       fragmentShader, INFO_LOG_BUF_SIZE, &logLength, infoLog); | ||||
|    if (!glSuccess) | ||||
|    { | ||||
|       char infoLog[512]; | ||||
|       gl.glGetShaderInfoLog(fragmentShader, 512, NULL, infoLog); | ||||
|       BOOST_LOG_TRIVIAL(error) | ||||
|          << logPrefix_ << "Fragment shader compilation failed: " << infoLog; | ||||
|       success = false; | ||||
|    } | ||||
|    else if (logLength > 0) | ||||
|    { | ||||
|       BOOST_LOG_TRIVIAL(error) | ||||
|          << logPrefix_ << "Fragment shader compiled with warnings: " << infoLog; | ||||
|    } | ||||
| 
 | ||||
|    if (success) | ||||
|    { | ||||
|  | @ -133,14 +147,18 @@ bool ShaderProgram::Load(const std::string& vertexPath, | |||
| 
 | ||||
|       // Check for errors
 | ||||
|       gl.glGetProgramiv(p->id_, GL_LINK_STATUS, &glSuccess); | ||||
|       gl.glGetProgramInfoLog(p->id_, INFO_LOG_BUF_SIZE, &logLength, infoLog); | ||||
|       if (!glSuccess) | ||||
|       { | ||||
|          char infoLog[512]; | ||||
|          gl.glGetProgramInfoLog(p->id_, 512, NULL, infoLog); | ||||
|          BOOST_LOG_TRIVIAL(error) | ||||
|             << logPrefix_ << "Shader program link failed: " << infoLog; | ||||
|          success = false; | ||||
|       } | ||||
|       else if (logLength > 0) | ||||
|       { | ||||
|          BOOST_LOG_TRIVIAL(error) | ||||
|             << logPrefix_ << "Shader program linked with warnings: " << infoLog; | ||||
|       } | ||||
|    } | ||||
| 
 | ||||
|    // Delete shaders
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Dan Paulat
						Dan Paulat