Хотя я больше привык программировать на JOGL, чем любая другая привязка OpenGL, я предлагаю вам следующую контрольную точку:
*) Вы задали правильную функцию (для меня это изменение JOGL GLEventListener (int x, int y, int width, int height)), область просмотра и область усечения?
=> Для области просмотра (область рамки, используемая для рисования OpenGL), вы обычно просто вызываете glViewport (x, y, width, height) => выделение всей вашей зоны Canvas для ваших чертежей GL
=> Для усеченной области (поля зрения камеры) сначала необходимо переключиться на матрицу проекции (glMatrixMode (GL_PROJECTION)), затем установите усеченный конус, затем переключитесь обратно на матрицу GL_MODELVIEW, чтобы подготовиться к вашим чертежам.Я предлагаю вам, чтобы определить усеченную фигуру, вызвать gluPerspective (45, (float) ширина / высота, 0,001f, 1000f).45 для 45 градусов половинного угла, ширину / высоту для определения соотношения экрана, 0,001f для задания ближней усеченной плоскости на 0,001f от вашего глаза (или экрана), 1000f для отдаленной усеченной плоскости 1000f от вашего глаза.
*) Думали ли вы использовать в своей функции рисования вызов gluLookAt, как вам подсказывает Рэй Тоал?Я предлагаю вам вызвать gluLookAt (
0,0,1, // Камера установлена на (0,0,1), чтобы она увидела точку 0,0,0
0,0,0, // камера стремится к (0,0,0)
0,1,0) // камера имеет (0,1,0) для своего восходящего вектора (так,Ой - это вектор роста ... логика)
Надеюсь, это поможет вам