Qt + OpenGL ES + N900

Я пытаюсь разработать простое (?) Приложение для N900 с использованием Qt, но даже не знаю, когда начать. Я хочу коснуться любого места на экране, сохранить эту позицию, визуализировать объект через OpenGL ES, а затем иметь возможность выбрать его и изменить его внешний вид. Итак, мои вопросы:

  1. Из того, что я прочитал, N900 не поддерживает сенсорные события. Тем не менее, сенсорные примеры, которые существуют в QtSDK (почти), сработали для меня. Должен ли я пойти на QGesture тогда или, может быть, с QtMouse для прослушивания (или QTouchEvent)?
  2. Предположим, у меня есть повернутые координаты позиции, я должен позже преобразовать их из экранных координат в координаты объекта, если я правильно понимаю, верно?
  3. Для части "выбор объекта" OpenGL ES 2.0 поддерживает буфер выбора? Или как это может быть реализовано (трассировка лучей)?

Любая подсказка, чтобы начать меня, была бы очень признательна!!!

1 ответ

Решение
  1. QTouchEvent - это именно то, что не поддерживается в N900. Вы должны использовать QMouseEvent, которые доставляются в QWidget или QGraphicsSceneMouseEvent, которые доставляются в QGraphicsScene.
  2. QMouseEvent содержит как globalPos(), так и pos(), поэтому обычно вам не нужно выполнять преобразование. Но есть QWidget:: mapToGlobal () и друзья, разрешающие эти преобразования. QGraphicsView имеет mapFromScene и mapToScene для той же цели.
Другие вопросы по тегам