You are sort of correct with respect to the corner coordinates. One thing that you are missing, however, is that those coordinates are known as Normalized Device Coordinates.
Those are the coordinates that you draw in after ModelView and Projection transformation and perspective division. Now, if you use an identity projection matrix you can actually draw in this coordinate space directly. However, your gl.glTranslatef (0.0f, 0.0f, -4.0f)
call will cause you major trouble, as that will push everything 3 units behind the near clipping plane and nothing will be drawn.
Another thing to keep in mind is that those corners actually represent the corners of your viewport. So, if you want to draw to a specific square in your window you can do this simply by setting glViewport (...)
accordingly with an identity projection matrix and NDC coordinates.
That is, if you want a square that goes from 0,0 to 64,64 in your window you can do this:
glViewport (0,0,64,64);
gl.glMatrixMode(GL10.GL_PROJECTION); //select the projection matrix
gl.glLoadIdentity(); //Reset the Projection Matrix
gl.glMatrixMode(GL10.GL_MODELVIEW); //select the modelview matrix
gl.glLoadIdentity(); //Reset the modelview matrix
private float vertices[]={
-1.0f,-1.0f,-1.0f, //V1 Bottom left
1.0f,-1.0f,-1.0f, //V2 top left
-1.0f, 1.0f,-1.0f, //V3 bottom right
1.0f, 1.0f,-1.0f //V4 top right
};
...
However, your polygon will be wound unconventionally if you do this. You should try to draw in counter-clockwise order as much as possible, because that is the default front-face winding.