Увод у ОпенГЛ у Андроиду

ОпенГЛ означава Опен Грапхицс Либрари. То је у основи АПИ који андроид користи за подршку графике високих перформанси попут 2Д и 3Д графике. Општа употреба ОпенГЛ-а за пренос података из ЦПУ-а у ГПУ. То раде ОпенГЛ објекти. То је графички АПИ за више платформи. У овој теми ћемо сазнати о ОпенГЛ-у у Андроиду.

ОпенГЛ објекти се састоје од стања и података који помажу у преносу података између ЦПУ-а и ГПУ-а. ОпенГЛ ЕС је популарна спецификација ОпенГЛ АПИ-ја која је посебно намењена уграђеним системима.

ОпенГЛ у Андроиду подржава Андроид користећи Нативе Девелопмент Кит (НДК) и његов оквирни АПИ. Темељне класе у Андроид оквиру помажу вам да креирате и уређујете графику. ОпенГЛ ЕС АПИ који се користи са овим класама назива се ГЛСурфВацеиев.Рендерер и ГЛСурфацеВиев. Добро разумевање примене ових класа је корисно за коришћење ОпенГЛ-а у Андроид апликацији.

ГЛСурфацеВиев

Можете цртати и манипулирати објектима у овом приказу. Лако је користити ову класу јер можете креирати објект ГЛСурфацеВиев и додати му Рендерер. Догађаје на додирном екрану можете снимити тако што ћете проширити класу ГЛСурфацеВиев да бисте имплементирали слушатеље додира.

ГЛСурфацеВиев.Рендерер

Интерфејс ГЛСурфацеВиев.Рендерер садржи методе које су потребне за цртање графике у ГЛСурфацеВиев. Имплементација овог интерфејса треба да буде обезбеђена као посебна класа прикључена на инстанцу ГЛСурфацеВиев помоћу ГЛСурфацеВиев.сетРендерер () .

За имплементацију ГЛСурфацеВиев.Рендерер интерфејса морате да примените следеће методе:

  • онСурфацеЦреате () : Ова метода се позива током креирања ГЛСурфацеВиев.
  • онДравФраме () : Ова метода се позива током сваког поновног цртања ГЛСурфацеВиев.
  • онСурфацеЦхангед () : Ова метода се назива када се ГЛСурфацеВиев промијени (величина, оријентација итд.).

Како ОпенГЛ у Андроиду функционише?

Постоји неколико врста ОпенГЛ објеката. На пример, Вертек Буффер Објект који може сместити врхове знака. Други пример је Текстура која може чувати слике.

Подаци као што су врхови, нормалне вредности и УВ координате које представљају карактеристике мреже учитавају се у Вертек Буффер објект и затим шаљу у ГПУ на обраду. Једном када се нађе у ГПУ-у, ти подаци би прошли кроз оно што је познато под називом ОпенГЛ-ов рендеринг цевовод.

Главни задаци за које је одговоран водовод је конверзија вертикала у прави координатни систем, састављање врхова неког знака, примјена боје или текстуре и приказивање знака на заданом фрамебуффер-у који је екран.

Процес приказивања ОпенГЛ-а у Андроиду састоји се од шест фаза као што следи:

  1. Операција по вертикали
  2. Примитивна скупштина
  3. Примитивна обрада
  4. Растеризација
  5. Обрада фрагмената
  6. Операција по фрагменту

Операција по вертикали

Први и најважнији корак за прављење слике је да се геометријски подаци морају претворити из једног координатног система у други координатни систем.

Примитивна скупштина

Врхови су сакупљени у парове од 2, 3 и више у овом конкретном кораку и примитив је састављен, на пример, троугао.

Примитивна обрада

Када се примитиви сакупе, тестира се да ли пропадају у количину приказа. У случају да не прођу овај одређени тест, игнорисаће их у даљим корацима. Овај тест је познат и као Цлиппинг.

Растеризација

Тада се примитиви разбијају на делове мањих јединица и одговарају пиксели у фрамебуфферу. Свака од ових мањих јединица тада је позната и као Фрагменти.

Обрада фрагмената

Када је примитивни растеризован, на геометрију се примењује боја или текстура.

Операција по фрагменту

На крају, фрагменти су подвргнути разним тестовима као што су:

  • Пикел Овнерсхип тест
  • Шкарски тест
  • Алфа тест
  • Стенцил тест
  • Дубински тест

Од ових шест фаза, две фазе су под контролом програма који се називају Схадерс.

Схадер, укратко, мали је програм који сте развили само ви који живи у ГПУ-у. Постоји посебан графички језик познат као ОпенГЛ Схадинг Лангуаге (ГЛСЛ) на којем је написано схадер. Две важне фазе у ОпенГЛ цевоводу где се одвија схадер називамо фазама „Пер-Вертек Процессинг“ и „Пер-Фрагмент Процессинг“.

Схадер који се обрађује у фази "Пер-Вертек" познат је под називом Вертек Схадер. Схадер који се обрађује у фази "Пер Фрагмент" познат је под називом Фрагмент Схадер. Крајњи и основни циљ вертек схадер-а је дати коначну трансформацију врхова карактера у цјевоводу за приказивање док је циљ схадер-а фрагмента дати податке о бојању и текстури за сваки од наслова пиксела у фрамебуффер-у.

Када се подаци проследе путем ОпенГЛ цевовода за приказ, тада ће се на екрану вашег уређаја појавити 3Д или 2Д модел.

ГЛ Програм

Савети за ОпенГЛ у Андроид-у

У случају да сте почетник у програму ОпенГЛ програмера, неке од ових тачака у наставку можда још нисте срели. Испод су неке смернице за које требате водити рачуна када користите ОпенГЛ у Андроиду. Уобичајене су грешке. Зато то увек имајте на уму.

  1. Неправилно скалирање нормала за осветљење
  2. Лоша Тесселлатион боли расвјету
  3. Увек памтите свој начин матрице
  4. Преливање матрице пројекцијских матрица
  5. Не постављање свих нивоа Мипмап-а
  6. Читање пиксела за осветљење

Предуслови за ОпенГЛ за Андроид

Испод су предуслови потребни за ОпенГЛ у Андроиду.

Вјештине софтвера

  • Ц, то јест програмски језик.
  • Знање Ц ++ није потребно, али је корисно.
  • Употреба разних библиотека које могу бити или статичке или динамичке.

Математика

  • Познавање вектора и у 2Д и 3Д.
  • Матрице
  • Појмови математике на основном нивоу.

Све су то главни и основни концепти који су потребни за почетак са ОпенГЛ-ом. Можда ћете морати да научите још неке математичке концепте, али након што дођете до средњег нивоа. Али то потпуно зависи од вас. Можете да пређете преко многих ствари уз помоћ различитих библиотека.

Закључак: ОпенГЛ у Андроиду

Стога је ОпенГЛ потпуно функционалан АПИ који је на примитивном нивоу и омогућава програмеру да се ефикасно позабави и искористи графички хардвер. Велики број библиотека високог нивоа као и апликација користи ОпенГЛ због његових перформанси, лакоће програмирања, проширивости као и широке подршке.

Препоручени чланак

Ово је водич за ОпенГЛ у Андроиду. Овде смо разговарали о Процесу рада и предусловима ОпенГЛ-а за Андроид. Можете и да прођете кроз друге наше предложене чланке да бисте сазнали више -

  1. ВебГЛ вс ОпенГЛ
  2. Шта је Цогнос?
  3. Шта је Јира Софтваре?
  4. Каријера у Азуру

Категорија: