package Ġcom . ak uw al ink . ball . util Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Bitmap Ċ import Ġandroid . graphics . Bitmap Factory Ċ import Ġandroid . opengl . GLES 3 0 Ċ import Ġandroid . opengl . GL Utils Ċ import Ġcom . ak uw al ink . ball . My Application Ċ import Ġcom . ak uw al ink . ball . R Ċ import Ġjava . io . IOException Ċ import Ġjava . io . InputStream Ċ Ċ object Ġ ĠTexture Util { ĊĠĠĠ Ġvar Ġmin = GLES 3 0 . GL _ NE ARE ST ĊĠĠĠ Ġvar Ġmag = GLES 3 0 . GL _ LINEAR ĊĠĠĠ Ġvar Ġwrap _ s = GLES 3 0 . GL _ CLAMP _ TO _ EDGE ĊĠĠĠ Ġvar Ġwrap _ t = GLES 3 0 . GL _ CLAMP _ TO _ EDGE ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġèİ·åıĸ çº ¹ çĲĨ æķ°ç»Ħ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Texture Id ( var arg Ġimage : Int , context : ĠContext ): IntArray { ĊĠĠĠĠĠĠĠ Ġval Ġsize = image . size ĊĠĠĠĠĠĠĠ Ġvar Ġtexture = IntArray ( size ) ĊĠĠĠĠĠĠĠ Ġvar Ġresult = IntArray ( size ) ĊĠĠĠĠĠĠĠ ĠGLES 3 0 . gl Gen Textures ( size , texture , 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġlength = size - 1 ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 .. length ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult [ i ] Ġ= Ġtexture [ i ] ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGLES 3 0 . glBind Texture ( GLES 3 0 . GL _ TEXTURE _ 2 D , Ġresult [ i ]) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGLES 3 0 . gl TexParameter i ( GLES 3 0 . GL _ TEXTURE _ 2 D , ĠGLES 3 0 . GL _ TEXTURE _ MIN _ FILTER , Ġmin ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGLES 3 0 . gl TexParameter i ( GLES 3 0 . GL _ TEXTURE _ 2 D , ĠGLES 3 0 . GL _ TEXTURE _ MAG _ FILTER , Ġmag ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGLES 3 0 . gl TexParameter i ( GLES 3 0 . GL _ TEXTURE _ 2 D , ĠGLES 3 0 . GL _ TEXTURE _ WRAP _ S , Ġwrap _ s ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGLES 3 0 . gl TexParameter i ( GLES 3 0 . GL _ TEXTURE _ 2 D , ĠGLES 3 0 . GL _ TEXTURE _ WRAP _ T , Ġwrap _ t ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġinput : ĠInputStream ? Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġbitmap : ĠBitmap ? Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinput Ġ= Ġcontext . resources . open Raw Resource ( image [ i ]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbitmap Ġ= ĠBitmap Factory . decode Stream ( input ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGL Utils . tex Image 2 D ( GLES 3 0 . GL _ TEXTURE _ 2 D , Ġ 0 , Ġbitmap , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinput . close () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbitmap . recycle () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinput ?. close () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbitmap ?. recycle () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ@ param Ġimage Ġ çº ¹ çĲĨ åĽ¾çīĩ id ĊĠĠĠĠ Ġ* Ġèİ·åıĸ çº ¹ çĲĨ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Texture Id ( image : Int , context : ĠContext ): Int { ĊĠĠĠĠĠĠĠ Ġvar Ġtexture = IntArray ( 1 ) ĊĠĠĠĠĠĠĠ Ġvar Ġresult = 0 ĊĠĠĠĠĠĠĠ ĠGLES 3 0 . gl Gen Textures ( 1 , texture , 0 ) ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġtexture [ 0 ] ĊĠĠĠĠĠĠĠ ĠGLES 3 0 . glBind Texture ( GLES 3 0 . GL _ TEXTURE _ 2 D , Ġresult ) ĊĠĠĠĠĠĠĠ ĠGLES 3 0 . gl TexParameter i ( GLES 3 0 . GL _ TEXTURE _ 2 D , ĠGLES 3 0 . GL _ TEXTURE _ MIN _ FILTER , Ġmin ) ĊĠĠĠĠĠĠĠ ĠGLES 3 0 . gl TexParameter i ( GLES 3 0 . GL _ TEXTURE _ 2 D , ĠGLES 3 0 . GL _ TEXTURE _ MAG _ FILTER , Ġmag ) ĊĠĠĠĠĠĠĠ ĠGLES 3 0 . gl TexParameter i ( GLES 3 0 . GL _ TEXTURE _ 2 D , ĠGLES 3 0 . GL _ TEXTURE _ WRAP _ S , Ġwrap _ s ) ĊĠĠĠĠĠĠĠ ĠGLES 3 0 . gl TexParameter i ( GLES 3 0 . GL _ TEXTURE _ 2 D , ĠGLES 3 0 . GL _ TEXTURE _ WRAP _ T , Ġwrap _ t ) ĊĠĠĠĠĠĠĠ Ġvar Ġinput : ĠInputStream ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġvar Ġbitmap : ĠBitmap ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinput Ġ= Ġcontext . resources . open Raw Resource ( image ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbitmap Ġ= ĠBitmap Factory . decode Stream ( input ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGL Utils . tex Image 2 D ( GLES 3 0 . GL _ TEXTURE _ 2 D , Ġ 0 , Ġbitmap , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinput . close () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbitmap . recycle () ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠ Ġ} Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinput ?. close () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbitmap ?. recycle () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ éĩį ç½® çº ¹ çĲĨ åıĸ æł· æ¨¡åŀĭ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġreset (){ ĊĠĠĠĠĠĠĠ Ġmin = GLES 3 0 . GL _ NE ARE ST ĊĠĠĠĠĠĠĠ Ġmag = GLES 3 0 . GL _ LINEAR ĊĠĠĠĠĠĠĠ Ġwrap _ s = GLES 3 0 . GL _ CLAMP _ TO _ EDGE ĊĠĠĠĠĠĠĠ Ġwrap _ t = GLES 3 0 . GL _ CLAMP _ TO _ EDGE ĊĠĠĠ Ġ} Ċ }