Как инвертировать систему координат в NSOpenGLView

Я создал свой собственный класс NSOpenGLView, сейчас данные, которые я хочу отображать в инвертированной системе координат.

Начало начинается в левом нижнем углу. Я хотел бы изменить это так, чтобы координата начиналась в верхнем левом углу.

Как я должен перевернуть вид / настроить новую систему координат.

вопрос задан 8.10.2009
ReachConnection
856 репутация

2 ответов


  • 0 рейтинг

    Мои навыки OpenGL довольно слабые, но я полагаю, что вы можете использовать функцию glViewport для перемещения источника в верхний правый угол. Тогда вам, вероятно, нужно будет использовать все отрицательные числа для всего на экране. Затем вы можете попробовать использовать glRotate, чтобы использовать все положительные числа. Я на самом деле не пробовал это, но посмотрим, что вы можете сделать с этим.

    glViewPort(0.0, -height, width, height);
    glRotatef(180.0, 1.0, 0.0, 0.0);
    
    ответ дан Cory Kilger, с репутацией 12594, 8.10.2009
  • 0 рейтинг

    У меня есть решение

        glPushMatrix();
        glRotatef( 180.0f, 1.0f, 0.0f, 0.0f );
    
    ответ дан ReachConnection, с репутацией 856, 26.10.2009