Index: new-game.cpp
===================================================================
--- new-game.cpp	(revision be246ad1197b42944abf234838d5607258161626)
+++ new-game.cpp	(revision 772d8c71bb59d5713c1f93b551bfd4441d88fe4a)
@@ -9,9 +9,17 @@
 using namespace std;
 
+const bool FULLSCREEN = true;
+
+void glfw_error_callback(int error, const char* description) {
+   gl_log_err("GLFW ERROR: code %i msg: %s\n", error, description);
+}
+
 int main(int argc, char* argv[]) {
    cout << "New OpenGL Game" << endl;
 
-   restart_gl_log();
+   if (!restart_gl_log()) {}
+   gl_log("starting GLFW\n%s\n", glfwGetVersionString());
 
+   glfwSetErrorCallback(glfw_error_callback);
    if (!glfwInit()) {
       fprintf(stderr, "ERROR: could not start GLFW3\n");
@@ -26,5 +34,16 @@
 #endif
 
-   GLFWwindow* window = glfwCreateWindow(640, 480, "Hello Triangle", NULL, NULL);
+   glfwWindowHint(GLFW_SAMPLES, 4);
+
+   GLFWwindow* window = NULL;
+
+   if (FULLSCREEN) {
+      GLFWmonitor* mon = glfwGetPrimaryMonitor();
+      const GLFWvidmode* vmode = glfwGetVideoMode(mon);
+      window = glfwCreateWindow(vmode->width, vmode->height, "Extended GL Init", mon, NULL);
+   } else {
+      window = glfwCreateWindow(640, 480, "Hello Triangle", NULL, NULL);
+   }
+
    if (!window) {
       fprintf(stderr, "ERROR: could not open window with GLFW3\n");
@@ -93,6 +112,11 @@
       glBindVertexArray(vao);
       glDrawArrays(GL_TRIANGLES, 0, 3);
+
       glfwPollEvents();
       glfwSwapBuffers(window);
+
+      if (GLFW_PRESS == glfwGetKey(window, GLFW_KEY_ESCAPE)) {
+         glfwSetWindowShouldClose(window, 1);
+      }
    }
 
