• Create Account

FREE SOFTWARE GIVEAWAY

We have 4 x Pro Licences (valued at \$59 each) for 2d modular animation software Spriter to give away in this Thursday's GDNet Direct email newsletter.

Read more in this forum topic or make sure you're signed up (from the right-hand sidebar on the homepage) and read Thursday's newsletter to get in the running!

# gluLookAt(z=0) objects z=0 but they r not visible

Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

2 replies to this topic

### #1chayanvinayak  Members   -  Reputation: 100

Like
0Likes
Like

Posted 22 July 2011 - 01:37 PM

Hello,

I have written a simple program to learn camera, perspective,projection and model_view matrix.

In this program :
- I am setting the camera to look at (0,0,0) :x=0,y=0,z=0
and placing the camera at (0,0,-20) : x=0,y=0,z=-20

- first I place all the objects at z=0
But they are not visible.
They should be visible bcz camera is looking at z=0 and
all the objects are at z=0

- as soon as I place objects at z=-2 they get visible.

Here is my code :

#include <stdio.h>
#include <glut.h>
int fov = -2;

void handleResize(int w, int h){
glViewport(0,0,w,h);
glMatrixMode(GL_PROJECTION);
gluPerspective(45,double(w)/double(h),1, 100 );
printf("%d\n",fov);
gluLookAt(0,0,0,0,0,-20,0,1,0);
}

void handleKeypress(unsigned char key,int x, int y){

switch(key){
case 27:
exit(0);
case 56:
fov+=2;
glutPostRedisplay();
break;
case 50:
fov-=2;
glutPostRedisplay();
break;
}
printf("Key: %d : Z: %d\n",key,fov);
}
void init(){
glEnable(GL_DEPTH_TEST);
}

void drawScene(){
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_MODELVIEW);
glTranslatef(0.0f,0.0f,float(fov));

glBegin(GL_POINTS);
glVertex3f(20.0f, 20.0f, 0.0f);
glEnd();
glVertex3f(2.0f, 2.0f, 0.0f);
glVertex3f(-2.0f, 2.0f, 0.0f);
glVertex3f(-2.0f, -2.0f, 0.0f);
glVertex3f(2.0f, -2.0f, 0.0f);
glEnd();
glutSwapBuffers();

}

void main (int argc, char** argv){

glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGBA|GLUT_DEPTH);
glutInitWindowSize(400,400);
glutCreateWindow("Chayan Vinayak's OpenGL tutorial ");
init();
glutDisplayFunc(drawScene);
glutKeyboardFunc(handleKeypress);
glutReshapeFunc(handleResize);
glutMainLoop();

}

### #2Brother Bob  Moderators   -  Reputation: 8621

Like
0Likes
Like

Posted 22 July 2011 - 02:32 PM

You have the view point and the look at point mixed up; the view point is at (0,0,0) and looking at the point (0,0,-20).

### #3chayanvinayak  Members   -  Reputation: 100

Like
0Likes
Like

Posted 22 July 2011 - 04:14 PM

Thanks Brother Bob !
that worked, I don't have confusion any more

Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

PARTNERS