Рисование вне области просмотра в OpenGL ES 2.0 - PullRequest
1 голос
/ 26 октября 2010

Я строил 2D-проект в OpenGL ES 1.1, но решил переключиться на 2.0, так как я собирался разрабатывать только для iPad.

В 1.1, когда настроен видовой экран, кажется, что вы просматриваете только часть полного трехмерного пространства, например,

CGRect rect = view.bounds;     
    glOrthof(-1.0,                                          // Left
              1.0,                                          // Right
             -1.0 / (rect.size.width / rect.size.height),   // Bottom
              1.0 / (rect.size.width / rect.size.height),   // Top
              0.01,                                         // Near
              10000.0);                                     // Far
    glViewport(0, 0, rect.size.width, rect.size.height);

(взято из ДжеффУчебное пособие LaMarche по OpenGL ES)

Из всего, что я видел в 2.0, нет метода GlOrthof для определения того, на что вы смотрите, только вызов glViewport, который описывается как настройкаплоскость, на которой вы рисуете.

Мое намерение состоит в том, чтобы нарисовать 2D каркасную карту, которую вы можете увеличивать и перемещать.Я предполагал, что для этого я буду рисовать внутри и снаружи области просмотра, а затем изменять координаты области просмотра, когда пользователь перемещается по панораме.

  • Как вы рисуете вне области просмотра в OpenGL ES 2.0?

  • Это правильный путь достижения того, чего я хочу достичь?

  • Неужели я все неправильно понял?

Спасибо за вашу помощь с этим!

1 Ответ

2 голосов
/ 26 октября 2010

Вы должны использовать матрицы для перемещения по миру (glOrthof умножает текущую матрицу на матрицу проекции, созданную с указанными параметрами), в OpenGL ES 2.0 вы несете ответственность за использование матриц в шейдерах (в основном, для вычисления конечной позиции, вы умножаете позицию на Например, вы можете иметь большую 2D-плоскость, параллельную экрану, и просто перемещаться вдоль оси Z (Просмотреть матрицу), чтобы получить функциональность ZoomIn ZoomOut.

Хорошие ресурсы доступны:

powervr opengl es 2 sdk

или просмотрите некоторые страницы gamedev, такие как gamasutra gamedev.net

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...