text: #include "Engine.h"
  
  float vertices[] = {
    -0.5f, -0.5f, 0.0f,
     0.5f, -0.5f, 0.0f,
     0.0f,  0.5f, 0.0f
  };
  
  Logger* Logger::m_pInstance = NULL;
  
  int main()
  {
    GLFWwindow* window = InitOpenGL(); 
  
    Logger::Instance()->Log("Test logger");
  
    GLuint program = LoadShader("Vertex.vert", "Fragment.frag");
  
    unsigned int VAO;
    unsigned int VBO;
    glGenBuffers(1, &VBO);
    glGenVertexArrays(1, &VAO);
  
    glBindVertexArray(VAO);
    glBindBuffer(GL_ARRAY_BUFFER, VBO);
    glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW);
    glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 3 * sizeof(float), (void*)0);
    glEnableVertexAttribArray(0);
  
    while (!glfwWindowShouldClose(window))
    {
      //Input
      ProcessInput(window);
      
      //Rendering
      glClearColor(0.2f, 0.3f, 0.3f, 1.0f);
      glClear(GL_COLOR_BUFFER_BIT);
  
      //Draw triangle
      glUseProgram(program);
      glBindVertexArray(VAO);
      glDrawArrays(GL_TRIANGLES, 0, 3);
  
      //Call events and swap buffers
      glfwSwapBuffers(window);
      glfwPollEvents();
    }
  
    glfwTerminate();
    return 0;
  }