OpenGL ES na Androidu - OpenGL ES 1.1

Tomislav Gec

OpenGL ES Kako početi? O Projektu Download prezentacije i primjera Literatura

OpenGL ES

OpenGL ES je otvoreni standard koji definira programsko sučelje za korištenje naprednih grafičkih mogućnosti za sve veći broj različitih mobilnih i ručnih naprava, uređaja i ugrađenih zaslona. Temelji se na najjednostavnijem podskupu OpenGL-a i omogućuje jednostavno sučelje između hardvera i softvera. Takvo standardno 3D grafičko sučelje za ugrađene sisteme neophodno je za brzo i jeftino stvaranje različitih 3D grafika i to za većinu mobilnih i ugrađenih platformi.

OpenGL ES je rezultat rada nezavisnog konzorcija, Kronosove grupe, te ima veliku potporu industrije. OpenGL ES je otvoreni, nezavisni, višeplatformski grafički standard. Može se primijeniti na širokom spektru uređaja, od 400 MHz PDA-a sa 64MB RAM do 50 MHz mobilnih telefona sa 1 MB RAM-a. OpenGL ES je dizajniran da prevlada te razlike tako da zahtjeva minimalnu veličinu memorije, minimalni promet instrukcija i podataka, te podržava cijele brojeve i brojeve s pomičnim zarezom. Iako OpenGL ES specifikacija definira određeni grafički protočni sustav, mogu se, umjesto poziva određenog segmenta tog sustava pozivati hardverske funkcije, koje se izvode kao softverske rutine na sistemskom procesoru, ili implementirane kao kombinacija i određenog hardvera i softverskih rutina. Programsko sučelje OpenGL ES-a se može lako nadograđivati i ono omogućuje da nove hardverske inovacije budu pristupačne preko programskog sučelja pomoći OpenGL ekstenzija. Kada te ekstenzije budu široko prihvaćene one će se moći uključiti u jezgru OpenGL ES standarda. Na taj način će se omogućiti evolucija OpenGL ES-a na kontroliran ali inovativan način. OpenGL ES, baziran na OpenGL-u, je dobro strukturiran sa intuitivnim dizajnom i logičkim naredbama. Upravo zbog toga što je baziran na OpenGL-u postoje brojne knjige i izvorni kodovi, tako da se mogu lako i jeftino naći sve potrebne informacije o OpenGL ES-u. OpenGL ES specifikacija uključuje definicije nekoliko profila. Svaki profil je podskup OpenGL 1.3 specifikacije plus neke dodatne OpenGL ES ekstenzije. Trenutno se specifikacija sastoji od samo dva profila: tzv. Common Profile i Safety Critical Profile.

OpenGL ES 1.0 & 1.1

Trenutno postoji nekoliko verzija OpenGL ES specifikacija. OpenGL ES 1.0 je kompatibilan sa OpenGL 1.3 specifikacijom dok je OpenGL ES 1.1 definiran u odnosu na OpenGL 1.5 specifikaciju. To znači da bi se aplikacija pisana u OpenGL ES 1.0 trebala lako pokrenuti na desktop OpenGL 1.3 verziji.
OpenGL ES 1.0 sadrži mnogo funkcionalnosti izvornog OpenGL API-ja sa nekim dodacima. Jedna značajna razlika između OpenGL i OpenGL ES je da OpenGL ES uklanja potrebu za pozivanjem OpenGL library-a s glBegin i glEnd.