Выборочно вращающиеся 2d объекты в openGLnGL - PullRequest
0 голосов
/ 09 февраля 2011

Я совершенно новичок в openGl. До сих пор я изучал, как рисовать основные фигуры, как их вращать и т. Д.

Я хочу создать приложение, в котором будет полукруглый циферблат и стрелка часов, которая будет непрерывно вращаться на нем. (может быть от 0 до 180 градусов и обратно).

Как мне это сделать?

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

  1. Пользователь будет создавать слои. В приведенном выше примере круговой циферблат является фоновым слоем. Где в качестве стрелки часов будет слой переднего плана.

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

  3. Движение слоя будет предоставлено пользователем (может быть в файле конфигурации). В приведенном выше примере пользователь предоставит (некоторый точечный и угловой диапазон для слоя стрелки часов, и слой будет вращаться в этом диапазоне вокруг предоставленной точки).

Пожалуйста, предложите, как это возможно. Поскольку я использую только 2D-объект, мне интересно, может ли каждый слой быть плоскостью вдоль оси z и т. Д.

1 Ответ

3 голосов
/ 09 февраля 2011

OpenGL не является графом сцены. Это больше похоже на карандаш, кисти, краски и маски. А программирование OpenGL означает разбиение сцены на этапы рисования, необходимые для создания желаемой картинки. Так что в вашем случае это так же просто, как использовать алгоритм художника для рисования в порядке

  1. наберите
  2. из первых рук
  3. секундная стрелка
  4. Третья рука

В OpenGL нет такой вещи, как примитив "плоскость". Есть только точки (спрайты), линии, треугольники и четырехугольники; и в некоторой степени полигоны, но сильно ограничены. Можно применить цвет и текстуры к этим примитивам и сделать векторную математику для имитации освещения.

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