Итак, я использую Xcode 3.2.1 и пытаюсь сделать проект iPhone OpenGL ES1. Шаблон по умолчанию для проекта opengl в порядке, но я пытался разделить код, чтобы не все было сделано за кадр при вызове drawView ().
У меня есть отдельный метод setupRC, который устанавливает освещение, включает тест глубины, включает отбраковку и устанавливает чистый цвет. Это вызывается при инициализации EAGLView, и это прекрасно работает.
Я принял вызовы glViewport () и glFrustrum () и поместил их в конец метода resizeFromLayer () в файле ES1Renderer.m. Это срабатывает, когда приложение запускается и когда размер приложения изменяется, как и должно быть.
Теперь проблема в том, что далекий край, кажется, испорчен, так как во всех моих объектах обрезается / обрезается. Я попытался отрегулировать положение камеры и угол наклона, но все объекты были обрезаны. Я увеличил дальность с 1000.0f до 30000.0f и все еще получаю тот же результат. Что безумно, так это то, что если я вызываю вызовы glViewport () и glFrustrum () в drawView (), то каждый кадр все выглядит правильно. Ничего не вырезано и выглядит так, как будто я этого хочу. Из всего, что я читал, вызовы frustrum и viewport должны вызываться только тогда, когда окно / создается и изменяется, но если я не вызываю его каждый кадр в моем проекте, это не работает. Есть идеи?
Заранее спасибо