I am still on the NeHe tutorials and I understand everything except for where they got the coordinates from.

```
void Display(void){
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glTranslatef(-1.5,0.0,-6.0);
glBegin(GL_POLYGON);
glVertex3f(0.0,1.0,0.0);
glVertex3f(1.0,-1.0,0.0);
glVertex3f(-1.0,-1.0,0.0);
glEnd();
glTranslatef(3.0,0.0,0.0);
glBegin(GL_QUADS);
glVertex3f(-1.0,1.0,0.0);
glVertex3f(1.0,1.0,0.0);
glVertex3f(1.0,-1.0,0.0);
glVertex3f(-1.0,-1.0,0.0);
glEnd();
glutSwapBuffers();
}
```

and they created the coordinate system with this

```
gluPerspective(45.0,(GLfloat)Width/(GLfloat)Height,0.1,100.0);
```

How did they know to translate and how did they get those numbers??

the coordinates are just made up

the writer just decided to move 3 in the x direction etc

if you like change the 3 to something else, and run the code

as long as you stay in the viewing area where you move to is your choice

cheers

How big is the viewing area then?

Here is my understanding. You make a sheet of graph paper with the gluperspective function I made it from .1 to 100 then I went to the center GlLoadIdentity(); then I moved 1.5 to the left and 6 out(How much can I see now of the whole thing) and I wrote the coordinates(I don’t understand how the writer knew it would look like that(are the coordinates from where you are or from the center?)) and finally when he/she moved from the center, and wrote 1 for the y coordinate and then when you display it the triangle is below the x intercept?

look at the opengl specification to fully understand how opengl treats the coordinates you supply it with. In theory one could invert those transformations to find out exactly what object space coordinates coorespond to what window coordinates. In practice for simple demoes, I find it easiest just to pick something that looks nice.

in the glTranslate command note the -6 for the ‘z’ value. This means that everything is moved along the negative ‘z’ axis, ie: into the screen. Your looking at your objects from (0,0,0).

Have a look at the opengl programming guide, chapter 3, its available on this site under documentation.

cheers