Img

OpenGL ES na Androidu

OpenGL ES 1.1 - teksture


OpenGL kratica je od “Open specification for 3D Graphics Library”. OpenGL ES je OpenGL za ugrađene sustave eng. Embedded Systems.


OpenGL ES je otvoreni standard koji definira programsko sučelje za korištenje naprednih grafičkih mogućnosti za veliki broj različitih mobilnih i ručnih naprava, uređaja i ugrađenih zaslona.
OpenGL ES 1.0 predstavljen je 2002. godine. Danas se jako rijetko koristi. Zastario je i ima mnogo mana. Jedna od tih mana je i loša kvaliteta tekstura. OpenGL ES 1.1 je značajno bolji od 1.0 verzije. Bio je popularan u razdoblju od 2004. do 2009. godine.


Uključene su samo one mogućnosti OpenGL-a koje su stvarno potrebne. Na OpenGL ES 1.x se koristi računanje s fiksiranim decimalnim zarezom, dok OpenGL ES 2.0 koristi floating point. Najveća razlika u odnosu na standardni OpenGL je nedostatak glBegin/glEnd ulaznih točaka. Sve teksture moraju biti kvadratne veličine potencije broja dva kao u ranijim verzijama OpenGL-a.




Dvije osnovne klase koje omogućuju kreiranje i manipulaciju grafičkih elemenata sa Android OpenGL ES API-em su GLSurfaceView i GLSurfaceView.Renderer.


GLSurfaceView

GLSurfaceView klasa je pogled (View) na koji se može crtati i manipulirati objektima korištenjem OpenGL API poziva.

GLSurfaceView.Renderer

GLSurfaceView.Renderer je sučelje koje definira metode potrebne za crtanje grafičkih elemenata u GLSurfaceView-u. Implementacija ovog sučelja treba biti odvojena klasa koja se sa instancom GLSurfaceView klase povezuje GLSurfaceView.setRenderer() metodom.
GLSurfaceView.Renderer sučelje zahtjeva implementaciju sljedećih metoda: