Jump to content

  • Log In with Google      Sign In   
  • Create Account


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.

  • You cannot reply to this topic
2 replies to this topic

#1 chayanvinayak   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);
glLoadIdentity();
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);
glLoadIdentity();
glTranslatef(0.0f,0.0f,float(fov));

glBegin(GL_POINTS);
glVertex3f(20.0f, 20.0f, 0.0f);
glEnd();
glBegin(GL_QUADS);
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();


}

Sponsor:

#2 Brother Bob   Moderators   -  Reputation: 7786

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).

#3 chayanvinayak   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