Рисование средствами библиотеки OpenGL ES


Технологии Iphone, рисование средствами библиотеки OpenGL ES

Прежде чем продолжить работу над рассматриваемым здесь приложением, в новый проект необходимо ввести ряд дополнительных файлов. Чуть раньше в опубликованных статьях о GLFun вы найдете следующие четыре файла: Texture2D.h, Texture2D.m, OpenGLES2DView.h и OpenGLES2DView.m. Код в двух первых файлах написан разработчиками из компании Apple с целью существенно упростить рисование изображений средствами OpenGL ES. В двух других файлах содержится класс, созданный нами на основе примера кода от компании Apple и предназначенный для настройки OpenGL на двухмерное рисование. Иными словами, мы сделали все необходимые настройки за вас. По желанию вы сможете свободно пользоваться всеми этими файлами при разработке собственных графических приложений.


В библиотеке OpenGL ES понятие спрайта или изображения как таковое отсутствует, а вместо него используется понятие текстуры (texture). Текстуры должны быть вписаны в форму или объект. В OpenGL ES изображение рисуется следующим образом: сначала рисуется квадрат (а точнее, два составляющих его треугольника), а затем текстура накладывается на этот квадрат точно по его размерам. Этот относительно сложный процесс инкапсулируется в один простой в использовании класс Texture2D.


Класс 0penGLES2DView является подклассом UlView, использующим OpenGL для рисования. Мы настраиваем это представление таким образом, чтобы системы координат OpenGL ES и представления взаимно однозначно отображались на один и тот же базис. OpenGL ES является трехмерной системой, и поэтому класс 0penGLES2DView накладывает трехмерное графическое пространство OpenGL на пиксели двухмерного представления.


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


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


  • Дата: 15-01-2015, 14:22

Предыдущие статьи сайта:

Понравилась статья? Ставь лайки, рассказывай друзьям!



Отзывы о статье: Рисование средствами библиотеки OpenGL ES

Технологии, секреты и фишки Apple: Iphone, iPad, iPod