В функции reshape
вы устанавливаете ближнюю и дальнюю плоскости равными 1,0, соответственно 20,0:
gluPerspective(65.0, (GLfloat)w / (GLfloat)h, 1.0, 20.0);
Вся геометрия, которая не находится между ближней и дальней плоскостями, обрезается.
Это означает, что расстояние z от точки до точки зрения (координаты глаза) должно находиться в диапазоне от 1,0 до 20,0.
Координата z точки равна 0,0:
glVertex3f(-120.0, 25.0, 0.0);
Координата z точки обзора (камеры) тоже равна 0,0 (3-й параметр gluLookAt
):
gluLookAt(-120, 25, 0.0, -120, 25, 150, 0, 1, 0);
Это приводит к тому, что расстояние между точкой зрения (глазом) и точкой составляет 0-0 = 0
, а точка обрезается.
Для решенияпроблема, либо вы должны изменить координату z точки:
glVertex3f(-120.0, 25.0, 5.0);
или точку зрения:
gluLookAt(-120, 25, -5.0, -120, 25, 150, 0, 1, 0);