Witam,
mam pewien problem ze złapaniem mojego obiektu 3D w obszarze kamery.

Rysuje sobie teren w oparciu o macierz z podanymi wysokościami. Obiekt rysuje od punktu 0,0,0 w osiach X i Z, a oś Y to wysokość.

Mój problem sprowadza się do tego, że jeśli ustawię kamerę w taki sposób:

 
void myReshape(int w, int h)
{
	glViewport(0, 0, w, h);
	glMatrixMode(GL_PROJECTION);

	glLoadIdentity();

	glOrtho(-w, w, -h, h, -400, 0);

	glMatrixMode(GL_MODELVIEW);
}

To obiekt się wyświetla, przy czym mogę go oglądać tylko z profilu.

Gdy próbuję zmienić na:

 
void myReshape(int w, int h)
{
	glViewport(0, 0, w, h);
	glMatrixMode(GL_PROJECTION);

	glLoadIdentity();

	GLdouble aspect = 1;
	if (h > 0)
		aspect = w / (GLdouble)h;

	// rzutowanie perspektywiczne
	gluPerspective(45, 1, 1.0, 5000.0);

	glMatrixMode(GL_MODELVIEW);
}

Dodatkowo ustawiając LookAt:

 
void display(void)
{
	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
	glLoadIdentity();
	glRotatef(theta[0], 1.0, 0.0, 0.0);
	glRotatef(theta[1], 0.0, 1.0, 0.0);
	glRotatef(theta[2], 0.0, 0.0, 1.0); 

	gluLookAt(eyex, eyey, eyez, centerx, centery, centerz, 0, 1, 0);

	drawHighMap();
	glFlush();
	glutSwapBuffers();
}

To niezależnie od tego jak bym nie kombinował z parametrami, obiekt znika i nie potrafię na niego nakierować kamery.

Próbowałem również wariantu z glFrustum(-2.0, 2.0, -2.0, 2.0, 1.0, 5.0); ale efekty miałem podobne, czyli kompiluje się, ale obiektu nie widać.

Ktoś jest w stanie mi doradzić jak to ogarnąć, żeby mieć ładny widok na teren? Docelowo, chciałbym osiągnąć kąt widzenia, mniej więcej taki jak na obrazku:
http://www.lighthouse3d.com/opengl/terrain/3dtechscreen2.gif