Конспект лекционных занятий



Pdf көрінісі
бет59/67
Дата26.09.2023
өлшемі2.41 Mb.
#478672
түріКонспект
1   ...   55   56   57   58   59   60   61   62   ...   67
kt 1

16.4 2D и 3D графика 
При разработке приложения важно четко понимать требования к графике 
в этом приложении. Для разных графических задач необходимы разные 
техники их решения. Далее в лекции рассмотрим несколько способов 
изображения графических объектов в Android. 
Холсты и графические объекты. Платформа Android предоставляет API 
для изображения 2D графики, который позволяет изображать на холсте свои 
графические объекты или изменять существующие. Для отображения 2D 
графики существуют два пути: 
1. Изобразить графику или анимацию в элементе пользовательского 
интерфейса. В этом случае графика управляется процессом отображения 
иерархии элементов интерфейса. Подходит, когда необходимо отобразить 
простую графику, не требующую динамических изменений. 


90 
2. Изображать графику напрямую на холсте (класс Canvas). В этом 
случае необходимо позаботиться о вызове метода onDraw(), передавая его 
в класс Canvas, или же о вызове одного из draw...()методов 
класса Canvas (например, drawPicture()). Действуя таким образом, можно 
управлять анимацией. Этот путь подходит, когда необходимо постоянно 
перерисовывать окно приложения, например, для видео игр. 
Аппаратное ускорение. Начиная с Android 3.0 (API уровень 11), 
конвейер изображения 2D графики в Android поддерживает аппаратное 
ускорение. Это означает, что все операции рисования на холсте исполняются с 
использованием GPU. В связи с увеличением требований к ресурсам 
приложение будет потреблять больше RAM. Аппаратное ускорение доступно 
по умолчанию, если целевой уровень API больше или равен 14, но может быть 
включено явно. Если в приложении используются только стандартные 
представления и графика, включение аппаратного ускорения не должно 
привести к каким-либо нежелательным графическим эффектам. Однако из-за 
того, что аппаратное ускорение поддерживается не всеми операциями 2D 
графики, его включение может нарушать некоторые пользовательские 
изображения или вызовы рисования. Проблемы обычно проявляются в 
невидимости некоторых элементов, появлении исключений или неверно 
изображенных пикселях. Чтобы исправить это, Android позволяет включать 
или выключать аппаратное ускорение на разных уровнях: уровень 
приложения, уровень активности, уровень окна, уровень элемента 
интерфейса. 
OpenGL. Android поддерживает высокопроизводительную 2D и 3D 
графику с использованием открытой графической библиотеки OpenGL, точнее 
OpenGL ES API. Библиотека OpenGL является кросс-платформенным API, 
который определяет стандартный программный интерфейс для аппаратного 
обеспечения, занимающегося обработкой 3D графики. OpenGL ES является 
разновидностью OpenGL, предназначенной для встроенных устройств. 
Android поддерживает несколько версий OpenGL ES API: 

OpenGL ES 1.0 и 1.1 поддерживается Android 1.0 и выше; 

OpenGL ES 2.0 поддерживается Android 2.2 (API уровень 8) и 
выше; 

OpenGL ES 3.0 поддерживается Android 4.3 (API уровень 18) и 
выше. 
Поддержка OpenGL ES 3.0 на реальном устройстве требует реализации 
графического конвейера, предоставленной производителем. Поэтому 
устройство с Android 4.3 и выше может не поддерживать OpenGL ES 3.0. 
Подробнее с графикой в Android можно познакомиться по ссылкам: 
http://developer.android.com/guide/topics/graphics/2d-
graphics.html; 
http://developer.android.com/guide/topics/graphics/opengl.html; 
http://developer.android.com/guide/topics/graphics/hardware-


91 
accel.html. 


Достарыңызбен бөлісу:
1   ...   55   56   57   58   59   60   61   62   ...   67




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет