Добавляем движение

Рисование объектов на экране, это основная функция OpenGL, но тем же успехом вы могли бы использовать и другие графические классы Android, вроде Canvas или Drawable. OpenGL ES предоставляет дополнительные возможности для движения и трансформации объектов в трех измерениях, а также другие уникальные инструменты для создания неповторимого пользовательского интерфейса.

В уроке мы рассмотрим как создать вращающиеся фигуры.

Вращение фигур

Вращать нарисованные фигур в OpenGL ES 2.0 относительно просто. Вы создаете еще одну матрицу (матрицу вращения) и комбинируете ее с матрицами проекции и камеры:

Если ваш треугольник не вращается после указанных выше изменений, убедитесь, что вы закомментировали опцию GLSurfaceView.RENDERMODE_WHEN_DIRTY, описанную в предыдущих уроках.

Разрешаем постоянную отрисовку

Если вы внимательно следовали за примерами в этом уроке, убедитесь, что вы закомментировали строку, которая устанавливает режим рендеринга “рисовать только при изменении данных”, иначе OpenGL повернет фигуру только на один шаг, а затем будет ожидать вызова метода requestRender():

Если у вас нет объектов, которые меняются без взаимодействия с пользователем, лучше всего держать эту опцию включенной. Будьте готовы включить эту опцию, в следующем уроке она нам вновь понадобится.

Добавить комментарий