Browse Source

Simplify shader reloading error reporting logic

rexim 4 years ago
parent
commit
b7ea6c0ea3
1 changed files with 5 additions and 8 deletions
  1. 5 8
      main.c

+ 5 - 8
main.c

@@ -127,29 +127,26 @@ void reload_shaders(void)
 {
     glDeleteProgram(program);
 
-    program_failed = false;
-    glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
+    program_failed = true;
+    glClearColor(1.0f, 0.0f, 0.0f, 1.0f);
 
     GLuint vert = 0;
     if (!compile_shader_file("./main.vert", GL_VERTEX_SHADER, &vert)) {
-        glClearColor(1.0f, 0.0f, 0.0f, 1.0f);
-        program_failed = true;
         return;
     }
 
     GLuint frag = 0;
     if (!compile_shader_file("./main.frag", GL_FRAGMENT_SHADER, &frag)) {
-        glClearColor(1.0f, 0.0f, 0.0f, 1.0f);
-        program_failed = true;
         return;
     }
 
     if (!link_program(vert, frag, &program)) {
-        glClearColor(1.0f, 0.0f, 0.0f, 1.0f);
-        program_failed = true;
         return;
     }
 
+    program_failed = false;
+    glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
+
     glUseProgram(program);
 
     resolution_uniform = glGetUniformLocation(program, "resolution");