Better handle errors

This commit is contained in:
Dimitri Lozeve 2021-02-23 20:06:05 +01:00
parent 2480fa80ef
commit e4b01079f0
2 changed files with 12 additions and 6 deletions

16
main.c
View file

@ -3,8 +3,8 @@
#include <stdlib.h> #include <stdlib.h>
#include "log.h" #include "log.h"
#include "shaders.h"
#include "renderer.h" #include "renderer.h"
#include "shaders.h"
#define WINDOW_WIDTH 800 #define WINDOW_WIDTH 800
#define WINDOW_HEIGHT 600 #define WINDOW_HEIGHT 600
@ -13,15 +13,21 @@
int main() { int main() {
GLFWwindow *window = initialize_window(WINDOW_WIDTH, WINDOW_HEIGHT); GLFWwindow *window = initialize_window(WINDOW_WIDTH, WINDOW_HEIGHT);
if (window == NULL) {
glfwTerminate();
return EXIT_FAILURE;
}
unsigned int VAO = initialize_vertices(); unsigned int VAO = initialize_vertices();
unsigned int shader_program = glCreateProgram(); unsigned int shader_program = glCreateProgram();
int result = compile_shaders(&shader_program, FRAGMENT_SHADER_FILE); if (!shader_program) {
if (!shader_program || result) { log_error("Could not create shader program");
log_error("Could not compile shaders"); glfwDestroyWindow(window);
glfwTerminate();
return EXIT_FAILURE; return EXIT_FAILURE;
} }
compile_shaders(&shader_program, FRAGMENT_SHADER_FILE);
/* Drawing loop */ /* Drawing loop */
size_t frame = 0; size_t frame = 0;
@ -65,7 +71,7 @@ int main() {
frame++; frame++;
} }
glfwDestroyWindow(window);
glfwTerminate(); glfwTerminate();
return EXIT_SUCCESS; return EXIT_SUCCESS;
} }

View file

@ -12,7 +12,7 @@
* *
* @param width The width of the window to create. * @param width The width of the window to create.
* @param height The height of the window to create. * @param height The height of the window to create.
* @return A pointer to the newly created GLFW window. * @return A pointer to the newly created GLFW window, or `NULL` on error.
*/ */
GLFWwindow *initialize_window(int width, int height) { GLFWwindow *initialize_window(int width, int height) {
/* Initialize GLFW */ /* Initialize GLFW */