diff --git a/src/main.c b/src/main.c index b3375f1..b1d9074 100644 --- a/src/main.c +++ b/src/main.c @@ -1,8 +1,38 @@ #include #include #include +#include + +#include "shader.h" +#include "log.h" +#include "src/shader.h" void init(void) { + INFO("Compiling Shaders...\n"); + + // create and compile vertex shader + INFO("Compiling Vertex Shader...\n"); + ShaderCompileResult vertexShader = readAndCompileShaderFromFile("src/shaders/vertex.glsl", GL_VERTEX_SHADER); + + // create and compile fragment shader + ShaderCompileResult fragmentShader = readAndCompileShaderFromFile("src/shaders/fragment.glsl", GL_FRAGMENT_SHADER); + + if (!vertexShader.success) { + FATAL("Failed to compile Vertex Shader\n"); + exit(1); + } + + if (!fragmentShader.success) { + FATAL("Failed to compile Vertex Shader\n"); + exit(1); + } + + // create and link shader program + + // create triangle buffer + + // create vertex array object + glClearColor(0.1f, 0.1f, 0.1f, 1.0f); } @@ -16,6 +46,13 @@ void framebuffer_size_callback(GLFWwindow* window, int width, int height) { int main(int argc, char const *argv[]) { + + for (int i = 1; i < argc; i++) { + if (strcmp(argv[i], "-v") == 0) { + logLevel = LOG_LEVEL_DEBUG; + } + } + glfwInit(); glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3); @@ -29,7 +66,7 @@ int main(int argc, char const *argv[]) } glfwSetFramebufferSizeCallback(window, framebuffer_size_callback); glfwMakeContextCurrent(window); - + glewInit(); init();