Thanks for your quick reply. So the glVertex parameters value depend on the orthographic viewing volume you set? I am pasting a program from the book ‘OpenGL programming book’ for my easy understanding.
In this program, the ‘glOrtho’ parameters are limited to either -1 or 1. Does it mean that the object space is limited to these numbers and so the glVertex() is limited to these numbers?
And the window size is set to 250,250 which i guess the whole window is now the viewport. So when the object space coordinates are mapped to screen coordinates, -1 and +1 are related to the window size (250 by 250)? I mean how do i know where the rectangle would be displayed on the window or how do i draw at the required position on the screen?
/* clear all pixels */
/* draw white polygon (rectangle) with corners at
- (0.25, 0.25, 0.0) and (0.75, 0.75, 0.0)
glColor3f (1.0, 1.0, 1.0);
glVertex3f (0.25, 0.25, 0.0);
glVertex3f (0.75, 0.25, 0.0);
glVertex3f (0.75, 0.75, 0.0);
glVertex3f (0.25, 0.75, 0.0);
/* don’t wait!
- start processing buffered OpenGL routines
void init (void)
/* select clearing color */
glClearColor (0.0, 0.0, 0.0, 0.0);
/* initialize viewing values */
glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
- Declare initial window size, position, and display mode
- (single buffer and RGBA). Open window with “hello”
- in its title bar. Call initialization routines.
- Register callback function to display graphics.
- Enter main loop and process events.
int main(int argc, char* argv)
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize (250, 250);
glutInitWindowPosition (100, 100);
return 0; /* ANSI C requires main to return int. */