Minimum Viable Polygon?
This is kind of a stupid newb question.  The difficulty that I always have with openGL boilerplates is getting one polygon visible on the screen.  I can't get anything to display other than the blue background, and I don't know if my polygon is outside of the camera space, is scrunched up too small to see, if backface culling, depth testing or some other feature is preventing the polygon from being rendered, if there is a shader or opengl error -- I just have no clue; all I can say is that the polygon isn't visible and I have no idea where to go from here. Can you offer an example version of program.cpp that includes one visible polygon?

Here's my program.cpp that doesn't work:

`
        // Local headers
        #include "program.hpp"
        #include "gloom/gloom.hpp"

        void runProgram(GLFWwindow* window)
        {
            // Set GLFW callback mechanism(s)
            glfwSetKeyCallback(window, keyboardCallback);

            // Enable depth (Z) buffer (accept "closest" fragment)
            glDisable(GL_DEPTH_TEST);
            //glDepthFunc(GL_LESS);

            // Configure miscellaneous OpenGL settings
            glDisable(GL_CULL_FACE);

            // Set default colour after clearing the colour buffer
            glClearColor(0.6f, 0.3f, 0.4f, 1.0f);

            glOrtho(-1.0, 1.0, -1.0, 1.0, -1.0, 1.0);

            // Set up your scene here (create Vertex Array Objects, etc.)

            // Rendering Loop
            while (!glfwWindowShouldClose(window))
            {
                // Clear colour and depth buffers
                glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
                glColor4f(0.3f, 0.3f, 0.4f, 1.0f);

                // Draw your scene here
                glBegin(GL_TRIANGLES);                      // Drawing Using Triangles
                    glVertex3f( 0.0f, 1.0f, 0.0f);              // Top
                    glVertex3f(-1.0f,-1.0f, 0.0f);              // Bottom Left
                    glVertex3f( 1.0f,-1.0f, 0.0f);              // Bottom Right

                    glVertex3f( 0.0f, 1.0f, 0.0f);              // Top
                    glVertex3f( 1.0f,-1.0f, 0.0f);              // Bottom Right
                    glVertex3f(-1.0f,-1.0f, 0.0f);              // Bottom Left
                glEnd();                            // Finished Drawing The Triangle

                // Handle other events
                glfwPollEvents();

                // Flip buffers
                glfwSwapBuffers(window);
            }
        }


        void keyboardCallback(GLFWwindow* window, int key, int scancode,
                              int action, int mods)
        {
            // Use escape key for terminating the GLFW window
            if (key == GLFW_KEY_ESCAPE && action == GLFW_PRESS)
            {
                glfwSetWindowShouldClose(window, GL_TRUE);
            }
        }
`