When you use GLGraphics() it does not set up any of the OpenGL state. You have to set up your own viewport, initialize your matrices, etc. If you want things to be set up already use Graphics() with the GLGraphicsDriver(). You can't really know what is going to be drawn if you don't specify the viewport at least. My guess is the viewport defaults to a 1x1 pixel view, so you're seeing the middle pixel of the triangle across the whole screen, or maybe that's totally way off the mark.
see:
glViewport()
glOrtho()
see:
glViewport()
glOrtho()