У меня есть ортоэкран, настроенный в OpenGL ES на iPhone, и я хотел бы изменить свою систему координат по сравнению с текущими настройками.
Я думал, что что-то вроде этого сработает.
glOrthof(0, self.view.frame.size.width, 0, self.view.frame.size.height, -1, 1);
glViewport(0, 0, self.view.frame.size.width, self.view.frame.size.height);
Однако, похоже, это вообще не влияет на систему координат экрана. В настоящее время она настроена так, что если я применяю объект в вершинах {0, -1,0, 1,0,0, 0,1,0, - 1,0,0} Я получаю ромбовидную форму размером с весь экран (другими словами, моя нижняя граница равна -1, а верхняя - +1)
Как мне изменить свое представление, чтобы мои границы были 0,0 и screen_width, screen_height?
glOrtho
умножения активной матрицы и, следовательно, обычно требуетсяglMatrixMode(GL_PROJECTION); glLoadIdentity()
заранее. НоglViewport
не имеет ничего общего с матрицами и может быть вызван в любой момент (до самого рисования, конечно). 04.11.2011