package Ġh ambur g . rem me . lwjgl . texture Ċ Ċ import Ġorg . lwjgl . opengl . GL 1 1 .* Ċ import Ġorg . lwjgl . opengl . GL 3 0 . gl Generate Mip map Ċ Ċ class ĠTexture 2 D ( image : ĠImage ) Ġ: ĠTexture ( GL _ TEXTURE _ 2 D ) Ġ{ ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġformat Ġ= Ġif Ġ( image . channels Ġ== Ġ 3 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠTODO : Ġsimplify ? ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( image . width Ġand Ġ 3 Ġ!= Ġ 0 ) Ġgl Pixel Store i ( GL _ UN PACK _ ALIGNMENT , Ġ 2 Ġ- Ġ( image . width Ġand Ġ 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGL _ RGB ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGL _ RGBA ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġgl TexImage 2 D ( GL _ TEXTURE _ 2 D , Ġ 0 , Ġformat , Ġimage . width , Ġimage . height , Ġ 0 , Ġformat , ĠGL _ UNSIGNED _ BYTE , Ġimage . data ) ĊĊĠĠĠĠĠĠĠ Ġgl TexParameter i ( GL _ TEXTURE _ 2 D , ĠGL _ TEXTURE _ MAG _ FILTER , ĠGL _ LINEAR ) ĊĠĠĠĠĠĠĠ Ġgl TexParameter i ( GL _ TEXTURE _ 2 D , ĠGL _ TEXTURE _ MIN _ FILTER , ĠGL _ LINEAR _ MIP MAP _ LINEAR ) ĊĠĠĠĠĠĠĠ Ġgl Generate Mip map ( GL _ TEXTURE _ 2 D ) ĊĠĠĠ Ġ} Ċ Ċ } Ċ